Red Hat ブログ
Blog menu
Linux上でパフォーマンスメトリクスのデータ収集と可視化を行う場合、PCPメトリクスの収集と可視化が鍵となります。Red Hat Enterprise Linux(RHEL)8は、パフォーマンスメトリクスの収集と可視化のための優れたフレームワークを提供します。システムで何が起こっているのかを把握するためにコマンドライン出力を注意深く見る時代は終わりました。このシリーズでは、RHELのシステムパフォーマンスデータを可視化するPerformance Co-Pilot(PCP)とGrafanaの力をご紹介します。
デフォルトでは、RHEL 8にPerformance Co-Pilotはインストールされていません。私たちはユーザーが選択できることが重要だと考えており、Performance Co-Pilotを使用すると明示的に選択する必要があります。
Prerequisites
-
RHEL 8.3が2台のサーバにインストールされている(この例ではホスト名がserver-1とserver-2となっています)
-
Grafanaのバージョン:grafana-6.7.4-3.el8.x86_64
-
PCPのバージョン:pcp-5.1.1-3.el8.x86_64
server-1で以下のコマンドを実行します。
yum install pcp-zeroconf -y systemctl restart pmcd
以上です!これでPerformance Co-Pilotがインストールされ、ローカルサーバー上で実行されます。例えば、あらかじめ用意されたパフォーマンスメトリクスを見ることができます。
pminfo | wc -l 3101 pminfo | grep kernel | head -n 15 kernel.all.load kernel.all.intr kernel.all.pswitch kernel.all.sysfork kernel.all.running kernel.all.blocked kernel.all.boottime kernel.all.hz kernel.all.uptime kernel.all.idletime kernel.all.nusers kernel.all.nroots kernel.all.nsessions kernel.all.lastpid kernel.all.runnable
そして、以下のようにpmrepコマンドでメトリックを表示することができます。
pmrep kernel.all.load -s 5 k.a.load k.a.load k.a.load 1 minute 5 minute 15 minut 0.020 0.020 0.080 0.020 0.020 0.080 0.020 0.020 0.080 0.020 0.020 0.080 0.020 0.020 0.080
この例で「-s 5」を使用したのは5つのサンプルのみ表示するためです。
メトリックデータを他のアプリケーションと共有するためには、pmproxy を有効化し対応するファイアウォールのポートをオープンする必要があります。
systemctl enable pmproxy systemctl start pmproxy firewall-cmd --add-service=pmproxy --permanent firewall-cmd --reload
Performance Co-Pilotのセットアップが完了したので、続いてGrafanaを使ってシステムのパフォーマンスを概観しましょう。
そのために、以下のコマンドをserver-1で実行しGrafanaをインストールします。
yum install grafana grafana-pcp -y systemctl enable grafana-server systemctl start grafana-server firewall-cmd –add-service=grafana –permanent firewall-cmd –reload
さてブラウザで http://server-1:3000 にアクセスし、ユーザー名:admin、パスワード:admin でログインします。これはデフォルトのパスワードで、ログインするとすぐに、adminユーザーのパスワードをより安全なものに変更するように促されます。
次に、歯車アイコン「Configuration」をクリックし、「Plugins」をクリックします。このページでPerformance Co-Pilot Appを検索しクリックし、「Enable」をクリックします。
歯車アイコン「Configuration」をもう一度クリックし、Data Sourcesに戻ります。「Add Data Source」をクリック、「PCP Vector」にマウスオーバーして、表示される「Select」ボタンをクリックします。このフォームのHTTPセクションに http://localhost:44322 のURLを追加し、フォームの下部にある「Save & Test」をクリックします。「Data source is working.」というメッセージが返ってくるはずです。
Dashboardアイコンをクリックし、「Manage」をクリックします。表示される「PCP Vector Host Overview」のオプションをクリックします。
このダッシュボードでは、server-1のメトリクスデータをリアルタイムで見ることができます。以下のようなメトリクスが表示されます。
-
CPU 使用率
-
ロードアベレージ
-
メモリ使用率
-
ディスクビジー率
-
CPUごとのビジー率(user/system)
-
CPU user%、system%、interrupt%、wait%
-
スケジューラ1秒あたりコンテキストスイッチ数と実行可能なプロセス数
-
メモリUsed/Cached/Free/ページフォールト率/ハードフォールト率
-
ネットワークスループット受信/送信
-
ネットワークパケットドロップ受信/送信
-
ネットワークパケット受信/送信
-
TCPコネクション数/タイムアウト/close-waits/time wait/established/listenエラー/再送
-
ディスクレイテンシー/IOPS/スループット/ビジー率
このシリーズの次回の記事では、ユースケースを拡大し、pmseriesとRedisを使用して様々な場所から集めたメトリクスを保存し過去のデータの分析を行う方法を探っていきます。
About the author
Karl Abbott is a Senior Product Manager for Red Hat Enterprise Linux focused on the kernel and performance. Abbott has been at Red Hat for more than 15 years, previously working with customers in the financial services industry as a Technical Account Manager.