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