ログイン / 登録 アカウント

Linux上でパフォーマンスメトリクスのデータ収集と可視化を行う場合、PCPメトリクスの収集と可視化が鍵となります。Red Hat Enterprise Linux(RHEL)8は、パフォーマンスメトリクスの収集と可視化のための優れたフレームワークを提供します。システムで何が起こっているのかを把握するためにコマンドライン出力を注意深く見る時代は終わりました。このシリーズでは、RHELのシステムパフォーマンスデータを可視化するPerformance Co-Pilot(PCP)とGrafanaの力をご紹介します。

デフォルトでは、RHEL 8にPerformance Co-Pilotはインストールされていません。私たちはユーザーが選択できることが重要だと考えており、Performance Co-Pilotを使用すると明示的に選択する必要があります。

Prerequisites

  1. RHEL 8.3が2台のサーバにインストールされている(この例ではホスト名がserver-1とserver-2となっています)

  2. Grafanaのバージョン:grafana-6.7.4-3.el8.x86_64

  3. 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ユーザーのパスワードをより安全なものに変更するように促されます。

pcp grafana 1 login

次に、歯車アイコン「Configuration」をクリックし、「Plugins」をクリックします。このページでPerformance Co-Pilot Appを検索しクリックし、「Enable」をクリックします。

pcp grafana 2 configuration

歯車アイコン「Configuration」をもう一度クリックし、Data Sourcesに戻ります。「Add Data Source」をクリック、「PCP Vector」にマウスオーバーして、表示される「Select」ボタンをクリックします。このフォームのHTTPセクションに http://localhost:44322 のURLを追加し、フォームの下部にある「Save & Test」をクリックします。「Data source is working.」というメッセージが返ってくるはずです。

pcp grafana 3 pcp vector

Dashboardアイコンをクリックし、「Manage」をクリックします。表示される「PCP Vector Host Overview」のオプションをクリックします。

pcp grafana 4 dashboard 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/スループット/ビジー率

pcp grafana 5 dashboardさて繰り返しとなりますが、これはホスト単位のデータの非常に幅広いダッシュボードであり、RHELサーバ上で簡単に有効化することができます。このようにセットアップすることで、PCPとGrafanaはパフォーマンスメトリクスを分析するための素晴らしいオンデマンド環境を提供してくれます。

このシリーズの次回の記事では、ユースケースを拡大し、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.