根据使用zabbix这么久的经验,总结了一套zabbix比较实用的添加主机、监控报警的使用流程,供大家参考。
一:添加处理方法,就是如何报警
打开zabbix的管理雀中------处理方法----create media type:
我用的清森是脚本发邮件的方式来报警的,脚本名字为mail.py。指的一提的是脚本存放位置,我的脚本是放在/usr/local/zabbix/bin/目录下面,在这里不写目录的据对路径,直接写脚本名字,他的路径设置是在zabbix服务器端的配置文件中设置的,在zabbix_server.conf配置文件中设置:AlertScriptsPath=/usr/local/zabbix/bin/
二:添加zabbix用户和组,设置其邮箱地址等信息
1:打开zabbix的管理------用户---选择用户组下拉----create user group:
填写个组名,设置需要的权限直接保存就成,其他的不用填写和选择。
2:打开zabbix的管理------用户---选择用户下拉----create user:
填写用户信息
3:添加报警介质,就是报警方式,因为是报警,【信息】那项就不用勾选,信息一般就是服务器信息发生变化时报警,这个一般没有什么意义,所以不勾选,不过你也可以选择,根据个人喜好。类型的话就是选择处理发放中的报警介质,选择你添加的。然后可以保存信息,完成添加用户(Permissions那项没有不填写)。
三:报警触发器触发的动作设置
当监控项中的触发器达到你设置的报警值之后,需要执行 *** 作来发送邮件等动作。具体设置:
1:打开zabbix的系统配置--- *** 作---- 选择事件源为触发器------create action:
2:触发条件设置:
3:详细 *** 作设置,即满足触发条件之后执行什么动作,这里一般设置为发邮件之类的,设置收邮件的用户(建议每个组对应一个用户,这样发邮件的时候容易设置发送对象):
四:zabbix中常用到的几个key
Zabbix的key可以理解为zabbix的命令,执行这个key可以得到相应的结果。
1:监控端口的:net.tcp.port[,3306]
/usr/local/zabbix/bin/ -s192.168.8.120 -knet.tcp.port[,3306] 返回1为192.168.8.120的端口3306存在,0为不存在
2:监控进程的:proc.num[mysqld]
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[mysqld] 返回值为192.168.8.120中mysqld的进程数量顷正山
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[] 返回值为192.168.8.120中所有的进程数量
3:查看CPU核数的:system.cpu.num 返回值为服务器CPU的核数
4:查看系统的系统启动时间和当前时间:system.boottime、system.localtime 返回值为系统启动时间和当前时间,为时间戳格式
5:查看系统的简单信息:system.uname 返回值为192.168.8.120的系统信息,类似于linux系统的uname -a命令
6:查看windowns系统当前网卡的进出流量:net.if.out[{HOST.NAME},bytes]、net.if.in[{HOST.NAME},bytes]和linux系统的key:net.if.out[eth0,bytes]、net.if.in[eth0,bytes]一样
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.in[192.168.8.120,bytes] 返回值为IP为192.168.8.120的进流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.out[192.168.8.120,bytes] 返回值为IP为192.168.8.120的出流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量
7:查看系统内存大小:vm.memory.size[total],返回值单位bytes
8:查看文件的大小: vfs.file.size[file] 如: vfs.file.size[/var/log/syslog] 返回的是/var/log/syslog的大小,单位是:bytes
9:查看文件是否存在:vfs.file.exists[file] 文件如果存在返回0,不存在返回1
10:查看文件的MD5:vfs.file.md5sum[file]查看小文件的MD5,返回为MD5值(好像只有2.0以上的版本有这个key)
11:自动发现网卡并监控流量和自动发现分区及分区挂载情况的两个key:net.if.discovery,vfs.fs.discovery,windows和linux监控模板中都有这模板(2.0以上版本),应用即可
以上是常用的key,其实监控服务器无非就是内存、硬盘占用、CPU负载、流量、服务器和端口等情况。如果要监控其他的可以自定义key来实现,本人喜欢自定义key,写个脚本来返回,得到自己想要的监控结果,zabbix在这块做的非常好,扩展性很强,支持各种脚本来实现自定义的key。
要启用自定义key,需要在客户端的配置文件中启用UnsafeUserParameters=1参数,然后在配置文件的最下面来定义key,如:
UserParameter=free.disk,/usr/local/zabbix/bin/disk.py
free.disk为key的名字,/usr/local/zabbix/bin/disk.py为服务器端调用free.disk这个key时执行的脚本,其结果就是free.disk的返回值。脚本可以是任何可以运行的脚本语言。
五:创建监控模板和监控项
其实在zabbix服务器端安装完成之后,就有许多自带的监控模板,基本上可以满足大众化的监控需求,不过其中有许多是没有必要的监控项或是自己不感兴趣的,比较冗余,所以要做好监控的话,还是自定义模板和监控项,这个监控模板可以修改zabbix系统自带的,也可以自己创建。以下为自己创建监控模板。
1:创建监控模板:
打开zabbix的系统配置---模板----create template:
填写模板名字和模板所在组保存即可。
说明:Zabbix监控服务端已哪誉姿经配置完成,现在要使用Zabbix对Linux主机进行监控。
具体 *** 作:
以下 *** 作在被监控的Linux主机进行,这里以CentOS 6.x系统为例。
一、配置防火墙,开启10050、10051的TCP和UDP端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件
-A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT
-A INPUT -s 192.168.21.127 -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT
:wq! #保存退出
service iptables restart #重启防火墙使配置生效
说明:192.168.21.127是Zabbix服务端的IP地址,表示端口只对此IP开放,如果要对所有IP开放,规则如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT
二、关闭SELINUX
vi /etc/selinux/config
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
三、安装Zabbix客户端
1、zabbix软件包下载
zabbix-2.2.6
http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
上传zabbix-2.2.6.tar.gz到服务虚升器/usr/local/src目录下面
2、添加用户
groupadd zabbix #创建用户组zabbix
useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把李绝用户zabbix加入到用户组zabbix中
3、安装Zabbix
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 #添加软连接
/sbin/ldconfig #使配置立即生效
cd /usr/local/src
tar zxvf zabbix-2.2.6.tar.gz
cd zabbix-2.2.6
./configure --prefix=/usr/local/zabbix --enable-agent #配置
make #编译
make install #安装
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接
备注:编译安装软件需要先安装编译工具等系统软件包,CentOS使用如下命令安装
yum install apr* autoconf automake bison cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng* libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* libX* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils ppl telnet t1lib t1lib* nasm nasm* wget zlib-devel
4、添加zabbix服务对应的端口
echo 'zabbix-agent 10050/tcp #Zabbix Agent' >>/etc/services
echo 'zabbix-agent 10050/udp #Zabbix Agent' >>/etc/services
echo 'zabbix-trapper 10051/tcp #Zabbix trapper' >>/etc/services
echo 'zabbix-trapper 10051/udp #Zabbix trapper' >>/etc/services
或者
vi /etc/services #编辑,在最后添加以下代码
# Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
:wq! #保存退出
5、修改Zabbix配置文件
vi /usr/local/zabbix/etc/zabbix_agentd.conf #编辑
Server=192.168.21.127
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1 #启用自定义key
:wq! #保存退出
备注:192.168.21.127是Zabbix服务端IP地址
6、添加开机启动脚本
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
vi /etc/rc.d/init.d/zabbix_agentd #编辑
BASEDIR=/usr/local/zabbix/ #Zabbix安装目录
:wq! #保存退出
chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限
chkconfig zabbix_agentd on #添加开机启动
service zabbix_agentd start #启动Zabbix客户端
ps ax|grep zabbix_agentd #检查Zabbix客户端是否正常运行
netstat -utlnp | grep zabbix #检查Zabbix客户端是否正常运行
四、测试Zabbix客户端与Zabbix服务端通信是否正常
以下代码在Zabbix服务端执行
/usr/local/zabbix/bin/zabbix_get -s192.168.21.128 -p10050 -k"system.uptime"
5049866 #有数据显示说明通信正常
备注:192.168.21.128是Zabbix客户端IP地址
五、添加对Linux主机的监控
在浏览器中打开:
http://192.168.21.127/zabbix/ #Zabbix服务端访问地址
组态-主机
创建主机
主机名称:192.168.21.128
群组:Linux servers
端点代理程式的介面-IP地址:192.168.21.128
状态:受监控中
其它选项默认即可
切换到模板
选择
选择:Template OS Linux
点添加
存档
至此,Zabbix监控Linux主机设置完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)