성능 모니터링용 Prometheus·Grafana 배포
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으로 이동해 Enable Performance Monitoring을 true로 설정하고, Listen Address(포트만 입력, 예:
8067)를 지정한 뒤 Save를 선택합니다. 자세한 내용은 구성 설정 문서를 참고하세요.
서버가 실행 중인지 확인하려면
<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 Notification Health Monitoring에 접근하고 이를 활성화하려면
NotificationMonitoring기능 플래그를true로 설정해야 합니다. 시스템 관리자는 시스템 콘솔에서 알림 모니터링 데이터 수집을 비활성화할 수 있습니다. - Mattermost Web App Performance Metrics — Web Vitals와 Mattermost 고유 지표를 포함한 클라이언트 측 성능 지표를 상세히 담고 있습니다.
- Mattermost Desktop App Performance Metrics — CPU 및 메모리 사용량 지표를 포함한 클라이언트 측 데스크톱 성능 지표를 상세히 담고 있습니다.
- Mattermost Mobile App Performance Metrics — Web Vitals와 Mattermost 고유 지표를 포함한 클라이언트 측 모바일 성능 지표를 상세히 담고 있습니다.
- Mattermost Threaded Discussion Metrics — 스레드 대화 기능과 관련된 쿼리에 대한 상세 지표를 담고 있습니다.
- Mattermost Performance KPI Metrics — 성능과 시스템 상태를 모니터링하기 위한 핵심 지표를 담고 있습니다.
- Mattermost Performance Monitoring (Bonus Metrics) — 발송된 이메일이나 업로드된 파일 등 일부 배포 환경에서 모니터링이 중요할 수 있는 추가 지표를 담고 있습니다.
무엇이 수집되나요?
Mattermost는 시스템 성능을 모니터링하는 데 사용할 수 있는 맞춤 지표와 표준 Go 지표를 제공합니다.
AggregatePluginMetrics 기능 플래그가 활성화되면 플러그인이 제공하는 지표도 동일한 /metrics 스크랩 대상에 포함되며 plugin_id 레이블로 필터링할 수 있습니다.
다음 단계
성능 모니터링을 설정한 뒤에는 다음 작업을 진행할 수 있습니다.
- 지표가 임계값을 초과할 때 알림을 받도록 성능 알림을 설정합니다.
- 로그를 검색하고 지표 급증과 연관 분석할 수 있도록 중앙 집중 로깅용 Grafana Loki를 배포합니다.