一、报警
在zabbix的使用中,最重要的一点就是完善的报警机制,作为监控平台,需要时刻关注机器和服务的运行状态,更重要的是发现故障之后需要及时的报警给相关人员,早点发现问题,将隐患消除在未然阶段。这样才能保证服务的稳定运行。
报警的方式是多种多样的,微信、短信和邮件报警是我们比较常见的方式。而且报警的频率和策略直接影响着运维人员的重视程度和检错效率。如果整个报警列表中都是一些无关痛痒的提示、轻度警告。而他们的发送频率又特别的高,则非常容易错过真正关键的报警。
报警涉及的触发器(trigger)一般包括以下几个方面:
(1)服务器的基本状态:磁盘容量、内存大小、cpu的负载;
(2)基础服务状态:web服务器(nginx、apache)的状态,数据库的状态(mysql、oracle、nosql等);
(3)应用服务器状态:应用服务器的可用性以及负载状态;
以本人之前所在的游戏公司为例,日常的监控报警中主要集中在服务器的基本状态的报警:(1)比如随着服务器的运行,会产生大量的日志文件,因为来不及转移导致服务器的磁盘可用空间不足;(2)开启的应用过多导致cpu和内存的不足;
第一种磁盘不足的情况,可以采用crontab定期清理日志的方式解决,注意
为了防止日志内容的丢失,需要把日志及时的备份到远程的日志服务器中进行存放;
第二种情况则需要定期对服务器进行升配操作;
而基础服务状态和应用服务器状态则需要提高报警级别,毕竟服务的不可用是非常严重的事故,另外给出建议是关键的服务一定要做到高可用,不能因为节约成本而导致服务故障,否则造成的损失也许更加巨大。
1、设置网关
[root@foundation50 ~]# iptables -t nat -I POSTROUTING -s 172.25.50.0/24 -j MASQUERADE
2、文件配置
[root@localhost zabbix]# pwd
/etc/zabbix
[root@localhost zabbix]# ls
web zabbix_java_gateway.conf zabbix_server.conf
zabbix_agentd.conf zabbix_java_gateway_logback.xml
zabbix_agentd.d zabbix_proxy.conf
[root@localhost zabbix]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.25.50.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
[root@localhost zabbix]# route add default gw 172.25.50.250
[root@localhost zabbix]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.25.50.250 0.0.0.0 UG 0 0 0 eth0
172.25.50.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
[root@localhost zabbix]# cat /etc/resolv.conf
[root@localhost zabbix]# vim /etc/resolv.conf
[root@localhost ~]# tar zxf oneitsm_zabbix_release-1.2.0.tar.gz
[root@localhost ~]# cd oneitsm
[root@localhost oneitsm]# ls
bin logs release update
[root@localhost oneitsm]# cd /usr/lib/zabbix/alertscripts/oneitsm/bin
[root@localhost bin]# ./install.sh ffd805a6-1261-3ff7-9c10-321cb8afb884
3、在网页操作:
[root@server1 bin]# /etc/init.d/zabbix-agent stop
Shutting down Zabbix agent: [ OK ]
4、登陆报警系统
在网页输入 http://www.onealert.com/ 注册,并添加邮箱。
报警会通过邮箱发送,警告我们要修
从待处理 -> 处理中 -> 已关闭
我们
二、Agent 主动 与 被动
1、zabbix agent主动模式与被动模式的区别
zabbix agent的运行模式有以下两种:
1)、被动模式:此模式为zabbix默认的工作模式,由zabbix server 向zabbix agent 发出指令获取数据,zabbix agent被动地去获取数据并返回给zabbix server,zabbix server会周期性地向agent索取数据。此模式的最大问题就是会增加zabbix server的工作量,在大量的服务器环境下,zabbix server不能及时获取到最新的数据。
2)、主动模式:即由zabbix agent 主动采集数据并返回给zabbix server,不需要zabbix server 的另行干预,因此使用主动模式能在一定程序上减轻zabbix server的压力。
2、主动模式和被动模式的配置
将 Agent(server3)的 被动模式 更改 为 主动模式,来节省资源的消耗。
97 #Server=172.25.50.11
122 StartAgents=0
138 ServerActive=172.25.50.11
149 Hostname=server3
[root@localhost bin]# cat /var/log/zabbix/zabbix_server.log
[root@server3 zabbix]# vim zabbix_agentd.conf
97 Server=172.25.50.11
122 StartAgents=3
138 ServerActive=172.25.50.11
149 Hostname=server3 ##本机的解析一定要有
在网页上更改 agent代理程序的接口
点进server3,添加模板
最后查看:
三、Proxy 的 代理
zabbix是一个分布式的监控系统,其支持通过代理服务器zabbix proxy 来收集zabbix agent的数据,然后zabbix proxy再把收集保存在本地数据库的数据送往zabbix server进行统一存储和展示。单一的zabbix server+ zabbix agent的环境,因受限于zabbix server性能瓶颈的缘故,其能管控的zabbix agent是有限的。而zabbix proxy则把zabbix server从收集数据这一功能中抽离出来,使得zabbix server专注于对数据进行存储和展示,提升了zabbix server所能管控的zabbix agent数据及提高了部署的灵活性。
新增zabbix proxy服务器,修改之前部署配置的zabbix server和agent来调用zabbix proxy服务器,从而让zabbix server 从zabbix proxy上获取其收集到的zabbix agent数据。
[root@server3 ~]# ls
anaconda-ks.cfg zabbix-agent-3.4.6-1.el6.x86_64.rpm
fping-2.4b2-16.el6.x86_64.rpm zabbix-proxy-2.4.5-1.el6.x86_64.rpm
install.log zabbix-proxy-mysql-3.4.6-1.el6.x86_64.rpm
install.log.syslog
[root@server3 ~]# yum install -y zabbix-proxy-mysql-3.4.6-1.el6.x86_64.rpm fping-2.4b2-16.el6.x86_64.rpm
[root@server3 ~]# yum install -y mysql-server
[root@server3 ~]# cd /etc/zabbix/
[root@server3 zabbix]# vim zabbix_proxy.conf
24 Server=172.25.50.3
43 Hostname=server3
190 DBPassword=westos
197 DBSocket=/var/lib/mysql/mysql.sock
[root@server3 zabbix]# mysql
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'westos';
Query OK, 0 rows affected (0.00 sec)
[root@server3 zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d zabbix_proxy.conf
[root@server3 zabbix]# cd /usr/share/dict/
[root@server3 dict]# cd /usr/share/doc/
[root@server3 doc]# ls
[root@server3 doc]# cd zabbix-proxy-mysql-3.4.6/
[root@server3 zabbix-proxy-mysql-3.4.6]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@server3 zabbix-proxy-mysql-3.4.6]# zcat schema.sql.gz | mysql -u zabbix -p zabbix_proxy
Enter password:
[root@server3 zabbix-proxy-mysql-3.4.6]#
网页添加代理:
确定没有重复的代理名字的主机,如果有请删除:
主机查看: