*** 作系统:CentOS
IP地址:192.168.21.127
Web环境:Nginx+MySQL+PHP
zabbix版本:Zabbix 2.2 LTS
备注:Linux下安装zabbix需要有LAMP或者LNMP运行环境
安装篇
一、创建、导入zabbix数据库
cd /usr/local/src #进入软件包下载目录
tar zxvf zabbix-2.2.6.tar.gz #解压
cd /usr/local/src/zabbix-2.2.6/database/mysql #进入mysql数据库创建脚本目录
ls #列出文件,可以看到有schema.sql、images.sql、data.sql这三个文件
mysql -u root -p #输入密码,进入MySQL控制台
create database zabbix character set utf8#创建数据库zabbix,并且数据库编码使用utf8
insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('123456'))#新建账户zabbix,密码123456
flush privileges#刷新系统授权表
说明: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主机设置完成。
配置方式:1. 完成自定义监控脚本的编写(windows或linux脚本)
脚本要求:(1)既然是监控,那必然要有输出结果值(字符串,数字皆可)
(2)必须要求zabbix用户有执行权限,当然可以直接设置所有用户都有执行权限(chmod 777 脚本文件)
(3)若脚本需要传入参数,按照参数传入的顺序,在脚本中可用$1-$9来引用传入的参数
2 找到zabbix agent的配置文件zabbix_agentd.conf,修改如下两个参数
UnsafeUserParameters=0 =>UnsafeUserParameters=1并去掉前面的注释符
UserParameter= =>UserParameter=aaa.bbb[*], /usr/local/script/monitor.sh $1 $2 …
说明:aaa.bbb[*] ---zabbix服务器添加监控信息时需要用到的key值,
格式:aaa.bbb[*](例:system.file.size[*])
/usr/local/script/monitor.sh ----监控脚本绝对路径
为了便于灵活监控,有时脚本需要传入参数,此参数可从zabbix服务器端传入,所有参数按顺序分别从$1-$9表示
注:(1)若无需传入参数,则红色部分可省略
(2)该自定义脚本可由zabbix服务器控制收集数据的频率(如:每30s运行一次),无需再添加计划任务
(3)以上参数请根据实际情况填写,并注意去除参数前注释符(#)
(4)注意在key值和后面的脚本之间有个逗号隔开
至此,自定义监控脚本zabbix agent端配置结束
3. 测试
测试命令: /usr/local/bin/zabbix_agentd -t key[参数]
示例:/usr/local/bin/zabbix_agentd -t system.file.size[/etc/a.txt,abc,…]
4. 监控脚本举例:
脚本名称:/usr/local/script/monitor.sh
脚本内容:echo `date +"%F %T"`
脚本要求:必须在控制台输出值,该值将作为返回值返回给zabbix服务器端
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)