Zabbix简介
Zabbix是一个高度集成的企业级开源网络监控解决方案,与Cacti、nagios类似,提供分布式监控以及集中的web管理界面。zabbix具备常见商业监控软件所具备的功能,例如主机性能监控,网络设备性能监控,数据库性能监控,ftp等通用协议的监控,能够灵活利用可定制警告机制,允许用户对事件发送基于E-mail的警告,保证相关人员可以快速解决。还能够利用存储数据提供杰出的报表及实时的图形化数据处理,实现对监控主机7x24小时集中监控。
Zabbix通过C/S模式采集数据通过B/S模式在web端展示和配置,通过SNMP协议传输,而被监控对象只需要支持SNMP协议或者运行Zabbix-agents代理程序即可。服务端监听端口为10051,而被监控端即Zabbix-agents代理程序监控10050端口。
实验环境
主机 | 操作系统 | IP地址 | 主要软件 |
---|---|---|---|
zabbix服务端 | centos7.0 x86_64 | 10.1.28.70 | zabbix-server4.0 |
Linux被监控端 | centos7.0 x86_64 | 10.1.28.253 | zabbix-agent4.0 |
Zabbix服务端环境部署
1、环境准备
由于zabbix提供集中的web监控管理界面,因此服务在web界面的呈现需要LAMP架构支持。
yum install -y httpd mariadb-server mariadb php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mhash编辑配置httpd
vim /etc/httpd/conf/httpd.conf ServerName zabbix DirectoryIndex index.html index.php //添加首页支持格式编辑配置php,配置中国时区
vim /etc/php.ini date.timezone = PRC //PRC为中国时区启动httpd,mysq systemctl stop firewalld.service setenforce 0 systemctl start httpd.service systemctl start mariadb.service netstat -ntap | egrep '(80|3306)'启动msyql后执行初始安全设置。
mysql_secure_installation mysql -u root -p CREATE DATABASE zabbix character set utf8 collate utf8_bin; GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY '123456'; //创建zabbix数据库,并设定用户密码 flush privileges;数据库设置完成,检测php与数据库连通情况 vim /var/www/html/index.php <?php $link=mysql_connect('10.1.28.70','zabbix','123456'); if($link) echo "<h1>Success!!</h1>"; else echo "Fail!!"; mysql_close(); ?>在网页中输入zabbix主机ip地址显示Success表示连通数据库成功为保证zabbix用户也可以登录数据库,若出现本地无法登录情况,解决方式如下。使用root账户登录数据库 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;2、部署Zabbix Serveryum 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的
查看、修改zabbix配置文件
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 90:DBHost=127.0.0.1 91:DBName=zabbix 107:DBUser=zabbix 108:DBPassword=123456 287:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log 413:Timeout=4 455:AlertScriptsPath=/usr/lib/zabbix/alertscripts 465:ExternalScripts=/usr/lib/zabbix/externalscripts 501:LogSlowQueries=3000修改zabbix在httpd中的时区
vim /etc/httpd/conf.d/zabbix.conf php_value date.timezone Asia/Shanghaizabbix基本配置完成,启动服务,实现web界面安装 systemctl enable zabbix-server systemctl start zabbix-server netstat -anpt | grep zabbix //监听在10051端口上 systemctl restart httpd.service web界面安装访问。
zabbix被监控端代理设置
安装zabbix-agent客户端
rpm -ivh http://repo.zabbix.com/zabbix/3.5/rhel/7/x86_64/zabbix-release-3.5-1.el7.noarch.rpmyum 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 95:Server=10.1.28.70 //zabbix服务器地址 136:ServerActive=10.1.28.70 //活跃服务器地址 147:Hostname=zabbix_agent 265: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端口
以上是整个配置过程