上一篇我已经把zabbix server 和zabbix agent 安装在了同一台主机上,现在如何配置zabbix server监控自己。
vim /etc/zabbix/zabbix_agentd.conf 编辑agent配置文件。
指定那些服务器可以来获取数据,可用逗号隔开指定多台服务器。
这个参数表示agent端主动发送数据给哪些服务器端。获取数据有主动和被动两种,第一种是agent主动发送被监控的数据给server,第二种是server去客户端获取,当主机过多时,主动模式可以降低server的压力。
主机名指定为server的主机名(最好是dns解析后的主机名),而且得全局唯一。
启动agent: service zabbix-agent start ss -tnl
10050端口开启,agent已经启动 。
回到web界面找到configuration 中的host选项,点击disable激活当前主机
现在从新启动一台虚拟机当作客户端,yum -y install zabbix-2.4.7-1.el6.x86_64.rpm zabbix-agent-2.4.7-1.el6.x86_64.rpm zabbix-sender-2.4.7-1.el6.x86_64.rpm。
vim /etc/zabbix/zabbix_agentd.conf
指定服务器的地址。
指定该客户端基于主动模式向server发送数据。
这里指定该主机的主机名。
点击 Create host
把这几项该填的填上,点击add,一台被监控主机就这样被添加了,不过还没有定义它要被监控的item,因此此时被监控的主机其实不会被真正激活,下图最后的Z没有变绿也正是此原因导致的。
如果最后的图标出现这样,no route to host 很可能是防火墙导致的,添加iptables规则,实验的话直接关闭防火墙 service iptables stop
接下来简单为这台agent添加一个item(监控项目)点击Items,点击Create item。
图中为该item取了名,监控模式为被动模式,数据类型为十进制数据,监听了agent的eth0网卡流入的字节数,历史数据存储为90天,趋势数据存储为365天,历史数据是实时数据,趋势数据是每小时的平均值。为了方便测试,我把发送数据的时间间隔设置成了3秒,把该item放在了traffic stats这个application中。
在为该item创建一个图:点击Hosts目录下的Graphs ,再点击Create graphs,添加刚才创建的item就可以了。
点击preview,可看到已经有数据收集了
接下来还得为这个item定义一个trigger,点击triggers
定义了对client1: Inbound Traffic这item的trigger,第二项函数表示取最后一次的值如果大于50就触发该事件。然后自己定义一个级别点击添加就可以了。
上图已经显示刚定义的trigger已经被触发了。也可以在Events中也可以看到。
接下来定义该触发器被触发产生的动作,点击Configuration中的Actions,create action。
点击conditions
上面定义每隔60秒执行该操作,在step中没有定义报警升级,操作的类型为发送信息,对象为zabbix管理员用户,通过邮件发送。现在再去定义邮件介质选项,在Administration中Media types中定义。
点击Email,
SMTP email 指定的是发件人,点击update。再去定义一个用户。这里我新创建一个用户。
定义它的介质
再去用户组中定义一下权限
这里我定义了一个新用户,把原来的action的用户改成此处新定义的用户
由于发邮件是当状态从ok到problem才发送,因为我的trigger一开始已经被触发,需要先disable item 再enable,这样邮件就可以发送了。
补充:可以直接在server上通过命令行zabbix_get -s 客户端ip -k "指定的item" 。