zabbix 是一個高集羣成的企業級開源網絡監控解決方案,提分佈式監控管理以及集中wed管理界面,被監控端只要支持SNMP協議或者或者運行Zabbix_agents代理程序員便可。zabbix具有主機性能監控,網絡設備性能監控數據庫性能監控,ftp等同通用協議的監控,可以靈活的可定製告警機制,容許用戶對時間發送基於E—mail 的告警。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.10.5 | LNMP zabbix-server4.0 |
Linux被監控端 | centos7.3 X86_64 | 168.168.10.6 | zabbix-agent4.0 |
安轉LAMP程序員
因爲zabbix提供集中的web監控管理界面,所以服務在web界面的呈現須要LAMP架構支持。web
yun linstall -y \ httpd \ mariadb-server mariadb \ php \ php-mysql \ php-gd \ libjpeg* \ php-ldap \ php-odbc \ php-pear \ php-xml \ php-xmlrpc \ php-mhash
vim /etc/httpd/conf/httpd.conf ServerName www.benet.com #修改域名 DirectoryIndex index.html index.php #支持php格式 vim/etc/php.ini date.timezone = PRC #設置中國時區 systemctl stop firewalld.service setenforce 0 systemctl start httpd.service systemctl start mariadb.service netstat -ntap | egrep '(80|3306)' tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3046/mysqld tcp6 0 0 :::80 :::* LISTEN 2793/httpd mysql_secure_installation #初始化數據庫 vim /var/wwww/html/index.php #寫入PHP 首頁 <?php phpinfo(); ?>
mysql -u root -p CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT all privileges ON *.* TO 'zabbix'@'%' IDENTIFIED BY 'admin123'; #建立用戶容許任意地方進行訪問 flush privileges; # 刷新
vim /var/www/html/index.php #修改原有的php首頁 而且寫測試腳本鏈接數據 <?php $link=mysql_connect('192.168.10.5','zabbix','admin123'); if($link) echo "<h1>Success!!</h1>"; else echo "Fail!!"; mysql_close(); ?>
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 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 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 125:DBPassword=admin123 #寫入數據庫zabbix用密碼 356:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log 474:Timeout=4 517:AlertScriptsPath=/usr/lib/zabbix/alertscripts 528:ExternalScripts=/usr/lib/zabbix/externalscripts 564:LogSlowQueries=3000 vim /usr/share/zabbix/include/defines.inc.php //修正圖表中文亂碼 :%s /graphfont/kaiti/g //從微軟系統下複製相應的字體文件到 /usr/share/zabbix/fonts 目錄中注意字體名稱要對應配置文件,且注意大小寫 cp STKAITI.TTF /usr/share/zabbix/fonts/ #複製字符集腳本 systemctl enable zabbix-server systemctl start zabbix-server netstat -anpt | grep zabbix //監聽在10051端口上 systemctl restart httpd.service http://192.168.10.5/zabbix/ //安裝後登陸 用戶名Admin 密碼:zabbix 設置中文環境 Administrator-Users-點擊用戶-語言中設置 yum install mailx vi /etc/mail.rc //注意網易郵箱須要開啓客戶端受權碼進行第三方登陸 ----文件末尾新增--- set from=郵箱帳戶 set smtp=smtp.郵箱域名如139,、qq.com set smtp-auth-user=郵箱帳戶.com set smtp-auth-password=密碼爲代理密碼 set smtp-auth=login echo "hello world" | mail -s "testmail" 郵箱帳戶.com //測試發信正常 cd /usr/lib/zabbix/alertscripts vi mailx.sh //編寫發郵件腳本 #!/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 郵箱帳戶 "主題" "內容" //測試發郵件腳本是否能夠正常工做
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 13:PidFile=/var/run/zabbix/zabbix_agentd.pid 32:LogFile=/var/log/zabbix/zabbix_agentd.log 43:LogFileSize=0 98:Server=192.168.10.5 139:ServerActive=192.168.10.5 150:Hostname=test 268:Include=/etc/zabbix/zabbix_agentd.d/*.conf service firewalld stop setenforce 0 systemctl enable zabbix-agent.service systemctl restart zabbix-agent.service