定制Linux监控代理
默认情况下,监控代理会从一系列平台和应用程序中收集数据。 您可以编辑代理程序配置文件以更改其缺省行为,还可以包含或排除数据。 您可以自定义监控代理配置文件,将 JMX、StatsD,和Prometheus 等自定义指标纳入其中。 还可以过滤掉度量值和容器。
监控代理使用两个配置文件来指定要自动收集的数据:
文件 | 描述 | 地区 |
---|---|---|
dragent.default.yaml |
主配置文件 **重要:**请勿编辑此文件。 |
/opt/draios/etc/dragent.default.yaml |
dragent.yaml |
配置文件,您可通过编辑该文件来定制监控代理。 | /opt/draios/etc/dragent.yaml |
可以编辑 dragent.yaml 文件来定制收集的数据。 更改将在保存文件后立即生效。 代理程序检测到更改后,会自动重新启动。 您可以在dragent.default.yaml文件中找到监控代理检查的频率和文件。
例如,dragent.default.yaml 包含以下信息:
check_frequency_s: 5
files:
- /opt/draios/etc/dragent.yaml
- /opt/draios/etc/kubernetes/config/dragent.yaml
- /opt/draios/etc/kubernetes/secrets/access-key
编辑 dragent yaml 文件
yaml 文件位于 "/opt/draios/etc/
中。
要编辑该文件并应用更改,请完成以下步骤:
-
直接访问 dragent.yaml。 该文件位于
/opt/draios/etc/dragent.yaml
。 -
编辑该文件。 请使用有效的 YAML 语法。
-
重新启动代理程序。 运行以下命令:
service dragent restart
阻止端口
要阻止来自网络端口的网络流量和度量值,必须定制 dragent.yaml 文件中的 blacklisted_ports 部分。 必须列出要从中过滤掉任何数据的端口。
**注:**端口 53 (DNS) 始终列入黑名单。
例如,下面的示例显示了如何设置监控代理的blacklisted_ports部分,以排除来自端口 6666 和 6379 的数据:
blacklisted_ports:
- 6666
- 6379
包含和排除度量值
要过滤定制度量值,必须定制 dragent.yaml 文件中的 metrics_filter 部分。 通过配置 include 和 exclude 过滤参数,可以指定要包含的度量值以及要过滤掉的度量值。
**注:**过滤规则顺序的设置如下所示:将应用与度量值匹配的第一个规则。
例如,如果监控代理的metrics_filter部分如下所示:
metrics_filter:
- include: metricA.*
- exclude: metricA.*
- include: metricB.*
- include: haproxy.backend.*
- exclude: haproxy.*
- exclude: metricC.*
- 您正在配置监控代理,以便从以metricA、metricB 和haproxy.backend 开头的度量值中收集所有数据。
- 您将过滤掉以 metricC 开头的度量值以及以 haproxy 开头的其他度量值。
exclude: metricA.*
条目将被忽略。
更改日志级别
要配置日志级别,必须定制 dragent.yaml 文件中的 log 部分。
监控代理会在*/opt/draios/logs/draios.log* 中生成日志条目。
- 日志文件在大小达到 10 MB 时会循环。
- 将保留 10 个最近的日志文件。 附加到文件名的日期戳记用于确定要保留的文件。
- 有效日志级别为:none、error、warning、info、debug 和 trace
- 缺省日志级别为 info,其中除了用于任何警告和错误的条目外,每次向后端服务器传输聚集的度量值时(每秒一次),都会创建一个条目。
- 您可以通过配置监控代理配置文件 /opt/draios/etc/dragent.yaml 自定义日志类型和收集的条目。 编辑该文件后,必须在 shell 中使用
service dragent restart
重新启动代理程序以使更改生效。
用例 | Log 部分条目 |
---|---|
对代理程序行为进行故障诊断 | file_priority: debug |
减少容器控制台输出 | console_priority: warning |
按严重性过滤事件 | event_priority: warning |
验证包含或排除的度量值 | metrics_excess_log: true |