7장. CephOrchestrator를 사용한 모니터링 스택 관리
스토리지 관리자는 백엔드에서 Cephadm과 함께 Ceph Orchestrator를 사용하여 모니터링 및 경고 스택을 배포할 수 있습니다. 모니터링 스택은 Prometheus, Prometheus exporters, Prometheus Alertmanager 및 Grafana로 구성됩니다. 사용자는 Cephadm을 사용하여 YAML 구성 파일에 이러한 서비스를 정의하거나 명령줄 인터페이스를 사용하여 배포할 수 있습니다. 동일한 유형의 여러 서비스가 배포되면 고가용성 설정이 배포됩니다. 노드 내보내기는 이 규칙에 대한 예외입니다.
Red Hat Ceph Storage 5.0은 Prometheus, Grafana, Alertmanager 및 node-exporter와 같은 모니터링 서비스를 배포하기 위한 사용자 지정 이미지를 지원하지 않습니다.
Cephadm을 사용하여 다음 모니터링 서비스를 배포할 수 있습니다.
Prometheus는 모니터링 및 경고 툴킷입니다. 사전 정의된 임계값에 도달한 경우 Prometheus 내보내기에서 제공한 데이터를 수집하고 사전 구성된 경고를 실행합니다. Prometheus manager 모듈은
ceph-mgr
의 컬렉션 지점에서 Ceph 성능 카운터를 전달할 수 있는 Prometheus 내보내기를 제공합니다.데몬을 제공하는 지표와 같은 스크랩 대상을 포함한 Prometheus 구성은 Cephadm에 의해 자동으로 설정됩니다. 또한 Cephadm은 기본 경고 목록(예: 상태 오류, 10% OSD 다운 또는 pgs 비활성)을 배포합니다.
- Alertmanager는 Prometheus 서버에서 전송한 경고를 처리합니다. 이는 경고를 중복, 그룹 및 라우팅하여 올바른 수신자에게 라우팅합니다. 기본적으로 Ceph 대시보드는 자동으로 수신자로 구성됩니다. Alertmanager는 Prometheus 서버에서 보낸 경고를 처리합니다. Alertmanager를 사용하여 경고를 음소거할 수 있지만 Ceph 대시보드를 사용하여 음소거할 수도 있습니다.
Grafana는 시각화 및 경고 소프트웨어입니다. Grafana의 경고 기능은 이 모니터링 스택에서 사용되지 않습니다. 경고의 경우 Alertmanager가 사용됩니다.
기본적으로 Grafana에 대한 트래픽은 TLS로 암호화됩니다. 고유한 TLS 인증서를 제공하거나 자체 서명된 인증서를 사용할 수 있습니다. Grafana를 배포하기 전에 사용자 정의 인증서가 구성되지 않은 경우 Grafana에 대해 자체 서명된 인증서가 자동으로 생성되고 구성됩니다. Grafana의 사용자 지정 인증서는 다음 명령을 사용하여 구성할 수 있습니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph config-key set mgr/cephadm/grafana_key -i PRESENT_WORKING_DIRECTORY/key.pem ceph config-key set mgr/cephadm/grafana_crt -i PRESENT_WORKING_DIRECTORY/certificate.pem
ceph config-key set mgr/cephadm/grafana_key -i PRESENT_WORKING_DIRECTORY/key.pem ceph config-key set mgr/cephadm/grafana_crt -i PRESENT_WORKING_DIRECTORY/certificate.pem
노드 내보내기는 설치된 노드에 대한 데이터를 제공하는 Prometheus의 내보내기제입니다. 모든 노드에 노드 내보내기를 설치하는 것이 좋습니다. 이 작업은 node-exporter 서비스 유형의 monitoring.yml
파일을 사용하여 수행할 수 있습니다.
7.1. CephOrchestrator를 사용하여 모니터링 스택 배포
모니터링 스택은 Prometheus, Prometheus 내보내기, Prometheus Alertmanager, Grafana 및 Ceph Exporter로 구성됩니다. Ceph 대시보드는 이러한 구성 요소를 사용하여 클러스터 사용량 및 성능에 대한 세부 지표를 저장하고 시각화합니다.
YAML 파일 형식의 서비스 사양을 사용하여 모니터링 스택을 배포할 수 있습니다. 모든 모니터링 서비스에는 yml
파일에 구성된 네트워크와 포트가 있을 수 있습니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스입니다.
절차
Ceph Manager 데몬에서 prometheus 모듈을 활성화합니다. 이렇게 하면 Prometheus에서 읽을 수 있도록 내부 Ceph 지표가 노출됩니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph mgr module enable prometheus
[ceph: root@host01 /]# ceph mgr module enable prometheus
중요Prometheus를 배포하기 전에 이 명령이 실행되는지 확인합니다. 배포 전에 명령이 실행되지 않은 경우 Prometheus를 재배포하여 구성을 업데이트해야 합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch redeploy prometheus
ceph orch redeploy prometheus
다음 디렉터리로 이동합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /var/lib/ceph/DAEMON_PATH/
cd /var/lib/ceph/DAEMON_PATH/
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 mds/]# cd /var/lib/ceph/monitoring/
[ceph: root@host01 mds/]# cd /var/lib/ceph/monitoring/
참고디렉터리
모니터링이
없으면 생성합니다.monitoring.yml
파일을 생성합니다.예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 monitoring]# touch monitoring.yml
[ceph: root@host01 monitoring]# touch monitoring.yml
다음 예와 유사한 콘텐츠를 사용하여 사양 파일을 편집합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow service_type: prometheus service_name: prometheus placement: hosts: - host01 networks: - 192.169.142.0/24 --- service_type: node-exporter --- service_type: alertmanager service_name: alertmanager placement: hosts: - host01 networks: - 192.169.142.0/24 --- service_type: grafana service_name: grafana placement: hosts: - host01 networks: - 192.169.142.0/24 --- service_type: ceph-exporter
service_type: prometheus service_name: prometheus placement: hosts: - host01 networks: - 192.169.142.0/24 --- service_type: node-exporter --- service_type: alertmanager service_name: alertmanager placement: hosts: - host01 networks: - 192.169.142.0/24 --- service_type: grafana service_name: grafana placement: hosts: - host01 networks: - 192.169.142.0/24 --- service_type: ceph-exporter
참고모니터링 스택 구성 요소
alertmanager
,prometheus
,grafana
가 동일한 호스트에 배포되었는지 확인합니다.node-exporter
및ceph-exporter
구성 요소를 모든 호스트에 배포해야 합니다.모니터링 서비스를 적용합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 monitoring]# ceph orch apply -i monitoring.yml
[ceph: root@host01 monitoring]# ceph orch apply -i monitoring.yml
검증
서비스를 나열합니다.
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch ls
[ceph: root@host01 /]# ceph orch ls
호스트, 데몬 및 프로세스를 나열합니다.
구문
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ceph orch ps --service_name=SERVICE_NAME
ceph orch ps --service_name=SERVICE_NAME
예제
Copy to Clipboard Copied! Toggle word wrap Toggle overflow [ceph: root@host01 /]# ceph orch ps --service_name=prometheus
[ceph: root@host01 /]# ceph orch ps --service_name=prometheus
Prometheus, Grafana 및 Ceph 대시보드는 모두 서로 통신하도록 자동 구성되므로 Ceph 대시보드에서 완전히 작동하는 Grafana 통합이 생성됩니다.