Zabbix监控端配置请查看:CentOS7下搭建zabbix监控(一)——Zabbix监控端配置
(1).在远程CentOS7(被监控端)上部署Zabbix Agent
主机名:youxi2 IP地址:192.168.5.102
1)上传压缩包,安装依赖包
[root@youxi2 ~]# yum install -y curl curl-devel net-snmp net-snmp-devel perl-DBI gcc gcc-c++
2)创建zabbix用户
[root@youxi2 ~]# useradd -M -s /sbin/nologin zabbix
3)解压文件,编译安装Zabbix Agent
[root@youxi2 ~]# tar zxf zabbix-3.4.3.tar.gz -C /usr/local/src/ [root@youxi2 ~]# cd /usr/local/src/zabbix-3.4.3/ [root@youxi2 zabbix-3.4.3]# ./configure --prefix=/usr/local/zabbix --enable-agent [root@youxi2 zabbix-3.4.3]# make install [root@youxi2 zabbix-3.4.3]# echo $? 0
4)修改Zabbix Agent配置文件
[root@youxi2 zabbix-3.4.3]# vim /usr/local/zabbix/etc/zabbix_agentd.conf Server=192.168.5.101 //第93行,被动连接的服务器 # ListenPort=10050 //第101行,端口号,默认10050 ServerActive=192.168.5.101 //第134行主动连接的服务器 Hostname=youxi2 //第145行,Zabbix Server查看时这台主机的名称 UnsafeUserParameters=1 //第280行,是否允许特殊字符存在于用户自定义的参数名称中。默认为0,不允许
5)启动Zabbix Agent,并设置开机自启
[root@youxi2 zabbix-3.4.3]# /usr/local/zabbix/sbin/zabbix_agentd [root@youxi2 zabbix-3.4.3]# ss -antup | grep zabbix tcp LISTEN 0 128 *:10050 *:* users:(("zabbix_agentd",pid=13855,fd=4),("zabbix_agentd",pid=13854,fd=4), ("zabbix_agentd",pid=13853,fd=4),("zabbix_agentd",pid=13852,fd=4),("zabbix_agentd",pid=13851,fd=4),("zabbix_agentd",pid=13850,fd=4)) [root@youxi2 zabbix-3.4.3]# echo /usr/local/zabbix/sbin/zabbix_agentd >> /etc/rc.local //添加开机自启
另外,官方非常贴心的准备了启动脚本,所以也可以使用启动脚本来管理Zabbix
[root@youxi2 zabbix-3.4.3]# cp /usr/local/src/zabbix-3.4.3/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/ [root@youxi2 zabbix-3.4.3]# vim /etc/init.d/zabbix_agentd ZABBIX_BIN="/usr/local/zabbix/sbin/zabbix_agentd" //第21行,修改 [root@youxi2 zabbix-3.4.3]# chkconfig --add zabbix_agentd [root@youxi2 zabbix-3.4.3]# chkconfig --list zabbix_agentd zabbix_agentd 0:关 1:关 2:关 3:关 4:关 5:关 6:关 [root@youxi2 zabbix-3.4.3]# chkconfig zabbix_agentd on [root@youxi2 zabbix-3.4.3]# chkconfig --list zabbix_agentd zabbix_agentd 0:关 1:关 2:开 3:开 4:开 5:开 6:关
建议使用启动脚本的方式管理。
6)如果防火墙是打开的,请记得添加端口号
[root@youxi2 ~]# firewall-cmd --permanent --zone=public --add-port=10050/tcp success [root@youxi2 ~]# firewall-cmd --reload success [root@youxi2 ~]# firewall-cmd --permanent --zone=public --list-ports 10050/tcp
7)测试
这是在监控端运行的命令,如果输出正常则表示配置成功
[root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.5.102 -p10050 -k system.uname Linux youxi2 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64
8)Web端添加主机youxi2
A.进入页面添加主机
B.添加主机信息,然后选择模块进行配置
选择链接指示器中的模板,添加到链接模板中,最后点击添加,完成配置。
C.等待新加的主机的可用性中出现一个绿色,就可以使用了
(2).配置Zabbix监控Apache服务
主机名:youxi2 IP地址:192.168.5.102
注意:需要找一个合适的Apache监控模板
1)安装httpd,这里为了简化步骤直接yum安装
[root@youxi2 ~]# yum -y install httpd [root@youxi2 ~]# systemctl enable httpd //设置开机自启 Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
2)开启Apache的server-status,并重启httpd
[root@youxi2 ~]# vim /etc/httpd/conf/httpd.conf EnableSendfile on //这是第348行,在这行下面添加如下标签 <location /server-status> SetHandler server-status Order allow,deny Allow from 127.0.0.1 192.168.5.0/24 </location> [root@youxi2 ~]# systemctl restart httpd
3)如果防火墙是打开的,记得添加端口号
[root@youxi2 ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp success [root@youxi2 ~]# firewall-cmd --reload success [root@youxi2 ~]# firewall-cmd --permanent --zone=public --list-ports 10050/tcp 80/tcp
4)Web验证Apache打开server-status
5)下载模板文件
模板文件需要在Windows和CentOS上各留一份,地址:https://github.com/lorf/zapache/archive/master.zip。然后解压
由于下载的是zip格式文件,所以需要unzip程序
[root@youxi2 ~]# yum -y install unzip
安装完成后解压文件
[root@youxi2 ~]# unzip zapache-master.zip Archive: zapache-master.zip 24a764b2e224f9b8d0a6bc94dcadd7568b2fe650 creating: zapache-master/ inflating: zapache-master/README.md inflating: zapache-master/httpd-server-status.conf.sample inflating: zapache-master/userparameter_zapache.conf.sample inflating: zapache-master/zapache inflating: zapache-master/zapache-template-active.xml inflating: zapache-master/zapache-template.xml [root@youxi2 ~]# ls zapache-master/ httpd-server-status.conf.sample zapache README.md zapache-template-active.xml userparameter_zapache.conf.sample zapache-template.xml
文件说明:
httpd-server-status.conf.sample 用于配置httpd开启server-status
zapache、userparameter_zapache.conf.sample 关键的脚本和配置文件
zapache-template-active.xml、zapache-template.xml 模板文件(active是动作,是触发器模板)
6)修改配置文件和脚本
[root@youxi2 ~]# cp zapache-master/zapache /usr/local/bin/ //拷贝脚本 [root@youxi2 ~]# chmod +x /usr/local/bin/zapache //给脚本添加执行权限 [root@youxi2 ~]# cp zapache-master/userparameter_zapache.conf.sample /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_zapache.conf //拷贝配置文件,并重命名 [root@youxi2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_zapache.conf UserParameter=zapache[*],/usr/local/bin/zapache \$1 //指向脚本文件 [root@youxi2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf # Include=/usr/local/etc/zabbix_agentd.userparams.conf //第263~265行 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ //去除注释,修改并启用该目录 # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
7)Web端导入模板
A.选择配置中的模板,点击导入
B.选择导入文件,点击导入,就成功导入这个模板了。
8)Web端关联模板(给现有的主机添加新的模板)
A.选择配置中的主机,点击任意主机名称
B.选择模板,选中Template App Apache Web Server zapache模板,添加并更新
C.之后可以在监测的图形中选择Apache相关检测项
也可以在监测中的最新数据选择Apache相关监控项构成图形
(3).配置Zabbix监控Mysql服务
主机:youxi2 IP地址:192.168.5.102
和Apache一样需要先找一个监控模板,不过Zabbix默认提供了Mysql的监控模板。
1)安装Mysql
具体查看:二进制包安装Mysql
mysql安装目录/usr/local/mysql/,数据目录/usr/local/mysql/data/,mysql的root用户密码为123456。启动并设置开机自启。
2)数据库用户授权
创建用户和授予usage权限是一样的效果。
[root@youxi2 ~]# mysql -uroot -p123456 mysql> create user 'zabbix'@'192.168.5.%' identified by '123456'; //创建用户zabbix Query OK, 0 rows affected (0.00 sec) mysql> show grants for 'zabbix'@'192.168.5.%'; //查看用户zabbix的权限 +----------------------------------------------+ | Grants for [email protected].% | +----------------------------------------------+ | GRANT USAGE ON *.* TO 'zabbix'@'192.168.5.%' | //usage表示只有登录和查询information_schema的权限 +----------------------------------------------+ 1 row in set (0.00 sec) mysql> grant usage on *.* to 'zabbix2'@'192.168.5.%' identified by '123456'; //授权zabbix2 Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> show grants for 'zabbix2'@'192.168.5.%'; //查看用户zabbix2的权限 +-----------------------------------------------+ | Grants for [email protected].% | +-----------------------------------------------+ | GRANT USAGE ON *.* TO 'zabbix2'@'192.168.5.%' | +-----------------------------------------------+ 1 row in set (0.00 sec) mysql> flush privileges; //刷新 Query OK, 0 rows affected (0.00 sec)
3)修改配置文件,并重启Zabbix Agent
[root@youxi2 ~]# cp /usr/local/src/zabbix-3.4.3/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d/ [root@youxi2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf //HOME参数的路径必须与下方编辑的.my.cnf路径必须一致 UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/usr/local/zabbix/etc mysql -N | awk '{print $$2}' //第5行 UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/usr/local/zabbix/etc/ mysql -N' //第15行 UserParameter=mysql.ping,HOME=/usr/local/zabbix/etc mysqladmin ping | grep -c alive //第17行 [root@youxi2 ~]# vim /usr/local/zabbix/etc/.my.cnf //配置数据库与zabbix连接文件。与上方userparameter_mysql.conf修改路径保持一致 #Zabbix Agent [mysql] host=localhost user=zabbix password=123456 socket=/usr/local/mysql/mysql.sock [mysqladmin] host=localhost user=zabbix password=123456 socket=/usr/local/mysql/mysql.sock [root@youxi2 ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf # Include=/usr/local/etc/zabbix_agentd.userparams.conf //第263~265行,三个里面有且仅有一个开启 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ //去除注释,修改并启用该目录 # Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf [root@youxi2 ~]# /etc/init.d/zabbix_agentd restart //重启 Restarting zabbix_agentd (via systemctl): [ 确定 ]
4)在监控端测试
如果提示如下错误,需要到被监控端(youxi2)将mysql和mysqladmin做一个软链接到/usr/bin下(明明有环境变量,也可以在youxi2上直接调用,但它就不认)
[root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.status[Uptime] sh: mysql: 未找到命令 [root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.ping sh: mysqladmin: 未找到命令
做一个软链接
[root@youxi2 ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin/ [root@youxi2 ~]# ln -s /usr/local/mysql/bin/mysqladmin /usr/bin/
再次测试成功
[root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.status[Uptime] 414 [root@youxi1 ~]# /usr/local/zabbix/bin/zabbix_get -s192.168.5.102 -p10050 -k mysql.ping 1
5)Web端关联模板
A.选择配置中的主机,点击任意主机名称
B.选择模板,选中Template DB MySQL模板,添加并更新
C.之后就可以在监测中查看了。