17.2. metrics RHEL システムロールを使用して認証を使用する Performance Co-Pilot を設定する


Performance Co-Pilot (PCP) で認証を有効にすると、pmcd サービスと Performance Metrics Domain Agent (PDMA) によって、監視ツールを実行しているユーザーにアクションの実行を許可するかどうかを決定できるようになります。認証されたユーザーは機密情報を含むメトリクスにアクセスできます。また、エージェントの中には認証が必要なものもあります。たとえば、bpftrace エージェントは、認証を使用して、bpftrace スクリプトをカーネルにロードしてメトリクスを生成することがユーザーに許可されているかどうかを確認します。

metrics RHEL システムロールを使用すると、認証を使用する PCP を複数のホストにリモートで設定できます。

前提条件

手順

  1. 機密性の高い変数を暗号化されたファイルに保存します。

    1. vault を作成します。

      $ ansible-vault create vault.yml
      New Vault password: <vault_password>
      Confirm New Vault password: <vault_password>
    2. ansible-vault create コマンドでエディターが開いたら、機密データを <key>: <value> 形式で入力します。

      metrics_usr: <username>
      metrics_pwd: <password>
    3. 変更を保存して、エディターを閉じます。Ansible は vault 内のデータを暗号化します。
  2. 次の内容を含む Playbook ファイル (例: ~/playbook.yml) を作成します。

    ---
    - name: Monitoring performance metrics
      hosts: managed-node-01.example.com
      tasks:
        - name: Configure Performance Co-Pilot
          ansible.builtin.include_role:
            name: rhel-system-roles.metrics
          vars:
            metrics_retention_days: 14
            metrics_manage_firewall: true
            metrics_manage_selinux: true
    	metrics_username: "{{ metrics_usr }}"
            metrics_password: "{{ metrics_pwd }}"

    サンプル Playbook で指定されている設定は次のとおりです。

    metrics_retention_days: <number>
    pmlogger_daily systemd タイマーが古い PCP アーカイブを削除するまでの日数を設定します。
    metrics_manage_firewall: <true|false>
    firewalld サービスで必要なポートをロールによって開くかどうかを定義します。管理対象ノード上の PCP にリモートでアクセスする場合は、この変数を true に設定します。
    metrics_username: <username>
    このロールは、管理対象ノード上でこのユーザーをローカルに作成し、Simple Authentication and Security Layer (SASL) データベース /etc/pcp/passwd.db に認証情報を追加し、PCP に認証を設定します。さらに、Playbook で metrics_from_bpftrace: true を設定すると、PCP がこのアカウントを使用して bpftrace スクリプトを登録します。

    Playbook で使用されるすべての変数の詳細は、コントロールノードの /usr/share/ansible/roles/rhel-system-roles.metrics/README.md ファイルを参照してください。

  3. Playbook の構文を検証します。

    $ ansible-playbook --ask-vault-pass --syntax-check ~/playbook.yml

    このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。

  4. Playbook を実行します。

    $ ansible-playbook --ask-vault-pass ~/playbook.yml

検証

  • pcp パッケージがインストールされているホストで、認証を必要とするメトリクスをクエリーします。

    1. Playbook で使用した認証情報を使用してメトリクスをクエリーします。

      # pminfo -fmdt -h pcp://managed-node-01.example.com?username=<user> proc.fd.count
      Password: <password>
      
      proc.fd.count
          inst [844 or "000844 /var/lib/pcp/pmdas/proc/pmdaproc"] value 5

      コマンドが成功すると、proc.fd.count メトリクスの値が返されます。

    2. ユーザー名を省略してコマンドを再度実行し、認証されていないユーザーの場合はコマンドが失敗することを確認します。

      # pminfo -fmdt -h pcp://managed-node-01.example.com proc.fd.count
      
      proc.fd.count
      Error: No permission to perform requested operation

関連情報

  • /usr/share/ansible/roles/rhel-system-roles.metrics/README.md ファイル
  • /usr/share/doc/rhel-system-roles/metrics/ ディレクトリー
  • Ansible vault
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.