지원 패킷 생성

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

지원 패킷(Support Packet)은 고객이 문제를 진단하고 해결하는 데 사용됩니다. 시스템 콘솔이나 mmctl system supportpacket 명령을 사용하면 고가용성 클러스터의 모든 노드에 대한 구성 정보, 로그, 플러그인 상세 정보, 외부 종속성 데이터가 담긴 zip 파일을 생성할 수 있습니다. 비밀번호와 같은 기밀 데이터는 자동으로 제거됩니다.

생성

중요
  • 지원 패킷을 생성하기 전에 System Console > Environment > Logging(시스템 콘솔 > 환경 > 로깅)으로 이동해 Output logs to file이 true로 설정되어 있는지 확인하고, File Log Level을 DEBUG로 설정하세요.
  • Mattermost v11.4부터 지원 패킷 생성이 감사 로그에 기록됩니다(감사 로깅이 활성화되고 구성된 경우). 감사 이벤트에는 사용자 이름, 타임스탬프, 성공/실패 상태, 로그 포함 여부, 요청된 플러그인 패킷, 출력 파일 이름이 담깁니다. 이 감사 기록은 컴플라이언스 목적으로 민감할 수 있는 로그 데이터에 대한 접근을 추적하는 데 도움이 됩니다.

Web/Desktop

  1. 시스템 콘솔로 이동한 뒤 시스템 콘솔 메뉴에서 Commercial Support를 선택합니다.

    사용 가능한 시스템 콘솔 메뉴 옵션 예시.

  2. Download Support Packet을 선택합니다. zip 파일이 로컬 장비로 다운로드됩니다. 패킷 생성 중 사용할 수 없는 패킷 파일이 있으면 알림이 표시됩니다. 자세한 내용은 warning.txt 파일을 확인하세요.

mmctl

mmctl system supportpacket 명령을 실행하면 Mattermost 지원팀과 공유할 지원 패킷을 생성해 내려받을 수 있습니다.

go run ./cmd/mmctl system supportpacket
Downloading Support Packet
Downloaded Support Packet to mattermost_support_packet_.zip

기밀 데이터 정리

패킷을 Mattermost와 공유하기 전에 제외하려는 기밀 데이터를 직접 정리하세요.

다음 정보는 존재하는 경우 패킷 생성 시 자동으로 제거됩니다. LdapSettings.BindPassword, FileSettings.PublicLinkSalt, FileSettings.AmazonS3SecretAccessKey, EmailSettings.SMTPPassword, GitLabSettings.Secret, GoogleSettings.Secret, Office365Settings.Secret, OpenIdSettings.Secret, SqlSettings.DataSource, SqlSettings.AtRestEncryptKey, ElasticsearchSettings.Password, All SqlSettings.DataSourceReplicas, All SqlSettings.DataSourceSearchReplicas, MessageExportSettings.GlobalRelaySettings.SmtpPassword, ServiceSettings.SplitKey, FileSettings.ExportAmazonS3SecretAccessKey, ServiceSettings.GoogleDeveloperKey, ServiceSettings.GiphySdkKey(Mattermost v11.6.0부터).

중요

플러그인은 패킷 생성 시 정리되지 않을 수 있습니다.

  • Mattermost v10.1부터 플러그인은 자신의 구성을 숨김으로 표시할 수 있습니다. 플러그인이 구성을 숨김으로 표시하면 패킷 생성 시 해당 구성이 정리됩니다.
  • 그렇지 않은 경우, plugin.json 파일에 남아 있는 기밀 정보를 Mattermost와 공유하기 전에 직접 정리하세요. 특수 문자는 구성 오류의 흔한 원인이므로, 가능하면 같은 특수 문자를 포함한 예시 문자열로 바꾸는 것이 좋습니다.

Mattermost와 패킷 공유

생성한 지원 패킷을 표준 지원 요청에 첨부하거나, 함께 작업 중인 Mattermost 팀과 공유하세요.

중요

지원 패킷을 생성한 뒤에는 디버그 로깅을 비활성화하세요. 디버그 로깅은 로그 파일 크기를 크게 늘리고 서버 성능에 악영향을 줄 수 있습니다. 프로덕션 환경이 아니라 개발 환경에서 사용하거나, 필요한 동안만 일시적으로 활성화할 것을 권장합니다.

지원 패킷의 구성

Mattermost 지원 패킷의 구성은 서버 버전에 따라 다를 수 있습니다. 사용 중인 Mattermost 버전에 해당하는 아래 섹션에서 지원 패킷에 포함되는 파일을 확인하세요.

v11.0 이상

클러스터 공통 파일

다음 클러스터 공통 파일은 지원 패킷의 루트 디렉터리에 있습니다.

  • metadata.yaml
  • plugins.json(활성·비활성 플러그인 전체)
  • sanitized_config.json(기밀 정보가 제거된 Mattermost 구성 사본)
  • stats.yaml(Mattermost 사용 통계)
  • jobs.yaml(주요 작업의 최근 실행 기록)
  • diagnostics.yaml(시스템 및 플러그인 진단 정보)
  • permissions.yaml(역할 및 스킴 정보)
  • postgres_schema_dump.sql(데이터베이스 구성 문제 진단을 돕는 테이블, 인덱스, 제약 조건 등 PostgreSQL 데이터베이스 스키마 정보)
  • warning.txt(패킷 생성 중 문제가 발생한 경우 포함)
  • tsdb_dump.tar.gz(Metrics 플러그인이 설치되어 있고 지원 패킷 생성 시 Performance metrics 옵션을 선택한 경우 포함)

노드별 파일

다음 노드별 파일은 노드 하위 디렉터리에 있습니다.

  • <node-id>/mattermost.log(노드별 Mattermost 로그)
  • <node-id>/audit.log(노드별 Mattermost 감사 로그)
  • <node-id>/ldap.log(노드별 AD/LDAP 로그)
  • <node-id>/notifications.log(노드별 알림 로그)
  • <node-id>/cpu.prof(노드별 Go 성능 지표)
  • <node-id>/heap.prof(노드별 Go 성능 지표)
  • <node-id>/goroutines(노드별 Go 성능 지표)

진단 정보 요약

지원 패킷의 diagnostics.yaml 파일에는 문제 해결과 구성 검증을 돕는 시스템 및 플러그인 진단 정보가 담겨 있습니다.

플러그인 진단 데이터

플러그인이 활성화되어 정상 동작 중일 때 다음 플러그인 진단 데이터가 추가로 제공됩니다.

  • GitHub: /github/diagnostics.yaml
  • GitLab: /com.github.manland.mattermost-plugin-gitlab/diagnostics.yaml
  • Jira: /jira/diagnostics.yaml
  • Calls: /com.mattermost.calls/diagnostics.yaml
  • Boards: /focalboard/diagnostics.yaml
  • Playbooks: /playbooks/diagnostics.yaml
  • MSCalendar: /com.mattermost.mscalendar/diagnostics.yaml
  • Google Calendar: /com.mattermost.gcal/diagnostics.yaml

v10.11

v10.11부터 지원 패킷에는 PostgreSQL 데이터베이스 스키마 덤프 정보가 포함되어, 데이터베이스 구성 문제, 성능 문제, 콜레이션 불일치를 비롯한 데이터베이스 관련 문제를 진단하는 데 필요한 포괄적인 메타데이터를 제공합니다.

클러스터 공통 파일(루트 디렉터리):

  • metadata.yaml
  • plugins.json(활성·비활성 플러그인 전체)
  • sanitized_config.json(기밀 정보가 제거된 Mattermost 구성 사본)
  • stats.yaml(Mattermost 사용 통계)
  • jobs.yaml(주요 작업의 최근 실행 기록)
  • diagnostics.yaml(핵심 플러그인 진단 데이터)
  • permissions.yaml(역할 및 스킴 정보)
  • postgres_schema_dump.sql(데이터베이스 구성 문제 진단을 돕는 테이블, 인덱스, 제약 조건 등 PostgreSQL 데이터베이스 스키마 정보)
  • warning.txt(패킷 생성 중 문제가 발생한 경우 포함)
  • tsdb_dump.tar.gz(Metrics 플러그인이 설치되어 있고 지원 패킷 생성 시 Performance metrics 옵션을 선택한 경우 포함)

클러스터별 파일(노드 하위 디렉터리):

  • <node-id>/mattermost.log(노드별 Mattermost 로그)
  • <node-id>/audit.log(노드별 Mattermost 감사 로그)
  • <node-id>/ldap.log(노드별 AD/LDAP 로그)
  • <node-id>/notifications.log(노드별 알림 로그)
  • <node-id>/cpu.prof(노드별 Go 성능 지표)
  • <node-id>/heap.prof(노드별 Go 성능 지표)
  • <node-id>/goroutines(노드별 Go 성능 지표)

플러그인이 활성화되어 정상 동작 중일 때 생성된 지원 패킷에 다음 플러그인 진단 데이터가 추가로 포함됩니다.

  • GitHub: /github/diagnostics.yaml
  • GitLab: /com.github.manland.mattermost-plugin-gitlab/diagnostics.yaml
  • Jira: /jira/diagnostics.yaml
  • Calls: /com.mattermost.calls/diagnostics.yaml
  • Boards: /focalboard/diagnostics.yaml
  • Playbooks: /playbooks/diagnostics.yaml
  • MSCalendar: /com.mattermost.mscalendar/diagnostics.yaml
  • Google Calendar: /com.mattermost.gcal/diagnostics.yaml

v10.10

Mattermost v10.10부터 고가용성 배포에서 생성한 지원 패킷은 로그 파일 같은 클러스터별 파일을 각 클러스터 노드 이름의 하위 디렉터리에 정리하고, 클러스터 공통 파일은 루트 디렉터리에 그대로 둡니다.

지원 패킷의 파일 구성이 개선되어 클러스터 공통 파일과 클러스터별 파일을 더 쉽게 구분할 수 있습니다.

  • 클러스터 공통 파일(고가용성 클러스터의 모든 노드에서 동일한 파일)은 지원 패킷의 루트 디렉터리에 그대로 있습니다.
  • 클러스터별 파일(노드마다 다른 파일)은 이제 각 클러스터 노드 이름의 하위 디렉터리에 정리됩니다.

클러스터 공통 파일(루트 디렉터리):

  • metadata.yaml
  • plugins.json(활성·비활성 플러그인 전체)
  • sanitized_config.json(기밀 정보가 제거된 Mattermost 구성 사본)
  • stats.yaml(Mattermost 사용 통계)
  • jobs.yaml(주요 작업의 최근 실행 기록)
  • diagnostics.yaml(핵심 플러그인 진단 데이터)
  • permissions.yaml(역할 및 스킴 정보)
  • warning.txt(패킷 생성 중 문제가 발생한 경우 포함)
  • tsdb_dump.tar.gz(Metrics 플러그인이 설치되어 있고 지원 패킷 생성 시 Performance metrics 옵션을 선택한 경우 포함)

클러스터별 파일(노드 하위 디렉터리):

  • <node-id>/mattermost.log(노드별 Mattermost 로그)
  • <node-id>/audit.log(노드별 Mattermost 감사 로그)
  • <node-id>/ldap.log(노드별 AD/LDAP 로그)
  • <node-id>/notifications.log(노드별 알림 로그)
  • <node-id>/cpu.prof(노드별 Go 성능 지표)
  • <node-id>/heap.prof(노드별 Go 성능 지표)
  • <node-id>/goroutines(노드별 Go 성능 지표)

플러그인이 활성화되어 정상 동작 중일 때 생성된 지원 패킷에 다음 플러그인 진단 데이터가 추가로 포함됩니다.

  • GitHub: /github/diagnostics.yaml
  • GitLab: /com.github.manland.mattermost-plugin-gitlab/diagnostics.yaml
  • Jira: /jira/diagnostics.yaml
  • Calls: /com.mattermost.calls/diagnostics.yaml
  • Boards: /focalboard/diagnostics.yaml
  • Playbooks: /playbooks/diagnostics.yaml
  • MSCalendar: /com.mattermost.mscalendar/diagnostics.yaml
  • Google Calendar: /com.mattermost.gcal/diagnostics.yaml

v10.5 ~ v10.9

v10.10 이전에는 고가용성 배포의 클러스터 각 노드가 자체 mattermost.log 파일과 고급 로깅 파일을 지원 패킷에 직접 포함했습니다.

v10.5부터 다음과 같이 지원 패킷 데이터가 변경되었습니다.

  • support_packet.yaml 파일이 제거되고 diagnostics.yaml과 stats.yaml 파일로 분리되었습니다.
  • 가독성을 높이기 위해 diagnostics.yaml의 모든 필드가 각자의 객체로 이동했습니다.
  • 필드 이름이 정규화되었습니다.
  • 서버 통계, 로그, 권한, 확장된 작업 목록 정보가 새로 추가되었습니다.
  • 해당하는 경우 Mattermost가 지원하는 플러그인의 진단 데이터가 포함됩니다.

지원 패킷의 구성은 다음과 같습니다.

  • metadata.yaml
  • mattermost.log(Mattermost 로그)
  • audit.log(Mattermost 감사 로그)
  • ldap.log(AD/LDAP 로그)
  • notifications.log(알림 로그)
  • plugins.json(활성·비활성 플러그인 전체)
  • sanitized_config.json(기밀 정보가 제거된 Mattermost 구성 사본)
  • stats.yaml(Mattermost 사용 통계)
  • jobs.yaml(주요 작업의 최근 실행 기록)
  • diagnostics.yaml(핵심 플러그인 진단 데이터)
  • permissions.yaml(역할 및 스킴 정보)
  • Go 성능 지표: cpu.prof, heap.prof, goroutines
  • warning.txt(패킷 생성 중 문제가 발생한 경우 포함)
  • tsdb_dump.tar.gz(Metrics 플러그인이 설치되어 있고 지원 패킷 생성 시 Performance metrics 옵션을 선택한 경우 포함)

플러그인이 활성화되어 정상 동작 중일 때 생성된 지원 패킷에 다음 플러그인 진단 데이터가 추가로 포함됩니다.

  • GitHub: /github/diagnostics.yaml
  • GitLab: /com.github.manland.mattermost-plugin-gitlab/diagnostics.yaml
  • Jira: /jira/diagnostics.yaml
  • Calls: /com.mattermost.calls/diagnostics.yaml
  • Boards: /focalboard/diagnostics.yaml
  • Playbooks: /playbooks/diagnostics.yaml
  • MSCalendar: /com.mattermost.mscalendar/diagnostics.yaml
  • Google Calendar: /com.mattermost.gcal/diagnostics.yaml

v10.5 이전

Mattermost v10.4부터 새로운 diagnostics.yaml 파일에 플러그인 버전, 통화 및 활성 세션 수, 평균 통화 시간과 참가자 수를 비롯한 Mattermost Calls 진단 데이터가 포함됩니다.

  • metadata.yaml
  • mattermost.log
  • plugins.json
  • sanitized_config.json
  • support_packet.yaml
  • diagnostics.yaml(핵심 플러그인 진단 데이터)
  • Go 성능 지표: cpu.prof, heap.prof, goroutines
  • warning.txt(패킷 생성 중 문제가 발생한 경우 포함)
참고
  • LDAP 그룹은 지원 패킷 생성 시 포함되지 않습니다. LDAP Version과 LDAP Vendor만 존재하는 경우 포함되며, 이 값들은 support_packet.yaml 파일에 담깁니다.
  • Mattermost v9.11부터 LDAP Vendor 오류가 지원 패킷에 포함됩니다. LDAP Vendor 이름을 가져오지 못하면 지원 패킷 생성 시 warning.txt에 해당 오류가 기록됩니다. LDAP Vendor 이름을 찾지 못하면 지원 패킷에 unknown으로 표시됩니다.

메타데이터

Mattermost v9.11부터 생성되는 지원 패킷에는 다음 정보를 담은 metadata.yaml 파일이 포함됩니다.

필드 이름필수/선택설명예시
version필수현재 메타데이터 파일이 호환되는 스키마의 버전입니다. 현재 버전은 1입니다.1
type필수패킷의 유형입니다. 지원 패킷의 각 유형은 해당 패킷을 생성한 특정 구성 요소에 대응시킬 수 있습니다.mattermost
generated_at필수패킷이 생성된 날짜와 시각입니다. 값은 에포크(ms) 단위입니다.1707473288731
server_version필수지원 패킷을 생성한 서버의 버전입니다. Semver 형식을 기대합니다.9.1.1
server_id필수서버의 고유 식별자입니다. 26자 이상이어야 합니다.9qpiszyjr3g8bxda35abcd1234
license_id선택현재 서버 라이선스의 고유 식별자입니다. 26자 이상이어야 합니다. 라이선스가 없으면 이 필드는 비어 있습니다.abcdejisd67yigqhmkz4ho1234
customer_id선택라이선스 파일에 정의된 고객의 ID입니다. 26자 이상이어야 합니다. 라이선스가 없으면 비어 있습니다.a1b2c3d4qbbr5cpkbpbmef123h
extras선택파일을 생성한 플러그인·구성 요소에 특화된 추가 정보의 키/값입니다. 데이터의 내용을 식별하는 데 유용할 수 있습니다. 이 객체의 내용에 대한 기대치를 설정하기 위해 플러그인(또는 구성 요소) 버전을 추가하는 것을 고려하세요.
extras.plugin_id플러그인의 경우 필수플러그인의 ID입니다.
extras.plugin_version플러그인의 경우 필수플러그인의 버전입니다.

예시는 다음과 같습니다.

version: 1
type: support-packet
generated_at: 1622569200
server_version: 9.1.1
server_id: 8fqk9rti13fmpxdd5934a3xsxh
license_id: 3g3pqn8in3brzjkozcn1kdidgr
customer_id: 74cmws7gf3ykpj31car7zahsny
extras:
 plugin_version: 0.1.0

Go 성능 지표

지원 패킷에는 3개의 Go 런타임 프로파일링 파일이 들어 있습니다.

  • cpu.prof에는 5초간의 CPU 프로파일이 들어 있습니다.
  • heap.prof에는 힙 프로파일이 들어 있습니다.
  • goroutines에는 실행 중인 모든 고루틴의 덤프가 들어 있습니다.

이 파일들은 pprof로 읽을 수 있습니다.

go tool pprof -web X를 사용하면 브라우저에서 프로파일 시각화를 열 수 있습니다. X 자리에는 프로파일 파일 이름을 넣으세요.

부하 지표

Mattermost v10.10부터 Product Menu > About Mattermost(제품 메뉴 > Mattermost 정보) 아래의 Load Metric 필드는 전체 라이선스 사용자 수 대비 월간 활성 사용자 수를 표시합니다. 이 값은 Mattermost 지원 팀이 문제 해결과 안내를 위해 배포 환경의 실제 사용량을 파악하는 맥락상의 기준점이 됩니다. 종합적인 성능 모니터링 도구나 상태 지표는 아니지만, 기존 진단 수단을 사용할 수 없을 때 보조 데이터로 활용할 수 있습니다.