Prometheus 및 Grafana를 사용한 모니터링

Prometheus 및 Grafana를 사용하여 SUSE Multi-Linux Manager 환경을 모니터링할 수 있습니다. SUSE Multi-Linux Manager 서버 및 프록시는 자체 건강 메트릭을 제공할 수 있습니다. Salt 클라이언트에 여러 Prometheus 익스포터를 설치하고 관리할 수도 있습니다.

1. 요구사항

Prometheus 및 Grafana 패키지가 SUSE Multi-Linux Manager 클라이언트 도구에 포함된 대상은 다음과 같습니다.

  • SUSE Linux Enterprise 15

  • SUSE Linux Enterprise 16

  • openSUSE Leap 15.x

  • openSUSE Leap 16.x

위에 나열된 클라이언트만 모니터링 서버로 지원됩니다.

SUSE Multi-Linux Manager 서버와 별도의 머신에 Prometheus 및 Grafana를 설치해야 합니다. 모니터링 서버로 관리되는 Salt SUSE 클라이언트를 사용하는 것을 권장합니다.

Prometheus는 풀 방식을 사용하여 메트릭을 가져오므로 서버는 모니터링되는 클라이언트에 TCP 연결을 설정할 수 있어야 합니다. 클라이언트는 해당하는 열린 포트를 가지고 있어야 하며 네트워크를 통해 접근 가능해야 합니다. 대안으로, 리버스 프록시를 사용하여 연결을 설정할 수 있습니다.

모니터링하려는 각 클라이언트에 대해 모니터링 추가 기능 구독이 필요합니다. SUSE Customer Center을 방문하여 SUSE Multi-Linux Manager 구독을 관리하세요.

2. Prometheus 및 Grafana

2.1. Prometheus

Prometheus는 실시간 메트릭을 시계열 데이터베이스에 기록하는 데 사용되는 오픈 소스 모니터링 도구입니다. 메트릭은 HTTP를 통해 가져오며, 높은 성능과 확장성을 제공합니다.

Prometheus 메트릭은 시계열 데이터로, 동일한 그룹 또는 차원에 속하는 타임스탬프가 있는 값입니다. 메트릭은 이름과 레이블 집합으로 고유하게 식별됩니다.

   metric name               labels                 timestamp     value
┌────────┴───────┐  ┌───────────┴───────────┐    ┌──────┴──────┐  ┌─┴─┐
http_requests_total{status="200", method="GET"}  @1557331801.111  42236

모니터링되는 각 애플리케이션 또는 시스템은 코드 계측 또는 Prometheus 엑스포트를 통해 위의 형식으로 메트릭을 노출해야 합니다.

2.2. Prometheus 엑스포트

익스포터는 타사 시스템에서 Prometheus 메트릭으로 메트릭을 내보내는 데 도움을 주는 라이브러리입니다. 익스포터는 특정 애플리케이션이나 시스템을 Prometheus 메트릭으로 직접 계측하는 것이 불가능할 때 유용합니다. 여러 익스포터가 모니터링되는 호스트에서 실행되어 로컬 메트릭을 내보낼 수 있습니다.

Prometheus 커뮤니티는 공식 엑스포터 목록을 제공하며, 커뮤니티 기여를 통해 더 많은 엑스포터를 찾을 수 있습니다. 자세한 정보와 광범위한 엑스포터 목록은 https://prometheus.io/docs/instrumenting/exporters/.을 참조하십시오.

2.3. Grafana

Grafana는 데이터 시각화, 모니터링 및 분석을 위한 도구입니다. 특정 메트릭을 일정 기간 동안 나타내는 패널로 대시보드를 생성하는 데 사용됩니다. Grafana는 일반적으로 Prometheus와 함께 사용되지만, ElasticSearch, MySQL, PostgreSQL 및 Influx DB와 같은 다른 데이터 소스도 지원합니다. Grafana에 대한 자세한 내용은 https://grafana.com/docs/.을 참조하십시오.

3. 모니터링 서버 설정

모니터링 서버를 설정하려면 Prometheus와 Grafana를 설치 및 구성해야 합니다.

모니터링 서버로는 SUSE 클라이언트만 지원됩니다. 전체 목록은 요구사항을 참조하십시오.

3.1. Prometheus 설치

모니터링 서버가 Salt 클라이언트인 경우, SUSE Multi-Linux Manager Web UI를 사용하여 Prometheus 패키지를 설치할 수 있습니다. 그렇지 않으면 모니터링 서버에 패키지를 수동으로 다운로드하여 설치할 수 있습니다. Prometheus 소프트웨어는 SUSE Multi-Linux Manager 프록시 및 SUSE Multi-Linux Manager for Retail 브랜치 서버에서도 사용할 수 있습니다.

  • SUSE Multi-Linux Manager Server 컨테이너 내부의 셸에 액세스하려면 컨테이너 호스트에서 `mgrctl term`을(를) 실행하거나, 단일 명령을 실행하려면 `mgrctl exec <options> — <command>`을(를) 실행하십시오.

  • 컨테이너 내부에서 컨테이너 호스트로 파일을 복사하려면 `mgrctl cp`을(를) 사용하십시오.

Prometheus는 데이터를 저장하기 위해 POSIX 파일 시스템을 기대합니다. 비-POSIX 호환 파일 시스템은 지원되지 않습니다. NFS 파일 시스템은 지원되지 않습니다.

절차 Web UI을 사용하여 Prometheus를 설치합니다.
  1. SUSE Multi-Linux Manager Web UI에서 Prometheus를 설치할 시스템의 세부 사항 페이지를 열고 Formulas 탭으로 이동합니다.

  2. 모니터링 수식을 활성화하려면 Prometheus 확인란을 선택하고 Save을 클릭합니다.

  3. 상단 메뉴의 Prometheus 탭으로 이동합니다.

  4. SUSE Multi-Linux Manager Server 섹션에 유효한 SUSE Multi-Linux Manager API 자격 증명을 입력합니다. 입력한 자격 증명이 모니터링 대상 시스템 집합에 대한 액세스를 허용하는지 확인합니다.

  5. 필요에 따라 기타 구성 옵션을 사용자 정의합니다.

  6. 저장 수식을 클릭합니다.

  7. highstate를 적용하고 성공적으로 완료되었는지 확인합니다.

  8. Prometheus 인터페이스가 올바르게 로드되는지 확인합니다. 브라우저에서 Prometheus가 설치된 서버의 URL(9090 포트, 예: http://example.com:9090)로 이동합니다.

모니터링 수식에 대한 자세한 내용은 Monitoring Formula을 참조하십시오.

절차 Prometheus를 수동으로 설치하고 구성하기
  1. 모니터링 서버에 golang-github-prometheus-prometheus 패키지를 설치합니다:

    zypper in golang-github-prometheus-prometheus
  2. Prometheus 서비스를 활성화합니다.

    systemctl enable --now prometheus
  3. Prometheus 인터페이스가 올바르게 로드되는지 확인합니다. 브라우저에서 Prometheus가 설치된 서버의 URL(9090 포트, 예: http://example.com:9090)로 이동합니다.

  4. /etc/prometheus/prometheus.yml`에서 구성 파일을 열고 이 구성 정보를 추가합니다. `server.url`를 귀하의 SUSE Multi-Linux Manager 서버 URL로 교체하고 `usernamepassword 필드를 귀하의 SUSE Multi-Linux Manager 자격 증명에 맞게 조정합니다.

    # {productname} self-health metrics
    scrape_configs:
    - job_name: 'mgr-server'
      static_configs:
        - targets:
          - 'server.url:9100'  # Node exporter
          - 'server.url:9187'  # PostgreSQL exporter
          - 'server.url:5556'  # JMX exporter (Tomcat)
          - 'server.url:5557'  # JMX exporter (Taskomatic)
          - 'server.url:9800'  # Taskomatic
        - targets:
          - 'server.url:80'    # Message queue
          labels:
            __metrics_path__: /rhn/metrics
    
    # Managed systems metrics:
    - job_name: 'mgr-clients'
      uyuni_sd_configs:
       - server: "http://server.url"
         username: "admin"
         password: "admin"
      relabel_configs:
       - source_labels: [__meta_uyuni_exporter]
         target_label: exporter
       - source_labels: [__address__]
         replacement: "No group"
         target_label: groups
       - source_labels: [__meta_uyuni_groups]
         regex: (.+)
         target_label: groups
       - source_labels: [__meta_uyuni_minion_hostname]
         target_label: hostname
       - source_labels: [__meta_uyuni_primary_fqdn]
         regex: (.+)
         target_label: hostname
       - source_labels: [hostname, __address__]
         regex: (.*);.*:(.*)
         replacement: ${1}:${2}
         target_label: __address__
       - source_labels: [__meta_uyuni_metrics_path]
         regex: (.+)
         target_label: __metrics_path__
       - source_labels: [__meta_uyuni_proxy_module]
         target_label: __param_module
       - source_labels: [__meta_uyuni_scheme]
         target_label: __scheme__
  5. 구성 파일을 저장합니다.

  6. Prometheus 서비스를 재시작합니다.

    systemctl restart prometheus

Prometheus 구성 옵션에 대한 자세한 내용은 https://prometheus.io/docs/prometheus/latest/configuration/configuration/.의 공식 Prometheus 문서를 참조하십시오.

3.2. Grafana 설치

모니터링 서버가 SUSE Multi-Linux Manager에 의해 관리되는 클라이언트인 경우, SUSE Multi-Linux Manager Web UI를 사용하여 Grafana 패키지를 설치할 수 있습니다. 그렇지 않으면 모니터링 서버에 패키지를 수동으로 다운로드하여 설치할 수 있습니다.

Grafana는 SUSE Multi-Linux Manager 프록시에서 사용할 수 없습니다.

절차 Web UI을 사용하여 Grafana 설치하기
  1. SUSE Multi-Linux Manager Web UI에서 Grafana를 설치할 시스템의 세부 사항 페이지를 열고 Formulas 탭으로 이동합니다.

  2. 모니터링 수식을 활성화하려면 Grafana 확인란을 선택하고 Save을 클릭합니다.

  3. 상단 메뉴의 Grafana 탭으로 이동합니다.

  4. Enable and configure Grafana 섹션에 Grafana 로그인에 사용할 관리자 자격 증명을 입력합니다.

  5. Datasources 섹션에서 Prometheus URL 필드가 Prometheus를 실행 중인 시스템을 가리키는지 확인합니다.

  6. 필요에 따라 기타 구성 옵션을 사용자 정의합니다.

  7. 저장 수식을 클릭합니다.

  8. highstate를 적용하고 성공적으로 완료되었는지 확인합니다.

  9. Grafana 인터페이스가 올바르게 로드되는지 확인합니다. 브라우저에서 Grafana가 설치된 서버의 URL(3000 포트, 예: http://example.com:3000)로 이동합니다.

    • Grafana에 액세스할 수 있으려면 방화벽에서 포트 3000이 열려 있어야 합니다.

SUSE Multi-Linux Manager은 서버 자가 진단, 기본 클라이언트 모니터링 등을 위한 미리 구축된 대시보드를 제공합니다. 수식 구성 페이지에서 프로비저닝할 대시보드를 선택할 수 있습니다.

절차 Grafana 수동 설치
  1. grafana 패키지를 설치합니다:

    zypper in grafana
  2. Grafana 서비스를 활성화합니다.

    systemctl enable --now grafana-server
  3. 브라우저에서 Grafana가 설치된 서버의 URL(3000 포트, 예: http://example.com:3000)로 이동합니다.

    • Grafana에 액세스할 수 있으려면 방화벽에서 포트 3000이 열려 있어야 합니다.

  4. 로그인 페이지에서 사용자 이름과 비밀번호에 `admin`을(를) 입력합니다.

  5. 로그인을 클릭합니다. 로그인에 성공하면 비밀번호를 변경하라는 메시지가 표시됩니다.

  6. 메시지가 표시되면 확인을 클릭한 후 비밀번호를 변경합니다.

  7. 구성 옵션이 표시되는 사이드 메뉴의 톱니바퀴 아이콘으로 커서를 이동합니다.

  8. 데이터 소스를 클릭합니다.

  9. 지원되는 모든 데이터 소스 목록을 확인하려면 데이터 소스 추가를 클릭합니다.

  10. Prometheus 데이터 소스를 선택합니다.

  11. Prometheus 서버의 올바른 URL을 지정해야 합니다.

  12. 저장 및 테스트를 클릭합니다.

  13. 대시보드를 임포트하려면 사이드 메뉴에서 + 아이콘을 클릭한 후 임포트를 클릭합니다.

  14. SUSE Multi-Linux Manager 서버 개요의 경우 대시보드 ID: `17569`를 로드합니다.

  15. SUSE Multi-Linux Manager 클라이언트 개요의 경우 대시보드 ID: `17570`를 로드합니다.

    monitoring grafana example

4. SUSE Multi-Linux Manager 모니터링 구성

SUSE Multi-Linux Manager 4 이상을 사용하면 서버가 Prometheus 자체 상태 메트릭을 노출하도록 설정하고 클라이언트 시스템에 익스포터를 설치 및 구성할 수 있습니다.

4.1. 서버 자체 모니터링

서버 자체 상태 메트릭은 하드웨어, 운영 체제 및 SUSE Multi-Linux Manager 내부를 포함합니다. 이 메트릭은 Java 응용 프로그램의 계측과 Prometheus 익스포터의 조합으로 제공됩니다.

이 익스포터는 SUSE Multi-Linux Manager 서버와 함께 제공됩니다:

이 엑스포터 패키지는 SUSE Multi-Linux Manager 프록시와 함께 제공됩니다:

엑스포터는 SUSE Multi-Linux Manager 서버 및 프록시에 미리 설치되어 있지만, 각 systemd 데몬은 기본적으로 비활성화되어 있습니다.

절차 자체 모니터링 활성화
  1. SUSE Multi-Linux Manager Web UI에서 관리자  관리자 구성  모니터링으로 이동합니다.

  2. 서비스 활성화를 클릭합니다.

  3. Tomcat 및 Taskomatic을 재시작합니다.

  4. 9090 포트의 Prometheus 서버 URL(예: http://example.com:9090)로 이동합니다.

  5. Prometheus UI에서 상태  대상으로 이동하여 mgr-server 그룹의 모든 엔드포인트가 작동 중인지 확인합니다.

  6. Web UI와 함께 Grafana도 설치한 경우, SUSE Multi-Linux Manager 서버 대시보드의 관리자  관리자 구성  모니터링에서 서버 인사이트를 볼 수 있습니다.

서버 자체 건강 모니터링만 Web UI을 사용하여 활성화할 수 있습니다. 프록시의 메트릭은 Prometheus에 의해 자동으로 수집되지 않습니다. 프록시에서 자체 건강 모니터링을 활성화하려면, 엑스포터를 수동으로 설치하고 활성화해야 합니다.

다음 관련 메트릭은 SUSE Multi-Linux Manager 서버에서 수집됩니다.

Table 1. 서버 통계(포트 80)
메트릭 유형 설명

uyuni_all_systems

게이지

모든 시스템 수

uyuni_virtual_systems

게이지

가상 시스템 수

uyuni_inactive_systems

게이지

비활성 시스템 수

uyuni_outdated_systems

게이지

구식 패키지가 있는 시스템 수

Table 2. PostgreSQL 엑스포트(9187 포트)
메트릭 유형 설명

pg_stat_database_tup_fetched

counter

쿼리에 의해 가져온 행 수

pg_stat_database_tup_inserted

counter

쿼리에 의해 삽입된 행 수

pg_stat_database_tup_updated

counter

쿼리에 의해 업데이트된 행 수

pg_stat_database_tup_deleted

counter

쿼리에 의해 삭제된 행 수

mgr_serveractions_completed

게이지

완료된 작업 수

mgr_serveractions_failed

게이지

실패한 작업 수

mgr_serveractions_picked_up

게이지

선택된 작업 수

mgr_serveractions_queued

게이지

대기 중인 작업 수

Table 3. JMX 엑스포트(Tomcat 포트 5556, Taskomatic 포트 5557)
메트릭 유형 설명

java_lang_Threading_ThreadCount

게이지

활성 스레드 수

java_lang_Memory_HeapMemoryUsage_used

게이지

현재 힙 메모리 사용량

Table 4. 서버 메시지 대기열(포트 80)
메트릭 유형 설명

message_queue_thread_pool_threads

counter

지금까지 생성된 메시지 큐 스레드 수

message_queue_thread_pool_threads_active

게이지

현재 활성 메시지 큐 스레드 수

message_queue_thread_pool_task_count

counter

지금까지 제출된 작업 수

message_queue_thread_pool_completed_task_count

counter

지금까지 완료된 작업 수

Table 5. Salt 대기열(포트 80)
메트릭 유형 설명

salt_queue_thread_pool_size

게이지

Salt 큐당 생성된 스레드 수

salt_queue_thread_pool_active_threads

게이지

큐당 현재 활성 Salt 스레드 수

salt_queue_thread_pool_task_total

counter

큐당 지금까지 제출된 작업 수

salt_queue_thread_pool_completed_task_total

counter

큐당 지금까지 완료된 작업 수

모든 salt_queue 값에는 큐 번호를 값으로 갖는 `queue`라는 레이블이 있습니다.

Table 6. Taskomatic Scheduler(포트 9800)
메트릭 유형 설명

taskomatic_scheduler_threads

counter

지금까지 생성된 스케줄러 스레드 수

taskomatic_scheduler_threads_active

게이지

현재 활성화된 스케줄러 스레드 수

taskomatic_scheduler_completed_task_count

counter

지금까지 완료된 작업 수

4.2. 관리되는 시스템 모니터링

Prometheus 메트릭 엑스포터는 Salt 클라이언트에 수식을 사용하여 설치하고 구성할 수 있습니다. 패키지는 SUSE Multi-Linux Manager 클라이언트 도구 채널에서 사용할 수 있으며, SUSE Multi-Linux Manager Web UI에서 직접 활성화하고 구성할 수 있습니다.

다음 엑스포트는 관리되는 시스템에 설치할 수 있습니다.

SL Micro에서는 Node 엑스포터와 Blackbox 엑스포터만 사용할 수 있습니다.

엑스포터를 설치하고 구성한 후에는 Prometheus를 사용하여 모니터링되는 시스템에서 메트릭을 수집할 수 있습니다. 모니터링 서버를 Web UI로 구성한 경우, 메트릭 수집은 자동으로 발생합니다.

절차 클라이언트에서 Prometheus 엑스포터 구성
  1. SUSE Multi-Linux Manager Web UI에서 모니터링할 클라이언트의 세부 사항 페이지를 열고 수식 탭으로 이동합니다.

  2. Enabled 수식에서 Prometheus Exporters 확인란을 선택합니다.

  3. 저장을 클릭합니다.

  4. 수식  Prometheus 엑스포터 탭으로 이동합니다.

  5. 활성화할 엑스포트를 선택하고 필요에 따라 인수를 사용자 정의합니다. Address 필드에는 콜론이 앞에 오는 포트 번호(:9100) 또는 완전히 확인할 수 있는 주소(example:9100)를 사용할 수 있습니다.

  6. 저장 수식을 클릭합니다.

  7. highstate를 적용합니다.

다음 포트는 방화벽에 의해 차단되지 않고 활성화되어야 합니다.

  • 모니터에서: 9090/tcp

  • 모니터링된 시스템에서: 9100/tcp, 9117/tcp, 및 9187/tcp

해당 그룹 내의 개별 시스템에 사용된 동일한 구성을 적용하여 시스템 그룹에 대한 모니터링 수식을 구성할 수도 있습니다.

모니터링 수식에 대한 자세한 내용은 Monitoring Formula을 참조하십시오.

4.3. Grafana 비밀번호 변경

Grafana 비밀번호를 변경하려면 Grafana 설명서에 설명된 단계를 따릅니다.

Grafana 관리자 비밀번호를 분실한 경우 다음 명령 `root`로 재설정할 수 있습니다:

grafana-cli --configOverrides cfg:default.paths.data=/var/lib/grafana --homepath /usr/share/grafana admin reset-admin-password <new_password>

5. 네트워크 경계

Prometheus는 풀 방식을 사용하여 메트릭을 가져오므로 서버는 모니터링되는 클라이언트에 TCP 연결을 설정할 수 있어야 합니다. 기본적으로 Prometheus는 다음 포트를 사용합니다:

  • 노드 엑스포터: 9100

  • PostgreSQL 엑스포터: 9187

  • Apache 엑스포터: 9117

추가적으로, Prometheus를 실행하는 호스트가 아닌 다른 호스트에서 경고 관리자를 실행하는 경우 9093 포트도 열어야 합니다. 알림 관리자는 Prometheus 솔루션의 일부입니다. 클라이언트 애플리케이션에서 전송된 알림을 처리합니다. 예를 들어 Prometheus 서버 인스턴스가 있습니다. 알림 관리자에 대한 자세한 내용은 https://prometheus.io/docs/alerting/latest/alertmanager/.을 참조하십시오.

클라우드 인스턴스에 설치된 클라이언트의 경우 모니터링 서버에 대한 액세스 권한이 있는 보안 그룹에 필요한 포트를 추가할 수 있습니다.

대안으로, 엑스포터의 로컬 네트워크에 Prometheus 인스턴스를 배포하고 연합을 구성할 수 있습니다. 이렇게 하면 주요 모니터링 서버가 로컬 Prometheus 인스턴스에서 시계열을 스크랩할 수 있습니다. 이 방법을 사용하면 Prometheus API 포트인 9090만 열면 됩니다.

Prometheus 연합에 대한 자세한 내용은 https://prometheus.io/docs/prometheus/latest/federation/.을 참조하십시오.

네트워크 경계에서 프록시를 통해 요청을 전달할 수도 있습니다. PushProx와 같은 도구는 네트워크 장벽의 양쪽에 프록시와 클라이언트를 배포하고 Prometheus가 NAT와 같은 네트워크 토폴로지에서 작동할 수 있도록 합니다.

PushProx에 대한 자세한 내용은 https://github.com/RobustPerception/PushProx.을 참조하십시오.

5.1. 역방향 프록시 설정

Prometheus는 풀 방식을 사용하여 메트릭을 가져오므로 서버는 모니터링되는 클라이언트의 각 엑스포터에 TCP 연결을 설정할 수 있어야 합니다. 방화벽 구성을 단순화하기 위해 엑스포터에 대해 역방향 프록시를 사용하여 모든 메트릭을 단일 포트에서 노출할 수 있습니다.

절차 Prometheus 엑스포터를 역방향 프록시와 함께 설치하기
  1. SUSE Multi-Linux Manager Web UI에서 모니터링할 시스템의 세부 사항 페이지를 열고 Formulas 탭으로 이동합니다.

  2. Prometheus Exporters 확인란을 선택하여 엑스포터 수식을 활성화하고 저장을 클릭합니다.

  3. 상단 메뉴의 Prometheus Exporters 탭으로 이동합니다.

  4. Enable reverse proxy 옵션을 선택하고 유효한 역방향 프록시 포트 번호를 입력합니다. 예: 9999.

    • 방화벽에서 포트 9999/tcp가 열려 있는지 확인합니다.

  5. 필요에 따라, 다른 엑스포트를 사용자 정의합니다.

  6. 저장 수식을 클릭합니다.

  7. highstate를 적용하고 성공적으로 완료되었는지 확인합니다.

모니터링 수식에 대한 자세한 내용은 Monitoring Formula을 참조하십시오.

6. 보안

Prometheus 서버와 Prometheus 노드 엑스포터는 TLS 암호화 및 인증으로 엔드포인트를 보호하는 기본 제공 메커니즘을 제공합니다. SUSE Multi-Linux Manager Web UI는 관련 구성 요소의 구성을 단순화합니다. TLS 인증서는 사용자에 의해 제공되고 배포되어야 합니다. SUSE Multi-Linux Manager는 다음 보안 모델을 활성화할 수 있습니다:

  • 노드 엑스포터: TLS 암호화 및 클라이언트 인증서 기반 인증

  • Prometheus: TLS 암호화 및 기본 인증

사용 가능한 모든 옵션을 구성하는 방법에 대한 자세한 내용은 Monitoring Formula을 참조하십시오.

6.1. TLS 인증서 생성

기본적으로 SUSE Multi-Linux Manager는 모니터링 구성을 보호하기 위한 인증서를 제공하지 않습니다. 보안을 제공하기 위해 사용자 정의 인증서를 생성하거나 가져올 수 있으며, 자체 서명된 인증서 또는 제3자 인증 기관(CA)에 의해 서명된 인증서를 사용할 수 있습니다.

이 섹션에서는 SUSE Multi-Linux Manager CA를 사용하여 자체 서명된 Prometheus 및 노드 엑스포터 미니언에 대한 클라이언트/서버 인증서를 생성하는 방법을 설명합니다.

절차 서버/클라이언트 TLS 인증서 생성
  1. SUSE Multi-Linux Manager 컨테이너 호스트의 명령 프롬프트에서 루트 사용자로 다음 명령을 실행합니다:

    1. 인증서 파일을 생성하려면 다음 명령을 실행합니다.

      set-cname 매개변수가 귀하의 Salt 클라이언트의 완전한 도메인 이름(FQDN)인지 확인하십시오. 여러 개의 별칭이 필요한 경우 set-cname 매개변수를 여러 번 사용할 수 있습니다:

      mgrctl exec -ti -- mgr-ssl-tool --gen-server --dir="/root/ssl-build" --set-country="COUNTRY" \
        --set-state="STATE" --set-city="CITY" --set-org="ORGANIZATION" \
        --set-org-unit="ORGANIZATION UNIT" --set-email="name@example.com" \
        --set-hostname="minion.example.com" --set-cname="minion.example.com" --no-rpm

      결과:

      Generating the web server's SSL private key: /root/ssl-build/minion/server.key
      Generating web server's SSL certificate request: /root/ssl-build/minion/server.csr
      Generating/signing web server's SSL certificate: server.crt
    2. 서버 컨테이너에서 호스트로 server.crtserver.key 파일을 복사합니다:

      mgrctl cp server:/root/ssl-build/minion/server.key server.key
      mgrctl cp server:/root/ssl-build/minion/server.crt server.crt
    3. 호스트에서 모니터링 클라이언트로 server.crtserver.key 파일을 복사합니다:

      ssh minion.example.com 'mkdir /etc/ssl/mlm-server-certs'
      scp /root/server.* minion.example.com:/etc/ssl/mlm-server-certs
      ssh minion.example.com 'chmod go+r /etc/ssl/mlm-server-certs/server.*; ls -la /etc/ssl/mlm-server-certs'
  2. Salt 양식을 구성하려면 이전 단계에서 지정한 디렉토리 이름을 입력합니다.

    1. formular 미니언

      Server Certificate /etc/ssl/mlm-server-certs/server.crt
      Server Key /etc/ssl/mlm-server-certs/server.key
    2. formular 미니언