SaltStack - 事件系統



Salt 中的事件系統是一個本地 ZeroMQ PUB 介面,它觸發 Salt 事件。它由以下元件執行。

  • 事件套接字 − 用於釋出事件。

  • 事件庫 − 用於監聽事件並將事件傳送到 Salt 系統。

Salt Master 事件

Salt master 提供不同型別的事件,詳述如下:

  • 身份驗證事件
  • 啟動事件
  • 金鑰事件
  • 作業事件
  • Runner 事件
  • 存在事件
  • 雲事件

讓我們詳細瞭解每種事件型別。

身份驗證事件

當 minion 與 master 執行身份驗證檢查時,會觸發這些身份驗證事件。它由 salt/auth 表示。

啟動事件

每當 minion 連線到 Salt master 時,都會觸發啟動事件,它由 salt/minion//start 表示。

金鑰事件

當 Salt master 接受和拒絕 Salt minion 上的金鑰時,會觸發金鑰事件。您可以使用 salt-key 命令訪問此事件。

作業事件

每當新作業即將開始時,就會觸發作業事件。它由 salt/job//new 表示。這裡,JID - 作業 ID new - 新作業

Runner 事件

當 runner 開始執行時,會觸發 runner 事件。它由 salt/run//new 表示。

存在事件

當 minion 連線或新連線或斷開連線時,會定期觸發此事件。它由 – salt/presence/presentsalt/presence/change 表示。這裡:

  • Present − 表示 Salt master 當前已連線到 minion 列表。

  • Change − 用於檢測新的 minion – 已連線或已斷開連線。

雲事件

salt-cloud 事件在虛擬機器上觸發。除非其他事件,否則它不會在 minion 上執行。您可以使用 – salt/cloud//creating 訪問它。當 Salt cloud 開始虛擬機器執行過程時,它會被觸發。

事件工具

現在,讓我們瞭解事件工具和指令碼。您可以使用 CLI 訪問事件匯流排。它可以透過以下命令訪問。

salt-run state.event pretty = True

在這裡,runner 旨在從外部工具和 shell 指令碼與事件匯流排互動。Salt 的事件匯流排可以透過 REST API 遠端訪問。它由 – (示例 URL) 表示。

curl -SsNk https://salt-api.example.com:8000/events?token = 05A3.

同樣,您也可以從 Python 指令碼訪問事件。

廣告
© . All rights reserved.