7.6. systemd 单元和 pmlogger
当您部署 pmlogger
服务时,可以作为单个主机监控自身或作为单个主机从多个远程主机收集指标的 pmlogger
农场,都会自动部署几个关联的 systemd
服务和计时器单元。这些服务和计时器提供常规检查,以确保 pmlogger
实例正在运行,重启任何缺失的实例,并执行存档管理,如文件压缩。
pmlogger
通常部署的检查和内务服务有:
pmlogger_daily.service
-
默认情况下,在每天午夜后不久运行,以聚合、压缩和轮转一个或多个 PCP 存档集合。还会剔除超过限制(默认为 2 周)的存档。由
pmlogger_daily.timer
单元触发,是pmlogger.service
单元所需要的。 pmlogger_check
-
每半小时执行一次,检查
pmlogger
实例是否在运行。重启任何缺失的实例,并执行任何所需的压缩任务。由pmlogger_check.timer
单元触发,是pmlogger.service
单元所需要的。 pmlogger_farm_check
-
检查所有配置的
pmlogger
实例的状态。重启任何缺失的实例。将所有非主实例迁移到pmlogger_farm
服务。由pmlogger_farm_check.timer
触发,是pmlogger_farm.service
单元所需要的,而pmlogger.service
单元本身也需要它。
这些服务通过一系列正依赖项进行管理,意味着在激活主 pmlogger
实例时它们都是启用的。请注意,虽然 pmlogger_daily.service
默认被禁用,但通过 pmlogger.service
的依赖项处于活跃状态的 pmlogger_daily.timer
将触发 pmlogger_daily.service
运行。
pmlogger_daily
也与 pmlogrewrite
集成,以便在合并前自动重写存档。这帮助确保不断变化的生产环境和 PMDA 中元数据的一致性。例如,如果一个监控的主机上的 pmcd
在日志记录间隔期间被更新了,主机上一些指标的语义可能也会被更新,因此使新存档与之前记录的该主机的存档不兼容。如需更多信息,请参阅 pmlogrewrite(1)
手册页。
管理 pmlogger
触发的 systemd
服务
您可以为 pmlogger
实例收集的数据创建一个自动的自定义归档管理系统。这通过控制文件来完成。这些控制文件是:
对于主
pmlogger
实例:-
etc/pcp/pmlogger/control
-
/etc/pcp/pmlogger/control.d/local
-
对于远程主机:
/etc/pcp/pmlogger/control.d/remote
将 remote 替换为您需要的文件名。
- 注意
-
主
pmlogger
实例必须与它连接的pmcd
运行在同一台主机上。如果一个中央主机在几个连接到远程主机上运行的pmcd
实例的pmlogger
实例上收集数据,则不需要主实例,并且在配置中可能也不需要。
文件应该为要记录的每个主机包含一行。自动创建的主日志记录器实例的默认格式类似如下:
=== LOGGER CONTROL SPECIFICATIONS === local primary logger
# === LOGGER CONTROL SPECIFICATIONS ===
#
#Host P? S? directory args
# local primary logger
LOCALHOSTNAME y n PCP_ARCHIVE_DIR/LOCALHOSTNAME -r -T24h10m -c config.default -v 100Mb
这些字段包括:
Host
- 要记录的主机的名称
P?
-
代表“Primary?”此字段表示主机是否是主日志记录器实例,
y
,或不是n
。在您配置的所有文件中可以只有一个主日志记录器,它必须与它连接的pmcd
在同一台主机上运行。 S?
-
代表"Socks?"此字段表示此日志记录器实例是否需要使用
SOCKS
协议来通过防火墙连接到pmcd
,y
或不需要n
。 目录
- 与此行关联的所有存档都在此目录下创建。
args
传给
pmlogger
的参数。args
字段的默认值是:-r
- 报告存档大小和增长率。
T24h10m
-
指定每天何时结束记录日志。这通常是
pmlogger_daily.service
运行时的时间。默认值为24h10m
,表示日志记录最迟应在开始后 24 小时 10 分钟结束。 -c config.default
- 指定要使用哪个配置文件。这实际上定义了要记录哪些指标。
-v 100Mb
-
指定一个数据卷被填满后,创建另一个数据卷的大小。切换到新存档后,之前记录的存档将被
pmlogger_daily
或pmlogger_check
压缩。
其他资源
-
您系统上的
pmlogger (1)
和pmlogrewrite (1)
手册页 -
您系统上的
pmlogger_daily (1)
,pmlogger_check (1)
和pmlogger.control (5)
手册页