zabbix监控部署 与添加主机
zabbix介紹:
- zabbix([`z?biks])是一個(gè)基于WEB界面的提供分布式系統(tǒng)監(jiān)視以及網(wǎng)絡(luò)監(jiān)視功能的企業(yè)級(jí)的開(kāi)源解決方案。
- zabbix能監(jiān)視各種網(wǎng)絡(luò)參數(shù),保證服務(wù)器系統(tǒng)的安全運(yùn)營(yíng);并提供靈活的通知機(jī)制以讓系統(tǒng)管理員快速定位/解決存在的各種問(wèn)題。
- zabbix由2部分構(gòu)成,zabbix server與可選組件zabbix agent。
- zabbix server可以通過(guò)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,Free BSD,Open BSD,OS X等平臺(tái)上。
- zabbix agent需要安裝在被監(jiān)視的目標(biāo)服務(wù)器上,它主要完成對(duì)硬件信息或與操作系統(tǒng)有關(guān)的內(nèi)存,CPU等信息的收集。
- zabbix server可以單獨(dú)監(jiān)視遠(yuǎn)程服務(wù)器的服務(wù)狀態(tài);同時(shí)也可以與zabbix agent配合,可以輪詢(xún)zabbix agent主動(dòng)接收監(jiān)視數(shù)據(jù)(agent方式),同時(shí)還可被動(dòng)接收zabbix agent發(fā)送的數(shù)據(jù)(trapping方式)。
- 要想搭建一個(gè)Zabbix的工作環(huán)境,需要從服務(wù)器入手。與服務(wù)器通信,管理員需要使用一個(gè)Zabbix前端界面,與Zabbix服務(wù)器和數(shù)據(jù)庫(kù)進(jìn)行通信。三個(gè)關(guān)鍵(界面、服務(wù)器和數(shù)據(jù)庫(kù))可以安裝在同一臺(tái)服務(wù)器上,但是如果你擁有一個(gè)更大更復(fù)雜的環(huán)境,將它們安裝在不同的主機(jī)上也是一個(gè)選項(xiàng)。Zabbix服務(wù)器能夠直接監(jiān)控到同一網(wǎng)絡(luò)中的設(shè)備,如果其他網(wǎng)絡(luò)的設(shè)備也需要被監(jiān)控,那還需要一臺(tái)Zabbix代理服務(wù)器。
主要功能:CPU負(fù)荷,內(nèi)存使用,磁盤(pán)使用,網(wǎng)絡(luò)狀況,端口監(jiān)視,日志監(jiān)視。
官網(wǎng):https://www.zabbix.com 下載安裝包以及查看官方文檔。
服務(wù)搭建:
安裝 Zabbix server 并使用 MySQL 數(shù)據(jù)庫(kù)
yum install zabbix-server-mysql.x86_64 -y安裝 Zabbix 前端
yum install zabbix-web-mysql -y安裝數(shù)據(jù)庫(kù)mariadb并進(jìn)行安全初始化:
yum install mariadb-server.x86_64 -y systemctl enable mariadb.service systemctl start mariadb.service mysql_secure_installation登陸數(shù)據(jù)庫(kù)并在數(shù)據(jù)庫(kù)中創(chuàng)建庫(kù)以及用戶(hù)并進(jìn)行授權(quán):
create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';導(dǎo)入數(shù)據(jù),使用 MySQL 來(lái)導(dǎo)入 Zabbix server 的初始數(shù)據(jù)庫(kù) schema 和數(shù)據(jù)
由于該數(shù)據(jù)較多,導(dǎo)入的過(guò)程較長(zhǎng),不能中途打斷。
成功后可進(jìn)入數(shù)據(jù)庫(kù)查看
mysql -p use zabbix; show tables;
配置zabbix server 配置文件
啟動(dòng) Zabbix server 進(jìn)程
查看端口開(kāi)啟沒(méi):
httpd服務(wù)配置
需要在前端web頁(yè)面展示監(jiān)控結(jié)果。需要httpd服務(wù)開(kāi)啟并設(shè)置開(kāi)機(jī)自動(dòng)啟動(dòng)
測(cè)試zabbix server 是否設(shè)置好,在物理機(jī)瀏覽器進(jìn)行測(cè)試 http://192.168.13.111/zabbix/setup.php
點(diǎn)擊Next step,之后會(huì)看到一個(gè)頁(yè)面,顯示檢查php的結(jié)果
繼續(xù)往下,輸入密碼,密碼是mysql中的密碼
名字隨便來(lái)一個(gè)把
顯示成功安裝的頁(yè)面
登陸zabbix(默認(rèn)用戶(hù)是Admin,密碼是zabbix)
登陸成功后,顯示了以下的界面,點(diǎn)擊右上角的"小人"頭像
點(diǎn)擊后選擇language為Chinese(以便我們之后更好的操作),注意這里也可以更改密碼。
監(jiān)控的四種添加主機(jī)方式:
首先我們要做的是:
配置zabbix agent IP為192.168.13.112
裝好之后修改配置文件
vim /etc/zabbix/zabbix_agentd.conf98 Server=192.168.13.111 指定server主機(jī),agent主機(jī)主動(dòng)上報(bào)數(shù)據(jù)給server主機(jī) 139 ServerActive=192.168.13.111 server主機(jī)主動(dòng)前來(lái)agent主機(jī)提取數(shù)據(jù) 150 Hostname=server2 指定本機(jī)的主機(jī)名稱(chēng)啟動(dòng)服務(wù),并設(shè)置服務(wù)開(kāi)機(jī)自動(dòng)啟動(dòng)
systemctl start zabbix-agent.service systemctl enable zabbix-agent.service開(kāi)啟之后查看10050端口開(kāi)啟情況:已經(jīng)正常開(kāi)啟
netstat -antlp
1 . 手動(dòng)添加:
配置–>主機(jī)–>右上角創(chuàng)建主機(jī)
選好后在填下模板
添加完畢后的界面應(yīng)該是這樣的
手動(dòng)的弊端就在于需要一個(gè)一個(gè)的去進(jìn)行添加。當(dāng)需要進(jìn)行添加的服務(wù)器數(shù)量加大的時(shí)候,實(shí)現(xiàn)存在困難。
2 . 自動(dòng)發(fā)現(xiàn):
將之前創(chuàng)建的主機(jī)刪除,避免其影響之后的結(jié)果
創(chuàng)建自動(dòng)發(fā)現(xiàn)規(guī)則,填寫(xiě)名稱(chēng);ip范圍;更新間隔;檢查等:(Zabbix 客戶(hù)端 “system.uname”)選中已啟用
然后查看新的主機(jī)是否被發(fā)現(xiàn)上線(xiàn)。
該過(guò)程是已經(jīng)配置的好的agent主機(jī),需要等待著被server主機(jī)按照一定的頻率以及一定的條件(都在規(guī)則中進(jìn)行規(guī)定)發(fā)現(xiàn)之后才能添加進(jìn)監(jiān)控。
3 . 自動(dòng)注冊(cè):
- agent可以實(shí)現(xiàn)自動(dòng)注冊(cè),進(jìn)而服務(wù)器對(duì)其進(jìn)行監(jiān)控。通過(guò)這種方式,無(wú)需在服務(wù)器上進(jìn)行手動(dòng)配置便可直接啟動(dòng)對(duì)新host的監(jiān)控。
- 當(dāng)以前未知的active agent要求檢查時(shí),會(huì)發(fā)生自動(dòng)注冊(cè)。
- 這樣功能可以非常方便的自動(dòng)監(jiān)控新的Cloud節(jié)點(diǎn)。一旦在Cloud中有一個(gè)新節(jié)點(diǎn),Zabbix將自動(dòng)啟動(dòng)host的性能和可用性數(shù)據(jù)的收集。
在瀏覽器中點(diǎn)擊配置->自動(dòng)發(fā)現(xiàn),點(diǎn)擊“已啟用”將自動(dòng)發(fā)現(xiàn)禁用(也可以將其打上對(duì)勾,選擇底下的禁用)
在配置—>動(dòng)作—>選擇右上角為自動(dòng)注冊(cè)—>點(diǎn)擊創(chuàng)建動(dòng)作
操作 新的,添加主機(jī);添加到主機(jī)群組 linux server;鏈接到模板 template os linux;添加;
重新啟動(dòng)server2主機(jī)上的zabbix-agent服務(wù)。然后等待server2 主機(jī)被自動(dòng)添加
4 . Api
Zabbix API允許你以編程方式檢索和修改Zabbix的配置,并提供對(duì)歷史數(shù)據(jù)的訪(fǎng)問(wèn)。
(1)它廣泛用于:
- 創(chuàng)建新的應(yīng)用程序以使用Zabbix;
- 將Zabbix與第三方軟件集成;
- 自動(dòng)執(zhí)行常規(guī)任務(wù)。
主機(jī)和主機(jī)組
什么是“主機(jī)”?
- 一般來(lái)講,Zabbix主機(jī)是指你希望監(jiān)控的那些設(shè)備,例如服務(wù)器、工作站、交換機(jī)等等。
- 創(chuàng)建主機(jī)是使用Zabbix過(guò)程中的一個(gè)首要任務(wù)。例如,如果你想在一臺(tái)服務(wù)器“X”上監(jiān)控一些參數(shù),你必須首先創(chuàng)建一個(gè)主機(jī)稱(chēng)之為“服務(wù)器X”,然后就可以查看添加監(jiān)控項(xiàng)到這臺(tái)“服務(wù)器X”上。
- 主機(jī)組是由主機(jī)組成的。
大多數(shù)API至少包含四種方法: get, create, update 和 delete ,分別是檢索,創(chuàng)建,更新和刪除數(shù)據(jù),但是某些API提供一套完全不同的一組方法。
示例:
1 . 驗(yàn)證:在訪(fǎng)問(wèn)Zabbix中的任何數(shù)據(jù)之前,你需要登錄并獲取身份驗(yàn)證令牌。這可以使用該 user.login 方法完成。
vim zabbix-api.sh chmod +x zabbix-api ./zabbix-api腳本內(nèi)容如下圖:
curl -s -XPOST -H "Content-Type: application/json-rpc" -d ' {"jsonrpc": "2.0","method": "user.login","params": {"user": "Admin","password": "zabbix"},"id": 1,"auth": null }' http://192.168.13.111/zabbix/api_jsonrpc.php | python -m json.tool運(yùn)行腳本獲得身份驗(yàn)證令牌:
值得注意的是:
請(qǐng)求的 Content-Type 頭部必須設(shè)置為以下值之一: application/json-rpc, application/json 或 application/jsonrequest。
示例請(qǐng)求對(duì)象具有以下屬性:
jsonrpc - API使用的JSON-RPC協(xié)議的版本; Zabbix API實(shí)現(xiàn)的JSON-RPC版本是2.0;
method - 被調(diào)用的API方法名;
params - 將被傳遞給API方法的參數(shù);
id - 請(qǐng)求的任意標(biāo)識(shí)符;
auth -用戶(hù)認(rèn)證令牌; 因?yàn)槲覀冞€沒(méi)有一個(gè),它的設(shè)置null。
如果你正確提供了憑據(jù),API返回的響應(yīng)將包含用戶(hù)身份驗(yàn)證令牌:
響應(yīng)對(duì)象又包含以下屬性:
jsonrpc - JSON-RPC協(xié)議的版本;
result - 方法返回的數(shù)據(jù);
id - 相應(yīng)請(qǐng)求的標(biāo)識(shí)符。
2 . 檢索主機(jī):
現(xiàn)在有一個(gè)有效的用戶(hù)身份驗(yàn)證令牌,可以用來(lái)訪(fǎng)問(wèn)Zabbix中的數(shù)據(jù)。例如,讓我們使用 host.get 方法檢索所有已配置主機(jī)的ID,主機(jī)名和接口 :
vim zabbix-api # 修改腳本內(nèi)容 ./zabbix-api修改內(nèi)容如下圖所示:
curl -s -XPOST -H "Content-Type: application/json-rpc" -d ' {"jsonrpc": "2.0","method": "host.get","params": {"output": ["hostid","host"],"selectInterfaces": ["interfaceid","ip"]},"id": 2,"auth": "c565ff432984698f987811831128ceca" }' http://192.168.13.111/zabbix/api_jsonrpc.php | python -m json.tool執(zhí)行腳本成功
3 . 刪除主機(jī):
使用 host.delete 方法刪除指定的主機(jī)。
vim zabbix-api ./zabbix-api curl -s -XPOST -H "Content-Type: application/json-rpc" -d ' {"jsonrpc": "2.0","method": "host.delete","params": ["10266"],"id": 2,"auth": "c565ff432984698f987811831128ceca" }' http://192.168.13.111/zabbix/api_jsonrpc.php | python -m json.tool執(zhí)行腳本刪除
4 . 創(chuàng)建主機(jī):
創(chuàng)建一個(gè)具有IP接口的“Linux Server”主機(jī),將其添加到主機(jī)組中,鏈接一個(gè)模板并且把MAC地址設(shè)置到主機(jī)資產(chǎn)清單里(注意:在實(shí)驗(yàn)開(kāi)始之前需要將之前做的自動(dòng)發(fā)現(xiàn)和自動(dòng)注冊(cè)取消,否則會(huì)報(bào)錯(cuò),而且在實(shí)驗(yàn)開(kāi)始之前需要將添加的主機(jī)進(jìn)行刪除,否則無(wú)法成功添加):
vim zabbix-api ./zabbix-api curl -s -XPOST -H "Content-Type: application/json-rpc" -d ' {"jsonrpc": "2.0","method": "host.create","params": {"host": "server2","interfaces": [{"type": 1,"main": 1,"useip": 1,"ip": "192.168.13.112","dns": "","port": "10050"}],"groups": [{"groupid": "2"}],"templates": [{"templateid": "10001"}]},"id": 2,"auth": "c565ff432984698f987811831128ceca" }' http://192.168.13.111/zabbix/api_jsonrpc.php | python -m json.tool運(yùn)行腳本:
在網(wǎng)頁(yè)上查看發(fā)現(xiàn)server2存在
總結(jié)
以上是生活随笔為你收集整理的zabbix监控部署 与添加主机的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 百度地图手机和电脑不一致_你可能不知道的
- 下一篇: 胃癌2019csco指南_2019 CS