Centos7.0 64位搭建zabbix3.0監控php
1、 Zabbix簡介node
Zabbix是一個機遇WEB界面的提供分佈式監控以及網絡監控功能的企業級的開源解決方案。Zabbix server能夠經過snmp、zabbix agent、ping及自定義腳本的方式收集監控數據並展現。 mysql
2、 安裝zabbix server3.0linux
一、 系統:centos7.0 64位web
二、 根據zabbix server3.0的官方要求,目前zabbix server3.0沒法在centos6.x系統上進行yum安裝。若是要在centos6上面安裝zabbix server3.0,建議經過源碼方式進行編譯安裝,同時須要注意php的版本,可是zabbix-agent3.0在centos6系統上能夠經過yum安裝。sql
1.1搭建lamp環境數據庫
#wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repovim
centos7自帶的MySQL爲mariadb,可經過以下命令查看:centos
#yum search mysql | tacbash
開始yum安裝lamp環境
#yum install –y mariadb mariadb-server php php-mysql httpd
能夠看出centos7默認安裝php5.四、http2.四、mariadb5.5
Lamp安裝完成後,首先配置MySQL
#systemctl enable mariadb
#systemctl start mariadb
初始化數據庫:
# mysql_secure_installation
注:centos7上面的MySQL密碼默認爲空
查看數據庫已正常啓用
#netstat –antlp
接下來建立zabbix數據庫及用戶並受權
# mysql -uroot -p -e "create database zabbix default character set utf8 collate utf8_bin;"
# mysql -uroot -p -e "grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';"
測試新建zabbix用戶是否能夠正常鏈接MySQL數據庫
#mysql –uzabbix –pzabbix
#show databases;
能夠看出zabbix用戶能夠正常鏈接MySQL
啓動Apache並開放80端口
#systemctl enable httpd
#systemctl start httpd
#netstat –tunl
#firewall-amd --zone=public --add-port=80/tcp --permanent
#firewall-cmd --reload
以上就完成了lamp環境的搭建。
1.2、安裝zabbix server3.0
更新zabbix3.0所需的epel源和zabbix的yum源
rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
更新完yum源,開始正式安裝zabbix3.0
#yum install –y zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent
導入zabbix數據庫結構
#cd /usr/share/doc/zabbix-server-mysql-3.0.7/
# zcat create.sql.gz |mysql -uroot -pwestos zabbix
數據導入完成,開始配置zabbix server
# vim /etc/zabbix/zabbix_server.conf
修改#DBHost=localhost爲DBHost=localhost
修改DBUser=zabbix
修改DBName=zabbix
修改DBPassword=zabbix
以上三項配置爲zabbix server鏈接MySQL所用
接下來修改zabbix.conf
#vim /etc/httpd/conf.d/zabbix.conf
其中php_value date.timezone Asia/Shanghai用來定義php時區。
接下來將zabbix-server加入開機啓動,關閉selinux,啓動zabbix-server
#systemctl enable zabbix-server
#setenforce 0
#systemctl start zabbix-server
(注意:起zabbix-server 服務時有時會起不來,查看啓動狀態,發現libpthread-2.17.so有報錯,和這個關聯的包是gnutls-3.38-12.el7.x86_64,需進行降級處理
下載並安裝,下載地址:http://rpm.pbone.net/gnutls-3.1.18-8.el7.x86_64 便可。
rpm -e gnutls-3.38-12.el7.x86_64 --nodeps
rpm -ivh gnutls-3.1.18-8.el7.x86_64)
最後重啓Apache
Systemctl restart httpd
而後訪問http://192.168.98.25/zabbix
確保以上狀態全處於ok狀態,不然沒法進行下一步安裝!
Database name:zabbix User:zabbix Password:zabbix
Username:Admin
Password:zabbix
以上就完成了zabbix server端的安裝配置。
1.3配置zabbix agent
zabbix agent的配置很簡單,只須要修改zabbix agent配置文件中的Server、ServerActive和Hostname這三項便可。
#vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.98.25
ServerActive=192.168.98.25
Hostname=192.168.98.25
因爲是監控本機,因此配置Hostname=192.168.98.25
啓動zabbix agent
#systemctl enable zabbix-agent
#systemctl start zabbix-agent
防火牆放行10050端口
3、 添加監控主機配置郵件告警及微信告警
3.1 建立監控主機(Host)
點擊「配置à主機à建立主機」
添加主機IP、主機描述、所在羣組
配置主機模板(Templates)
3.2 配置告警
3.2.1 郵件告警
點擊「配置à動做à建立動做」
名稱:自定義 見名知意便可(mail)
默認收件人:
主機告警!{TRIGGER.STATUS}: {TRIGGER.NAME}
默認信息:
[主機告警!]
告警主機:{HOSTNAME1}
主機IP:{HOST.IP}
告警時間 :{EVENT.DATE} {EVENT.TIME}
觸發器名稱: {TRIGGER.NAME}
當前狀態: {TRIGGER.STATUS}
告警項目:{TRIGGER.KEY1}
告警級別 :{TRIGGER.SEVERITY}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
事件ID :{EVENT.ID}
URL:http://192.168.98.15/zabbix/
By :李恆- ZABBIX3.0
恢復主題:
恢復通知!{TRIGGER.STATUS}: {TRIGGER.NAME}
恢復信息:
[恢復通知!]
告警主機:{HOSTNAME1}
主機IP:{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
恢復時間:{EVENT.RECOVERY.TIME}
告警級別:{TRIGGER.SEVERITY}
觸發器名稱: {TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
URL:http://192.168.98.15/zabbix/
By :李恆-ZABBIX3.0
3.2.2:配置操做
4、 配置報警媒介及用戶
4.1 定義報警媒介
點擊「管理à報警媒介類型à建立媒體類型」
名稱自定義,見名知意便可,類型選擇腳本,腳本名稱:mail.sh。
腳本參數:
{ALERT.SENDTO} 定義收件人
{ALERT.SUBJECT} 定義標題
{ALERT.MESSAGE} 告警內容
4.2 配置用戶報警媒介
4.3 服務器中配置
#yum install –y mailx dos2unix
#vim /etc/mail.rc
添加如下三行
set from=AC_monitor@xxxx.com smtp=43.$.$.180
set smtp-auth-user=AC_monitor smtp-auth-password=xxxt@123.com
set smtp-auth=login
#cd /usr/lib/zabbix/alertscripts/
#vim mail.sh
#!/bin/bash
FILE=/tmp/mailtmp.txt
echo "$3" >$FILE
dos2unix -k $FILE
/bin/mail -s "$2" $1 < $FILE
#chown zabbix.zabbix mail.sh