一、zabbix介绍
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。
zabbix重要组件说明:
1)zabbix server:负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据都由它组织进行;
2)database storage:专用于存储所有配置信息,以及由zabbix收集的数据;
3)web interface:zabbix的GUI接口;
4)proxy:可选组件,常用于监控节点很多的分布式环境中,代理server收集部分数据转发到server,可以减轻server的压力;
5)agent:部署在被监控的主机上,负责收集主机本地数据如cpu、内存、数据库等数据发往server端或proxy端;
二、zabbix监控配置
环境: server11 rhel7.3 (封装7.3的虚拟机,关闭火墙,selinux、修改域名解析)
server2 rhel6.5
(一)在server11中安装zabbix监控并配置
1)安装zabbix监控所需要的软件 (需要自己在官方文档中下载)
---> yum install -y fping-3.10-1.el7.x86_64.rpm iksemel-1.4-2.el7.centos.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm
zabbix-web-3.4.6-1.el7.noarch.rpm
2)安装数据库,并给zabbix用户授权
---> yum install -y mariadb-server
---> systemctl start mariadb.service # 启动数据库
---> systemctl enable mariadb.service # 设置开机自起
---> mysql # 由于rhel7的数据库的初始密码为空。可以直接查看
mysql> create database zabbix character set utf8 collate utf8_bin; # 使用utf-8编码
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'xniu';
3)导入zabbix数据库
---> cd /usr/share/doc/zabbix-server-mysql-3.4.6
# 导入完成后,我们可以在数据库中查看
4)修改php配置文件的时区(在zabbix配置界面时需要)
---> vim /etc/php.ini
---> systemctl start httpd # 启动httpd服务
---> systemctl enable httpd
5) 编辑zabbix_srever配置文件,修改数据库名、密码、套接字
---> vim /etc/zabbix/zabbix_server.conf
---> systemctl start zabbix-server.service
---> systemctl enable zabbix-server.service
6)安装监控的软件zabbix-agent。负责硬件信息或内存、cpu等信息的采集。
---> yum install -y zabbix-agent-3.4.6-1.el7.x86_64.rpm
---> systemctl start zabbix-agent # 启动服务并开机自起
---> systemctl enable zabbix-agent
7)查看zabbix服务的开启情况
---> netstat -antlp # 此时server和agnet均启动
# 安全上下文和火墙状态为关闭
8)在浏览器中输入172.25.2.11/zabbix进行zabbix的web界面的配置
# 首先点击右下角的: Next step
# 此时,所有配置均ok。点击右下角:Next step
# 填写数据库的基本信息。端口号:3306,密码为自己设置的zabbix的密码。
# 登陆zabbix的监控平台。名字随便取。
# 查看自己填写的信息。无误的话,直接点击:Next step
# 此时,成功登陆zabbix监控平台。点击finish
# 进入zabbix 登陆界面。(首次登陆,用户名为:Admin 密码:zabbix)
到此,我们成功地进入zabbix的监控界面。可以在右上角小人那修改语言和登陆密码。
(二)利用zabbix监控平台监控server2(rhel6.5)主机
1)首先在server2中安装zabbix-agent服务
---> yum install -y zabbix-agent-3.4.6-1.el6.x86_64.rpm
2)编辑agent配置文件
---> vim /etc/zabbix/zabbix_agentd.conf # hostname为本机的解析;server和serveractive均为zabbix-server的主机ip
---> vim /etc/hosts # 要有server2和server11的解析
172.25.2.2 server2
172.25.2.11 server11
3)启动agent服务
---> /etc/init.d/zabbix-agent start
注意:此时的iptables的策略为空。
---> netstat -antlp #可以查看到agent服务的端口
4)在浏览器中进入zabbix监控,使server11监控server2。
首先,我们需要server11监控的主机发现server2。共有四种方式:手动、自动发现、注册、api
第一种方式:自动发现
# 在动作中设置事件源为自动发现;使下面的状态为已启用
# 在配置的主机中启动zabbix-server服务。(状态为已启用)
# 接着选择填写自动发现主机的网段 。(只修改ip范围。之后点击更新)然后我们可以点击停用,使其启动
# 当我们再点击主机栏的时候,我们发现server2已经自动发现,并添加完成