1. 程式人生 > WINDOWS開發 >[技術乾貨] Zabbix通過api監控k8s

[技術乾貨] Zabbix通過api監控k8s

監控方式:python+zabbix_sender
原理:python的request庫,請求k8s的api地址,對資料處理。

第一步:獲取k8s的api地址

檢視K8S的api地址的命令如下(最好在K8s叢集的master上執行這條命令,因為如果在node節點上執行該命令有可能會獲取舊的api地址)
技術分享圖片

第二步:K8S叢集的Master主機生成一個token用來認證,請求資料api資料

生成令牌命令如下(在K8S的Master主機執行命令)
kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep admin-user | awk ‘{print $1}‘)

把token的值儲存在本地的一個檔案即可,後期需要把token值新增到指令碼中。
技術分享圖片

模板指令碼下載地址:
連結:https://pan.baidu.com/s/1zIBudV8pI4peaQ21_sgPMg
提取碼:gt8i

第三步:上傳指令碼並修改指令碼

cd /usr/local/zabbix/share/zabbix/externalscripts目錄下建立一個命名k8s的目錄,把get_k8s.py指令碼放到此目錄
技術分享圖片
技術分享圖片
需要修改指令碼三個地方
上傳外部檢查get_k8s指令碼到/usr/local/zabbix/share/zabbix/externalscript目錄
技術分享圖片

第四步建立主機並且套用指令碼

注意:主機名稱必須是k8s_master,否則無法獲取資料。(因為資料是通過zabbix_sender傳送到該主機)

技術分享圖片
技術分享圖片

第五步,手動觸發指令碼

選中該監控項。點選立即檢查
技術分享圖片

資料效果
技術分享圖片

Zabbix通過api獲取k8s結果成功