RSS フィードを購読する

この記事では、Performance Co-Pilot (PCP) ツールと、このツールを活用して Red Hat Ansible Automation Platform にシステムおよびアプリケーションの監視を実装する方法について説明します。

Performance Co-Pilot (PCP) とは

PCP は、Red Hat が開発したオープンソースのパフォーマンス監視および分析フレームワークです。さまざまなシステム、サービス、およびアプリケーションのパフォーマンスメトリクスを監視、取得、分析するためのツール、ライブラリ、サービスのスイートを提供します。PCP はスケーラビリティを重視して設計されており、単一のサーバーからマシンの大規模な分散ネットワークまで、あらゆるものをリアルタイムで監視できます。

PCP の主な特長

  1. スケーラビリティ:PCP は、個々のシステムと分散環境の両方の監視に使用できます
  2. マルチソースデータ収集:オペレーティングシステム (OS)、データベース、ネットワーク・インタフェース、カスタムアプリケーションなど、複数のソースからデータを収集します
  3. 拡張性:カスタムエージェントや拡張機能を開発することで、新しいメトリクスを追加できます
  4. 保存と取得:PCP はパフォーマンスデータを保存して履歴分析ができるほか、リアルタイムのデータ取得をサポートします
  5. リアルタイム監視:リアルタイムのメトリクスが得られるので、パフォーマンスのライブ分析が可能です
  6. グラフィカルとコマンドラインのインタフェース:PCP には、監視およびパフォーマンスデータ分析のためのグラフィカルツール (pmchart など) とコマンドラインツール (pminfo、pmval、pmlogsummary など) の両方が含まれています

代表的なコンポーネント

  • Performance Metrics Collector Daemon (PMCD):エージェントからメトリクスを収集する中央のデーモン
  • Performance Metrics Name Space (PMNS):パフォーマンスメトリクスを編成する階層型の名前空間
  • Performance Metrics Inference Engine (PMIE):リアルタイムメトリクスのしきい値に基づいてアラートやアクションを生成するためのツール
  • PMLogger:後で分析できるようパフォーマンスメトリクスのログを保存
  • PMProxy:プロキシプロトコルとして機能し、クライアントが PMProxy を介して 1 つ以上の PMCD インスタンスに接続するのを PCP が監視できるようにします

ユースケース

  • システムパフォーマンス分析:PCP は、CPU、メモリー、ディスク I/O、ネットワーク使用状況、その他のシステムメトリクスを監視できます
  • アプリケーション監視:PCP で特定のアプリケーションまたはサービスを監視して、リソース消費量とパフォーマンスの傾向を把握することができます
  • 履歴データ分析:パフォーマンスデータを保存しておき、システム障害が発生したときに履歴傾向分析やフォレンジック分析に使用できます

PCP を使用して Ansible Automation Platform を監視する理由

PCP を使用した Ansible Automation Platform の監視は、いくつかの理由により重要です。

  1. パフォーマンスに関する知見:PCP は、Ansible Automation Platform のパフォーマンスに関する詳細なメトリクスと知見を提供します。これはボトルネックの特定とリソース使用率の最適化に役立ちます
  2. プロアクティブな問題検出:パフォーマンスメトリクスを継続的に監視することで、重大な問題へと発展する前に潜在的な問題を検出し、プロアクティブなトラブルシューティングを行うことができます
  3. リソース管理:リソース使用率 (CPU、メモリー、ディスク I/O) を把握すると、効果的なキャパシティプランニングを行い、リソース競合を発生させることなく自動化環境をスムーズに稼働させるのに役立ちます
  4. スケーラビリティ:必要に応じて自動化を拡大していく際に、監視を行うことで Ansible Automation Platform インフラストラクチャをいつどのようにスケーリングするかを評価し、パフォーマンスを低下させずに増加したワークロードを処理できるようにします
  5. コンプライアンスと監査:監視ツールを使用することで自動化アクティビティとリソースの使用状況に関する明確な監査証跡を獲得し、社内外の規制へのコンプライアンスを維持できます
  6. 他のツールとの統合:PCP は他の監視およびアラートシステムと統合できるため、インフラストラクチャを包括的に表示でき、より優れたインシデント対応が可能になります
  7. ユーザーエクスペリエンス:自動化タスクが効率的に実行されるようにすることで、Ansible Automation Platform でデプロイと構成管理を行うチームの全体的なユーザーエクスペリエンスが向上します
  8. 履歴データ分析:PCP はパフォーマンスの履歴データを保持するので、経時的な傾向を分析することができます。これは、将来的にインフラストラクチャの変更や最適化を検討する際に情報に基づいた意思決定を行うために不可欠です

まとめると、PCP を使用して Ansible Automation Platform を監視することでパフォーマンス、信頼性、効率性が向上するため、自動化の取り組みが組織の目標にとってプラスの働きをするようになります。

PCP を使用した Ansible Automation Platform の監視を設定する

現時点で、Ansible Automation Platform での監視の設定は、従来型インストールと仮想マシン (VM) でのコンテナ型インストールの両方でサポートされています。監視を有効化するには、セットアップ用のインベントリーファイルの [all:vars] セクションで、setup_monitoring のブール値に True を指定する必要があります。以下に例を示します。

[all:vars]
setup_monitoring = True

インストーラーを実行するとモニタリングロールが実行され、Ansible Automation Platform クラスタで PCP が構成されます。このロールは pcp、pmcdpmproxy など、必要なサービスをインストールしてアクティブ化します。従来の RPM ベースのデプロイメントでは、PCP は DNF を介してインストールされ、systemd を介して実行されます。コンテナ型インストールでは、他のすべての Ansible Automation Platform コンポーネントとともにコンテナで実行されます。さらに、インストーラーによって Performance Metric Domain Agents (PMDA) がセットアップされます。これは pmcd のデーモンとして実行されるプラグインで、Ansible Automation Platform ホスト上の nginx、redis、postgres、openmetrics などの主要コンポーネントを監視します。

さらに、従来型インストールでは、メトリクスを効果的にアーカイブできるよう、インストーラーは Ansible Automation Platform クラスタのすべてのノードから PCP メトリクスを収集する中央ハブとしてゲートウェイノードを指定します。

PCP はポート 44322 を使用してメトリクスを公開します。必要に応じて、セキュリティグループでポート 44322 が開いていることを確認してください。このポートが開かれていない場合、ホスト上で PCP コマンドラインツールを使用してローカルでメトリクスを分析することはできますが、外部ツールでメトリクスを集約することはできません。

セットアップが完了したら、ssh を介していずれかのゲートウェイノードにログインし、次のコマンドを実行すると、PCP が収集しているすべてのメトリクスを確認することができます。

アーカイブされたメトリクスを取得する

PCP の CLI ツールを使用して、アーカイブファイルからメトリクスを取得できます。従来型のインストールでは、アーカイブは /var/log/pcp/pmlogger/ にあります。

以下に例を示します。

/var/log/pcp/pmlogger/controller.example.com/20241004.00.10

コンテナ型インストールでは、アーカイブは /home/ansible/aap/pcp_archives にあります。

以下に例を示します。

/home/ansible/aap/pcp_archives/controller.example.com/20241004.00.10

  • アーカイブファイルが作成されたときに有効化されていたすべてのメトリクスを一覧表示するには、次のコマンドを入力します。

    # pminfo --archive <ARCHIVE_FILE_LOCATION>
  • アーカイブファイルがカバーしているホストと期間を表示するには、次のコマンドを入力します。

    # pmdumplog -l <ARCHIVE_FILE_LOCATION>
  • アーカイブファイルがカバーしている期間における、各パーティションのディスク書き込みを一覧表示するには、次のようにします。

    # pmval --archive <ARCHIVE_FILE_LOCATION> \
    -f 1 disk.partitions.write
  • 14:00 から 14:15 までのパーティションごとのディスク書き込み操作を 2 秒間隔で一覧表示するには、次のようにします。

    # pmval --archive <ARCHIVE_FILE_LOCATION> \
    -d -t 2sec \
    -f 3 disk.partitions.write \
    -S @14:00 -T @14:15
  • 14:00 から 14:30 までのすべてのパフォーマンスメトリクスの平均値を、最小/最大の時間と値とともに一覧表示し、値を表形式に整形するには、次のようにします。

    # pmlogsummary <ARCHIVE_FILE_LOCATION> \
    -HlfiImM \
    -S @14:00 \
    -T @14:30 \
    disk.partitions.write \
    mem.freemem
  • アーカイブに保存されているメトリクスを 14:00 の分から top ツールのような対話形式で表示するには、次のようにします。

    # pcp --archive <ARCHIVE_FILE_LOCATION> \
    -S @14:00 \
    atop

ポイント

Ansible Automation Platform がサポートするサービスの信頼性、パフォーマンス、セキュリティのためには、監視が不可欠です。応答時間の遅延、サーバーエラー、セキュリティの脆弱性などの問題をリアルタイムで検出して対処するのに役立てられるため、ダウンタイムと潜在的なユーザーへの影響を最小限に抑えることができます。トラフィック、使用状況、リソース消費などの主要なメトリクスを継続的に追跡することで、プラットフォームを最適な効率で運用できます。

次のステップ

product trial

Red Hat Ansible Automation Platform | 製品トライアル

エージェントレスな自動化プラットフォーム。

執筆者紹介

Nikhil Jain is a Principal Software Engineer with Red Hat’s Performance and Scale Engineering team who focuses on the testing, analysis and improvement of Red Hat Ansible Automation Platform products and services.
Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Virtualization icon

仮想化

オンプレミスまたは複数クラウドでのワークロードに対応するエンタープライズ仮想化の将来についてご覧ください