一.Zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
二.各个监控软件的对比
cacti是一款数据采集,数据存储,外加web界面展示的工具,它负责阈值范围内的实时变化,但是对超过阈值的告警功能很薄弱
优点:实时监控数据变化,以web页面的方式呈现,更直观。
缺点:告警不及时
nagios是一款告警功能很强大的工具,它不关心阈值范围内的变化,只关心状态变化(超过阈值),然后报警。报警方式通过邮件,短信等。
优点:告警反映迅速。
缺点:监控主机数量有限,承载低
zabbix = cacti + nagios
优点:基于两款工具优点于一身并更强大,实现企业级分布式监控。
缺点:2.2版本带宽占用大但是升级到2.4版本后更节省了带宽资源,其它再无发现。
三.Zabbix主要监控功能
设备:服务器,路由器,交换机
软件:OS,网络,应用程序
主机性能指标监控:CPU负荷、内存使用、磁盘使用、网络状况、端口监视、日志监视
故障监控: down机,服务不可用,主机不可达
四.Zabbix示意图
五.安装配置
1.安装环境
2.安装zabbix、php、mysql、httpd
3.配置Mysql,zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。
4.将zabbix数据导入数据库表中,设置mysql密码
5.修改server配置文件,添加zabbix数据库密码
vim /etc/zabbix/zabbix_server.conf
6.配置 php 修改时区
7.配置完毕,启动服务
8.登陆 zabbix web
http://172.25.29.1/zabbix
Php 正常next
帐号zabbix 密码westos
帐号:Admin 密码:zabbix
登陆zabbix web界面
9.配置vim /etc/zabbix/zabbix_server.conf
10.监控采集数据成功,图形显示正常
六.监控不同系统的主机(添加6.5系统的一台主机)
注:做之前提前做好主机间的解析
1.开启另一台虚拟机,系统为6.5
安装zabbix-agent
如果命令不能不全,安装bash-completion.noarch
2.配置zabbix agent
vim /etc/zabbix/zabbix_agentd.conf
服务正常
3.手动添加server3
在配置Hosts里,右上角点击添加
点击Templates添加操作系统模版
server3在监控界面手动添加成功
4.自动添加server3
删除刚才手动添加的server3
点击 Configuration -> Actions -> Create action 按下图所示设置
主机名像server
Add host:自动注册主机添加到 hosts 列表
Add to host groups:自动注册主机加入 linux servers 组(组名可以自定义)
Link to templates:自动注册主机应用模板 Template OS linux
点击Update后,查看Hosts自动发现新主机
5.在监控的server3上添加http服务
server3上启动httpd服务,添加http模版
添加后http可以监控了
注:如果在主监控界面上出现采集忙的情况,可以配置vim /etc/zabbix/zabbix_server.conf,将原来的1改成5,增大采集线程,如还是出现忙的情况,继续增大
七.server3上的nginx监控
1.在server3上安装nginx
2.启动配置nginx
3.在客户机浏览连接server3的状态页面
压力测试,增加并发量和连接次数
4.配置nginx采集配置脚本
在server3上配置采集脚本
cd /etc/zabbix/zabbix_agentd.d/
server1安装zabbix采集数据工具
配置完成后重新启动服务
注:为了安全,可以将server3上的IP地址设置为本地回环接口,并且nginx配置文件中设置只能127.0.0.1访问,其他IP不能访问
vim nginx.conf
vim /usr/local/nginx/conf/nginx.conf
测试:
5.web上添加nginx监控
添加监控项目nginx.active
添加监控项目nginx.accept
添加图形,两个图形监控在一起
点击图形查看采集的nginx结果
八.数据库的监控和上传percona-zabbix mysql监控模版
1.配置mysql密码和查看连接
2.配置隐藏文件 .my.cnf以哪个账户登陆执行什么操作
重启服务
3.添加mysql模版
模版生成,可以查看采集数据
4.添加数据库监控模版
由于zabbix系统自带的mysql模版内容较少,所以我们需要下载模版percona-zabbix模版
下载所需的包和percona_mysql模版
安装包,生成两个脚本
将脚本放到指定位置
配置数据库帐号密码 vim ss_get_mysql_stats.php
在Zabbix web监控界面上点击配置,模版,上传模版
在zabbix server上添加percona mysql server 模版
生成190个监控项目
点击其中的一个项目查看,数据采集正常
九.Email 报警
1.设置虚拟机上网
客户机真机设置NAT转换策略
在虚拟机server1上添加网关,网关为真机IP:172.25.29.250
配置server1 DNS,vim /etc/resolv.conf nameserver 192.168.43.1
2.安装邮件 yum install -y mailx
给自己qq邮箱发送一封邮件
3.qq邮箱设置白名单
允许接收zabbix@server1.localdemain邮件
设置后qq邮箱可以收到邮件,邮件测试成功
3.配置Zabbix web邮件警告设置
查看qq邮箱的 SMTP server ,用日志查看mx3.qq.com
4.设置警告模式
5.设置邮箱用户
6.开启触发器事件,设置Report problem to zabbix administrators执行动作
开启设置好的警告动作
7.测试:将server3上的服务关闭,/etc/init.d/zabbix-agent stop
过一会,警告邮件发送到自动的邮箱中
十.微信报警(参照OneITSM 110monitor官方文档)
1.在110monitor上申请帐号,并绑定微信(微信接收信息),注册获取zabbix应用号
在个人中心添加告警策略
2.安装报警配置alert-agent模块
修改110monitor脚本权限
3.在zabbix web端配置微信告警
新建媒介类型110monitor
关闭email
新建user 110monitor,密码westos
选择媒介,将申请的应用key填写在send to
新建110monitor执行动作
4.手工测试
将zabbix的shell设置成可以交互
切换到zabbix用户,执行脚本发送到报警平台110monitor
显示 success 发送成功
5.正常测试
关闭一台server3主机的zabbix-agent
过一会邮箱、平台和微信传过来报警信息
本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1971320,如需转载请自行联系原作者