夜鶴(Nightingale)自癒腳本

告警腳本使用前提

首先需要夜鶴 v7.0.0-beta.2.0.1 以上的版本,之前的版本也有告警自癒的能力,但之前的版本需要額外安裝部署 ibex 模塊,從這個版本開始就不需要單獨的 ibex 模塊了。

修改夜鶴服務端的配置

在夜鶴的配置文件:etc/config.toml 中搜索 Ibex,把 Enable 設置為 true:

腳本001

重啟夜鶴,讓配置生效。此時通過 ss 或 netstat 命令可以看到夜鶴服務端監聽了 20090 端口。這是 categraf 拉取腳本任務、上報腳本結果的端口。

修改 categraf 的配置

categraf 的配置文件是 conf/config.toml。在 conf/config.toml 中搜索 ibex,把 enable 設置為 true,並正確配置夜鶴服務端的地址和端口:

腳本002

如果你的機器量比較大,比如超過 10000 台,建議把 interval 調整的稍微大一些,比如 2500ms,要不然容易給服務端造成太大壓力。servers 配置是個數組,配置所有的夜鶴服務端的地址,如果你有多個夜鶴服務端實例,categraf 啟動時會自動探測,連到那個網絡延遲最小的實例上,如果夜鶴服務端實例掛了,categraf 會自動切換到另外一個實例上,保證高可用。

改完配置之後重啟 categraf,讓配置生效。

配置腳本

下面是一個重啟 systemctl 守護進程服務的簡單 shell 腳本,通過 stdin 讀取進程名稱,最後執行啟動服務命令,這個腳本可以適配 systemctl 守的大部分服務。 Python ]參考這裡

腳本003

關聯告警規則

配置好腳本後,需要將回調腳本地址配置到告警規則中。

腳本004

在告警規則回調地址中填寫告警自癒回調地址。

腳本005

查看自癒腳本執行記錄

最後觸發進程告警後,會自動調取腳本執行恢復啟動進程命令。

腳本006

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云