zabbix分布式监控平台添加服务监控项(http,nginx,mysql)

二次信任 提交于 2019-11-27 16:07:21

一、添加http服务监控项
1.http是zabbix自带的监控模板
2.点击配置–>主机–>server2–>模板–>选择

在这里插入图片描述
在这里插入图片描述
选择完后点击添加,添加完成后更新
在这里插入图片描述
点击主机查看,主机server2的监控项中就出现了HTTP服务
在这里插入图片描述
二、监控nginx服务

1.部署nginx服务

(1)解压nginx安装包

[root@server3 ~]# tar zxf nginx-1.16.0.tar.gz 

在这里插入图片描述

(2)关闭debug日志

[root@server3 ~]# cd nginx-1.16.0
[root@server3 nginx-1.16.0]# vim auto/cc/gcc 
# debug
#CFLAGS="$CFLAGS -g"

在这里插入图片描述

(3)安装解决依赖性的包

[root@server3 nginx-1.16.0]# yum install gcc pcre-devel zlib-devel -y

(4)编译并安装

[root@server3 nginx-1.16.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module

[root@server3 nginx-1.16.0]# make && make install 

(5)编辑nginx配置文件

[root@server3 nginx-1.16.0]# vim /usr/local/nginx/conf/nginx.conf
location /status {
            stub_status on;
            access_log off;
            allow 127.0.0.1;
            deny all;
        }

在这里插入图片描述

(6)nginx语法检测并开启nginx服务

[root@server3 nginx-1.16.0]# /usr/local/nginx/sbin/nginx -t
[root@server3 nginx-1.16.0]# /usr/local/nginx/sbin/nginx 

在这里插入图片描述

2.测试:利用 curl http://127.0.0.1/status访问nginx来测试

[root@server3 nginx-1.16.0]# curl http://127.0.0.1/status

在这里插入图片描述

(2)过滤监控参数(访问次数,连接次数等),将过滤出来的参数以key-value键值对的形式储存:

[root@server3 nginx-1.16.0]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'

在这里插入图片描述
3.创建nginx监控项(nginx.active)
(1)切换到/etc/zabbix/zabbix_agentd.d/目录下,把监控mysql服务的配置文件模板复制一份给nginx服务

[root@server3 nginx-1.16.0]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf userparameter_nginx.conf
[root@server3 zabbix_agentd.d]# ls
userparameter_mysql.conf  userparameter_nginx.conf

在这里插入图片描述
在这里插入图片描述

(2)编辑userparameter_nginx.conf文件

[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'

在这里插入图片描述
在这里插入图片描述
4.重启zabbix-agent服务

[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

5.zabbix-server端安装zabbix-get测试是否能得到数据

[root@server1 ~]# yum install -y  zabbix-get-4.0.5-1.el7.x86_64.rpm
[root@server1 ~]# zabbix_get -s 172.25.21.3 -p 10050 -k "nginx.active"
1

在这里插入图片描述
在这里插入图片描述

6.浏览器访问172.25.21.3,加大参数

[root@server1 ~]# zabbix_get -s 172.25.21.3 -p 10050 -k "nginx.active"
2

在这里插入图片描述

7.浏览器中点击配置—>主机—>server3—>点击创建监控项
在这里插入图片描述
添加监控项,点击更新
在这里插入图片描述
添加图形,将刚刚的的监控项导入
在这里插入图片描述
在这里插入图片描述
点击预览便可看到监控图形
在这里插入图片描述
8.但是图形下面的字体是乱码所以要修改字体
下载字体到/usr/share/zabbix/fonts/目录下

[root@server1 ~]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ls
graphfont.ttf  simkai.ttf

在这里插入图片描述

9.编辑defines.inc.php文件,用simkai.ttf替换graphfont.ttf

[root@server1 fonts]# cd ..
[root@server1 zabbix]# cd include/
[root@server1 include]# vim defines.inc.php 
:%s/graphfont/simkai/g

在这里插入图片描述

10.刷新页面,字体显示正常
在这里插入图片描述
11.添加新的监控参数

[root@server3 ~]# curl -s http://127.0.0.1/status | awk NR==3 
 1166 1166 1175 
[root@server3 ~]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'

在这里插入图片描述

12.创建新的nginx监控项(nginx.accept)

[root@server3 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'

在这里插入图片描述
在这里插入图片描述
13.重启zabbix-agent服务

[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent

在这里插入图片描述
14.zabbix-server端测试是否能得到数据

[root@server1 ~]# zabbix_get -s 172.25.21.3 -p 10050 -k "nginx.accept"
1185

在这里插入图片描述

15.浏览器中点击配置—>主机—>server3—>点击创建监控项,添加新的监控项,点击更新
在这里插入图片描述
添加图形,将刚刚新添加的监控项导入
在这里插入图片描述
在这里插入图片描述
点击预览便可看到监控图形
在这里插入图片描述
三、监控mysql服务
1.先给Zabbix server主机添加自带的监控模版
在这里插入图片描述
在这里插入图片描述
点击添加
在这里插入图片描述
添加成功后点击更新
在这里插入图片描述

自带的模版监控项太少了,继续添加模版增加监控项,导入模版percona
1.配置mysql
(1)在/var/lib目录下,新建zabbix目录,检查mysql服务是否正常

[root@server1 ~]# cd /var/lib/
[root@server1 lib]# mkdir zabbix
[root@server1 lib]# mysqladmin -uzabbix -predhat -h 127.0.0.1 ping | grep -c alive
1

在这里插入图片描述
(2)切换到zabbix目录下,编辑.my.cnf文件

[root@server1 lib]# cd zabbix/
[root@server1 zabbix]# vim .my.cnf
[mysql]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock

在这里插入图片描述
在这里插入图片描述
(3)重启zabbix-agent服务

[root@server1 zabbix]# systemctl restart zabbix-agent

在这里插入图片描述

2.安装percona-zabbix模板

[root@server1 ~]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm 

在这里插入图片描述

3.切换到/var/lib/zabbix/percona/templates/目录下,复制userparameter_percona_mysql.conf 文件到/etc/zabbix/zabbix_agentd.d/下

[root@server1 ~]# cd /var/lib/zabbix/
[root@server1 zabbix]# ls
percona
[root@server1 zabbix]# cd percona/
[root@server1 percona]# cd templates/
[root@server1 templates]# ls
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server1 templates]# cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/

在这里插入图片描述
4.重新编辑一个新的php文件,将zabbix的数据库和密码写入php脚本中

[root@server1 templates]# cd  ..
[root@server1 percona]# cd scripts/
[root@server1 scripts]# ls
get_mysql_stats_wrapper.sh  ss_get_mysql_stats.php
[root@server1 scripts]# vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user = 'root';
$mysql_pass = 'redhat';

在这里插入图片描述
在这里插入图片描述
5.重启zabbix-agent服务

[root@server1 scripts]# systemctl restart zabbix-agent

6.测试percona脚本,过滤监控项

[root@server1 scripts]# cd /etc/zabbix/zabbix_agentd.d/
[root@server1 zabbix_agentd.d]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
4
[root@server1 zabbix_agentd.d]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gk
1576
[root@server1 zabbix_agentd.d]# cd /tmp/
[root@server1 tmp]# ls
[root@server1 tmp]# cat localhost-mysql_cacti_stats.txt 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7.导入模板
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击Zabbix server主机—>模板—>选择
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以看到zabbix server主机的监控项发生变化
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!