17.7. 使用 Metrics RHEL 系统角色配置 PMIE Webhook
先决条件
- 您已准备好控制节点和受管节点。
- 以可在受管主机上运行 playbook 的用户登录到控制节点。
-
用于连接到受管节点的帐户具有
sudo
权限。 -
在 Ansible 清单中,您已定义了
servers
和metrics_monitor
主机组。在本例中,servers
组包括server-node-01.example.com
和server-node-02.example.com
。metrics_monitor
组包括pcp-monitor-node-01.example.com
。
流程
创建一个包含以下内容的 playbook 文件,如
~/playbook.yml
:--- - name: Configure PCP webhooks hosts: servers tasks: - name: Configure PCP metrics recording ansible.builtin.include_role: name: rhel-system-roles.metrics vars: metrics_retention_days: 7 metrics_manage_firewall: true - name: Configure the PMIE webhooks hosts: metrics_monitor tasks: - name: Configure the monitoring node ansible.builtin.include_role: name: redhat.rhel_system_roles.metrics vars: metrics_manage_firewall: true metrics_retention_days: 7 metrics_monitored_hosts: "{{ groups['servers'] }}" metrics_webhook_endpoint: "http://<webserver>:<port>/<endpoint>"
示例 playbook 中指定的设置包括以下内容:
metrics_manage_firewall
-
当为
true
时,firewall
RHEL 系统角色管理metrics
角色使用的端口。 metrics_retention_days
- 保留所收集的指标的天数。
metrics_monitored_hosts
- 监控系统应观察的主机。
metrics_webhook_endpoint
- 发送任何检测到的性能问题通知的 Webhook 端点。默认情况下,这些检测只记录到本地系统。
有关 playbook 中使用的所有变量的详情,请查看控制节点上的
/usr/share/ansible/roles/rhel-system-roles.metrics/README.md
文件。playbook 将pcp-monitor-node-01.example.com
主机配置为其自身以及server-node-01.example.com
和server-node-02.example.com
系统的中央监控站点。playbook 还为所有 3 个系统配置global webhook_action
和global webhook_endpoint
PMIE 配置选项,并重启 PMIE 服务以应用更改。验证 playbook 语法:
$ ansible-playbook --syntax-check ~/playbook.yml
请注意,这个命令只验证语法,不会防止错误但有效的配置。
运行 playbook:
$ ansible-playbook ~/playbook.yml
验证
检查
pcp-monitor-node-01.example.com
上的配置概述:[root@pcp-monitor-node-01 ~]# pcp summary Performance Co-Pilot configuration on pcp-monitor-node-01.example.com: platform: Linux pcp-monitor-node-01.example.com 5.14.0-427.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Feb 23 01:51:18 EST 2024 x86_64 hardware: 8 cpus, 1 disk, 1 node, 1773MB RAM timezone: CEST-2 services: pmcd pmproxy pmcd: Version 6.2.0-1, 12 agents, 6 clients pmda: root pmcd proc pmproxy xfs linux nfsclient mmv kvm jbd2 dm openmetrics pmlogger: primary logger: /var/log/pcp/pmlogger/pcp-monitor-node-01.example.com/20240510.16.25 server-node-01.example.com: /var/log/pmlogger/server-node-01.example.com/20240510.16.25 server-node-02.example.com: /var/log/pmlogger/server-node-02.example.com/20240510.16.25 pmie: primary engine: /var/log/pcp/pmie/pcp-monitor-node-01.example.com/pmie.log server-node-01.example.com: : /var/log/pcp/pmie/server-node-01.example.com/pmie.log server-node-02.example.com: : /var/log/pcp/pmie/server-node-02.example.com/pmie.log
摘要的最后三行显示 PMIE 被配置为监控所有三个系统。
验证
global webhook_action
PMIE 配置选项是否已启用:[root@pcp-monitor-node-01 ~]# grep webbook_action /var/lib/pcp/config/pmie/config.default // 0 global webhook_action = yes