溫馨提示×

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

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

如何使用API自動(dòng)增加Zabbix監(jiān)控主機(jī)

發(fā)布時(shí)間:2020-06-12 13:13:52 來源:億速云 閱讀:446 作者:元一 欄目:系統(tǒng)運(yùn)維

背景

zabbix是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開源解決方案。

zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營(yíng);并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問題。

zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。

zabbix server可以通過SNMP,zabbix agent,ping,端口監(jiān)視等方法提供對(duì)遠(yuǎn)程服務(wù)器/網(wǎng)絡(luò)狀態(tài)的監(jiān)視,數(shù)據(jù)收集等功能,它可以運(yùn)行在Linux,Solaris,HP-UX,AIX,F(xiàn)ree BSD,Open BSD,OS X等平臺(tái)上。

Zabbix優(yōu)點(diǎn):

1 支持分布式監(jiān)控

2 自帶繪圖功能,獲取到數(shù)值型的數(shù)據(jù),可自動(dòng)生成圖

3 Web配置方式,操作易用性較好。添加監(jiān)控項(xiàng)或機(jī)器時(shí)速度很快。

4 有報(bào)警時(shí)無論在任何界面會(huì)彈出小窗口報(bào)警,同時(shí)有報(bào)警的聲音提示,同時(shí)可對(duì)監(jiān)控項(xiàng)的快速查看。

5 自帶內(nèi)置函數(shù)較為豐富,同時(shí)也支持腳本及nagios等腳本的調(diào)用。

6 出現(xiàn)問題時(shí),可自動(dòng)遠(yuǎn)程執(zhí)行命令(需對(duì)agent設(shè)置執(zhí)行權(quán)限)

Zabbix 缺點(diǎn):

1 批量修改不方便,可用數(shù)據(jù)庫(kù)輔助

2 深入后,中文資料相當(dāng)少,大部分問題需看官方的文檔及論壇。

3 缺少數(shù)據(jù)匯總功能,如無法查看一組服務(wù)器平均值,可考慮對(duì)其進(jìn)行二次開發(fā)。

4 zabbix較cacti來說,畫圖功能較差些、流量獲取較為復(fù)雜

API:應(yīng)用程序接口(API:Application Program Interface)

應(yīng)用程序接口是一組定義、程序及協(xié)議的集合,通過 API 接口實(shí)現(xiàn)計(jì)算機(jī)軟件之間的相互通信。API 的一個(gè)主要功能是提供通用功能集。程序員通過調(diào)用 API 函數(shù)對(duì)應(yīng)用程序進(jìn)行開發(fā),可以減輕編程任務(wù)。 API 同時(shí)也是一種中間件,為各種不同平臺(tái)提供數(shù)據(jù)共享。

根據(jù)單個(gè)或分布式平臺(tái)上不同軟件應(yīng)用程序間的數(shù)據(jù)共享性能,可以將 API 分為四種類型:

遠(yuǎn)程過程調(diào)用(RPC):通過作用在共享數(shù)據(jù)緩存器上的過程(或任務(wù))實(shí)現(xiàn)程序間的通信。

標(biāo)準(zhǔn)查詢語言(SQL):是標(biāo)準(zhǔn)的訪問數(shù)據(jù)的查詢語言,通過數(shù)據(jù)庫(kù)實(shí)現(xiàn)應(yīng)用程序間的數(shù)據(jù)共享。

文件傳輸:文件傳輸通過發(fā)送格式化文件實(shí)現(xiàn)應(yīng)用程序間數(shù)據(jù)共享。

信息交付:指松耦合或緊耦合應(yīng)用程序間的小型格式化信息,通過程序間的直接通信實(shí)現(xiàn)數(shù)據(jù)共享。

新增接口前需要做個(gè)登錄,拿到登錄的token,然后拿到這個(gè)token,再去添加服務(wù)器。腳本如下:

#!/bin/bash

hostname='192.168.0.219'    #被監(jiān)控主機(jī)名稱
ip='192.168.0.219'                 #被監(jiān)控主機(jī)IP
port=10050                            #被監(jiān)控主機(jī)zabbix_agentd端口
templateid=10001                 #模板ID
groupid=2                             #需要加入的服務(wù)器組
zabbixhost='http://www.zabbix.com'     #zabbix主機(jī)地址

header='Content-Type:application/json'
request_data='{"jsonrpc" : "2.0","method" : "user.login","params" : {"user" : "admin" ,"password" : "zabbix"} ,"id" : 1 }'
result=$(curl -s -XPOST -H ${header} -d "${request_data}" ${zabbixhost}/api_jsonrpc.php)
token=$(echo $result|sed 's/.\+"result":"\([0-9a-z]\+\)".\+/\1/')

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

curl -s -XPOST -H ${header} -d "${save_request_data}" ${zabbixhost}/api_jsonrpc.php
向AI問一下細(xì)節(jié)

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

AI