配置监视代理程序的日志级别
日志级别确定代理程序的日志记录类型和数量。 您可以通过添加参数和日志级别参数来配置日志级别。
监视代理程序将日志条目写入 draios.log
文件。
- 日志文件在大小达到 10 MB 时会循环。
- 将保留 10 个最近的日志文件。 附加到文件名的日期戳记用于确定要保留的文件。
- 日志文件位于目录 "
/opt/draios/logs/
中。
缺省情况下,部署监视代理程序时,日志级别设置为 info
。
有效的日志级别包括:无、错误、警告、信息、调试、跟踪。
您可以配置监视代理程序写入其日志文件的详细信息级别:
日志级别 | 详细信息 |
---|---|
none |
未报告任何错误。 |
info |
每秒向后端服务器报告一次汇总指标传输。 报告条目中的任何警告和错误。 |
error |
仅报告错误日志。 |
trace |
报告所有可用的日志。 |
- 要获取最少数量的日志条目,请将日志级别设置为 error。
- 要获取完整的可用日志集,请将日志级别设置为 trace。
您应该将日志级别设置为 info,debug或 trace,以对与代理程序相关的问题进行故障诊断。
例如,请考虑以下用例和可配置的日志部分,以指示要为代理程序记录的数据:
用例 | 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 监视代理程序的日志级别,请完成以下步骤:
-
设置集群环境。 运行以下命令:
首先,获取用于设置环境变量的命令,并下载 Kubernetes 配置文件。
ibmcloud ks cluster config --cluster <cluster_name_or_ID>
-
获取代理程序日志级别。 运行以下命令:
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 监视代理程序的日志级别,请完成以下步骤:
-
在正在运行的容器中打开 shell:
docker exec –it sysdig-agent /bin/bash
-
将
dragent.yaml
文件复制到本地计算机:docker cp sysdig-agent:/opt/draios/etc/dragent.yaml <local directory>/dragent.yaml
-
修改配置文件。 包含有关要设置的日志级别和控制台日志级别的信息。 如果未包含以下部分,请添加该部分:
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
-
更新代理程序的配置文件。 运行以下命令:
docker cp <local directory>/dragent.yaml sysdig-agent:/opt/draios/etc/dragent.yaml
-
重新启动代理程序。 运行以下命令:
docker restart sysdig-agent
-
验证是否已设置级别。 请运行以下命令:
docker exec -ti sysdig-agent more /opt/draios/etc/statsite.ini | grep log_level
您应该会看到在
dragent.yaml
文件中指定的日志级别。
Kubernetes 监视代理程序
完成以下步骤以更改 Kubernetes 监视代理程序的日志级别:
-
设置集群环境。 请运行以下命令:
首先,获取用于设置环境变量的命令,并下载 Kubernetes 配置文件。
ibmcloud ks cluster config --cluster <cluster_name_or_ID>
-
修改代理程序的 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
。