Linux 之 zabbix 安裝配置及應用

Zabbix簡介:

1.基於web的開源軟件,開源監控系統狀態也可以監控網絡設備。

2.和nagios不同的是zabbix會把獲取的數據保存在數據庫中,所以zabbix需要有數據庫支持 

3.Zabbix還可以自動發現主機和網絡設備

4.支持郵件和短信告警

5.Zabbix大多配置都可以在web界面配置完成。

6.Zabbix cacti nagios 都是基於php 寫出來的網站程序,所以要想運用這些軟件,需要基於lamp 或lnmp(yum安裝他們不支持nginx的配置文件而lamp 安裝會黙認在apache 的配置文件下生成一個子配置文件,可以通個IP 直接來訪問他們) 來使用。

官網http://www.zabbix.com/ 


安裝Zabbix :

rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm #安裝yum 源epel。樓主的是LAMP 環境。 這一步操作省了,下一步操作也省了。


安裝rpm包的lamp環境 yum install -y  httpd mysql mysql-libs php php-mysql mysql-server php-bcmath php-gd php-mbstring



服務端Zabbix 安裝:

客戶端也要安裝zabbix20-agent,版本要保持一致。


[root@OBird ~]# yum install  zabbix20 zabbix20-agent zabbix20-server  zabbix20-server-mysql zabbix20-web zabbix20-web-mysql net-snmp-devel


[root@OBird ~]# /etc/init.d/zabbix-server start; /etc/init.d/zabbix-agent start

Starting Zabbix server:                                    [  OK  ]

Starting Zabbix agent:                                     [  OK  ]


[root@OBird ~]# netstat -lnp #查看端口有10050 10051,樓主發現10051 zabbix-server沒有啓來


[root@OBird ~]# less /var/log/zabbix/zabbix_server.log  #查看zabbix 日誌,發現是數據庫問題

 

wKiom1hkoTXy7MiyAAO5ZCfRJ5k254.jpg

'/var/lib/mysql/mysql.sock' (2)

  4510:20161229:102804.301 Database is down. Reconnecting in 10 seconds.

  4510:20161229:102814.302 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket 


[root@OBird ~]# /etc/init.d/httpd start; /etc/init.d/mysqld start  #啓動httpd & mysqld

Starting httpd:                                            [  OK  ]

Starting mysqld:                                           [  OK  ]


[root@OBird ~]# mysql -uroot -pzaq12wsx #進入數據庫

mysql> create database zabbix;

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    43

Current database: *** NONE ***


Query OK, 1 row affected (0.00 sec)


mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| cacti              |

| discuz             |

| mysql              |

| test               |

| zabbix             |

+--------------------+

6 rows in set (0.05 sec)


mysql> show variables like '%char%';  #查看實例字符集

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    55

Current database: zabbix


+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | latin1                     |

| character_set_connection | latin1                     |

| character_set_database   | latin1                     |

| character_set_filesystem | binary                     |

| character_set_results    | latin1                     |

| character_set_server     | latin1                     |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)


mysql> SET character_set_client = utf8 ;更改實例的字符集,不知道有沒有問題,先這樣做了再說

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    13

Current database: *** NONE ***


Query OK, 0 rows affected (0.00 sec)


mysql> SET NAMES 'utf8';

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id:    8

Current database: *** NONE ***


Query OK, 0 rows affected (0.00 sec)


mysql> show variables like '%char%';#再次查看

+--------------------------+----------------------------+

| Variable_name            | Value                      |

+--------------------------+----------------------------+

| character_set_client     | utf8                       |

| character_set_connection | utf8                       |

| character_set_database   | latin1                     |

| character_set_filesystem | binary                     |

| character_set_results    | utf8                       |

| character_set_server     | latin1                     |

| character_set_system     | utf8                       |

| character_sets_dir       | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

 

導入三個數據庫:


[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix < /usr/share/zabbix-mysql/schema.sql

[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix < /usr/share/zabbix-mysql/images.sql

[root@OBird ~]# mysql -uroot -pzaq12wsx zabbix < /usr/share/zabbix-mysql/data.sql


再次啓動zabbix-server 還是沒有啓動,日誌報錯和上面的一樣。


[root@OBird ~]# mysql -uroot -pzaq12wsx

mysql>grant all on *.* to 'zabbix'@'localhost' identified by 'zabbix'; #創建用戶&密碼及授權

Query OK, 0 rows affected (0.00 sec)


[root@OBird ~]# vim /etc/zabbix/zabbix_server.conf #編輯寫入zabbix 用戶密碼。

DBPassword=zabbix


[root@OBird ~]# ls /tmp/mysql.sock  # mysql.sock 在tmp 這個文件夾下

/tmp/mysql.sock


[root@OBird ~]# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #做一個軟鏈接


[root@OBird ~]# service mysqld restart  #重啓數據庫

Stopping mysqld:                                           [  OK  ]

Starting mysqld:                                           [  OK  ]

[root@OBird ~]# /etc/init.d/zabbix-server restart #重啓zabbix-server 服務

Shutting down Zabbix server:                               [  OK  ]

Starting Zabbix server:                                    [  OK  ]

查詢確認Zabbix 服務已經啓動:

wKioL1hkoxLxBEytAAC7jODOiaY747.jpg


網頁端 Zabbix 安裝:

http://10.72.4.43/zabbix/

wKioL1hkpCLDpU3jAAIbFKQDXyA291.jpg

wKioL1hkpOGh3MdgAAJWw3QSSUY236.jpg

以下三項測試不通過:


PHP option post_max_size8M16MFail




PHP option max_execution_time30300Fail
PHP option max_input_time60300Fail


[root@OBird ~]# vim /etc/php.ini  #編輯php.ini 文件   


post_max_size = 16M #8M->16M

max_execution_time = 300 # 30 -> 300

ax_input_time = 300 # 60 ->300


[root@OBird ~]# service httpd restart   


刷 新 :http://10.72.4.43/zabbix/  ,全部通過,直接下一步,下一步直至安裝完成。

 

wKioL1hkpmCx3PBNAAIg2VdQwV4724.jpg

wKioL1hkqEyS_MTTAAJVf0oE8x0659.jpg

wKioL1hkqSbx9H5EAADwma21QbY789.jpg

wKiom1hkqZvw28zyAAEThAv0UKk808.jpg

wKioL1hkqZvSLct3AAC4BMFGzzo325.jpg

wKiom1hkqZyxX334AAIDtNUTbbA533.jpg

Zabbix 黙認管理員帳號:  admin ps:zabbix  .至此Zabbix 服務端安裝完成。


wKioL1hkrCKCIy7yAAGo8NT_0Hk449.jpg

----------------------------------------分割線----------------------------------------


安裝接入監控的客戶端主機:客戶端機的環境是 LNMP.


[root@LNMP ~]# yum install zabbix20-agent


[root@LNMP ~]# vim /etc/zabbix_agentd.conf  #編輯配置文件,更改爲以下

Server=10.72.4.43          #服務端IP

ServerActive=0.0.0.0:10050 #監聽端口

Hostname=Zabbix_liven_linux  #自定義的主機名


[root@LNMP ~]# /etc/init.d/zabbix-agent start #啓動zabbix-agent 服務

Starting Zabbix agent:                                     [  OK  ]


[root@OBird ~]# zabbix_get -s 10.72.4.38 -p10050 -k "system.hostname"

LNMP

#在服務端檢測客戶端主機名,檢測無誤。說明兩機之間通信無誤。


wKioL1hku_Ci6dRcAAIfetzdeXw921.jpg

添加監控模版:

wKiom1hkvMvDqjiTAAHOsNa2uw8896.jpg

服務端監控數據查看:

wKiom1hkvmSQQ1DvAAGoSuGovCg608.jpg

創建自定義模版:

Zabbix自帶了很多模板,模板中有很多監控項目,比如CPU、網卡、內存、進程等等。使用系統自帶模板有點太多了,所以我們可以自定義模板。點configuration 選擇 templates,點右上角的create template

Template name和Visible name  自定義,Groups 選擇templates, 點save

然後我們去挑選一些項目拷貝到該模板下:比如我們找到Template OS Linux 點一下items,選擇想要的項目,然後在下面選擇copy selected to … 然後點go 

Group 選擇templates, 找到剛纔我們自定義的templates,點copy

點configuration 選擇 templates可以看到新建的templates中已經有剛剛我們copy的items了

我們可以使用和上面相同的方法自定義拷貝Triggers(觸發器 ),它用來設置告警的閥值,也可以自定義編輯它。

wKiom1hkv3_T9Ny7AAE_5kKgrtA174.jpg

wKiom1hkv8ejGja6AAGlv_zW4YM212.jpg

wKiom1hkwDrRbBhaAAFm9oEqAu4330.jpg

wKioL1hkwQex96_TAAG3qsTbjMk783.jpg

wKiom1hkwQig9jkxAAEQHCtTBpU750.jpg

----------------------------------------分割線----------------------------------------


[root@OBird ~]# /etc/init.d/postfix restart  #啓動postfix 服務

Shutting down postfix:                                     [  OK  ]

Starting postfix:                                          [  OK  ]


[root@OBird ~]# mail -s "2016-12-30" [email protected] < /etc/inittab  #發郵件

[root@OBird ~]# mailq   #查看郵件有沒有發出去

Mail queue is empty

#樓主是用QQ 郵箱測試的,是可以收到郵件的。如下圖

wKiom1hlyC7ykz_NAAF7OsWwOiw878.jpg

在zabbix-server 端來編寫發郵件腳本


[root@OBird ~]# mkdir -p /home/zabbix/bin

[root@OBird ~]# vim /home/zabbix/bin/bj.sh

#!/bin/bash

echo "$3" |/bin/mail -s "$2" $1 # $3 是郵件內容 ,$2 是主題 $1 是收件人


[root@OBird ~]# chmod +x /home/zabbix/bin/bj.sh  #加入可執行的權權


[root@OBird ~]# vim /etc/zabbix/zabbix_server.conf #更改郵件腳本路徑,

#AlertScriptsPath=/var/lib/zabbixsrv/alertscripts

AlertScriptsPath=/home/zabbix/bin


#ExternalScripts=/var/lib/zabbixsrv/externalscripts

ExternalScripts=/home/zabbix/bin


創建mediea types: “Administration" -->”Media types",點擊右上角“Create Media Type"其中Description填"bj” 或其它自定義名稱,Type選擇"Script",Script填”bj.sh”然後點”Save”.  

wKioL1hlzG7yP05YAAGyYu81F3w444.jpg

wKiom1hlzHnzsqDzAADrdzU9HWY910.jpg

wKiom1hlzNDhZWsgAAF9YfiIzLU428.jpg

創建user: “Adimistration” --> “Users”在右上角,選擇”Users”,點擊”Create User”, alias: test1,自定義name和lastname password:zaq12wsx;group 選擇guest,回到上面點一下media,type 選擇baojing,send to 寫要發送郵件的郵箱,點add, 最後點save

創建action: “configuration” --> actions,右上角“Create Actions”, Name自定義,我這裏寫”baojing”,其他默認,然後點右側的“Operations”下的“New”按鈕,“Operation Type”選擇“Send message”,“Send Message to”選擇一個或多個要發送消息的用戶組,Send to Users選擇我們之前新增的test1, “Send only to”選擇bj , 點一下add

最後點save

wKiom1hlz--yyj8mAAFkGJbWwIs376.jpg

wKiom1hlz_CROcF5AAFcFrsOBA4846.jpg

wKiom1hl0FXgU46gAAFBuHlZp8I379.jpg


wKioL1hl0R2w_82gAAJPXAsqsDU944.jpg


創建action: “configuration” --> actions,右上角“Create Actions”, Name自定義,我這裏寫”baojing”,其他默認,然後點右側的“Operations”下的“New”按鈕,“Operation Type”選擇“Send message”,“Send Message to”選擇一個或多個要發送消息的用戶組,Send to Users選擇我們之前新增的test1, “Send only to”選擇baojing , 點一下add

最後點save

wKioL1hl1RnD2opqAAG9kmcr50Q932.jpg

wKioL1hl1Yix3DD9AAFvthr3LHg208.jpg

wKiom1hl1kKTsgSRAAElGdGBr8I013.jpg

wKioL1hl1rPjlZXTAAHULcRbE-8661.jpg

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