7.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 ページを参照してください。
pmlogger
によってトリガーされる systemd
サービスの管理
pmlogger
インスタンスによって収集されたデータ用の自動化されたカスタムアーカイブ管理システムを作成できます。これは制御ファイルを使用して行われます。これらの制御ファイルは次のとおりです。
プライマリー
pmlogger
インスタンスの場合:-
etc/pcp/pmlogger/control
-
/etc/pcp/pmlogger/control.d/local
-
リモートホストの場合:
/etc/pcp/pmlogger/control.d/remote
remote を希望のファイル名に置き換えます。
- 注記
-
プライマリー
pmlogger
インスタンスは、接続先のpmcd
と同じホストで実行している必要があります。1 つのセントラルホストがリモートホストで実行しているpmcd
インスタンスに接続された複数のpmlogger
インスタンスでデータを収集している場合は、プライマリーインスタンスは必要ありません。また、設定でプライマリーインスタンスが必要ない場合もあります。
ファイルには、ログに記録するホストごとに 1 行が含まれている必要があります。自動的に作成されるプライマリーロガーインスタンスのデフォルトの形式は次のようになります。
# === 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
) かを示します。設定内のすべてのファイルにわたってプライマリーロガーは 1 つだけ存在でき、接続先のpmcd
と同じホスト上で実行している必要があります。 S?
-
“Socks?” の略です。このフィールドは、このロガーインスタンスがファイアウォール経由で
pmcd
に接続するためにSOCKS
プロトコルを使用する必要がある (y
) か、必要がない (n
) かを示します。 directory
- この行に関連付けられたすべてのアーカイブがこのディレクトリーに作成されます。
args
pmlogger
に渡される引数。args
フィールドのデフォルト値は次のとおりです。-r
- アーカイブのサイズと増加率を報告します。
T24h10m
-
各日のログ記録を終了するタイミングを指定します。これは通常、
pmlogger_daily.service
が実行する時間です。デフォルト値の24h10m
は、ログ記録が開始してから遅くとも 24 時間 10 分後に終了することを示します。 -c config.default
- 使用する設定ファイルを指定します。これは基本的に、記録するメトリクスを定義します。
-v 100Mb
-
1 つのデータボリュームがいっぱいになり、別のボリュームが作成されるサイズを指定します。新しいアーカイブに切り替わった後、以前に記録されたものは
pmlogger_daily
またはpmlogger_check
のいずれかによって圧縮されます。
関連情報
-
システム上の
pmlogger(1)
およびpmlogrewrite(1)
man ページ -
システム上の
pmlogger_daily(1)
、pmlogger_check(1)
、およびpmlogger.control(5)
man ページ