Automation Suite
2022.4
False
横幅背景图像
Automation Suite 安装指南
上次更新日期 2024年4月24日

设置 Splunk

备注:
  • 本节介绍导出 POD 日志。有关导出机器人日志的信息,请参阅 Ochestrator - 关于日志

  • Splunk 是外部工具,UiPath 不会对应如何配置 Splunk 设置提供建议。有关 HTTP 事件收集器的更多信息,请参阅 Splunk 官方文档

Splunk-Fluentd 堆栈是一个集中式日志记录解决方案,可用于搜索、分析和可视化日志数据。Fluentd 收集日志并将其发送到 Splunk。Splunk 会检索日志,并让您可视化和分析数据。

使用令牌创建密码

要使用 Splunk 的 HTTP 事件收集器令牌在集群中创建密码,请运行以下命令:

kubectl -n cattle-logging-system create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>kubectl -n cattle-logging-system create secret generic splunk-hec-token --from-literal=splunk_hec_token=<splunk_hec_token>

集群输出到 Splunk

运行以下命令,向 Splunk 进行集群输出。将以下属性替换为您在 Splunk 配置中的所用内容:

kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
  name: splunk-output
spec:
  splunkHec:
    buffer:
      tags: '[]'
      timekey: <splunk_hec_timekey>
      timekey_use_utc: true
      timekey_wait: 10s
      type: file
    hec_host: <splunk_hec_host>
    hec_port: <splunk_hec_port>
    hec_token:
      valueFrom:
        secretKeyRef:
          key: <secret_key>
          name: splunk-hec-token
    index: <splunk_hec_index>
    insecure_ssl: true
    protocol: <splunk_hec_protocol>
    source: <splunk_hec_source>
    sourcetype: <splunk_hec_source_type>
EOFkubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterOutput
metadata:
  name: splunk-output
spec:
  splunkHec:
    buffer:
      tags: '[]'
      timekey: <splunk_hec_timekey>
      timekey_use_utc: true
      timekey_wait: 10s
      type: file
    hec_host: <splunk_hec_host>
    hec_port: <splunk_hec_port>
    hec_token:
      valueFrom:
        secretKeyRef:
          key: <secret_key>
          name: splunk-hec-token
    index: <splunk_hec_index>
    insecure_ssl: true
    protocol: <splunk_hec_protocol>
    source: <splunk_hec_source>
    sourcetype: <splunk_hec_source_type>
EOF

属性

描述

splunk_hec_host

Splunk 实例的网络主机。

splunk_hec_port

用于客户端通信的 Splunk 端口。

secret_key

带有 Splunk 令牌的密钥。

splunk_hec_timekey 中的值 splunkHec.buffer

输出频率,即您想要推送日志的频率。

protocol

URL 协议。有效值为 httphttps

splunk_hec_index

用于索引事件的 Splunk 索引标识符。

splunk_hec_source

事件的来源字段。

splunk_hec_source_type

事件的来源类型字段。

FluentD 中的集群流程

在 Fluentd 中对集群流程运行以下命令:

kubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
  name: splunk-flow
  namespace: cattle-logging-system
spec:
  filters:
  - tag_normaliser:
      format: ${namespace_name}/${pod_name}.${container_name}
  globalOutputRefs:
  - splunk-output
  match:
  - select:
      container_names:
      - istio-proxy
      namespaces:
      - istio-system
  - exclude:
      container_names:
      - istio-proxy
      - istio-init
      - aicenter-hit-count-update
      - istio-configure-executor
      - on-prem-tenant-license-update
      - curl
      - recovery
      - aicenter-oob-scheduler
      - cert-trustor
  - exclude:
      namespaces:
      - fleet-system
      - cattle-gatekeeper-system
      - default
  - exclude:
      labels:
        app: csi-snapshotter
  - exclude:
      labels:
        longhorn.io/job-task: backup
  - exclude:
      labels:
        app: csi-resizer
  - select: {}
EOFkubectl -n cattle-logging-system apply -f - <<"EOF"
apiVersion: logging.banzaicloud.io/v1beta1
kind: ClusterFlow
metadata:
  name: splunk-flow
  namespace: cattle-logging-system
spec:
  filters:
  - tag_normaliser:
      format: ${namespace_name}/${pod_name}.${container_name}
  globalOutputRefs:
  - splunk-output
  match:
  - select:
      container_names:
      - istio-proxy
      namespaces:
      - istio-system
  - exclude:
      container_names:
      - istio-proxy
      - istio-init
      - aicenter-hit-count-update
      - istio-configure-executor
      - on-prem-tenant-license-update
      - curl
      - recovery
      - aicenter-oob-scheduler
      - cert-trustor
  - exclude:
      namespaces:
      - fleet-system
      - cattle-gatekeeper-system
      - default
  - exclude:
      labels:
        app: csi-snapshotter
  - exclude:
      labels:
        longhorn.io/job-task: backup
  - exclude:
      labels:
        app: csi-resizer
  - select: {}
EOF
注意:系统会从集群收集日志,并将其记录到 ClusterOutput 中。

配置 Splunk

要配置 Splunk,请执行以下步骤:

  1. 单击顶部导航栏中的“设置”,然后选择“索引”。


  2. 单击“新建索引”,然后单击“创建索引”。




  3. 单击顶部导航栏中的“设置”,然后选择“数据输入”


  4. 单击“HTTP 事件收集器”。


  5. 单击“全局设置”以准许创建新令牌。


  6. 启用并保存“全局设置”。


  7. 单击“新建令牌”以创建令牌。


  8. 输入 HTTP 事件收集器的名称,然后单击“下一步”。


  9. 单击“新建”并输入“来源类型”详细信息。


  10. 向下滚动并从可用索引列表中选择“索引”,然后单击顶部导航栏中的“下一步”。


  11. 验证数据,然后单击“提交”。


  12. 创建后,获取令牌 ID索引来源来源类型的详细信息。设置集群输出时需要用到这些信息。


在 Splunk 中搜索

  1. 单击“搜索和报告”。


  2. 按照来源索引来源类型进行搜索。




故障排除

如果由于某种原因应用程序日志未推送到 Splunk,请尝试以下操作:

  1. 将 Fluentd 日志级别更改为调试
  2. 查询 Fluentd Pod:

    kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]'
    kubectl -n cattle-logging-system exec -it sts/rancher-logging-root-fluentd cat /fluentd/log/outkubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"add","path":"/spec/fluentd/logLevel","value":debug}]'
    kubectl -n cattle-logging-system exec -it sts/rancher-logging-root-fluentd cat /fluentd/log/out
    注意: Fluentd 日志应指明数据未推送到 Splunk 的原因。
  3. 修复问题后,还原 FluentD 日志级别:
    kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel"}]'kubectl patch loggings.logging.banzaicloud.io rancher-logging-root --type=json -p '[{"op":"remove","path":"/spec/fluentd/logLevel"}]'
    

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.