Menu Close

Red Hat Enterprise Linux 向けの Insights を使用した RHEL リソース最適化の評価と監視

Red Hat Insights 2022

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

概要

Insights for RHEL リソース最適化サービスをインストールして使用を開始します。この新しいサービスは、パブリッククラウドシステムの管理に役立ちます。

多様性を受け入れるオープンソースの強化

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

Red Hat Hybrid Cloud Console ドキュメントへのフィードバック

弊社のドキュメントについてのご意見をお聞かせください。ドキュメントの改善点はございませんか。これを行うには、Bugzilla のチケットを作成します。

  1. Bugzilla の Web サイトに移動します。
  2. Component で Documentation を選択します。
  3. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも記入してください。
  4. Submit Bug をクリックします。

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

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

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

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

特長

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

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

第2章 リソース最適化サービスコアコンセプト

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

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

インサイトのパフォーマンスルール

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

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

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

関連情報

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

PCP ツールキットの Web サイト:PCP website

PCP ツールキットを使用したパフォーマンスの監視:PCP によるパフォーマンスの監視

PCP ツールキットは sysstat とどのように比較されるかPCP と sysstat の比較

PAYG インスタンスの登録AWS で実行されている Red Hat Enterprise Linux システムを Insights に登録する方法

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

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

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

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

2.4. リソース最適化サービスの使用状況メトリックにアクセスします

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

第3章 リソース最適化サービスの有効化

表3.1 互換性情報

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

8.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 を実行できます。

第4章 リソース最適化サービスのインストール

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

注記

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

4.1. Ansible を使用してリソースの最適化を有効にする

この手順では、Ansible クライアントをインストールし、システムで Ansible Playbook を実行します。

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

4.1.1. Ansible のインストール

インストールプロセスを迅速化するために、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

4.1.2. リソース最適化サービスのインストール

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

システムは「Waiting for data」の状態にすぐに Insights に表示され、登録後にデータおよび提案が利用可能になります。

検証手順

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

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

4.2. リソース最適化サービスを手動でインストールする

手順

インストールに 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. 必要な主治医サービスを開始して有効にします。

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

    $ sudo insights-client --register

検証手順

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

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

第5章 Kernal Pressure Stall Information (PSI) の有効化

PSI は、リソースのプレッシャーが発生するにつれて増加することを確認するための標準的な方法を提供します。メモリー、CPU、および入出力 (I/O) の 3 つの主要なリソースの圧力メトリックがあります。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 下に表示されます。

第6章 PSI の無効化

手順

  1. /etc/default/grubファイルを編集し、GRUB_CMDLINE_LINUX 行から psi=1 を削除します (引用符に注意してください)。
  2. grub 構成ファイルを再生成します。

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

検証手順

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

第7章 リソース最適化サービスのアンインストール

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

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

手順

  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

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

7.2. リソース最適化サービスを手動で無効にする

アンインストールプロセスを迅速化するために、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