4.8. Metrics RHEL 시스템 역할을 사용하여 PMIE Webhook 구성
사전 요구 사항
- 컨트롤 노드 및 관리형 노드를 준비했습니다.
- 관리 노드에서 플레이북을 실행할 수 있는 사용자로 제어 노드에 로그인되어 있습니다.
-
관리 노드에 연결하는 데 사용하는 계정에는
sudo
권한이 있습니다. -
Ansible 인벤토리에서는
서버와
metrics_monitor
호스트 그룹을 정의했습니다. 이 예에서servers
그룹에는server-node-01.example.com
및server-node-02.example.com
이 포함됩니다.metrics_monitor
그룹에는pcp-monitor-node-01.example.com
이 포함됩니다.
절차
다음 콘텐츠를 사용하여 플레이북 파일(예:
~/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>"
예제 플레이북에 지정된 설정은 다음과 같습니다.
metrics_manage_firewall
-
true
인 경우방화벽
RHEL 시스템 역할은지표
역할에서 사용하는 포트를 관리합니다. metrics_retention_days
- 수집된 메트릭을 유지하는 일수입니다.
metrics_monitored_hosts
- 모니터링 시스템에서 관찰해야 하는 호스트입니다.
metrics_webhook_endpoint
- 감지된 성능 문제의 알림이 전송되는 Webhook 끝점입니다. 기본적으로 이러한 탐지는 로컬 시스템에만 기록됩니다.
플레이북에 사용되는 모든 변수에 대한 자세한 내용은 제어 노드의
/usr/share/ansible/roles/rhel-system-roles.metrics/README.md
파일을 참조하십시오. 플레이북은pcp-monitor-node-01.example.com
호스트를 자체 및server-node-01.example.com
및server-node-02.example.com
시스템을 중앙 모니터링 사이트로 구성합니다. 또한 플레이북은 모든 3 시스템에 대해글로벌 webhook_action
및 글로벌 webhook_endpoint플레이북 구문을 확인합니다.
$ 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가 세 시스템 모두를 모니터링하도록 구성되어 있음을 보여줍니다.
글로벌 webhook_action
PMIE 구성 옵션이 활성화되어 있는지 확인합니다.[root@pcp-monitor-node-01 ~]# grep webbook_action /var/lib/pcp/config/pmie/config.default // 0 global webhook_action = yes