Highstate 업무 공간은 시스템 구성을 관리하고 모니터링하는 데 사용됩니다. 인프라 전체에서 highstate 실행에 대한 기간별 보기를 확인하여 모든 미니언의 구성 편차와 관련된 인사이트 및 추세를 확인할 수 있습니다.

시스템 관리자는 시스템 구성을 규정 준수 상태로 유지하고, 장애 또는 변경 사항이 있는 시스템을 식별하여, 해당 시스템을 가능한 한 빨리 규정 준수 상태로 전환하는 것이 중요하다는 것을 알고 있습니다. Highstate 업무 공간은 시스템 구성에 대한 유용한 인사이트를 제공하며 구성 편차를 관리하는 데 도움이 되는 도구를 포함합니다.

highstate란?

각 미니언과 애플리케이션을 하나씩 수동으로 구성하는 대신 Automation Config 상태 관리 시스템을 사용하면 여러 미니언에 동시에 적용할 수 있는 상태 파일을 생성할 수 있습니다. 이러한 상태 파일에는 미니언에서 실행해야 하는 작업과 그 순서를 Automation Config에 알려주는 일련의 지침이 포함될 수 있습니다. 또한 상태 관리 시스템은 각 미니언이 가능한 한 적절하고 효율적으로 구성되도록 합니다.

그러나 수백 개의 상태 파일과 수천 개의 미니언이 있는 경우 각 상태 파일을 실행하는 데 시간이 걸립니다. 상태 파일을 미니언에 적용하는 더 빠르고 직관적으로 방법은 highstate를 실행하는 것입니다. highstate를 실행하면 state.highstate 함수가 호출됩니다. state.highstate 함수는 Salt 마스터에서 생성한 top.sls 파일에 설명된 모든 Salt 상태를 적용합니다.

다음과 같은 시나리오에서는 highstate를 실행하는 것이 유용할 수 있습니다.
  • 인프라를 처음으로 설정하며 환경 전체에서 구성을 표준화해야 합니다.
  • 규정 준수 상태를 유지해야 하는 중요 시스템이 있습니다. Automation Config스케줄 업무 공간을 사용하여 일주일에 한 번 실행되는 highstate 작업을 스케줄링하여 시스템이 제대로 구성되어 있는지 확인할 수 있습니다.

top.sls 파일은 Salt 상태를 대상 그룹에 매핑하며 Salt 환경, 대상 조건 및 실행할 상태 파일로 구성됩니다. 미니언은 top.sls 파일을 다운로드하고 그 안의 표현식과의 일치를 시도합니다. 미니언이 표현식과 일치하면 지정된 상태 파일을 실행합니다. 예를 들어 특정 상태 파일은 모든 미니언에 적용하고, 일부는 CentOS 미니언에 적용하고, 나머지는 ID에 문자열 web이 포함된 미니언에 적용하도록 top.sls 파일을 구성할 수 있습니다.

base: 
  '*':
    - vim
    - scripts
  'os:CentOS': 
    - match: grain 
    - centos-config 
  '*web*':
    - apache
    - django

highstate를 실행하는 동안 구성에 편차가 생기면 Automation Config는 미니언 및 애플리케이션의 구성을 규정 준수 상태로 되돌립니다. 구성을 변경해야 하는 경우 Automation Config는 해당 변경 사항을 영향을 받는 미니언에 신속하게 배포합니다. 그런 다음 Highstate 업무 공간을 사용하여 마지막 highstate 실행 중에 변경된 내용을 확인할 수 있습니다. 업무 공간의 차트 및 보고서도 인프라 전반의 변경 내용을 시각화하는 데 도움이 됩니다.

개발 환경 또는 스테이징 환경에서 변경 내용을 테스트하는 것이 좋습니다. 상태가 성공하면 운영 환경에 적용할 수 있습니다.

highstate를 모의 실행 모드에서 실행할 수도 있습니다. 모의 실행 모드에서 highstate를 실행하는 경우 Automation Config은 상태가 적용될 경우 각 미니언에 적용될 변경 사항을 보여주는 작업 반환을 생성합니다. 모의 실행 모드에 대한 자세한 내용은 작업을 생성하는 방법을 참조하십시오.

중요:

highstate를 처음 실행하기 전에 Salt 마스터에서 top.sls 파일을 생성하고 구성해야 합니다. Salt 상태 및 top.sls 파일에 대한 자세한 내용은 Salt 사용자 가이드의 상태 구성을 참조하십시오.

highstate 실행

top.sls 파일을 구성한 후 첫 번째 highstate를 실행할 수 있습니다.

highstate를 실행하려면 다음을 수행합니다.

  1. Highstate 업무 공간에서 상태 탭을 클릭합니다.
  2. Highstate 실행을 클릭합니다.
  3. 대화상자에서 highstate를 실행할 대상을 선택합니다.
  4. Highstate 실행을 클릭합니다.

highstate 실행이 완료되면 다음과 같이 여러 수준에서 첫 번째 highstate 실행의 결과를 볼 수 있습니다.

  • 글로벌 수준: 환경 전반의 highstate 반환 보기
  • 대상 수준: 대상 그룹별 highstate 반환 보기
  • 미니언 수준: 미니언별 highstate 반환 보기

글로벌 수준

상태 탭 및 미니언 탭에서 환경 전반의 highstate 규정 준수를 볼 수 있습니다. 글로벌 수준은 최신 highstate 실행 이후 시스템 구성의 전반적인 상태를 평가하는 데 도움이 됩니다.

최근 highstate 실행 후 SaltStack Config 사용자 인터페이스의 Highstate 업무 공간

모든 수준에서 데이터가 최근 highstate 실행에서 나온 것이든 다수의 highstate 실행에서 나온 것이든 상관 없이 각 미니언에서 최신 highstate 데이터를 가져옵니다. 상태 탭의 제한 기준 드롭다운 메뉴를 사용하여 Highstate 업무 공간에 최신 데이터만 표시되도록 할 수 있습니다.

글로벌 수준에는 모든 상태에 대한 다음 정보가 포함됩니다.

용어 설명
상태 상태에 대한 ID 선언입니다(예: common-centos-packages).
SLS 파일 상태 선언이 포함된 파일입니다(예: centos-config.sls).
미니언 상태가 실행된 미니언의 수입니다.
오류 상태 실행이 실패했는지 여부를 나타냅니다. 상태는 여러 가지 이유로 실패합니다. 예를 들면 다음과 같습니다.
  • 필수 파일이 없거나 파일 시스템 사용 권한으로 인해 액세스할 수 없습니다.
  • 네트워크 리소스 또는 서비스를 사용할 수 없습니다.
  • 패키지 종속성 충돌이 있어서 상태를 적용할 수 없습니다.

설명 열에는 상태 실패의 원인에 대한 자세한 내용이 나와 있습니다.

성공 성공한 상태의 전체 백분율을 나타냅니다.
변경됨 각 상태에 대한 변경 내용을 보고한 미니언의 전체 백분율을 나타냅니다.
변경 내용 가장 최근의 highstate 실행으로 인해 변경이 발생했는지 여부를 나타냅니다.

설명 열에는 변경 내용에 대한 자세한 정보가 제공됩니다.

평균 기간 상태 실행의 평균 지속 시간(밀리초(ms))입니다.
환경 상태 파일이 포함된 Salt 환경입니다(예: base 또는 dev).
JID state.highstate 실행의 작업 식별 번호입니다.

상태 탭에서 상태를 클릭하면 각 Salt 미니언에 대한 가장 최근의 highstate 실행을 볼 수 있습니다.

SaltStack Config의 기본 html 페이지 상태에 대한 이전의 모든 highstate 실행

각 상태는 다음 정보가 제공됩니다.

용어 설명
미니언 ID 상태가 실행된 미니언의 ID입니다.
상태 상태 실행의 성공 또는 실패 여부를 나타냅니다.
변경 내용 가장 최근의 highstate 실행으로 인해 변경이 발생했는지 여부를 나타냅니다.

설명 열에는 변경 내용에 대한 자세한 정보가 제공됩니다.

환경 상태 파일이 포함된 Salt 환경입니다(예: base 또는 dev).
클러스터//마스터 미니언과 연결된 Salt 마스터입니다.
기간 상태 실행의 지속 시간(밀리초(ms))입니다.
설명 상태 실행의 성공 또는 실패에 대한 추가 세부 정보를 제공하는 메시지입니다.
JID state.highstate 실행의 작업 식별 번호입니다.

글로벌 수준에서 임시 highstate 작업을 실행할 수도 있습니다.

  1. Automation Config에서 Highstate 업무 공간을 엽니다.
  2. Highstate 실행을 클릭합니다.
  3. 대화상자에서 highstate를 실행할 대상을 선택합니다.
  4. Highstate 실행을 클릭합니다.

Highstate 업무 공간의 활동 탭에서 작업 진행률을 모니터링할 수 있습니다. 작업이 완료되면 글로벌, 대상 또는 미니언 수준에서 업데이트된 보고서 및 highstate 실행의 세부 정보를 볼 수 있습니다.

대상 수준

대상 수준에서 highstate 반환을 보려면 대상 업무 공간을 열면 됩니다. 대상을 클릭하면 대상 그룹의 모든 미니언에 대한 이전 상태 실행을 모두 볼 수 있습니다.

SaltStack Config의 CentOS 대상 그룹에 대한 이전 highstate 실행

대상 수준은 대상 그룹의 각 미니언에 대해 다음과 같은 정보를 제공합니다.

용어 설명
미니언 ID 미니언의 ID입니다.
상태 실행 미니언에 대한 상태 실행 수입니다.
오류 상태 실행이 실패했는지 여부를 나타냅니다. 상태는 여러 가지 이유로 실패할 수 있습니다. 예를 들면 다음과 같습니다.
  • 필수 파일이 없거나 파일 시스템 사용 권한으로 인해 액세스할 수 없습니다.
  • 네트워크 리소스 또는 서비스를 사용할 수 없습니다.
  • 패키지 종속성 충돌이 있어서 상태를 적용할 수 없습니다.

설명 열에는 상태 실패의 원인에 대한 자세한 내용이 나와 있습니다.

성공 성공한 상태의 전체 백분율을 나타냅니다.
변경됨 변경이 발생한 상태의 전체 백분율을 나타냅니다.
변경 내용 가장 최근의 highstate 실행으로 인해 변경이 발생했는지 여부를 나타냅니다.

설명 열에는 변경 내용에 대한 자세한 정보가 제공됩니다.

기간 상태 실행의 지속 시간(밀리초(ms))입니다.
환경 상태 파일이 포함된 Salt 환경입니다(예: base 또는 dev).
JID state.highstate 실행의 작업 식별 번호입니다.

대상 수준에서 임시 highstate 작업을 실행하려면 다음을 수행합니다.

  1. Automation Config에서 대상 업무 공간을 엽니다.
  2. highstate를 실행할 대상 그룹을 선택합니다.
  3. Highstate 탭을 클릭합니다.
  4. Highstate 실행을 클릭합니다.
  5. 대화상자에서 highstate를 실행할 대상 그룹을 확인합니다.
  6. Highstate 실행을 클릭합니다.

미니언 수준

미니언 수준에서 highstate 반환을 보려면 Highstate 업무 공간에서 미니언 탭을 열면 됩니다.

SaltStack Config 환경의 모든 미니언에 대한 highstate 반환

미니언 수준은 모든 미니언에 대해 다음 정보를 제공합니다.

용어 설명
미니언 ID 미니언의 ID입니다.
상태 실행 미니언에 대한 상태 실행 수입니다.
오류 상태 실행이 실패했는지 여부를 나타냅니다. 상태는 여러 가지 이유로 실패할 수 있습니다.
  • 필수 파일이 없거나 파일 시스템 사용 권한으로 인해 액세스할 수 없습니다.
  • 네트워크 리소스 또는 서비스를 사용할 수 없습니다.
  • 패키지 종속성 충돌이 있어서 상태를 적용할 수 없습니다.

설명 열에는 상태 실패의 원인에 대한 자세한 내용이 나와 있습니다.

성공 성공한 상태의 전체 백분율을 나타냅니다.
변경됨 상태 실행으로 인해 미니언이 변경된 상태의 전체 백분율을 나타냅니다.
변경 내용 가장 최근의 highstate 실행으로 인해 변경이 발생했는지 여부를 나타냅니다.

미니언 ID를 클릭하면 미니언에 대한 이전 상태 실행을 모두 볼 수 있습니다.

Highstate 업무 공간의 Salt 미니언 하나에 대한 모든 상태 실행

다음과 같은 정보가 제공됩니다.

용어 설명
성공 상태 실행의 성공 또는 실패 여부를 나타냅니다.
변경 내용 가장 최근의 highstate 실행으로 인해 변경이 발생했는지 여부를 나타냅니다.
환경 상태 파일이 포함된 Salt 환경입니다(예: base 또는 dev).
SLS 파일 상태 선언이 포함된 파일입니다(예: centos-config.sls).
상태 상태에 대한 ID 선언입니다(예: common-centos-packages).
기간 상태 실행의 지속 시간(밀리초(ms))입니다.
설명 상태 실행의 성공 또는 실패에 대한 추가 세부 정보를 제공하는 메시지입니다.
JID state.highstate 실행의 작업 식별 번호입니다.

미니언 수준에서 임시 highstate 작업을 실행하려면 다음을 수행합니다.

  1. Automation Config에서 Highstate 업무 공간을 엽니다.
  2. highstate를 실행할 미니언을 하나 이상 선택합니다.
  3. Highstate 실행을 클릭합니다.
  4. 대화상자에서 Highstate 실행을 클릭합니다.

highstate 활동 보기

Highstate 업무 공간의 활동 탭은 highstate 실행의 상태를 모니터링하는 데 사용됩니다. 활동 탭에서는 스케줄링된 작업 또는 임시 작업과 같은 다양한 유형의 이벤트 및 활동을 볼 수 있습니다.

지난 30일 동안 변경 내용이 있거나 없는 미니언의 수를 표시하는 Highstate 업무 공간의 대화형 차트

활동 탭의 대화형 차트에는 Automation Config 환경에서 이전 highstate 실행에 대한 개요를 제공하는 여러 보고서가 포함됩니다. 각 보고서에 대해 지난 24시간에서 지난 30일까지의 결과를 볼 수 있습니다.

보고서 설명
미니언: 평균 지속 시간 모든 미니언에 대한 상태 실행의 시간대별 평균 지속 시간을 표시합니다.
미니언: 변경 내용 있음 및 변경 내용 없음 시간 경과에 따라 변경 내용을 보고한 미니언과 변경 내용을 보고하지 않은 미니언의 수를 표시합니다.
미니언: 성공 및 실패 시간 경과에 따라 성공한 상태 실행을 보고한 미니언과 실패한 상태 실행을 보고한 미니언 수를 표시합니다.
상태: 변경 내용 있음 및 변경 내용 없음 시간 경과에 따라 변경이 발생한 상태와 변경이 발생하지 않은 상태의 수를 표시합니다.
상태: 성공 및 실패 성공한 상태와 실패한 상태의 수를 표시합니다.

활동 탭에는 상태별로 작업을 정렬하는 세 개의 섹션이 있습니다.

  • 완료됨: 완료된 highstate 작업의 상태를 모니터링하는 데 사용됩니다.
  • 진행 중: 현재 실행 중인 highstate 작업의 상태를 모니터링하는 데 사용됩니다.
  • 예정: 다가오는 highstate 작업의 상태를 모니터링하는 데 사용됩니다.

활동 탭의 테이블에는 작업의 상태, 출처, 스케줄(사용 가능한 경우), 작업, 대상 그룹 및 관련 작업 ID(JID)에 대한 정보가 표시됩니다. 필요에 따라 열을 필터링할 수 있습니다.