第3章 PCP パッケージのインストール
PCP パッケージのインストール方法を説明します。
前提条件
/var/log/pcpディレクトリーに最小 20 GB の空き領域があること。デフォルトの PCP データ保持ポリシーでは、過去 14 日間に収集されたデータのみが保持されます。1 日あたりのデータストレージには通常 100 MB から 500 MB のディスク領域が使用されることが想定されますが、数ギガバイトが使用されることもあります。
- Satellite サーバーが稼働しているベースシステムが、Red Hat Enterprise Linux 7.6. 以降であること。サポートされる PCP パッケージの最小バージョンは PCP バージョン 4.1 です。
手順
Red Hat Enterprise Linux の
optionalリポジトリーを有効にします。subscription-manager repos --enable rhel-7-server-optional-rpms
# subscription-manager repos --enable rhel-7-server-optional-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCP パッケージを以下のコマンドでインストールします。
satellite-maintain packages install pcp \ pcp-pmda-apache \ pcp-pmda-postgresql \ pcp-system-tools \ pcp-webjs
# satellite-maintain packages install pcp \ pcp-pmda-apache \ pcp-pmda-postgresql \ pcp-system-tools \ pcp-webjsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Performance Metrics Collector デーモンおよび Performance Metrics Logger デーモンを有効にして、開始します。
systemctl enable pmcd pmlogger systemctl start pmcd pmlogger
# systemctl enable pmcd pmlogger # systemctl start pmcd pmloggerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1. PCP データ収集の設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、プロセス、Satellite、Apache HTTP サーバーおよび PostgreSQL のメトリクスを PCP が収集するように設定します。
手順
Satellite プロセスに関するデータを収集するように PCP を設定するには、
/var/lib/pcp/pmdas/proc/hotproc.confファイルを作成して、以下のコンテンツを追加してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトでは、PCP は基本的なシステムメトリクスを収集します。このステップを実行すると、以下の Satellite プロセスの詳細なメトリクスが収集されるようになります。
- Java
- PostgreSQL
- MongoDB
- Dynflow
- Passenger
- Pulp
- Qpid
PCP が収集しているプロセスのメトリクスをログ記録するように設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PMDA をモニタリングするプロセスをインストールします。
cd /var/lib/pcp/pmdas/proc ./Install
# cd /var/lib/pcp/pmdas/proc # ./InstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCP が Apache HTTP サーバーからメトリクスを収集するように設定します。
Apache HTTP サーバーの拡張ステータスモジュールを有効にします。
Copy 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 Satellite インストーラーが拡張ステータスモジュールの設定ファイルを上書きしないようにします。
次の行を
/etc/foreman-installer/custom-hiera.yaml設定ファイルに追加します。apache::purge_configs: false
apache::purge_configs: falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
PCP が PostgreSQL からメトリクスを収集するように設定します。
/var/lib/pcp/pmdas/postgresqlディレクトリーに切り替えます。cd /var/lib/pcp/pmdas/postgresql
# cd /var/lib/pcp/pmdas/postgresqlCopy to Clipboard Copied! Toggle word wrap Toggle overflow インストーラーを実行します。
./Install
# ./InstallCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCP データベースインターフェイスが PostgreSQL データベースにアクセスできるようにします。
/etc/pcpdbi.conf設定ファイルに以下の行を挿入します。$database = "dbi:Pg:dbname=foreman;host=localhost"; $username = "foreman"; $password = "6qXfN9m5nii5iEcbz8nuiJBNsyjjdRHA"; $os_user = "foreman";
$database = "dbi:Pg:dbname=foreman;host=localhost"; $username = "foreman"; $password = "6qXfN9m5nii5iEcbz8nuiJBNsyjjdRHA";1 $os_user = "foreman";Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ここでの $password の値は、
/etc/foreman/database.yml設定ファイルに保存されています。
SELinux を
pcp_pmcd_tドメインパーミッションに変更して、PCP の PostgreSQL データベースへのアクセスを許可します。semanage permissive -a pcp_pmcd_t
# semanage permissive -a pcp_pmcd_tCopy to Clipboard Copied! Toggle word wrap Toggle overflow PostgreSQL PMDA が PostgreSQL に接続できることを確認します。
/var/log/pcp/pmcd/postgresql.logファイルで、接続が確立されていることを確認します。データベース接続が確立されないと、PostgreSQL PMDA はアクティブな状態ですが、メトリクスを提供することはできません。[Tue Aug 14 09:21:06] pmdapostgresql(25056) Info: PostgreSQL connection established
[Tue Aug 14 09:21:06] pmdapostgresql(25056) Info: PostgreSQL connection establishedCopy to Clipboard Copied! Toggle word wrap Toggle overflow /var/log/pcp/pmcd/postgresql.logにエラーがある場合は、pmcd サービスを再起動します。systemctl restart pmcd
# systemctl restart pmcdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Satellite で telemetry 機能を有効にします。
Satellite からメトリクスを収集できるようにするには、メトリクスを
statsdプロトコルでpcp-mmvstatsdデーモンに送信する必要があります。メトリクスは集計され、PCP MMV API 経由で入手可能になります。Foreman Telemetry および
pcp-mmvstatsdパッケージをインストールします。satellite-maintain packages install foreman-telemetry pcp-mmvstatsd
# satellite-maintain packages install foreman-telemetry pcp-mmvstatsdCopy to Clipboard Copied! Toggle word wrap Toggle overflow pcp-mmvstatsdサービスを有効にして起動します。systemctl enable pcp-mmvstatsd systemctl start pcp-mmvstatsd
# systemctl enable pcp-mmvstatsd # systemctl start pcp-mmvstatsdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Satellite telemetry 機能を有効にします。
以下の行を
/etc/foreman/settings.yaml設定ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
メトリクスをアーカイブファイルに毎日保存するようにスケジュールします。
cat >/etc/cron.daily/refresh_mmv <<EOF #!/bin/bash echo "log mandatory on 1 minute mmv" | /usr/bin/pmlc -P EOF chmod +x /etc/cron.daily/refresh_mmv
# cat >/etc/cron.daily/refresh_mmv <<EOF #!/bin/bash echo "log mandatory on 1 minute mmv" | /usr/bin/pmlc -P EOF # chmod +x /etc/cron.daily/refresh_mmvCopy to Clipboard Copied! Toggle word wrap Toggle overflow Apache HTTP サーバーおよび PCP を再起動してデータ収集を開始します。
systemctl restart httpd pmcd pmlogger
# systemctl restart httpd pmcd pmloggerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. Web UI によるメトリクスへのアクセス有効化 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、PCP で収集したメトリクスに Web UI でアクセスする方法を説明します。
手順
Red Hat Enterprise Linux の
optionalリポジトリーを有効にします。subscription-manager repos --enable rhel-7-server-optional-rpms
# subscription-manager repos --enable rhel-7-server-optional-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCP Web API およびアプリケーションをインストールします。
satellite-maintain packages install pcp-webapi pcp-webapp-grafana pcp-webapp-vector
# satellite-maintain packages install pcp-webapi pcp-webapp-grafana pcp-webapp-vectorCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCP Web サービスを起動して、有効にします。
systemctl start pmwebd systemctl enable pmwebd
# systemctl start pmwebd # systemctl enable pmwebdCopy to Clipboard Copied! Toggle word wrap Toggle overflow PCP Web サービスへのアクセスを可能にするようにファイアウォールポートを開きます。
firewall-cmd --add-port=44323/tcp firewall-cmd --permanent --add-port=44323/tcp
# firewall-cmd --add-port=44323/tcp # firewall-cmd --permanent --add-port=44323/tcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3. PCP 設定の確認 リンクのコピーリンクがクリップボードにコピーされました!
PCP が正常に設定されたこととサービスがアクティブであることを確認するには、以下のコマンドを実行します。
pcp
# pcp
このコマンドで、アクティブな PCP の設定概要が出力されます。
pcp コマンドの出力例
この例では、Performance Metrics Collector Daemon (pmcd) と Performance Metrics Web Daemon (pmwebd) の両方のサービスが稼働しています。また、PMDA がメトリクスを収集しています。最後の pmlogger がメトリクスを保存しているアーカイブファイルも記載されています。