Zabbix---配置nginx服务监控

配置服务监控

续上一篇博客

【server2】

1>给 server2 添加 httpd 监控

systemctl start zabbix-agent
systemctl status zabbix-agent
Zabbix---配置nginx服务监控_第1张图片
进入网页:配置>主机>server2>模版>Template APP HTTP service>添加,更新> 查看主机的可用性(必须是绿色的)
Zabbix---配置nginx服务监控_第2张图片
Zabbix---配置nginx服务监控_第3张图片
在这里插入图片描述

yum install httpd -y ##安装httpd服务并启动
在这里插入图片描述
systemctl start httpd
在这里插入图片描述
【server3】
但是这个 http 监控的监控项只有一个,在 server3 上自定义 nginx 的监控

1:#源码编译 nginx,关闭 debug,添加监控模块
tar zxf nginx-1.17.4.tar.gz cd nginx-1.17.4
cd ngixn-1.17.4.tar.gzZabbix---配置nginx服务监控_第4张图片
2: vim auto/cc/gcc
172 :#CFLAGS="$CFLAGS -g"
Zabbix---配置nginx服务监控_第5张图片
3:源码编译 yum install gcc -y
在这里插入图片描述
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
yum install pcre-devel -y
yum install zlib-devel -y

make && make install

4:启用监控,关闭日志,只允许本机查看状态监控

vim /usr/local/nginx/conf/nginx.conf
  2 user nginx nginx;
 47         location /status {
     
 48             stub_status on;
 49             access_log off;
 50             allow 127.0.0.1;
 51             deny all;
 52         }
useradd nginx
/usr/local/nginx/sbin/nginx   ##启动nginx

Zabbix---配置nginx服务监控_第6张图片
Zabbix---配置nginx服务监控_第7张图片
在这里插入图片描述
Zabbix---配置nginx服务监控_第8张图片

5:多访问几次,增加数据量
curl http://127.0.0.1/status
Zabbix---配置nginx服务监控_第9张图片

6:自定义 nginx 监控项

【server3】
【1】获取活跃链接数

(1):curl -s http://127.0.0.1/status | grep Active | awk ‘{print $3}’
在这里插入图片描述
##user -> webui -> zabbix server -> zabbix agent -> shell -> zabbix server -> mysql -> webui
(2)#编辑获取链接数的配置文件
cd /etc/zabbix/zabbix_agentd.d --> ls
cp userparameter_mysql.conf userparameter_nginx.conf
Zabbix---配置nginx服务监控_第10张图片
vim userparameter_nginx.conf ##加在文件末尾,其余全部注释

UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk'{print $3}' 

在这里插入图片描述
systemctl restart zabbix-agent
systemctl status zabbix-agent
Zabbix---配置nginx服务监控_第11张图片
(3)【server1】

#在 server1 上安装 zabbix-get,来用命令方式获取 key 值,同时为了测试是否能获取到自己设置的 key 值
yum install -y zabbix-get-4.0.5-1.el7.x86_64.rpm
Zabbix---配置nginx服务监控_第12张图片
zabbix_get -s 172.25.78.3 -p 10050 -k “nginx.active”
##获取到数据说明配置正确
在这里插入图片描述
-s:指定客户端主机名或ip
-p:客户端端口,默认10050
-k:想要获取的key,k后的参数是刚才配置文件里的

(4)【server3】

#给 server3 配置监控项
进入主机server3->创建监控项->填写信息

#这里要注意:键值一栏,填的内容需要和配置文件中 UserParameter 定义的 key 值相同,否则无效
Zabbix---配置nginx服务监控_第13张图片
Zabbix---配置nginx服务监控_第14张图片
添加图形
->创建图形,填写名称->在下面添加监控项->选择nginx_active->点击添加Zabbix---配置nginx服务监控_第15张图片Zabbix---配置nginx服务监控_第16张图片
Zabbix---配置nginx服务监控_第17张图片
Zabbix---配置nginx服务监控_第18张图片
Zabbix---配置nginx服务监控_第19张图片
进入图形点击nginx_status>预览
Zabbix---配置nginx服务监控_第20张图片
##新建图形并添加监控项(nginx_active) 在预览中可以看到已经产生数据,但是发现汉字无法显示,是字体原因
Zabbix---配置nginx服务监控_第21张图片
(5)【server1】

##zabbix 字体存放在下面路径
cd /usr/share/zabbix/fonts
cp /root/zabbix/simkai.ttf . --> ls
#获取字体,有simkai.ttf
Zabbix---配置nginx服务监控_第22张图片
#修改配置使新字体生效

vim /usr/share/zabbix/include/defines.inc.php
搜索 FONT 关键字,发现使用的是 graphfont.ttf 字体 >:%s/graphfont/simkai/g ##替换为 simkai
Zabbix---配置nginx服务监控_第23张图片
Zabbix---配置nginx服务监控_第24张图片
#网页刷新,字体正常
Zabbix---配置nginx服务监控_第25张图片
【2】获取接收请求数

(1):【server3】

1:curl  http://127.0.0.1/status curl -s http://127.0.0.1/status | awk NR==3   | awk '{print $1}'`

在这里插入图片描述
2:vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
##写在文件末尾

UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3  | awk '{print $1}' 

在这里插入图片描述
systemctl restart zabbix-agent ##重启
Zabbix---配置nginx服务监控_第26张图片
(2):【server1】测试获取 key 值
zabbix_get -s 172.25.0.3 -p 10050 -k “nginx.accept”
在这里插入图片描述
(3):添加监控项和图形 过程和上一个监控项相同
##注意:此时添加的图形名称不能与上一个监控的名称重明,否则可能会出问题
添加监控项:Zabbix---配置nginx服务监控_第27张图片
添加图形:Zabbix---配置nginx服务监控_第28张图片
Zabbix---配置nginx服务监控_第29张图片
#查看预览
Zabbix---配置nginx服务监控_第30张图片
Zabbix---配置nginx服务监控_第31张图片

(4):物理机:增加数据,看的更清楚
ab -c 1 -n 1000 http://172.25.78.3/index.html
curl -s http://127.0.0.1/statusZabbix---配置nginx服务监控_第32张图片

##实时图,网页刷新页面,数据会变
Zabbix---配置nginx服务监控_第33张图片

总结: 用zabbix对nginx的状态进行监控,有助于排查nginx运行中遇到的问题 。 需要注意,必须给zabbix用户导入初始架构和数据,由于我在没导入数据的情况下,图形界面的数据就会出现问题。还需注意的是agent端配置文件中必须写入server端的ip,否则获取数据会失败。

你可能感兴趣的:(Zabbix---配置nginx服务监控)