[技術乾貨] 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結果成功

技術交流歡迎加入Q羣:177428068

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章