linux-system-roles.metrics
メトリクス
Ansibleロールは、管理対象ホストのパフォーマンス分析サービスを設定します。これは(オプションで)管理対象ホストによって監視されるリモートシステムのリストを含みます。
要件
Performance Co-Pilot (PCP) v5以降。すべてのパッケージは、Fedora、CentOS 8、RHEL 8の標準リポジトリから入手可能です。RHEL 7およびRHEL 6では、管理対象ホストでOptionalリポジトリ/チャネルを有効にする必要があります。
このロールは、Fedora、CentOS 8、RHEL 8以降でGrafana v6+(metrics_graph_service
)およびRedis v5+(metrics_query_service
)をオプションで使用できます。
コレクション要件
metrics_manage_firewall
とmetrics_manage_selinux
がそれぞれtrueに設定されている場合、このロールはfedora.linux_system_roles
コレクションからfirewall
ロールとselinux
ロールを必要とします。
(ロール変数
セクション内の変数も参照してください。)
metrics
がfedora.linux_system_roles
コレクションまたはFedora RPMパッケージのロールである場合、要件はすでに満たされています。
rpm-ostree
システムを管理するために、追加のコレクションが必要です。
rpm-ostree
システムを管理する必要がある場合は、以下のコマンドを実行してコレクションをインストールしてください。
ansible-galaxy collection install -r meta/collection-requirements.yml
ロール変数
metrics_monitored_hosts: []
管理対象ホストによって分析されるリモートホストのリストです。 これらのホストのメトリクスは管理対象ホストに記録されるため、各ホストのために/var/log以下に十分なディスクスペースが存在することを確認する必要があります。
例:
metrics_monitored_hosts: ["webserver.example.com", "database.example.com"]
metrics_webhook_endpoint: ''
自動で検出されたパフォーマンス問題についての通知が送信されるWebhookエンドポイント(URL)です。デフォルトでは、これらのイベントはローカルシステムログにのみ記録されます。
metrics_retention_days: 14
指定された日数分、過去のパフォーマンスデータを保持します。この期間が過ぎると、データは日ごとに削除されます。
metrics_graph_service: false
グラフ作成サービスをセットアップするためのブールフラグです。 これを有効にすると、PCPメトリクスを視覚化するためにPCPおよびGrafanaサーバーが起動します。このオプションは、Fedora、CentOS 8、RHEL 8以降で使用可能なGrafana v6+を必要とします。
metrics_query_service: false
時系列クエリサービスをセットアップするためのブールフラグです。 これを有効にすると、記録されたPCPメトリクスをクエリするためにPCPおよびRedisサーバーが起動します。このオプションは、Fedora、CentOS 8、RHEL 8以降で使用可能なRedis v5+を必要とします。
metrics_into_elasticsearch: false
メトリクス値をElasticsearchにエクスポート可能にするためのブールフラグです。
metrics_from_elasticsearch: false
Elasticsearchからメトリクスを利用可能にするためのブールフラグです。
metrics_from_postfix: false
Postfixからメトリクスを利用可能にするためのブールフラグです。
metrics_from_mssql: false
SQL Serverからメトリクスを利用可能にするためのブールフラグです。このフラグを有効にするには、SQL Serverへの「信頼された」接続が必要です。
metrics_from_bpftrace: false
bpftraceからメトリクスを利用可能にするためのブールフラグです。
metrics_username: metrics
PCP pmcdデーモンを介してリモートメトリクスに認証アクセスを確立するためのアカウントです。詳細については、https://pcp.readthedocs.io/en/latest/QG/AuthenticatedConnections.htmlを参照してください。
また、bpftraceメトリクスが設定されている場合、このユーザーアカウントはbpftraceスクリプトを登録することができます。
metrics_password: metrics
平文のmetrics_password
は使用しないでください。Ansible Vaultを使用してパスワードを暗号化してください。
動的bpftraceスクリプトを実行するために、必須の認証です。
metrics_provider: pcp
メトリクスを提供するために使用するメトリクスコレクターです。
現在、Performance Co-Pilotのみがサポートされているメトリクスプロバイダです。 PCPプロバイダを使用する場合、次のTCPポートが使用されます - 44321(pmcd、ライブメトリクス値サンプリング)、44322(pmproxy、metrics_query_serviceまたはmetrics_graph_service)、6379(metrics_query_service用のredis-server)、3000(metrics_graph_service用のgrafana-server)。
metrics_manage_firewall: false
ファイアウォールをfirewallロールを使用して構成するためのブールフラグです。
設定パラメータに応じて、pmcdポート、pmproxyポート、Grafanaポート、Redisポートを管理します。
この変数がfalseに設定されている場合、metrics role
はファイアウォールを管理しません。
注意: metrics_manage_firewall
はポートの追加に制限されています。
ポートを削除するためには、ファイアウォールシステムロールを直接使用する必要があります。
注意: RHEL 6ではファイアウォール管理はサポートされていません。
metrics_manage_selinux: false
selinuxをselinuxロールを使用して構成するためのブールフラグです。
設定パラメータに応じて、pmcdポート、pmproxyポート、Grafanaポート、Redisポートを割り当てます。
この変数がfalseに設定されている場合、metrics role
はselinuxを管理しません。
pmcdとpmproxyサービスは「一時的」範囲にあり、特別なセットアップは必要ありません。また、Grafanaポートは「未登録」とされます。Redisポートはredis_port_t SELinuxタイプによって制御されており、直接アクセスが必要な場合はさらに設定が必要です(GrafanaやPCPなどのメトリクスロールツールからアクセスする場合は不要です)。
SELinuxコンテキストのためにポートアクセスを管理するには、selinux
システムロールを使用してください。
注意: metrics_manage_selinux
はポリシーの追加に制限されています。
ポリシーを削除するためには、selinuxシステムロールを直接使用する必要があります。
例プレイブック
管理対象ホストに対して基本的なメトリクス記録のセットアップを行います。データは1週間保持されます。
---
- name: メトリクスサービスの管理
hosts: all
vars:
metrics_retention_days: 7
roles:
- linux-system-roles.metrics
管理対象ホストのためのスケーラブルなメトリクス記録、分析、および視覚化のセットアップで、REST APIサーバーとOpenMetricsエンドポイント、グラフ、スケーラブルなクエリを提供します。
---
- name: グラフとクエリサービスを使用したメトリクス管理
hosts: all
vars:
metrics_graph_service: true
metrics_query_service: true
roles:
- linux-system-roles.metrics
複数のリモートホストのための集中型メトリクス記録のセットアップと、ローカルホストのためのスケーラブルなメトリクス記録、分析、および視覚化のセットアップで、REST APIサーバーとOpenMetricsエンドポイント、グラフ、スケーラブルなクエリを提供します。
---
- name: 中央集約的なメトリクス収集の管理
hosts: monitors
vars:
metrics_monitored_hosts: [app.example.com, db.example.com, nas.example.com]
metrics_graph_service: true
metrics_query_service: true
roles:
- linux-system-roles.metrics
rpm-ostree
README-ostree.mdを参照してください。
ライセンス
MIT
Linux system role for metric collection
ansible-galaxy install linux-system-roles.metrics