Zabbix是一個高度集成的企業級開源網絡監控解決方案,與Cacti、nagios相似,提供分佈式監控以及集中的web管理界面。zabbix具有常見商業監控軟件所具有的功能,例如主機性能監控,網絡設備性能監控,數據庫性能監控,ftp等通用協議的監控,可以靈活利用可定製警告機制,容許用戶對事件發送基於E-mail的警告,保證相關人員能夠快速解決。還可以利用存儲數據提供傑出的報表及實時的圖形化數據處理,實現對監控主機7x24小時集中監控。 php
Zabbix經過C/S模式採集數據經過B/S模式在web端展現和配置,經過SNMP協議傳輸,而被監控對象只須要支持SNMP協議或者運行Zabbix——agents代理程序便可。服務端監聽端口爲10051,而被監控端即Zabbix——agents代理程序監控10050端口。html
本篇基於centos7.3版本安裝zabbix4.0實現對centos7.3主機的監控管理以及警告機制郵箱發送的搭建。mysql
主機 | 操做系統 | IP地址 | 主要軟件 |
---|---|---|---|
zabbix服務端 | centos7.3 x86_64 | 192.168.144.113 | zabbix-server4.0 |
Linux被監控端 | centos7.3 x86_64 | 192.168.144.114 | zabbix-agent4.0 |
yum install -y \ //安裝LAMP環境包 httpd \ mariadb-server mariadb \ php \ php-mysql \ //php鏈接mysql模塊 php-gd \ libjpeg* \ php-ldap \ php-odbc \ php-pear \ php-xml \ php-xmlrpc \ php-mhash
vim /etc/httpd/conf/httpd.confios
ServerName www.yun.com ... DirectoryIndex index.html index.php //添加首頁支持格式
vim /etc/php.iniweb
date.timezone = PRC //PRC爲中國時區
systemctl stop firewalld.service
setenforce 0sqlsystemctl start httpd.service
systemctl start mariadb.service數據庫netstat -ntap | egrep '(80|3306)'vim
mysql_secure_installation
mysql -u root -pcentos
CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123'; //建立zabbix數據庫,並設定用戶密碼 flush privileges;
vim /var/www/html/index.php安全
<?php $link=mysql_connect('192.168.144.113','zabbix','admin123'); if($link) echo "<h1>Success!!</h1>"; else echo "Fail!!"; mysql_close(); ?>
出現上圖則PHP連通數據庫完成。
select user,host from mysql.user; //有空用戶名稱佔用致使本地沒法登陸遠程可登陸 +--------+-----------+ | user | host | +--------+-----------+ | zabbix | % | | root | 127.0.0.1 | | root | ::1 | | | cacti | | root | cacti | | | localhost | | root | localhost | +--------+-----------+ drop user ''@localhost; //刪除空用戶 drop user ''@cacti; flush privileges;
yum install php-bcmath php-mbstring -y 安裝php支持zabbix組件
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm //會自動生成yum源文件,保證系統能夠上網
yum install zabbix-server-mysql zabbix-web-mysql -y 安裝zabbix組件zcat /usr/share/doc/zabbix-server-mysql-4.0.0/create.sql.gz | mysql -uzabbix -p zabbix //生成數據庫文件,注意密碼不要輸成root的
grep -n '^'[a-Z] /etc/zabbix/zabbix_server.conf
38:LogFile=/var/log/zabbix/zabbix_server.log 49:LogFileSize=0 72:PidFile=/var/run/zabbix/zabbix_server.pid 82:SocketDir=/var/run/zabbix 101:DBName=zabbix //訪問數據庫名稱 117:DBUser=zabbix //zabbix訪問數據庫用戶 125:DBPassword=admin123 //配置文件中只需修改本行,zabbix訪問數據庫密碼 347:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log 465:Timeout=4 507:AlertScriptsPath=/usr/lib/zabbix/alertscripts 517:ExternalScripts=/usr/lib/zabbix/externalscripts 553:LogSlowQueries=3000
vim /etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
cp STKAITI.TTF /usr/share/zabbix/fonts/
vim /usr/share/zabbix/include/defines.inc.php
:%s /graphfont/kaiti/g //採用全局替換模式
systemctl enable zabbix-server
systemctl start zabbix-server
netstat -anpt | grep zabbix //監聽在10051端口上
systemctl restart httpd.service
http://192.168.144.113/zabbix/
web界面安裝流程以下:
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpm
yum install -y zabbix-agent
grep -n '^'[a-Z] /etc/zabbix/zabbix_agentd.conf
vim /etc/zabbix/zabbix_agentd.conf
13:PidFile=/var/run/zabbix/zabbix_agentd.pid 32:LogFile=/var/log/zabbix/zabbix_agentd.log 43:LogFileSize=0 98:Server=192.168.144.113 //zabbix服務器地址 139:ServerActive=192.168.144.113 //活躍服務器地址 150:Hostname=test 268:Include=/etc/zabbix/zabbix_agentd.d/*.conf
systemctl stop firewalld.service
setenforce 0
systemctl enable zabbix-agent.service
systemctl restart zabbix-agent.servicenetstat -anpt | grep zabbix //監聽在10050端口
yum install mailx -y
vim /etc/mail.rc 編輯mailx配置文件
set from=377909726@qq.com set smtp=smtp.qq.com set smtp-auth-user=377909726@qq.com set smtp-auth-password=郵箱密碼 set smtp-auth=login
echo "hello world" | mail -s "testmail" 377909726@qq.com //測試發信正常
vim /usr/lib/zabbix/alertscripts
#!/bin/bash #send mail messages=`echo $3 | tr '\r\n' '\n'` subject=`echo $2 | tr '\r\n' '\n'` echo "${messages}" | mail -s "${subject}" $1 >>/tmp/mailx.log 2>&1
touch /tmp/mailx.log
chown -R zabbix.zabbix /tmp/mailx.log
chmod +x /usr/lib/zabbix/alertscripts/mailx.sh
chown -R zabbix.zabbix /usr/lib/zabbix/
./mailx.sh 377909726@qq.com "主題" "內容"