성능 모니터링을 위한 Prometheus와 Grafana 배포
Mattermost v12.0요약
성능 모니터링 지원을 통해 관리자는 Prometheus 및 Grafana 통합으로 대규모 Enterprise 배포의 시스템 상태를 추적할 수 있습니다. 관리자는 Prometheus 배포 및 Grafana를 통해 Mattermost 애플리케이션에서 다양한 데이터 포인트를 OpenMetrics 형식으로 수집하고 저장할 수 있습니다.
사용 가능 플랜: Entry, Enterprise, Enterprise Advanced(Professional 제외)
성능 모니터링 지원을 통해 관리자는 Prometheus 및 Grafana 통합으로 대규모 Enterprise 배포의 시스템 상태를 추적할 수 있습니다. 이러한 통합은 여러 Mattermost 서버에서 데이터 수집을 지원하며, Mattermost를 고가용성 모드로 실행하는 경우 특히 유용합니다. 시스템 상태를 추적한 후에는 Grafana 대시보드에서 성능 알림을 설정할 수 있습니다.
관리자는 Prometheus 배포 및 Grafana를 통해 Mattermost 애플리케이션에서 다양한 데이터 포인트를 OpenMetrics 형식으로 수집하고 저장할 수 있습니다.
Prometheus와 Grafana를 배포하고 싶지 않으십니까? Mattermost Metrics 플러그인을 사용하여 성능 지표를 수집할 수도 있습니다.
Prometheus 설치#
Prometheus와 Grafana는 Mattermost와 같은 서버에 설치할 수 있지만, 이러한 통합은 별도의 서버에 설치하고 Prometheus가 Mattermost 및 연결된 다른 서버에서 모든 지표를 가져오도록 구성하는 것을 권장합니다.
-
Prometheus 미리 컴파일된 바이너리를 다운로드하세요. Darwin, Linux, Windows를 포함한 많은 인기 배포판용 바이너리가 제공됩니다. 설치 지침은 Prometheus 설치 가이드를 참조하세요.
-
prometheus.yml이라는 Prometheus 구성 파일에서 다음 설정을 권장합니다.# my global config global: scrape_interval: 5s # Set to 5 seconds for optimal performance monitoring. evaluation_interval: 5s # Set to 5 seconds for optimal performance monitoring. # scrape_timeout is set to the global default (10s). # Attach these labels to any time series or alerts when communicating with # external systems (federation, remote storage, Alertmanager). external_labels: monitor: 'mattermost-monitor' # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first.rules" # - "second.rules" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # The scrape_interval can be overridden per job if needed (5s matches the global default). # scrape_interval: 5s # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ["<hostname1>:<port>", "<hostname2>:<port>"] -
<hostname1>:<port>매개변수를 데이터를 수집할 Mattermost 호스트 IP 주소와 포트로 교체하세요. HTTP를 사용하여/metrics에 연결합니다. -
Mattermost 시스템 콘솔에서 Environment > Performance Monitoring으로 이동하여 성능 모니터링 활성화를 true로 설정한 다음 수신 주소(포트만, 예:
8067)를 지정하고 저장을 선택하세요. 자세한 내용은 구성 설정 문서를 참조하세요.
-
서버가 실행 중인지 테스트하려면
<ip>:<port>/metrics로 이동하세요.
HTTP를 사용하여 /metrics에 연결하려면 Mattermost Enterprise 라이선스가 필요합니다.
- 마지막으로
vi prometheus.yml을 실행하여 Prometheus 구성을 완료하세요. Prometheus 서비스를 시작하는 방법은 Prometheus가 제공하는 종합 가이드를 참조하세요. - 서비스가 시작되면
<localhost>:<port>/graph에서 데이터에 접근할 수 있습니다. Prometheus 서비스를 사용하여 그래프를 만들 수 있지만, 여기서는 Grafana에서 지표 및 분석 대시보드를 만드는 데 중점을 둡니다.
문제 해결 조언은 Prometheus FAQ 페이지를 확인하세요.
Grafana 설치#
Prometheus와 Grafana는 Mattermost와 같은 서버에 설치할 수 있지만, 이러한 통합은 별도의 서버에 설치하고 Prometheus가 Mattermost 및 연결된 다른 서버에서 모든 지표를 가져오도록 구성하는 것을 권장합니다.
-
Ubuntu 또는 Debian에서 Grafana 미리 컴파일된 바이너리를 다운로드하세요. Redhat, Windows, Mac을 포함한 다른 배포판용 바이너리도 사용할 수 있습니다. 설치 지침은 Grafana 설치 가이드를 참조하세요.
-
Grafana 패키지는 서비스로 설치되므로 서버를 쉽게 시작할 수 있습니다. 자세한 내용은 설치 가이드를 참조하세요.
-
기본 HTTP 포트는
3000이며 기본 사용자 이름과 비밀번호는admin입니다. -
아래 스크린샷에 정의된 설정으로 Mattermost 데이터 소스를 추가하세요.

- 문제 해결 조언은 Grafana 문제 해결 페이지를 확인하세요.
- 사용자 가이드 및 튜토리얼은 Grafana 문서를 참조하세요.
시작하기#
시작하는 데 도움이 되도록 Grafana에서 공유된 세 가지 샘플 대시보드를 다운로드할 수 있습니다.
UI 또는 HTTP API에서 Grafana 대시보드를 가져오는 방법은 이 Grafana 가이드를 참조하세요.
- Mattermost Performance Monitoring v2: 애플리케이션, 클러스터, 작업 서버 및 시스템 지표를 포함한 성능 모니터링용 상세 차트를 포함합니다.
- Mattermost Notification Health Monitoring: Mattermost에서 전송된 다양한 유형의 알림을 추적하는 데 사용할 수 있습니다. 시스템 관리자는 시스템 콘솔을 통해 알림 모니터링 데이터 수집을 비활성화할 수 있습니다.
- Mattermost Web App Performance Metrics: 웹 바이탈 및 Mattermost 고유 지표를 포함한 클라이언트 측 성능에 대한 상세 지표를 포함합니다.
- Mattermost Desktop App Performance Metrics: CPU 및 메모리 사용량 지표를 포함한 클라이언트 측 데스크톱 성능에 대한 상세 지표를 포함합니다.
- Mattermost Mobile App Performance Metrics: 웹 바이탈 및 Mattermost 고유 지표를 포함한 클라이언트 측 모바일 성능에 대한 상세 지표를 포함합니다.
- Mattermost Threaded Discussion Metrics: 스레드 토론 기능과 관련된 쿼리에 대한 상세 지표를 포함합니다.
- Mattermost Performance KPI Metrics: 성능 및 시스템 상태 모니터링을 위한 주요 지표를 포함합니다.
- Mattermost Performance Monitoring (Bonus Metrics): 일부 배포에서 모니터링이 중요할 수 있는 이메일 발송 횟수나 파일 업로드 횟수와 같은 추가 지표를 포함합니다.
수집되는 항목#
Mattermost는 시스템 성능을 모니터링하는 데 사용할 수 있는 사용자 정의 지표와 표준 Go 지표를 제공합니다.
AggregatePluginMetrics 기능 플래그가 활성화되면 플러그인이 제공하는 지표가 동일한 /metrics 스크레이프 대상에 포함되며 plugin_id 레이블로 필터링할 수 있습니다.
다음 단계#
성능 모니터링을 설정한 후에는 다음을 진행할 수 있습니다.
- 지표가 임계값을 초과할 때 알림을 받으려면 성능 알림을 설정하세요.
- 로그를 검색하고 지표 스파이크와 연관 지으려면 중앙 집중식 로깅을 위한 Grafana Loki를 배포하세요.