1. 前言
1.1 目的
本文档主要介绍zabbix监控系统的具体配置和添加主机方法。
1.2 术语
Templates,Hostgroups, Web, Triggers, Graps,screens,Actions
1.3 适用版本
RHEL6.2系统
1.4 阅读范围
本文适合运维组成员阅读。
配置篇主要介绍添加常用的组、主机、项目、触发和常用的功能,这里配置思路是创建一个模板,然后添加主机,主机上利用模板
2. 添加组
点击Configuration-----Host groups-----Create host group.
这样就生成一个组。
3. 创建模板
这里创建的模板,可以用于后面的添加主机,省去了主机的配置,点击Configuration----Templates-----create template
把该模板加入Linux_Manager组中。
4. 添加Applications
Applications是一个组,用来存储Items的项,根据监控需求用来创建Applications,可分为:CPU、Memory、Network、Ping、apply、disk、Proc_pulse。
在这里,创建了7个Applications
5. 添加Items,添加Item是重点,模板里添加了什么样的项目,主机就会监控改项目
Items:监控的项,可以设置通过什么样的命令监控主机或者被监控端,在添加Items的时候首先确定你的key是否支持的操作版本,提供一个测试命令:
cd /usr/local/zabbix/bin
./zabbix_get–s 主机ip -p 端口 -k key[参数]
命令解释
Zabbix_get获取数值的命令
-s 你要查的ip(本地、远程都可以)
-p zabbix_agentd的端口,默认10050
-k key的值
5.1 创建cpu的利用率
5.2 内存使用
5.3 内存剩余量
5.4 内存总空间
5.5 内存空闲百分比
5.6 内存cache
5.7 监控80端口,这里监控80端口,其他端口方法一样(如,oracle1521端口)
5.8 监控pulse进程
5.9 监控丢包率和ping的返回值,
用到icmppingloss、icmppingsec这两个命令,zabbix是调用系统里的fping命令,如果系统没有,可自己安装,需注意几点
Fping的默认安装路径是/usr/local/sbin/fping,需要把zabbix配置文件里的fpinglocation路径修改为/usr/local/sbin/fping
还要修改权限:chownroot:root /usr/local/sbin/fping
chmodu+s /usr/local/sbin/fping
测试显示alive表示成功
这里是在templates模板里面创建
打开模板,点击create item
监控返回值方法类似,是用icmppingsec的键值
5.10 由于网络流量和磁盘的监控项不是固定的,所以不确定主机上是不是有这块网卡,可以利用自动发现功能来监控
发现网卡:
点击Item prototypes-----Create item prototype,分别创建对进出网卡流量的监控
发现磁盘:
点击Item prototypes----Create item prototype,配置如下,此配置监控磁盘剩余率
磁盘空闲率小于5%是触发报警,设置如下
点击Trigger prototypes----Create prototypte
6. 创建Trigger
6.1 80端口触发
6.2 触发ping.nodata宕机报警
7. 创建Graphs
点击Preview,可看到数据(如上图)。
可根据需求自行添加所需项目
添加完的模板如下
8. 添加主机,利用刚才自定义的模板,添加主机
添加完的主机如下
9. 创建Actions
勾选Recovery message 下面是故障恢复后的内容显示(如果不选故障恢复后不会报警)
选择触发的Item----Add,可以以application 、 hostgroup、items、items name 、 host分类监控,注意:要保留两个默认的conditions,否则故障恢复的信息内容和提示次数会跟故障报警的信息和次数一样(例如,故障报警3次,等到ok时也会提示3次ok,浪费短信)。
Options里面 from1 to 2 表示动作2次 step duration 是动作间隔时间(s)最小60s,添加用户,点击update ---save
10. 添加用户或组和Media types
可填写邮箱
权限里面给所有权限。点击save保存。
添加Media types
填写服务器名称,发件人邮箱,save保存。
11. 添加web应用
Web应用可检测网站返回时间和下载速度
添加web前要先选定一个主机
点击Steps----Add 增加步骤,输入url路径和返回码、关键字,点击update,最后save保存。
可到Monitoring-----web里面查看图形
12. 添加scree
scree可以使一台主机的图形在一个界面显示,方面观察,添加方法如下:
点击configuration-----scree----create scree,输入主机名,列数和行数,save保存
点击主机名,进入配置界面,点击change,及选择要添加的图形,点击save保存!
13. 利用sendmail发送邮件方法
修改sendmail使用的默认域名即可实现,默认为localhost.localdomain,如果不修改则不能正常接收邮件。具体方法入下:
#vim /etc/hosts
127.0.0.1 zabbix.tmg.com localhost.localdomain localhost
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#vim /etc/mail/access
Connect:localhost.localdomain RELAY
Connect:localhost RELAY
Connect:127.0.0.1
Connect:zabbix.oplinux.com RELAY
#vi /etc/mail/local-host-names
zabbix.oplinux.com
#service sendmail restart
#telnet 127.0.0.1 25
Trying 127.0.0.1…
Connected to zabbix.oplinux.com(127.0.0.1).
Escape character is ‘^]’.
220 poweryingzi.comESMTP Sendmail 8.13.8/8.13.8; Sun, 10 Oct 2010 14:00:33 +0800
测试发现上面的结果就可以了
点击configuration----Media Types----email,如下图配置,最后save保存即可
14. 短信猫配置
14.1 安装依赖包
yum -y install lockdev minicom perl-XML-Parser
14.2 编译安装intltol
wget http://ftp.gnome.org/pub/gnome/sources/intltool/0.40/intltool-0.40.6.tar.gz
cd intltool-0.40.6/
./configure --prefix=/usr/local/intltool && make && make install
14.3 编译安装gnokii
wget http://www.gnokii.org/download/gnokii/0.6.x/gnokii-0.6.31.tar.gz
tar zxvf gnokii-0.6.31.tar.gz -C /usr/local/
cd gnokii-0.6.31
./configure
gmake && gmake install
cp /usr/local/share/doc/gnokii/sample/gnokiirc /etc/
如果报错:error: Your intltool is too old. You need intltool 0.35.0 or later.,则重新安装intltool,不指定安装路径。
如果报错:no package ‘glib-2.0’ found,则:yum install libgnomeui-devel 即可解决。
14.4 配置minicom
minicom -s
按A键可修改Serial Device为/dev/ttyUSB0
按E键可修改E项,调整值为9600 5N1.
回车,先保存,再退出
在虚拟机下,要添加串行端口,否则虚拟机无法识别短信猫。
测试minicom
运行输入 minicom 输入AT显示OK
退出按Ctrl+A -----Z ----X 即可
14.5 配置gnokiirc
测试短信猫是否安装成功
gnokii --identify
测试短信
echo -e “test” | gnokii --sendsms 134xxxxxxx
修改权限
chown -R zabbix.zabbix /dev/ttyS0
14.6 配置短信报警
mkdir /usr/local/zabbix/scripts
vim /usr/local/zabbix/etc/zabbix_server.conf
添加 AlertScriptsPath=/usr/local/zabbix/scripts(去掉#号即可)
编写报警脚本
默认zabbix会传给脚本3个值,分别为$1(telephone) $2(subject) $3(body)
重启zabbix服务 service zabbix_server restart
14.7 界面配置
配置完毕。
15. 添加交换机监控
添加交换机之前需开启snmp、配置public值,还要弄清两个常用OID值(ifOutOctets 1.3.6.1.2.1.2.2.1.16 传输接口,包括帧字符的字节总数;ifInOctets 1.3.6.1.2.1.2.2.1.10 接口上接收到的字节总数,包括帧字符),OID值含义入下:
01.ifindex 1.3.6.1.2.1.2.2.1.1 每个接口的唯一值
02.ifDescr 1.3.6.1.2.1.2.2.1.2 一个文本字符串包含的接口信息,此字符串应该包括制造商的名称,产品名称和版本硬件接口
03.ifType 1.3.6.1.2.1.2.2.1.3 接口类型,根据物理/链路协议和下面的网络层协议栈区分。
04.ifMtu 1.3.6.1.2.1.2.2.1.4 接口可以最大发送和接收数据包的字节数
05.ifSpeed 1.3.6.1.2.1.2.2.1.5 接口当前最大每秒比特数(bit/s)速率。
06.ifPhysAddress 1.3.6.1.2.1.2.2.1.6 在协议层接口的地址,即MAC(物理)地址。
07.ifAdminStatus 1.3.6.1.2.1.2.2.1.7 目前管理接口状态
08.ifOperStatus 1.3.6.1.2.1.2.2.1.8 接口当前的运行状态
09.ifInOctets 1.3.6.1.2.1.2.2.1.10 接口上接收到的字节总数,包括帧字符
10.ifInUcastPkts 1.3.6.1.2.1.2.2.1.11 子网单播传送到更高层协议的数据包数量
11.ifInNUcastPkts 1.3.6.1.2.1.2.2.1.12 非单播的数量(子网广播或者子网多播)传送到一个更高层协议的数据包
12.ifInDiscards 1.3.6.1.2.1.2.2.1.13 一些入站数据包被选择为丢弃,以防止它们被交付到一个更高层的协议。
可能原因为释放缓冲区空间。
13.ifInErrors 1.3.6.1.2.1.2.2.1.14 入站数据包包含的错误,防止它们被交付到一个更高的协议层
14.ifInUnknownProtos 1.3.6.1.2.1.2.2.1.15 未知或不受支持的协议被丢弃,因为通过该接口接收的数据包的数量。
15.ifOutOctets 1.3.6.1.2.1.2.2.1.16 传输接口,包括帧字符的字节总数
16.ifOutUcastPkts 1.3.6.1.2.1.2.2.1.17 在该层,包括哪些被丢弃或不发送组播或广报地址的数据包总数,
更高级别的协议要求传输,并没有解决。
17.ifOutNUcastPkts 1.3.6.1.2.1.2.2.1.18 更高级别的协议请求传送数据包总数,并给该子层多播或者广播地址,
包括哪些被丢弃或不发送的。
18.ifOutDiscards 1.3.6.1.2.1.2.2.1.19 被选择的出站数据包被丢弃,即使没有错误被检测到,以防止其他传输的数量。
一个可能的原因丢弃这样的包可能会释放缓冲空间。
19.ifOutErrors 1.3.6.1.2.1.2.2.1.20 由于错误而不能被传送的出站数据包数量
20.ifOutQLen 1.3.6.1.2.1.2.2.1.21 输出数据包长度。
snmpwalk -v 2c -c public hostip .1.3.6.1.2.1.1.1.0,该命令用来获取设备信息
例如
具体添加方法如下: