溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用zabbix?api批量添加數(shù)百臺監(jiān)控主機

發(fā)布時間:2022-03-07 09:15:17 來源:億速云 閱讀:305 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下如何使用zabbix api批量添加數(shù)百臺監(jiān)控主機,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

在公司規(guī)模很龐大的時候,每次都手動添加監(jiān)控主機將會很麻煩,我們可以利用zabbix的api去批量添加監(jiān)控主機

本次我們將實現(xiàn)用一臺主機虛擬出100臺主機,并通過api的方式自動添加監(jiān)控主機

掌握本次方法,無需要了解python,也不需要寫python腳本

1.獲取批量添加主機的api

可以從官網(wǎng)取到

https://www.zabbix.com/documentation/4.0/zh/manual/api/reference/host/create

{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "192.168.81.180",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "192.168.81.180",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "15"
            }
        ],
        "templates": [
            {
                "templateid": "10271"
            }
        ]
    },
    "auth": "'$token'",
    "id": 1
}

api必要字段說明

解釋:
“host”: “192.168.81.160”, #主機名稱
“interfaces”: [
{
“type”: 1, #使用agent客戶端
“main”: 1, #默認
“useip”: 1, #ip地址
“ip”: “192.168.81.160”, #agent的地址
“dns”: “”,
“port”: “10050” #agent端口
}
],
“groups”: [
{
“groupid”: “15” #主機群組的id
}
],
“templates”: [
{
“templateid”: “10271” #模板id
}
]

2.創(chuàng)建一百臺服務(wù)器

我們雖然沒有一百臺服務(wù)器,但是我們可以創(chuàng)建100個網(wǎng)卡,且都在一臺機器上,有一百個ip即可

[root@k8s-master ~]# for i in {100..200}
do
ifconfig ens33:$i 192.168.81.$i
ifconfig ens33 up
done

如何使用zabbix?api批量添加數(shù)百臺監(jiān)控主機

3.編寫批量添加主機的腳本

3.1.將一百臺機器的ip寫到文件中

[root@k8s-master ~]# echo 192.168.81.{100..200} | xargs -n1 > /root/host.txt

3.2.在機器上安裝zabbix-agent

[root@k8s-master ~]# yum -y install zabbix-agent
[root@k8s-master ~]# vim /etc/zabbix/zabbix_agentd.conf 
Server=192.168.81.250
[root@k8s-master ~]# systemctl restart zabbix-agent

3.3.編寫批量添加主機的腳本

[root@k8s-master ~]# vim zabbix_host_creates.sh 
#!/bin/bash
#批量添加zabbix主機
#登陸
token=`echo $json | grep result | awk -F'"' '{print $10}'`

#批量添加主機
for ip in `cat /root/host.txt`
do
curl -s -X POST -H 'Content-Type: application/json' -d '
{
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
        "host": "'$ip'",
        "interfaces": [
            {
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "'$ip'",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
                "groupid": "15"
            }
        ],
        "templates": [
            {
                "templateid": "10271"
            }
        ]
    },
    "auth": "'$token'",
    "id": 1
}' http://192.168.81.250/zabbix/api_jsonrpc.php | python -m json.tool
done

3.4.執(zhí)行腳本

[root@k8s-master ~]# chmod a+x zabbix_host_creates.sh 
[root@k8s-master ~]# sh zabbix_host_creates.sh

腳本輸出

如何使用zabbix?api批量添加數(shù)百臺監(jiān)控主機

3.5.查看監(jiān)控主機是否批量創(chuàng)建成功

全部為有效狀態(tài)

如何使用zabbix?api批量添加數(shù)百臺監(jiān)控主機

看完了這篇文章,相信你對“如何使用zabbix api批量添加數(shù)百臺監(jiān)控主機”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI