基於rhel7.2的Zabbix平臺搭建和部署(四)
基於rhel7.2的Zabbix平臺搭建和部署(四)
一、實現zabbix添加監測項,添加對Linux主機的監控、
說明:先在“配置”-“主機”裏添加主機監控,監控os資源:內存,cpu,io,負載,帶寬等.
(1)登錄zabbix,先在“配置”-“主機”裏單擊”創建主機”:
(2)在“主機”標簽,填寫相關信息
註:這個主機名字必須和hostname的一模一樣,這裏用的ip就是被監控主機的ip。
其它選項默認即可。
(3)在“模板”標簽,填寫相關信息
至此,Zabbix監控Linux主機設置完成,如下圖所示:
(4)過一段時間後,可以來觀察監控圖效果出來了沒有
二、添加對Linux主機的mysql的監控
說明:zabbix3.0 server已自帶mysql的模板了,只需配置好agent客戶端,然後在web端給主機增加模板就行了。
第一步:首先在客戶端的mysql裏添加權限,即本機使用zabbix賬號連接本地的mysql(在zabbix_agent客戶端上操作)
[[email protected] ~]# mysql -uroot -p123456
mysql> grant all on *.* to [email protected] identified by ‘123456‘;
Query OK, 0 rows affected, 1 warning (0.08 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
第二步:在zabbix_agent服務目錄下創建.my.cnf 連接文件(註意有個“.”)
說明:zabbix安裝目錄是/usr/local/zabbix
[[email protected] ~]# cd /usr/local/zabbix/etc/
[[email protected] etc]# vim .my.cnf
註意:
⑴如果在數據庫grant授權時,針對的是localhost,這個.my.cnf裏面就不用加host參數了【就如上面的配置】
⑵如果grant授權時針對的是本機的ip(如192.168.1.9),那麽在.my.cnf文件裏就要加上host參數進行指定了
即在.my.cnf文件就要加上:
host=192.168.1.9
socket=/usr/local/mysql/mysql.sock
user=zabbix
password=123456
第三步:配置mysql的key文件
說明:這個可以從zabbix3.2安裝時的解壓包裏拷貝過來
從zabbix_server服務端安裝時解壓目錄/usr/src/zabbix-3.2.3/conf/zabbix_agentd/userparameter_mysql.conf 拷貝到zabbix_agent客戶端上的/usr/local/zabbix/etc/zabbix_agentd.conf.d/ 目錄下。
[[email protected] ~]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d/
[[email protected] zabbix_agentd.conf.d]# cp /usr/src/zabbix-3.2.3/conf/zabbix_agentd/userparameter_mysql.conf ./
[[email protected] zabbix_agentd.conf.d]# ls
userparameter_mysql.conf
第四步:查看 userparameter_mysql.conf 文件,看到類似HOME=/var/lib/zabbix 的路徑設置,把路徑全都替換為/usr/local/zabbix/etc/,也就是上面的.my.cnf文件所在的目錄路徑。
另外,註意userparameter_mysql.conf 文件裏的mysql命令路徑(提前做好mysql的系統環境變量,以防mysql命令不被系統識別)。
第五步:重啟zabbix_agent服務
[[email protected] ~]# systemctl stop zabbix_agentd
[[email protected] ~]# netstat -lnp |grep zabbix_agentd
[[email protected] ~]# systemctl start zabbix_agentd
[[email protected] ~]# netstat -lnp |grep zabbix_agentd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 3295/zabbix_agentd
第六步:接著在zabbix_server服務端進行命令行測試
[[email protected] ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k "mysql.status[Uptime]"
sh: mysql: command not found
以上命令有報錯!說找不到mysql這個命令!
解決方法如下:
在userparameter_mysql.conf中關於mysql命令前面添加絕對路徑(在zabbix_agent上操作)
[[email protected] ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf
修改三個地方
重啟服務(客戶端)
[[email protected] ~]# systemctl stop zabbix_agentd
[[email protected] ~]# netstat -lnp |grep zabbix_agentd
[[email protected] ~]# systemctl start zabbix_agentd
[[email protected] ~]# netstat -lnp |grep zabbix_agentd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 4403/zabbix_agentd
再次回到zabbix_server服務端進行命令行測試:
[[email protected] ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"mysql.status[Uptime]"
10158
註明1:如果出現類似這一串key的數字,就說明配置ok,服務端能監控到客戶端的mysql數據了!
成功了之後在監控界面增加主機對應的MySQL模板就ok了。
註明2:
zabbix_get命令介紹
參數說明:
-s--host:指定客戶端主機名或者IP(被監控客戶端)
-p--port:客戶端端口,默認10050
-I--source-address:指定源IP,寫上zabbix server的ip地址即可,一般留空,服務器如果有多ip的時候,你指定一個。
-k--key:你想獲取的key
zabbix_get獲取數據:
獲取負載
[[email protected] ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"system.cpu.load[all,avg15]"
0.050000
獲取主機名
[[email protected] ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.100.120 -p 10050 -k"system.hostname"
mysql
第七步:登錄zabbix監控界面,在“配置”-“模板”裏可以看到自帶的mysql監控模板
第八步:在相應主機監控配置裏添加mysql的監控模版(zabbix自帶的)即可:
選中:server-192.168.100.120這個主機!
第九步:mysql監控項效果圖
監控mysql的帶寬:在zabbix前端可以實時查看mysql發送接收的字節數。其中bytes received表示從所有客戶端接收到的字節數,bytes sent表示發送給所有客戶端的字節數。
監控mysql的操作狀態:在zabbix前端可以實時查看各種SQL語句每秒鐘的操作次數。
本文出自 “聖騎士控魔之手” 博客,請務必保留此出處http://wutengfei.blog.51cto.com/10942117/1933635
基於rhel7.2的Zabbix平臺搭建和部署(四)