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