6.6. systemd 单元和 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_farm.service 又是pmlogger.service 单元本身所需的。
这些服务通过一系列正依赖项进行管理,这意味着它们在激活主 pmlogger 实例时都被启用了。请注意,当默认禁用 pmlogger_daily.service 时,pmlogger_daily.timer 通过带有 pmlogger.service 的依赖项激活,则会触发 pmlogger_daily.service 运行。
pmlogger_daily 也与 pmlogrewrite 集成,以便在合并前自动重写存档。这有助于确保元数据在更改生产环境和 PMDA 时的一致性。例如,在日志记录期间更新 pmcd 可以更改指标语义,创建与之前记录的数据不兼容的新存档。如需更多信息,请参阅您系统上的 pmlogrewrite (1) 手册页。