本文共 2263 字,大约阅读时间需要 7 分钟。
如果使用rpm安装,可能造成很多依赖问题,所以还是用源码安装,做法参照zabbix服务端安装文档,不用拷贝server配置文件,不用启动server,只需要修改agentd文件,启动agentd就可以。需要注意的是,因为server监控客户端mysql需要定义用户参数,所以需要对userparameter进行配置。
1,配置前先关闭iptables和SELINUX,避免安装过程中报错。 [root@zabbix ~]# cat /etc/redhat-release CentOS release 6.4 (Final) [root@zabbix ~]# service iptables stop iptables: Flushing firewall rules: [ OK ] iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Unloading modules: [ OK ] [root@zabbix ~]# chkconfig iptables off [root@zabbix ~]# setenforce 0 [root@zabbix ~]# vim /etc/sysconfig/selinux 修改 SELIUNX=disabled 2,安装LAMP环境 [root@zabbix ~]# yum install -y httpd mysql mysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbc php-xml php-pear 3,下载zabbix-2.2.2.tar.gz [root@zabbix ~]# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.2.2/zabbix-2.2.2.tar.gz 4,安装zabbix所需的组件(server,agent) [root@zabbix ~]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI5,创建用户账号(agent),在启动zabbix时,需要zabbix用户
[root@zabbix ~]# groupadd zabbix -g 201 [root@zabbix ~]# useradd -g zabbix -u 201 -m zabbix6,解压zabbix
[root@zabbix ~]#tar zxf zabbix-2.2.2.tar.gz7,安装zabbix
[root@zabbix ~]#cd zabbix-2.2.2 [root@zabbix zabbix-2.2.2]# ./configure --enable-agent [root@zabbix zabbix-2.2.2]# make install 安装完成后zabbix的路径在/usr/local/etc下8,找到默认mysql的用户参数
[root@zabbix ~]# find / -name userparameter_mysql.conf9,将里面的参数拷贝至zabbix_agentd.conf,如果用home,home路径下的文件保存的是mysql连接的用户名和密码,比较安全。这里直接调用mysql,将home路径修改为mysql/bin所在路径,如下
注意:使用ping参数,只能用mysqladmin用户 然后修改server,serveractive和hostname。10,将zabbix_agentd添加至启动项
cp /root/zabbix-2.2.2/misc/init.d/tru64/zabbix_agentd /etc/init.d/ chmod +x /etc/init.d/zabbix_*11,启动zabbix_agentd
注意:上述的方法在mysql5.1时是OK的,但是在mysql5.6时,会出现如下问题
能看到,zabbix_get能取到值,但是在web上显示值类型不对,这是因为mysql5.6有安全机制,在使用mysql命令并写出密码,会给出警告,最好不要在命令行写密码,以免出现安全隐患,而这段警告,是包含在结果里的,而web定义的值是数字类型的,但结果是字符串,导致web提示值类型不一致。 解决办法如下:
1,在/var/lib/zbbix下创建一个包含MySQL用户名和密码的配置文件“.my.cnf”,如下
[client]user=roothost=localhostpassword=password2,将UserParameter的mysql命令改为HOME,以mysql.ping为例,如下
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive被监控端测试
$ zabbix_agentd -t mysql.pingmysql.ping [t|1]服务端测试,ip为被监控端IP,这里为监控本地数据库
$ zabbix_get -s 127.0.0.1 -k mysql.ping1