성능 모니터링용 Prometheus·Grafana 배포

Mattermost v11.11번역일: 2026-09-02원본 보기

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 및 연결된 다른 서버에서 모든 지표를 가져오도록 구성하는 것을 권장합니다.

  1. Prometheus 사전 컴파일 바이너리를 내려받습니다. Darwin, Linux, Windows를 비롯한 널리 쓰이는 여러 배포판용 바이너리가 제공됩니다. 설치 방법은 Prometheus 설치 가이드를 참고하세요.

  2. 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>"]
    
  3. <hostname1>:<port> 매개변수를 데이터를 스크랩할 Mattermost 호스트 IP 주소와 포트로 바꿉니다. HTTP를 통해 /metrics에 연결합니다.

  4. Mattermost 시스템 콘솔에서 Environment > Performance Monitoring으로 이동해 Enable Performance Monitoring을 true로 설정하고, Listen Address(포트만 입력, 예: 8067)를 지정한 뒤 Save를 선택합니다. 자세한 내용은 구성 설정 문서를 참고하세요.

    시스템 콘솔에서 Environment > Performance Monitoring으로 이동해 성능 모니터링 옵션을 활성화하고 리슨 주소를 지정합니다.
  5. 서버가 실행 중인지 확인하려면 <ip>:<port>/metrics로 이동합니다.

참고

HTTP를 통해 /metrics에 연결하려면 Mattermost Enterprise 라이선스가 필요합니다.

  1. 마지막으로 vi prometheus.yml을 실행해 Prometheus 구성을 마무리합니다. Prometheus 서비스를 시작하는 방법은 Prometheus가 제공하는 종합 가이드를 참고하세요.

  2. 서비스가 시작되면 <localhost>:<port>/graph에서 데이터에 접근할 수 있습니다. Prometheus 서비스로도 그래프를 만들 수 있지만, 여기서는 Grafana에서 지표 및 분석 대시보드를 만드는 데 초점을 맞춥니다.

팁

문제 해결에 관한 조언은 Prometheus FAQ 페이지를 확인하세요.

Grafana 설치

중요

Prometheus와 Grafana를 Mattermost와 같은 서버에 설치할 수도 있지만, 이 연동 구성 요소는 별도 서버에 설치하고 Prometheus가 Mattermost 및 연결된 다른 서버에서 모든 지표를 가져오도록 구성하는 것을 권장합니다.

  1. Ubuntu 또는 Debian에서 Grafana 사전 컴파일 바이너리를 내려받습니다. Redhat, Windows, Mac 등 다른 배포판용 바이너리도 제공됩니다. 설치 방법은 Grafana 설치 가이드를 참고하세요.

  2. Grafana 패키지는 서비스로 설치되므로 서버를 쉽게 시작할 수 있습니다. 자세한 내용은 설치 가이드를 참고하세요.

  3. 기본 HTTP 포트는 3000이며 기본 사용자 이름과 비밀번호는 admin입니다.

  4. 아래 스크린샷에 정의된 설정으로 Mattermost 데이터 소스를 추가합니다.

    Grafana 설치 환경의 Mattermost 데이터 소스 구성 설정.
팁

시작하기

시작을 돕기 위해 Grafana에 공유된 세 가지 샘플 대시보드를 내려받을 수 있습니다.

팁

UI 또는 HTTP API에서 Grafana 대시보드를 가져오는 방법은 이 Grafana 가이드를 참고하세요.

무엇이 수집되나요?

Mattermost는 시스템 성능을 모니터링하는 데 사용할 수 있는 맞춤 지표와 표준 Go 지표를 제공합니다.

AggregatePluginMetrics 기능 플래그가 활성화되면 플러그인이 제공하는 지표도 동일한 /metrics 스크랩 대상에 포함되며 plugin_id 레이블로 필터링할 수 있습니다.

다음 단계

성능 모니터링을 설정한 뒤에는 다음 작업을 진행할 수 있습니다.