6.6. systemd ユニットと pmlogger
pmlogger サービスを、それ自体を監視する単一のホストとして、または複数のリモートホストからメトリクスを収集する単一のホストを含む pmlogger ファームとしてデプロイすると、関連する systemd サービスとタイマーユニットがいくつか自動的にデプロイされます。これらのサービスとタイマーは、pmlogger インスタンスが実行していることを確認するための定期的なチェックを提供し、不足しているインスタンスを再起動し、ファイル圧縮などのアーカイブ管理を実行します。通常は pmlogger によってデプロイされるチェックおよびハウスキーピングサービスは次のとおりです。
- pmlogger_daily.service
-
デフォルトでは、毎日、深夜直後に実行され、1 つ以上の PCP アーカイブセットを集約、圧縮、およびローテートします。また、制限 (デフォルトでは 2 週間) よりも古いアーカイブも削除されます。
pmlogger.serviceユニットに必要なpmlogger_daily.timerユニットによってトリガーされます。 - pmlogger_check
-
pmloggerインスタンスが実行中であるかどうかを 30 分ごとにチェックします。不足しているインスタンスを再起動し、必要な圧縮タスクを実行します。pmlogger.serviceユニットに必要なpmlogger_check.timerユニットによってトリガーされます。 - pmlogger_farm_check
-
設定されたすべての
pmloggerインスタンスのステータスを確認します。不足しているインスタンスを再起動します。すべての非プライマリーインスタンスをpmlogger_farmサービスに移行します。pmlogger_farm_check.timerによってトリガーされます。これは、pmlogger_farm.serviceユニットによって必要とされ、pmlogger_farm.service ユニット自体はpmlogger.service ユニットによって必要とされます。
これらのサービスは一連の肯定的な依存関係を通じて管理されます。つまり、プライマリー pmlogger インスタンスをアクティブ化すると、すべて有効になります。pmlogger_daily.service はデフォルトで無効になっていますが、pmlogger.service との依存関係によって pmlogger_daily.timer がアクティブになると、pmlogger_daily.service の実行がトリガーされることに注意してください。
pmlogger_daily は、マージ前にアーカイブを自動的に書き換えるために pmlogrewrite とも統合されています。これにより、実稼働環境や PMDA が変化する中でもメタデータの一貫性を確保できます。たとえば、ログ記録間隔中に監視対象ホストの 1 台で pmcd が更新されると、ホスト上の一部のメトリクスのセマンティクスが更新され、新しいアーカイブがそのホストから以前に記録されたアーカイブと互換性がなくなる可能性があります。詳細は、システム上の pmlogrewrite(1) man ページを参照してください。