Insights for Red Hat Enterprise Linux を使用した RHEL リソース最適化の評価および監視

Red Hat Insights 2023

RHEL のリソース使用統計を理解する

Red Hat Customer Content Services

概要

Insights for RHEL リソース最適化サービスをインストールして使用を開始します。この新しいサービスは、パブリッククラウドシステムの管理に役立ちます。
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。

第1章 パブリッククラウドシステムのリソース最適化サービス

Red Hat Insights for Red Hat Enterprise Linux リソース最適化サービスにより、RHEL のお客様は、パブリック RHEL クラウドの使用状況および最適化を評価および監視できます。このサービスは、次のメトリクスを表示します。

  • CPU
  • メモリー
  • ディスク使用率

これらのメトリクスを分析し、パブリッククラウドプロバイダーが推奨するリソース制限と比較します。過去 1 日のデータを活用すると、リソースの最適化サービスは各リソースパラメーターを複数の異なる方法で考慮し、アクション可能なデータを返します。このデータにより、リソースの割り当てが改善され、パブリッククラウドの投資にかかる費用を節約できます。

機能

サービスタスクには以下の情報が必要です。

  • Insights for Red Hat Enterprise Linux インベントリー内の既存システムの使用率および最適化データ
  • パブリッククラウドで実行しているシステムの範囲
  • システム特性の概要
  • 潜在的な問題の強調
  • 問題解決のための提案の作成

1.1. リソース最適化サービスコアコンセプト

1.1.1. リソース最適化サービスのパフォーマンスルール

リソース最適化サービスを使用して、サポートされているパブリッククラウドであるAmazon Web Services (AWS) で実行されている管理対象ホストのパフォーマンスメトリクスを表示します。このサービスは、Performance Co-Pilot (PCP) ツールキットと呼ばれるフレームワークを使用して、パフォーマンスメトリクスを記録します。これらのメトリクスにより、より適切なビジネス上の意思決定を行うことができます。

Insights のパフォーマンスルール

パフォーマンスルールは、PCP によって収集されたデータに適用される一連の条件です。これらは、次のシステム状態を識別します。

  • Undersized:Undersized (小さすぎる) 状態は、CPU、RAM、およびディスクの入出力 (I/O) の使用状況を調べ、それを CPU のアイドル時間と組み合わせて 24 時間にわたって判断します。その結果、スコアが高くなると、リソース最適化サービスは、システムのワークロードに対して小さすぎるとラベル付けします。いずれかの寸法が小さすぎる場合は常に、システムは小さすぎると報告されます。
  • Oversized:Oversized (大きすぎる) 状態は、CPU、RAM、およびディスク I/O の使用状況を調べ、それを CPU のアイドル時間と組み合わせて 24 時間にわたって判断します。その結果、スコアが低くなる場合、リソース最適化サービスは、システムをそのワークロードに対して大きすぎるとラベル付けします。すべてのディメンションが特大である場合にのみ、システムは特大として報告されます。
  • Idling:Idling (アイドリング) 状態は、CPU、RAM、およびディスク I/O の使用状況を調べ、それを CPU のアイドル時間と組み合わせて 24 時間にわたって判断します。その結果、使用率が非常に低くなる場合、リソース最適化サービスは、システムにそのワークロードに適しているが十分に使用されていないとラベル付けします。アイドリング状態は、ニーズ改善シナリオと見なすことができます。
  • Optimized:Optimized (最適化された) 状態は、CPU、RAM、およびディスク I/O の使用状況を調べ、それを CPU のアイドル時間と組み合わせて 24 時間にわたって判断します。その結果が中間点になる場合、リソース最適化サービスはシステムに最適化済みのラベルを付けます。
  • Under pressure:この状態は、Kernel Pressure Stall Information (PSI) が有効になっている場合にのみアクティブになります。システムは、使用率に関して最適化されている場合、圧力がかかっているとラベル付けされますが、いくつかの圧力状態は持続します。

リソース最適化サービスは、システムにスコアを割り当てるために、システムの状態と設定した望ましいパフォーマンス基準を測定します。

関連情報

PCP ツールキットと PAYG の登録の詳細については、以下のリンクを参照してください。

1.1.2. リソース最適化サービスのデータセキュリティー保証

リソース最適化サービスは、Red Hat Insights for Red Hat Enterprise Linux サービスのデータおよびアプリケーションセキュリティープラクティスに準拠しています。詳細は、セキュリティー を参照してください。

1.1.3. リソース最適化のパフォーマンスメトリクス

リソース最適化サービスは、システムに pcp パッケージをインストールし、pmcdpmlogger の 2 つのサービスを実行します。どちらも Performance Co-Pilot (PCP) ツールキットの一部であり、システム上の特定のメトリクスを監視および処理します。メトリクスはアーカイブに保存され、これを Insights クライアントが Red Hat Insights for Red Hat Enterprise Linux にアップロードします。

1.1.4. リソース最適化サービスの使用状況メトリクスへのアクセス

リソース最適化サービスは、前日のデータをキャプチャーし、24 時間後のシステム使用状況メトリクスを提供します。デフォルトでは、ローカルシステム時間の午前 12:00 +/- 1 時間に、アーカイブが Insights for Red Hat Enterprise Linux にアップロードされます。ただし、このデータがアップロードされる時間は、Performance Co-Pilot (PCP) ツールキット設定で構成できます。

第2章 resource-optimization コンポーネントのインストールおよび設定

リソース最適化のインストールには、パッケージのインストール、設定の構成、およびローカルサービスの有効化が含まれます。これは手動で行うことも、Red Hat が提供する Ansible Playbook を使用して行うこともできます。

注記

従量課金制 (PAYG) のお客様は、Basic 認証を使用するように insights-client を設定する必要があります。詳細は、Red Hat Insights 向け Basic 認証の設定 に関するドキュメントを参照してください。RHEL システムがサブスクリプションを使用している場合は、Basic 認証を使用できますが、必須ではありません。Insights クライアントは既存の RHSM データを使用できます。

表2.1 互換性情報

RHEL バージョンクラウドプロバイダーリソース最適化の互換性

8.x-9.x

AWS

✔ (x86_64 および ARM 64 ビット)

7.7-7.9

AWS

✔ (x86_64 および ARM 64 ビット)

7.0-7.6

AWS

6.x

AWS

前提条件

リソース最適化サービスを使用する前に、次のアプリケーションをインストールし、設定を確認する必要があります。

  • クラウドマーケットプレイスの RHEL インスタンスが設定されている。
  • Insights クライアントがシステムにインストールされ、操作可能である。
  • Ansible を使用してリソース最適化サービスをインストールまたはアンインストールする場合は、以下を行う。

    • Ansible リポジトリーが有効になり、Ansible クライアントが各システムにインストールされている。
    • システム管理者は Ansible Playbook を実行できる。

2.1. resource-optimization コンポーネントのインストール

resource-optimization コンポーネントのインストールには、いくつかのオプションがあります。お使いの Ansible ワークフローで使用可能なオプションを選択してください。

2.1.1. Ansible のインストールと resource-optimization インストール Playbook の実行

インストールプロセスを迅速化するために、Ansible の使用をお勧めします。この手順では、Ansible クライアントをインストールし、システムで Ansible Playbook を実行します。

Amazon Web Services (AWS) のクラウドマーケットプレイスイメージは、クラウドプロバイダーによってホストされているリポジトリーを使用するように設定されています。現在、これらのリポジトリーには Ansible クライアントが含まれていないため、クラウドマーケットプレイスで管理されている RHEL システムで Ansible リポジトリーを有効にするには、次の手順を実行する必要があります。

注記

RHEL 8.6 以降および RHEL 9.0 では、Red Hat は Ansible Core を使用することを推奨しています。詳細は、RHEL 8.6 および 9.0 での Ansible の使用に関する更新事項 を参照してください。

前提条件

  • RHEL 8 で Ansible リポジトリーが有効になっている。

RHEL 8 の手順

  1. Ansible をインストールします。

    # yum install ansible -y

RHEL 7 の手順

  1. Subscription-manager リポジトリーを有効にして、システムを登録します。

    # subscription-manager config --rhsm.manage_repos=1
    # subscription-manager register
  2. オプションで、システムをサブスクリプションプールに接続します。

    # subscription-manager attach --pool xxxxxxxx
  3. 必要な Ansible リポジトリーを有効にします。

    # subscription-manager repos --enable=rhel-7-server-ansible-2.9-rpms
  4. Ansible をインストールします。

    # yum install ansible -y
  5. RHEL PAYG を使用していて、RHUI 更新サーバーのみを使用する場合は、subscription-manager リポジトリーを無効にします。

    # subscription-manager config --rhsm.manage_repos=0

2.1.2. Ansible がすでにインストールされている場合のリソース最適化のインストール

Ansible をインストールしたら、リソース最適化サービスのインストールを完了します。

手順

  1. 次のコマンドを使用して Ansible Playbook をダウンロードします。

    $ curl -O https://raw.githubusercontent.com/RedHatInsights/ros-backend/v1.0/ansible-playbooks/ros_install_and_set_up.yml
  2. localhost という行を /etc/ansible/hosts に追加して、Ansible インベントリーに localhost を設定します。
  3. Ansible Playbook を実行します。

    # ansible-playbook -c local ros_install_and_set_up.yml

システムは「データの待機中」状態で Insights にすぐに表示され、データおよび提案は登録の翌日に利用可能になります。

検証手順

タイムスタンプ付きのデータファイルは /var/log/pcp/pmlogger/ros の下に表示され、数分後、メトリクスが収集されていることを確認できます。

$ ls -l /var/log/pcp/pmlogger/ros
$ pmlogsummary /var/log/pcp/pmlogger/ros/

2.1.3. Ansible をインストールまたは使用しない場合のリソース最適化のインストール

手順

インストールに Ansible を使用しないことを選択する場合は、以下の手動インストール手順を使用してください。

  1. 最新バージョンの insights-client がインストールされていることを確認します。

    $ yum update insights-client
  2. /etc/insights-client/insights-client.confcore_collect=True を設定します。
  3. Performance Co-Pilot (PCP) ツールキットをインストールします。

    $ sudo yum install pcp
  4. 次の内容で PCP 設定ファイル /var/lib/pcp/config/pmlogger/config.ros を作成します。

    log mandatory on default {
      hinv.ncpu
      mem.physmem
      mem.util.available
      disk.dev.total
      kernel.all.cpu.idle
      kernel.all.pressure.cpu.some.avg
      kernel.all.pressure.io.full.avg
      kernel.all.pressure.io.some.avg
      kernel.all.pressure.memory.full.avg
      kernel.all.pressure.memory.some.avg
    }
    [access]
    disallow .* : all;
    disallow :* : all;
    allow local:* : enquire;
  5. リソースの最適化に必要なメトリクスを収集するように pmlogger を設定するには、次の行を /etc/pcp/pmlogger/control.d/local に追加します。

    LOCALHOSTNAME	n   y	PCP_LOG_DIR/pmlogger/ros	-r -T24h10m -c config.ros -v 100Mb
  6. 必要な PCP サービスを開始して有効にします。

    $ sudo systemctl enable pmcd pmlogger
    $ sudo systemctl start pmcd pmlogger
  7. Insights-client を再登録し、アーカイブをアップロードします。システムは「データの待機中」状態で Insights にすぐに表示され、データおよび提案は登録の翌日に利用可能になります。

    $ sudo insights-client --register

検証手順

タイムスタンプ付きのデータファイルは /var/log/pcp/pmlogger/ros の下に表示され、数分後、メトリクスが収集されていることを確認できます。

$ ls -l /var/log/pcp/pmlogger/ros
$ pmlogsummary /var/log/pcp/pmlogger/ros/

2.2. Kernel Pressure Stall Information (PSI) の有効化

PSI は、リソースの圧力が発生するにつれて増加することを確認するための標準的な方法を提供します。メモリー、CPU、および入出力 (I/O) の 3 つの主要なリソースの圧力メトリクスがあります。PSI は、RHEL 8 以降のバージョンで使用可能であり、デフォルトで無効になっています。

PSI が有効になっている場合、リソース最適化サービスはその結果を補強し、より多くの詳細とより良い提案を提供できます。ピークを特定するには、PSI を有効にすることが強く推奨されます。

手順

  1. /etc/default/grub ファイルを編集して、GRUB_CMDLINE_LINUX 行の最後に psi=1 を追加します (引用符に注意してください)。
  2. grub 設定ファイルを再生成します。

    $ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  3. システムを再起動します。
注記

PSI を有効にすると、わずかながら (1%未満) パフォーマンスに影響があります。

検証手順

PSI を有効にすると、CPU、メモリー、IO のファイルが /proc/pressure の下に表示されます。

2.3. リソース最適化サービスでの通知および統合の有効化

リソース最適化サービスが問題を検出して提案を生成するたびに、Red Hat Hybrid Cloud Console の通知サービスを有効にして通知を送信できます。通知サービスを使用すると、推奨事項について Red Hat Insights for Red Hat Enterprise Linux ダッシュボードを継続的にチェックする必要がなくなります。

たとえば、リソース最適化サービスが提案を生成するたびにメールメッセージを自動的に送信するように通知サービスを設定できます。

通知サービスを有効にするには、以下の 3 つの主要なステップが必要です。

  • まず、組織管理者が通知管理者ロールを持つユーザーアクセスグループを作成し、そのグループにアカウントメンバーを追加します。
  • 次に、通知管理者が通知サービス内のイベントの動作グループを設定します。動作グループは、通知ごとに配信方法を指定します。たとえば、動作グループは、電子メール通知をすべてのユーザーに送信するか、組織の管理者にのみ送信するかを指定できます。
  • 最後に、イベントから電子メール通知を受信するユーザーは、各イベントの個別電子メールを受け取るようにユーザー設定する必要があります。

メールメッセージの送信に加えて、他の方法でイベントデータをプルするように通知サービスを設定できます。

  • 認証されたクライアントを使用して、Red Hat Insights API にイベントデータを照会します。
  • Webhook を使用して受信要求を受け入れるサードパーティーのアプリケーションにイベントを送信する。
  • 通知を Splunk などのアプリケーションと統合して、リソースの最適化の推奨事項をアプリケーションダッシュボードにルーティングします。

関連情報

第3章 リソース最適化レポートの表示

今後のパブリッククラウドへの投資に関して、情報に基づいた意思決定を行うために、長期にわたる最適化レベルを評価する際に役立つ履歴データレポートが利用可能です。

3.1. 使用率の履歴データの表示

リソース最適化サービスを使用すると、過去 7 ~ 45 日間のシステム使用率スコアの傾向を確認できます。このサービスは、日単位で CPU 使用率メモリー使用率 のパーセンテージを示す棒グラフを表示します。

システムの使用率の履歴データを表示、フィルタリング、およびソートするには、次の手順を実行します。

手順

  1. Red Hat Enterprise Linux > リソースの最適化 ページに移動します。システム状態画面が開きます。
  2. ページの左側にある Name ヘッダーをクリックして、Name, State or Operating system でフィルター処理します。各列名の右側にある並べ替え矢印を使用して、OS, CPU, Memory Utilization, I/O Output, Suggestions, State, および Last Reported でソートします。1 回クリックすると、最適化されたシステムが最初に表示されるように列が並べ替えられます。もう一度クリックすると、列がソートされ、データの待機中 と分類されたシステムが最初に表示されます。
  3. 分析されたシステムは青色で表示されます。青いシステム名をクリックすると、詳細が表示されます。
  4. Actions ドロップダウンをクリックして、オペレーティングシステム、インフラストラクチャー、設定、BIOS、その他のデータなど、システムの プロパティーをインベントリー に表示します。
  5. デフォルトでは、リソース最適化システムは 7 日間の使用結果を表示します。Last 7 Days というラベルの付いたドロップダウンをクリックして、45 日間の使用率データを表示します。マウスホイールおよびボタンを使用して棒グラフを移動したりズームしたりして、特定の日と、その日の使用率スコアを表示します。
  6. 下にスクロールして、そのシステムに関する具体的な提案を確認します。

3.2. リソース最適化サービスレポートのダウンロード

すべての登録済みシステムのリソース最適化レポートをダウンロードできます。このレポートは、過去 7 〜 45 日間に収集された次のデータを識別します。

  • 登録済みシステム。このセクションでは、最適、非最適、および古いシステムの数について詳しく説明します。最適化された状態は、24 時間にわたって CPU、RAM、およびディスク I/O の使用状況を CPU のアイドル時間と組み合わせて調べることによって決定されます。3 つの要因の調査に基づく計算の結果が中間点になる場合、リソース最適化サービスはシステムを最適化済みとしてラベル付けします。古いシステムは、リソース最適化サービスに 7 日間データを送信していないシステムとして定義されます。
  • Kernel Pressure Stall Information (PSI)。これは、PSI が有効になっているシステムの数、および PSI が有効になっていないシステムの数の分析です。PSI を使用すると、リソースのプレッシャーが増大するにつれて、その増加を特定できるため、より優れたシステムの推奨事項を受け取ることができます。
  • システムパフォーマンスの問題。RAM や CPU 関連のピークなど、特定のパフォーマンスの問題が発生回数とともに特定されます。
  • 現在最も使用されているインスタンスタイプ。このサービスは、登録されているすべてのシステムで最も頻繁に使用される上位 5 つのインスタンスタイプを評価および表示します。
  • 推奨のインスタンスタイプ。このサービスは、最新の使用率メトリクスに基づいて、頻繁に推奨される上位 5 つのインスタンスタイプを特定します。これは、リソースの割り当てを改善するために、変更が必要であることを示している可能性があります。
  • 45 日間の推奨のインスタンスタイプ。このメトリックは、45 日間の履歴データに基づいて、頻繁に推奨される上位 5 つのインスタンスタイプを表示します。また、最近行った変更の有効性を表示することもできます。

前提条件

エグゼクティブレポートの PDF を作成するには、次の前提条件と条件が満たされている必要があります。

  • Insights クライアントがシステムにインストールされ、操作可能である。
  • Performance Co Pilot がインストールされ、正しく設定されている。
  • 1 つ以上のシステムが登録されておりリソース最適化にデータを送信している。
注記

システムがリソース最適化に情報を送信している時間が長ければ長いほど、推奨事項はより正確で価値のあるものになります。

手順

  1. Red Hat Enterprise Linux > Resource Optimization に移動します。
  2. 右上隅にある Download executive report をクリックします。
  3. Export successful というメッセージのダイアログボックスが表示され、タスクバーに PDF ファイルが表示されます。

関連情報

  • セクション 3.5「Kernel Pressure Stall Information (PSI) の有効化」を参照してください。
  • PCP ツールキット Web サイト: PCP Web サイト

第4章 リソース最適化サービスの無効化

4.1. リソース最適化ファイルおよびデータの削除

Ansible を使用してリソース最適化サービスを無効にする

各システムで以下の手順を実行し、リソース最適化サービスを無効にしてアンインストールします。

手順

  1. 次のコマンドを使用して Ansible Playbook をダウンロードします。

    $ curl -O https://raw.githubusercontent.com/RedHatInsights/ros-backend/v1.0/ansible-playbooks/ros_disable.yml
  2. 次のコマンドを使用して Ansible Playbook を実行します。

    # ansible-playbook -c local ros_disable_and_clean_up.yml

Playbook をアンインストールしても、Performance Co-Pilot (PCP) ツールキットが停止または削除されることはありません。PCP は複数のアプリケーションをサポートする場合があることに注意してください。リソース最適化サービス専用に PCP を使用していて、PCP も削除したい場合は、いくつかのオプションがあります。pmlogger および pmcd サービスを停止して無効にするか、システムから pcp パッケージをアンインストールして PCP を完全に削除することができます。

Ansible を使用せずにリソース最適化サービスを手動で無効にする

アンインストールプロセスを迅速化するために、Ansible の使用をお勧めします。Ansible を使用しないことを選択した場合は、次の手動手順を利用してください。

手順

  1. /etc/pcp/pmlogger/control.d/local からこの行を削除して、リソース最適化サービスのメトリクス収集を無効にします。

    LOCALHOSTNAME	n   y	PCP_LOG_DIR/pmlogger/ros	-r -T24h10m -c config.ros -v 100Mb
  2. PCP を再起動して、リソース最適化サービスのメトリクス収集を効果的に停止します。

    $ sudo systemctl pmcd pmlogger
  3. リソース最適化サービス設定ファイルを削除します。

    $ sudo rm /var/lib/pcp/config/pmlogger/config.ros
  4. システムからリソース最適化データを削除します。

    $ sudo rm -rf /var/log/pcp/pmlogger/ros
  5. PCP を他の目的で使用していない場合は、システムから削除できます。

    $ sudo yum remove pcp

4.2. Kernel Pressure Stall Information (PSI) の無効化

手順

  1. /etc/default/grub ファイルを編集して、GRUB_CMDLINE_LINUX 行から psi=1 を削除します。
  2. grub 設定ファイルを再生成します。

    [user]$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  3. システムを再起動します。

検証手順

PSI が無効になっていると、/proc/pressure は存在しません。

Red Hat ドキュメントへのフィードバック (英語のみ)

当社のドキュメントに関するご意見やご感想をお寄せください。フィードバックを提供するには、ドキュメントのテキストを強調表示し、コメントを追加してください。

前提条件

  • Red Hat カスタマーポータルにログインしている。
  • Red Hat カスタマーポータルで、Multi-page HTML 形式でドキュメントを表示している。

手順

フィードバックを提供するには、以下の手順を実施します。

  1. ドキュメントの右上隅にある Feedback ボタンをクリックして、既存のフィードバックを確認します。

    注記

    フィードバック機能は、Multi-page HTML 形式でのみ有効です。

  2. フィードバックを提供するドキュメントのセクションを強調表示します。
  3. 強調表示されたテキスト近くに表示される Add Feedback ポップアップをクリックします。

    ページの右側のフィードバックセクションにテキストボックスが表示されます。

  4. テキストボックスにフィードバックを入力し、Submit をクリックします。

    ドキュメントに関する問題が作成されます。

  5. 問題を表示するには、フィードバックビューで問題リンクをクリックします。

法律上の通知

Copyright © 2023 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.