Satellite のパフォーマンスの監視
Satellite からメトリクスを収集し、外部ツールで分析できるようにする
概要
Red Hat ドキュメントへのフィードバック (英語のみ) リンクのコピーリンクがクリップボードにコピーされました!
Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。
フィードバックを提供するには、Red Hat Jira の Create Issue フォームを使用します。Jira の問題は Red Hat Satellite Jira プロジェクトに作成され、その進捗状況を追跡できます。
前提条件
- Red Hat アカウント が登録されている。
手順
- Create Issue にアクセスします。Jira でログインエラーが表示された場合は、フォームにリダイレクトされた後、ログインして続行します。
- Summary フィールドと Description フィールドに入力します。Description フィールドに、ドキュメントの URL、章またはセクション番号、および問題の詳しい説明を入力します。フォーム内の他のフィールドは変更しないでください。
- Create をクリックします。
第1章 メトリクスの概要 リンクのコピーリンクがクリップボードにコピーされました!
サードパーティーのソリューションを設定して、Satellite Server からライブメトリクスを収集し、一定期間アーカイブして分析することができます。Satellite からメトリクスを取得すると、キャパシティープランニングやパフォーマンスの問題のトラブルシューティングに役立ちます。
パフォーマンスの問題を解決するために Red Hat にサポートケースを起票する必要がある場合は、アーカイブデータが貴重な情報源となります。Red Hat サポートチームがアーカイブデータにアクセスするには、サポートケースにデータをアップロードしていただく必要があることに注意してください。
Satellite からは次のメトリクスを収集できます。
- システム負荷、メモリー使用率、入出力操作など、オペレーティングシステムからの基本的な統計情報
- メモリーや CPU 使用率などのプロセス統計情報
- Apache HTTP Server のアクティビティー統計情報
- PostgreSQL のアクティビティー統計情報
- Satellite アプリケーションの統計情報
第2章 メトリクスソリューションのコンポーネント リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、Satellite メトリクスの収集とアーカイブに Performance Co-Pilot を使用することを推奨しています。
- Performance Co-Pilot (PCP)
- Performance Co-Pilot は、システムレベルのパフォーマンス測定値を取得、保存、分析するためのツールとライブラリーのスイートです。PCP を使用すると、CLI でライブメトリクスと履歴メトリクスを分析できます。
- Performance Metric Domain Agent (PMDA)
- Performance Metric Domain Agent は、アプリケーションまたはサービスのメトリクスへのアクセスを可能にする PCP のアドオンです。Satellite に関連するすべてのメトリクスを収集するには、Apache HTTP Server および PostgreSQL 用の PMDA をインストールする必要があります。
- Grafana
- PCP によって収集されたメトリクスを視覚化する Web アプリケーション。Web UI でメトリクスを分析するには、Grafana と Grafana PCP プラグインをインストールする必要があります。
第3章 メトリクス監視ソリューションの設定 リンクのコピーリンクがクリップボードにコピーされました!
PCP パッケージをインストールし、PCP データ収集を設定します。PCP の CLI ツールを使用すると、コマンドラインでメトリクスを取得できます。必要に応じて、Grafana をインストールして、Web UI からメトリクスにアクセスできます。
3.1. PCP のインストール リンクのコピーリンクがクリップボードにコピーされました!
Satellite Server に PCP パッケージをインストールし、PCP デーモンを有効にします。
前提条件
/var/log/pcpディレクトリーに少なくとも 20 GB の空き領域がある。デフォルトの PCP データ保持設定では、1 日あたり 100 MB - 500 MB のディスク領域がデータストレージに使用されると推定されます。ただし、時間が経過すると、最大で数ギガバイト使用される可能性があります。詳細は、4章メトリクスデータの保持 を参照してください。
手順
PCP パッケージを以下のコマンドでインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Performance Metrics Collector デーモンと Performance Metrics Logger デーモンを有効にして起動します。
systemctl enable --now pmcd pmlogger
# systemctl enable --now pmcd pmloggerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. PCP データ収集の設定 リンクのコピーリンクがクリップボードにコピーされました!
PCP を設定して、プロセス、Satellite、Apache HTTP Server、PostgreSQL に関するメトリクスを収集できます。
手順
Satellite 固有の設定を PMDA プロセスモニタリングにシンボリックリンクします。
ln -s /etc/pcp/proc/foreman-hotproc.conf /var/lib/pcp/pmdas/proc/hotproc.conf
# ln -s /etc/pcp/proc/foreman-hotproc.conf /var/lib/pcp/pmdas/proc/hotproc.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトでは、PCP は基本的なシステムメトリクスのみを収集します。このステップを実行すると、次の Satellite プロセスに関する詳細なメトリクスが有効になります。
- Java
- PostgreSQL
- Redis
- Dynflow
- Puma
- Pulpcore
プロセスモニタリング PMDA をインストールします。
cd /var/lib/pcp/pmdas/proc ./Install
# cd /var/lib/pcp/pmdas/proc # ./InstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow Apache HTTP Server からメトリクスを収集するように PCP を設定します。
Apache HTTP サーバーの拡張ステータスモジュールを有効にします。
satellite-installer --enable-apache-mod-status
# satellite-installer --enable-apache-mod-statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow Apache HTTP サーバー PMDA を有効にします。
cd /var/lib/pcp/pmdas/apache ./Install
# cd /var/lib/pcp/pmdas/apache # ./InstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow
PostgreSQL からメトリクスを収集するように PCP を設定します。
cd /var/lib/pcp/pmdas/postgresql ./Install
# cd /var/lib/pcp/pmdas/postgresql # ./InstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite でテレメトリー機能を有効にします。
satellite-installer --foreman-telemetry-prometheus-enabled true
# satellite-installer --foreman-telemetry-prometheus-enabled trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite からデータを収集するように PCP を設定します。
cd /var/lib/pcp/pmdas/openmetrics echo "https://satellite.example.com/metrics" > config.d/foreman.url ./Install
# cd /var/lib/pcp/pmdas/openmetrics # echo "https://satellite.example.com/metrics" > config.d/foreman.url # ./InstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCP を再起動してデータ収集を開始します。
systemctl restart pmcd pmlogger pmproxy
# systemctl restart pmcd pmlogger pmproxyCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. PCP 設定の確認 リンクのコピーリンクがクリップボードにコピーされました!
PCP が正しく設定され、サービスがアクティブであることを確認できます。
手順
アクティブな PCP 設定の概要を出力します。
pcp
# pcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcpコマンドの出力例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、Performance Metrics Collector Daemon (pmcd) サービスと Performance Metrics Proxy Daemon (pmproxy) サービスの両方を実行します。また、メトリクスを収集している PMDA を確認します。最後に、
pmloggerが現在メトリクスを保存しているアクティブなログファイルをリスト表示します。
3.4. メトリクスへの Web UI アクセスの有効化 リンクのコピーリンクがクリップボードにコピーされました!
Grafana をインストールすることで、PCP によって収集されたメトリクスへの Web UI アクセスを有効にすることができます。
手順
Satellite Server に Grafana と Grafana PCP プラグインをインストールします。
satellite-maintain packages install grafana grafana-pcp
# satellite-maintain packages install grafana grafana-pcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana Web サービスと PCP プロキシーサービスを起動して有効にします。
systemctl enable --now pmproxy grafana-server
# systemctl enable --now pmproxy grafana-serverCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイアウォールポートを開いて、Grafana Web インターフェイスへのアクセスを許可します。
firewall-cmd --permanent --add-service=grafana
# firewall-cmd --permanent --add-service=grafanaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ファイアウォール設定をリロードして、変更を適用します。
firewall-cmd --reload
# firewall-cmd --reloadCopy to Clipboard Copied! Toggle word wrap Toggle overflow - PCP Redis をインストールし、それをロードするように Grafana を設定します。詳細は、Red Hat Enterprise Linux 8 の システムの状態とパフォーマンスの監視と管理 の PCP Redis の設定 を参照してください。
- Grafana Web UI にアクセスし、PCP プラグインを有効にして、PCP Redis をデータソースとして追加します。詳細は、Red Hat Enterprise Linux 8 の システムの状態とパフォーマンスの監視と管理 の Grafana Web UI へのアクセスを参照してください。
第4章 メトリクスデータの保持 リンクのコピーリンクがクリップボードにコピーされました!
PCP データログに必要なストレージ容量は、以下の要素で決定されます。
- ログに記録されるメトリクス
- ログ間隔
- 保持ポリシー
デフォルトのログ (サンプリング) 間隔は 60 秒です。デフォルトの保持ポリシーでは、1 日以上前のアーカイブを圧縮し、過去 14 日間のアーカイブを保持します。
ストレージ領域を節約するために、ログ間隔を長くしたり、保持ポリシーを短くしたりすることができます。高精度のサンプリングが必要な場合は、ログ間隔を短くすることができます。その場合は、十分なストレージ領域があることを確認してください。
PCP アーカイブログは、/var/log/pcp/pmlogger/satellite.example.com ディレクトリーに保存されます。
4.1. デフォルトのログ間隔の変更 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのログ間隔を変更して、PCP メトリクスを記録するサンプリングレートを増減することができます。間隔を長くすると、サンプリングレートが低くなります。
手順
-
/etc/pcp/pmlogger/control.d/local設定ファイルを開きます。 -
LOCALHOSTNAME行を見つけます。 -
-t XX sを追加します。XX は必要な時間間隔 (秒単位) です。 - ファイルを保存します。
pmloggerサービスを再起動します。systemctl restart pmlogger
# systemctl restart pmloggerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.2. データ保持ポリシーの変更 リンクのコピーリンクがクリップボードにコピーされました!
データ保持ポリシーを変更して、PCP データがアーカイブおよび削除されるまでの期間を制御できます。
手順
-
/etc/sysconfig/pmlogger_timersファイルを開きます。 -
PMLOGGER_DAILY_PARAMS行を見つけます。 - 行がコメント化されている場合は、その行をコメント解除します。
次のパラメーターを設定します。
-
デフォルトの
-Eパラメーターが存在することを確認します。 -
-xパラメーターを追加し、データがアーカイブされるまでの必要な日数の値を追加します。 -
-kパラメーターを追加し、データが削除されるまでの日数の値を追加します。
たとえば、
-x 4 -k 7というパラメーターの場合は、データが 4 日後に圧縮され、7 日後に削除されます。-
デフォルトの
- ファイルを保存します。
4.3. データストレージ統計情報の表示 リンクのコピーリンクがクリップボードにコピーされました!
利用可能なすべてのメトリクスを、ログに記録される頻度ごとにグループ化してリスト表示できます。各グループについて、リスト表示されたメトリクスを保存するのに必要なストレージを 1 日単位で表示することもできます。
ストレージ統計情報の例
logged every 60 sec: 61752 bytes or 84.80 Mbytes/day
logged every 60 sec: 61752 bytes or 84.80 Mbytes/day
手順
データストレージの統計情報を表示するには、Satellite Server で次のコマンドを入力します。
less /var/log/pcp/pmlogger/satellite.example.com/pmlogger.log
# less /var/log/pcp/pmlogger/satellite.example.com/pmlogger.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第5章 PCP メトリクス リンクのコピーリンクがクリップボードにコピーされました!
メトリクスはツリーのような構造で保存されます。たとえば、すべてのネットワークメトリクスは、network という名前のノードに保存されます。各メトリクスは、1 つの値か、インスタンスと呼ばれる値のリストです。たとえば、カーネルの負荷には平均 1 分、5 分、15 分の 3 つのインスタンスがあります。
PCP は、すべてのメトリクスエントリーについて、データとメタデータの両方を保存します。メタデータには、メトリクスの説明、データタイプ、単位、ディメンションが含まれます。メタデータにより、PCP は、たとえばディメンションが異なる複数のメトリクスを出力することが可能になります。
メトリクスがカウンターの場合、その値は増加するだけです。たとえば、特定のデバイス上のディスク書き込み操作回数は、増加するだけです。カウンターメトリクスの値をクエリーすると、PCP はデフォルトでこれをレート値に変換します。
CPU、メモリー、カーネル、XFS、ディスク、ネットワークなどのシステムメトリクスに加えて、次のメトリクスが設定されます。
| メトリクス | 説明 |
|---|---|
| hotproc.* | 主要 Satellite プロセスの基本的なメトリクス |
| apache.* | Apache HTTP サーバーのメトリクス |
| postgresql.* | PostgreSQL の基本的なメトリクス |
| openmetrics.foreman.fm_rails_* | Satellite のメトリクス |
5.1. 利用可能なメトリクスの特定 リンクのコピーリンクがクリップボードにコピーされました!
PCP を通じて利用可能なすべてのメトリクスをリスト表示するには、次のコマンドを入力します。
pminfo
# pminfoCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべての Satellite メトリクスとその説明をリスト表示するには、次のコマンドを入力します。
foreman-rake telemetry:metrics
# foreman-rake telemetry:metricsCopy to Clipboard Copied! Toggle word wrap Toggle overflow アーカイブされたメトリクスをリスト表示するには、次のコマンドを入力します。
less /var/log/pcp/pmlogger/satellite.example.com/pmlogger.log
# less /var/log/pcp/pmlogger/satellite.example.com/pmlogger.logCopy to Clipboard Copied! Toggle word wrap Toggle overflow pmloggerデーモンは、設定に従って、受信したデータをアーカイブします。アクティブなログファイルの名前を取得するには、次のコマンドを入力します。pcp | grep logger
# pcp | grep loggerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力に、アクティブなログファイルのファイル名が含まれています。以下に例を示します。
pmlogger: primary logger: /var/log/pcp/pmlogger/satellite.example.com/20230831.00.10
pmlogger: primary logger: /var/log/pcp/pmlogger/satellite.example.com/20230831.00.10Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.2. ライブメトリクスの取得 リンクのコピーリンクがクリップボードにコピーされました!
PCP CLI ツールを使用してライブメトリクスを取得できます。
手順
特定のメトリクスの現在の値を出力するには、次のコマンドを入力します。
pmval -f 1 disk.partitions.write
# pmval -f 1 disk.partitions.writeCopy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、ディスクパーティションへの書き込みに関するメトリクスインスタンスが表示されます。PCP は、ディスクパーティションへの書き込み回数をカウンター値からレート値に変換します。
-f 1引数は、値を小数点第 1 位まで表示することを指定します。出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow システムパフォーマンスの概要を 2 秒ごとに出力するには、次のコマンドを入力します。
pmstat -t 2sec
# pmstat -t 2secCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.3. アーカイブされたメトリクスの取得 リンクのコピーリンクがクリップボードにコピーされました!
PCP CLI ツールを使用して、アーカイブファイルからメトリクスを取得できます。
例
アーカイブファイルの作成時に有効になっていたすべてのメトリクスをリスト表示するには、次のコマンドを入力します。
pminfo --archive archive_file
# pminfo --archive archive_fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow アーカイブファイルに含まれるホストと期間を表示するには、次のコマンドを入力します。
pmdumplog -l archive_file
# pmdumplog -l archive_fileCopy to Clipboard Copied! Toggle word wrap Toggle overflow アーカイブファイルがカバーしている期間の各パーティションのディスク書き込みをリスト表示するには、以下のコマンドを実行します。
pmval --archive /var/log/pcp/pmlogger/satellite.example.com/20230831.00.10 \ -f 1 disk.partitions.write
# pmval --archive /var/log/pcp/pmlogger/satellite.example.com/20230831.00.10 \ -f 1 disk.partitions.writeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 14:00 から 14:15 までの期間にわたる、2 秒間隔のパーティションごとのディスク書き込み操作をリスト表示するには、次のコマンドを実行します。
pmval --archive /var/log/pcp/pmlogger/satellite.example.com/20230831.00.10 \ -d -t 2sec \ -f 3 disk.partitions.write \ -S @14:00 -T @14:15
# pmval --archive /var/log/pcp/pmlogger/satellite.example.com/20230831.00.10 \ -d -t 2sec \ -f 3 disk.partitions.write \ -S @14:00 -T @14:15Copy to Clipboard Copied! Toggle word wrap Toggle overflow 14:00 から 14:30 までの期間にわたる、最小値/最大値の時間と値を含むすべてのパフォーマンスメトリクスの平均値をリスト表示し、値を表形式にフォーマットするには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アーカイブに保存されている 14:00 以降のシステムメトリクスを、
topツールと同様にインタラクティブな方法で表示するには、次のコマンドを実行します。pcp --archive /var/log/pcp/pmlogger/satellite.example.com/20230831.00.10 \ -S @14:00 \ atop
# pcp --archive /var/log/pcp/pmlogger/satellite.example.com/20230831.00.10 \ -S @14:00 \ atopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4. Web UI でのメトリクスの取得 リンクのコピーリンクがクリップボードにコピーされました!
Grafana ダッシュボードを表示すると、メトリクスの値を含むウィジェットを表示できます。メトリクスは要件に合わせて追加および削除できます。各ウィジェットに表示される時間範囲を選択することもできます。
手順
- ブラウザーで URL http://satellite.example.com:3000 を開きます。