Zabbix

1 zabbix簡介

zabbix是一個高度集成的監控解決方案,通過C/S模式採集監控數據,通過B/S模式實現web管理。

監控服務器:通過SNMP或Agent採集數據,數據可以寫入Mysql,Oracle數據庫中,服務器使用LAMP實現web端的管理。

被監控主機:被監控主機需要安裝agent


2 搭建Zabbix監控系統

2.1 部署LAMP環境

yum -y install httpd mariadb mariadb-server mariadb-devel  php php-mysql

yum -y install gcc gcc-c++

2.2 安裝zabbix

(1)useradd zabbix

tax -xf zabbix-3.2.3.tar.gz

[root@ser56 zabbix-3.2.3]# ./configure   --prefix=/usr/local/zabbix  --enable-server --enable-agent  

--with-mysql #配置監控程序,客戶端程序(對本機監控),使用mysql數據庫

(--enable-proxy:開啓zabbix代理功能,此選項常用於分佈式監控

 --with-net-snmp : 支持 網絡監控 

 --with-libcurl : 支持 curl,用於 web 監控

 --with-libxml2:開啓虛擬監控)

[root@ser56 zabbix-3.2.3]#make install

[root@ser56 zabbix-3.2.3]# ls /usr/local/zabbix/

bin  etc  lib  sbin  share

bin:zabbix管理命令

etc:配置文件

lib:庫文件

sbin:服務啓動程序

share:幫助文件

(2)初始化配置

創建web頁面

[root@ser56 zabbix-3.2.3]# cp -r frontends/php/ /var/www/html/zabbix

創建存儲配置信息的庫和表,並授權用戶

create database zabbixdb;

grant all on zabbixdb.* to lisi@localhost identified by “123456”;

[root@ser56 zabbix-3.2.3]# ls database/mysql/

data.sql  images.sql  schema.sql    #恢復數據必須從後邊的開始

[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456  zabbixdb < database/mysql/schema.sql 

[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456  zabbixdb < database/mysql/images.sql 

[root@ser56 zabbix-3.2.3]# mysql -ulisi -p123456  zabbixdb < database/mysql/data.sql 

(3)安裝依賴的軟件包

根據web配置頁面安裝依賴包

[root@ser56 ~]# vim /etc/php.ini 

878 date.timezone = Asia/Shanghai       #修改時區

[root@ser56 ~]# systemctl restart httpd

[root@ser56 zabbix]# yum -y install php-gd php-xml

[root@ser56 zabbix]# rpm -ivh --nodeps php-bcmath-5.4.45-13.el7.remi.x86_64.rpm php-mbstring-5.4.45-13.el7.remi.x86_64.rpm

[root@ser56 ~]# systemctl restart httpd

訪問web頁面:firefox http://ip/zabbix

zabbix001.pngzabbix002.pngzabbix003.pngzabbix004.pngzabbix005.pngzabbix006.pngzabbix007.png

2.3 啓動zabbix監控服務

(1)創建啓動腳本

[root@ser56 zabbix-3.2.3]# cp  misc/init.d/fedora/core/zabbix_server   /etc/init.d/

[root@ser56 zabbix-3.2.3]# chmod +x /etc/init.d/zabbix_server 

[root@ser56 zabbix-3.2.3]# sed -i  '22s;/usr/local;&/zabbix;' /etc/init.d/zabbix_server

(2)修改配置文件

[root@ser56 ~]# vim /usr/local/zabbix/etc/zabbix_server.conf

修改數據庫庫名,用戶名,密碼

(3)啓動服務

[root@ser56 ~]# /etc/init.d/zabbix_server  start

[root@ser56 ~]# netstat -anptu | grep zabbix_server   #端口10051


2.4 監控linux機器

(1)監控遠端主機

tar -xf zabbix-3.2.3.tar.gz

useradd zabbix

[root@ser51 zabbix-3.2.3]# ./configure  --prefix=/usr/local/zabbix --enable-agent

[root@ser51 zabbix-3.2.3]# make install

[root@ser52 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

Server=127.0.0.1,192.168.4.56     #允許監控服務器連接

ServerActive=192.168.4.56:10051  #指定監控服務器的ip和端口,此處爲主動模式

(注意:相對於agent而言,被動模式爲server主動獲取agent的信息,主動模式爲agent把自己的信息推送給server。一般爲了減輕服務器的壓力,會設置爲主動模式。)

[root@ser51 zabbix-3.2.3]# cp  misc/init.d/fedora/core/zabbix_agentd /etc/init.d/   #服務的啓動等放在該路徑下

vim /etc/init.d/zabbix_agentd  #修改一下信息

BASEDIR=/usr/local/zabbix

/etc/init.d/zabbix.agented start  #啓動agent

netstat -anptu | grep :10050       #驗證端口



(2) 監控本機

[root@ser51 zabbix-3.2.3]# cp  misc/init.d/fedora/core/zabbix_agentd /etc/init.d/

vim /etc/init.d/zabbix_agentd


2.5 監控windows機器

(1)解壓,移動到目標路徑下;有以下文件夾,\bin,\conf

(2)修改配置文件

LogFile=          #日誌文件路徑

Server=           # zabbix服務器ip地址

ServerActive= # zabbix服務器ip地址

Hostname=    # 客戶端機器名

(3)安裝

在\bin\win64\路徑下打開cmd(shift+右鍵)

C:\bin\win64> zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf  -i #安裝zabbix,安裝之後再服務裏會有

(4)啓動

C:\bin\win64> zabbix_agentd.exe -c c:\conf\zabbix_agentd.win.conf  -s

-c: 指定配置文件的路徑

-s: 啓動

-i :安裝

-d:卸載

-x:停止

 

2.6 zabbix-proxy安裝(對於分佈式而言)

(1)安裝maraiadb/mysql,創建存儲庫

(2)導入schema.sql文件到庫

(3)編譯安裝zabbix

(4)配置zabbix_proxy.conf文件


2.7 自定義監控

(1) 使用軟件自帶的命令創建新的監控項

修改被監控的httpd的端口從80改爲8090

a 創建主機

zabbix009.png

b 創建模版(配置--->模版--->創建新的模版)

zabbix012.png


c 創建新的應用集

zabbix013.png

d 創建監控項

zabbix014.png

e 監控主機時調用創建的新的模版

zabbix010.png

f 查看監控信息 ,監測中--->最新數據

zabbix011.png

(2)自定義監控命令創建新的監控項

a 被監控端啓用自定義監控命令

[root@ser51 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf

263行:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

UnsafeUserParameters=1   #啓用自定義

Format: UserParameter=<key>,<shell command> #格式,第一個參數是命令名,第二個參數是命令對應的shell命令或者腳本

b 被監控端定義監控命令

[root@ser51 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/getusers.conf

UserParameter=get_login_users,grep "/bin/bash" /etc/passwd | wc -l

c 重啓服務

[root@ser51 ~]# /etc/init.d/zabbix_agentd restart

d 測試配置

/usr/local/zabbix/bin/zabbix_get --help

[root@ser51 ~]# /usr/local/zabbix/bin/zabbix_get -s 127.0.0.1  -p 10050 

-k get_login_users  #測試自定義的命令是否正確

在配置-模版-監控項-新建-鍵值-輸入get_login_users 實現圖形化監測

 

2.8 配置監控報警

發生錯誤如何發送郵件?

創建觸發器 : 配置--主機--模版--觸發器--添加

zabbix016.png

創建動作  : 配置--動作--添加--動作--操作

zabbix017.png

zabbix018.png

創建郵箱帳號:管理--用戶--報警媒介--添加 (指定收件人)

zabbix019.png

指定郵件服務器:管理--報警媒介類型--添加

zabbix020.png




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章