Menu Close
Red Hat Enterprise Linux 向けの Insights を使用した RHEL リソース最適化の評価と監視
RHEL のリソース使用統計を理解する
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージをご覧ください。
Red Hat Hybrid Cloud Console ドキュメントへのフィードバック
弊社のドキュメントについてのご意見をお聞かせください。ドキュメントの改善点はございませんか。これを行うには、Bugzilla のチケットを作成します。
- Bugzilla の Web サイトに移動します。
- Component で Documentation を選択します。
- Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも記入してください。
- 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
パッケージをインストールし、pmcd
と pmlogger
の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 の手順
Ansible をインストールします。
# yum install ansible -y
RHEL 7 の手順
Subscription-manager リポジトリーを有効にして、システムを登録します
# subscription-manager config --rhsm.manage_repos=1 # subscription-manager register
オプションで、システムをサブスクリプションプールに接続します
# subscription-manager attach --pool xxxxxxxx
必要な Ansible リポジトリーを有効にします。
# subscription-manager repos --enable=rhel-7-server-ansible-2.9-rpms
Ansible をインストールします。
# yum install ansible -y
RHEL PAYG を使用していて、RHUI 更新サーバーのみを使用する場合は、subscription-manager リポジトリーを無効にします。
# subscription-manager config --rhsm.manage_repos=0
4.1.2. リソース最適化サービスのインストール
Ansible をインストールしたら、リソース最適化サービスのインストールを完了します。
手順
次のコマンドを使用して Ansible Playbook をダウンロードします。
$ curl -O https://raw.githubusercontent.com/RedHatInsights/ros-backend/v1.0/ansible-playbooks/ros_install_and_set_up.yml
-
localhost
という行を/etc/ansible/hosts
に追加して、Ansible インベントリーに localhost を設定します。 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 を使用しないことを選択した場合は、次の手動インストール手順を使用してください。
最新バージョンの insights-client がインストールされていることを確認します
$ yum update insights-client
-
/etc/insights-client/insights-client.conf
でcore_collect=True
を設定します Performance Co-Pilot (PCP) ツールキットをインストールします。
$ sudo yum install pcp
次の内容で 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;
リソースの最適化に必要なメトリックを収集するように pmlogger を構成するには、次の行を
/etc/pcp/pmlogger/control.d/local
に追加します。LOCALHOSTNAME n y PCP_LOG_DIR/pmlogger/ros -r -T24h10m -c config.ros -v 100Mb
必要な主治医サービスを開始して有効にします。
$ sudo systemctl enable pmcd pmlogger $ sudo systemctl start pmcd pmlogger
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 を有効にすることを強くお勧めします。
手順
-
/etc/default/grub
ファイルを編集して、GRUB_CMDLINE_LINUX 行の最後にpsi=1
を追加します (引用符に注意してください)。 grub 構成ファイルを再生成します。
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- システムを再起動します。
PSI を有効にすると、わずかながら (1%未満) パフォーマンスに影響があります。
検証手順
PSI を有効にすると、CPU、メモリー、IO のファイルが /proc/pressure
下に表示されます。
第6章 PSI の無効化
手順
-
/etc/default/grub
ファイルを編集し、GRUB_CMDLINE_LINUX 行からpsi=1
を削除します (引用符に注意してください)。 grub 構成ファイルを再生成します。
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- システムを再起動します。
検証手順
PSI が無効になっている場合、/proc/pressure
は存在しません。
第7章 リソース最適化サービスのアンインストール
7.1. Ansible を使用してリソース最適化サービスを有効にする
各システムで次の手順を実行して、Insights for RHEL リソース最適化サービスを無効にしてアンインストールします。
手順
次のコマンドを使用して Ansible Playbook をダウンロードします。
$ curl -O https://raw.githubusercontent.com/RedHatInsights/ros-backend/v1.0/ansible-playbooks/ros_disable.yml
次のコマンドを使用して 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 を使用しないことを選択した場合は、次の手動手順を利用してください。
手順
/etc/pcp/pmlogger/control.d/local
からこの行を削除して、リソース最適化サービスのメトリック収集を無効にしますLOCALHOSTNAME n y PCP_LOG_DIR/pmlogger/ros -r -T24h10m -c config.ros -v 100Mb
PCP を再起動して、リソース最適化サービスのメトリック収集を効果的に停止します。
$ sudo systemctl pmcd pmlogger
リソース最適化サービス構成ファイルを削除します
$ sudo rm /var/lib/pcp/config/pmlogger/config.ros
システムからリソース最適化データを削除します。
$ sudo rm -rf /var/log/pcp/pmlogger/ros
PCP を他の目的で使用していない場合は、システムから削除できます
$ sudo yum remove pcp