IBM Cloud Docs
配置监视代理程序的日志级别

配置监视代理程序的日志级别

日志级别确定代理程序的日志记录类型和数量。 您可以通过添加参数和日志级别参数来配置日志级别。

监视代理程序将日志条目写入 draios.log 文件。

  • 日志文件在大小达到 10 MB 时会循环。
  • 将保留 10 个最近的日志文件。 附加到文件名的日期戳记用于确定要保留的文件。
  • 日志文件位于目录 "/opt/draios/logs/ 中。

缺省情况下,部署监视代理程序时,日志级别设置为 info

有效的日志级别包括:错误警告信息调试跟踪

您可以配置监视代理程序写入其日志文件的详细信息级别:

日志级别
日志级别 详细信息
none 未报告任何错误。
info 每秒向后端服务器报告一次汇总指标传输。
报告条目中的任何警告和错误。
error 仅报告错误日志。
trace 报告所有可用的日志。
  • 要获取最少数量的日志条目,请将日志级别设置为 error
  • 要获取完整的可用日志集,请将日志级别设置为 trace

您应该将日志级别设置为 infodebugtrace,以对与代理程序相关的问题进行故障诊断。

例如,请考虑以下用例和可配置的日志部分,以指示要为代理程序记录的数据:

日志章节条目
用例 Log 部分条目
对代理程序行为进行故障诊断 file_priority: debug
减少容器控制台输出 console_priority: warning
按严重性过滤事件 event_priority: warning
验证包含或排除的度量值 metrics_excess_log: true

检查代理程序的日志级别

Linux监控代理

要获取 Linux 监视代理程序的日志级别,请从终端运行以下命令:

more /opt/draios/etc/statsite.ini | grep log_level

例如,您可以得到以下结果:

# more /opt/draios/etc/statsite.ini | grep log_level
log_level = INFO

Docker 监视代理程序

要获取 Docker 监视代理程序的日志级别,请运行以下命令:

docker exec -ti sysdig-agent  more /opt/draios/etc/statsite.ini | grep log_level

例如,您可以得到以下结果:

# docker exec -ti sysdig-agent  more /opt/draios/etc/statsite.ini | grep log_level
log_level = INFO

Kubernetes 监视代理程序

要获取 Kubernetes 监视代理程序的日志级别,请完成以下步骤:

  1. 设置集群环境。 运行以下命令:

    首先,获取用于设置环境变量的命令,并下载 Kubernetes 配置文件。

    ibmcloud ks cluster config --cluster <cluster_name_or_ID>
    
  2. 获取代理程序日志级别。 运行以下命令:

    kubectl describe daemonset sysdig-agent -n ibm-observe | grep file_priority
    

    如果该命令未返回任何值,那么日志级别将设置为缺省值 info

配置日志级别

日志级别确定代理程序的日志记录类型和数量。 您可以通过添加参数和日志级别参数来配置日志级别。

Linux监控代理

要配置日志级别,必须自定义 "/opt/draios/etc/dragent.yaml 文件中的日志部分。

缺省情况下,dragent.yaml 文件包含以下信息:

customerid: xxxxxxxxxxxxxxxxx
collector: ingest.us-south.monitoring.cloud.ibm.com
collector_port: 6443
ssl: true
sysdig_capture_enabled: false

要配置日志级别,必须编辑该文件并添加有关日志的信息。

  • 要设置日志级别,必须设置 file_priority
  • 有效的日志级别包括:错误警告信息调试跟踪

以下配置样本显示了设置为 error的日志级别:

customerid: xxxxxxxxxxxxxxxxx
collector: ingest.us-south.monitoring.cloud.ibm.com
collector_port: 6443
ssl: true
sysdig_capture_enabled: false
log:
  file_priority: error

编辑 dragent.yaml 文件后,必须重新启动代理程序以激活更改。 运行以下命令:

service dragent restart

Docker 监视代理程序

要更改 Docker 监视代理程序的日志级别,请完成以下步骤:

  1. 在正在运行的容器中打开 shell:

    docker exec –it sysdig-agent /bin/bash
    
  2. dragent.yaml 文件复制到本地计算机:

    docker cp sysdig-agent:/opt/draios/etc/dragent.yaml <local directory>/dragent.yaml
    
  3. 修改配置文件。 包含有关要设置的日志级别和控制台日志级别的信息。 如果未包含以下部分,请添加该部分:

    log:
      file_priority: error
      console_priority: warning
    

    file_priority 控制日志级别。 有效的日志级别包括:错误警告信息调试跟踪

    console_priority 控制控制台输出。 有效的控制台日志级别包括:错误警告信息调试跟踪

    以下配置样本显示设置为 error的日志级别,以及设置为 warning的控制台日志级别:

    customerid: xxxxxxxxxxxxxxxx
    tags: location:us-east
    collector: ingest.us-east.monitoring.cloud.ibm.com
    collector_port: 6443
    ssl: true
    sysdig_capture_enabled: false
    use_promscrape: true
    log:
      file_priority: error
      console_priority: warning
    
  4. 更新代理程序的配置文件。 运行以下命令:

    docker cp <local directory>/dragent.yaml sysdig-agent:/opt/draios/etc/dragent.yaml
    
  5. 重新启动代理程序。 运行以下命令:

    docker restart sysdig-agent
    
  6. 验证是否已设置级别。 请运行以下命令:

    docker exec -ti sysdig-agent  more /opt/draios/etc/statsite.ini | grep log_level
    

    您应该会看到在 dragent.yaml 文件中指定的日志级别。

Kubernetes 监视代理程序

完成以下步骤以更改 Kubernetes 监视代理程序的日志级别:

  1. 设置集群环境。 请运行以下命令:

    首先,获取用于设置环境变量的命令,并下载 Kubernetes 配置文件。

    ibmcloud ks cluster config --cluster <cluster_name_or_ID>
    
  2. 修改代理程序的 DaemonSet 文件。 包含有关要设置的日志级别和控制台日志级别的信息。

    运行以下命令编辑配置映射:

    kubectl edit daemonset sysdig-agent -n ibm-observe
    

    然后,添加或修改日志条目:

    log:
      file_priority: error
      console_priority: warning
    

    file_priority 控制日志级别。 有效的日志级别包括:错误警告信息调试跟踪

    console_priority 控制控制台输出。 有效的控制台日志级别包括:错误警告信息调试跟踪

    以下配置样本显示了设置为 debug的日志级别,以及设置为 error的控制台日志级别:

    ...
    spec:
      revisionHistoryLimit: 10
      selector:
        matchLabels:
          app: sysdig-agent
      template:
        metadata:
          creationTimestamp: null
          labels:
             app: sysdig-agent
        spec:
          containers:
          - image: icr.io/ext/sysdig/agent:latest
            imagePullPolicy: Always
            name: sysdig-agent
            env:
            - name: ADDITIONAL_CONF
              value: "log:\n  file_priority: debug\n  console_priority: error"
            readinessProbe:
    ...
    

保存更改时,将应用日志级别更改。

如果先前更改了日志级别,那么 DaemonSet 部分如下所示:

...
spec:
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: sysdig-agent
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: sysdig-agent
    spec:
      containers:
      - env:
        - name: ADDITIONAL_CONF
          value: |-
            log:
              file_priority: debug
              console_priority: error
        image: icr.io/ext/sysdig/agent:latest
        imagePullPolicy: Always
...

请注意,您还可以通过运行以下命令来下载 configmap: kubectl get daemonset sysdig-agent -o yaml -n ibm-observe > sysdig-agent-ds.yaml。 要应用更改,可以运行 kubectl apply -f sysdig-agent-ds.yaml -n ibm-observe