솔트의 내부 구성요소들은 이벤트를 보내고 들음으로써 서로 소통합니다. 솔트에서는 상상할 수 있는 모든 것에 대한 이벤트가 전송됩니다.

  • 솔트 미니언 연결
  • 키가 수락 또는 거부됨
  • 작업이 전송됨
  • 미니언으로부터 작업 결과가 반환됩니다.
  • 존재 하트비트(기본적으로 꺼져 있음)

Salt 명령줄 인터페이스도 이벤트 시스템을 사용합니다. 솔트 마스터에게 명령이 전송되면 솔트 CLI는 이벤트 버스를 감시하여 대상 미니언으로부터 작업이 반환되는지 확인합니다.

이벤트 감시

솔트는 솔트 마스터에 수신된 이벤트를 실시간으로 표시하는 러너를 제공합니다.

salt-run state.event pretty=True

데모 환경을 사용하는 경우 이벤트 버스가 조용할 수 있으므로 다른 터미널을 열고 salt ‘*’ test.ping 명령을 보내거나 salt-minion 서비스를 미니언 중 하나에서 다시 시작합니다.

다음은 소금 마스터에서 볼 수 있는 이벤트와 유사한 몇 가지 이벤트입니다.

salt/job/20150923203228234305/new   {
    "_stamp": "2015-09-23T20:32:28.235712",
    "arg": [],
    "fun": "test.ping",
    "jid": "20150923203228234305",
    "minions": [
        "minion2"
    ],
    "tgt": "*",
    "tgt_type": "glob",
    "user": "sudo_vagrant"
}
salt/job/20150923203228234305/ret/minion2   {
    "_stamp": "2015-09-23T20:32:28.291789",
    "cmd": "_return",
    "fun": "test.ping",
    "fun_args": [],
    "id": "minion2",
    "jid": "20150923203228234305",
    "retcode": 0,
    "return": true,
    "success": true
}
salt/auth   {
    "_stamp": "2015-09-23T20:30:02.998305",
    "act": "pend",
    "id": "minion1",
    "pub": "-----BEGIN PUBLIC KEY-----\...\n-----END PUBLIC KEY-----\n",
    "result": true
}

솔트 러너

러너는 솔트 마스터에서 실행되어 지원 작업을 수행하는 모듈입니다. 러너는 작업 상태 보고, 연결 상태 표시, 이벤트 표시, 외부 API에서 데이터 읽기, 연결된 Salt minions 쿼리 등을 수행합니다.

이벤트 형식

이벤트는 발생한 이벤트를 식별하는 태그와 이벤트에 대한 세부 정보가 포함된 데이터의 두 가지 주요 부분으로 구성됩니다.

이벤트 태그

모든 솔트 이벤트 앞에는 salt/이 붙으며 이벤트 유형에 따라 추가 레벨이 지정됩니다. 예를 들어 작업 이벤트 앞에는 salt/job/이 붙습니다. 단순 네임스페이스를 제공하기 위해 /을 사용하여 각 이벤트 요소를 구분합니다. 이 식별자를 이벤트 태그라고 하며, 작업 ID나 미니언 ID와 같은 특정 세부 정보를 포함하는 경우가 많습니다.

이벤트 태그와 함께 각 이벤트에는 특정 이벤트 데이터도 포함됩니다.

이벤트 데이터

각 이벤트에는 timestamp와 해당 이벤트에 고유한 추가 키 및 값이 포함됩니다.

나중에 리액터를 탐색할 때 이벤트 태그와 데이터를 사용하여 반응을 사용자 지정하는 방법에 대해 배우게 될 것입니다.

출처 : https://docs.saltproject.io/en/getstarted/event/events.html

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You May Also Like

SaltStack 구성 관리 – 함수

지금까지 SaltStack 기초에서 구성 관리 시스템의 기본을 배웠으니, 이번에는 솔트 스테이트 함수에 대해 자세히 알아보겠습니다. 솔트 스테이트 함수(Function)…

SaltStack 이해 – 플러그인

솔트 플러그-인 솔트 접근법에 대한 어떤 논의도 플러그인에 대한 논의 없이는 불완전할 것이다. 플러그인과 솔트의 플러그형 아키텍처를 이해하는…

Agentless Salt – 소개

솔트 에이전트리스를 사용하여 솔트 미니언을 설치하지 않고도 시스템에서 Salt 명령을 실행할 수 있습니다. 원격 시스템의 유일한 요구 사항은…

SaltStack 이해 – 파이썬

파이썬 아까 우리가 솔트를 사용하기 위해서 파이썬이나 다른 코드를 쓸 필요가 없다고 말한 것을 압니다. 사실입니다. 그러나 파이썬,…