Zabbix分布式监控(3)——Zabbix监控httpd、nginx服务

本实验是在《Zabbix分布式监控实战(2)—— Zabbix的API接口的使用方法》实验基础上进行的,已经配置好了zabbix-server和zabbix-agent主机,并关闭了自动注册

上一篇博客链接:https://blog.csdn.net/dghfttgv/article/details/105028693

目录

一、配置zabbix监控httpd服务

  •    步骤一:安装apache并开启服务   
  •    步骤二:在zabbix-web界面设置
  •    步骤三:测试,模拟apache故障
  •    步骤四:在web界面查看故障的结果

二、配置Zabbix监控nginx

(一)、监控nginx的活跃连接数

  •       步骤一:在监控主机server3上源码安装nginx服务,关闭 debug
  •       步骤二:修改nginx配置文件,添加监控模块
  •       步骤三:设置软链接并开启nginx服务
  •       步骤四:在server3本机测试nginx服务是否部署成功
  •       步骤五:修改server3的配置文件/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf,创建nginx的监控项
  •       步骤六:在web界面给server3添加nginx监控

(二)、监控nginx的并发量

  •       步骤一:修改server3的配置文件,创建nginx的监控项
  •       步骤二:在Wbe界面进行查看
  •       步骤三:提高并发量查看执行的结果
  •       步骤四:在Wbe界面进行查看图形的变化情况
  •       总结

实验环境

主机名 ip                服务 版本
server1 172.25.6.1              zabbix-server,zabbix-web,mariadb-server rhel7.3
server2 172.25.6.2              zabbix-agent     httpd rhel7.3
server3 172.25.6.3              zabbix-agent     nginx rhel7.3

一、配置zabbix监控httpd服务

在server2上:
步骤一:

安装apache并开启服务

[root@server2 ~]# yum install httpd -y             ##安装apache服务
[root@server2 ~]# systemctl start httpd            ##开启
[root@server2 ~]# systemctl enable httpd           ##开机自启

步骤二:

在zabbix-web界面设置
配置 —>主机 —> server2 —> 模板 —>选择 —> Template App HTTP Service—> 添加 —>更新

可以看到server2主机只有一个httpd服务的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的。

步骤三:

测试,模拟apache故障

[root@server2 ~]# systemctl stop httpd    ##停止httpd服务
 
 

步骤四:

在web界面查看故障的结果

二、配置Zabbix监控nginx

(一)、监控nginx的活跃连接数

步骤一:

在监控主机server3上源码安装nginx服务,关闭 debug

[root@server3 ~]# yum install gcc pcre-devel zlib-devel -y     ##进行软件的依赖安装
[root@server3 ~]# tar zxf nginx-1.16.0.tar.gz                  ##解包
[root@server3 ~]# cd nginx-1.16.0/                             ##进入到nginx目录下
[root@server3 nginx-1.16.0]# vim auto/cc/gcc                   ##编辑gcc文件 

...
# debug
#CFLAGS="$CFLAGS -g"                                            ##注解掉debug
...

[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      ##进行源码的编译与安装 

步骤二:

修改nginx配置文件,添加监控模块

[root@server3 ~]# vim /usr/local/nginx/conf/nginx.conf
   location /status {
                stub_status on;     #开启该模块
                access_log off;     #关闭日志记录
                allow 127.0.0.1;    #白名单 只允许本机访问
                deny all;  
         }

步骤三:

设置软链接并开启nginx服务

[root@server3 ~]# ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
[root@server3 ~]# nginx -t
[root@server3 ~]# nginx

步骤四:

在server3本机测试nginx服务是否部署成功

Active connections 活跃的连接数
accepts 接收到的请求数(不一定回复)
handled 确定建立三次握手的请求数
requests 处理的请求数
[root@server3 ~]# curl 127.0.0.1/status        ##查看是否可以访问 

步骤五:

修改server3的配置文件/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf,创建nginx的监控项

1、抓取处理的活跃的连接数的命令

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

[root@server3 ~]# cd /etc/zabbix/zabbix_agentd.d/              ##进入到监控配置目录下
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf    ##复制配置文件的模板 
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf   ##编辑配置文件的模板

UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'   ##活跃链接数的命令

[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent.service   ##重启服务 

步骤六:

在web界面给server3添加nginx监控
1、给 server3 配置监控项

这里要注意:键值一栏,填的内容需要和配置文件中 UserParameter 定义的 key 值相同,否则无效

2、新建图形并添加监控项:

单击

能看到有图形,但是发现汉字无法显示,是字体原因。

配置字体

在server1上:

更换字体

[root@server1 ~]# cd /usr/share/zabbix/assets/fonts/       ##进入字体存放的目录下
[root@server1 fonts]# mv /root/simkai.ttf  .               ##将字体文件复制到此目录下
[root@server1 fonts]# ls 
graphfont.ttf  simkai.ttf
[root@server1 fonts]# vim /usr/share/zabbix/include/defines.inc.php  ##使用新的字体
...
:%s/graphfont/simkai/g   #替换为 simka
...

[root@server1 fonts]# systemctl restart zabbix-server.service        ##重启服务 

刷新web页面,字体正常

(二)、监控nginx的并发量

步骤一:

修改server3的配置文件/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf,创建nginx的监控项

[root@server3 ~]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf 
[root@server3 zabbix_agentd.d]# cat userparameter_nginx.conf 

UserParameter=nginx.active,curl -s http://localhost/status | awk NR==3 | awk '{print $1}'              ##并发量的命令 

[root@server3 zabbix_agentd.d]# curl -s http://localhost/status | awk NR==3 | awk '{print $1}'
12605
[root@server3 zabbix_agentd.d]# systemctl restart  zabbix-agent.service 

步骤二:

在Wbe界面进行查看

步骤三:

提高并发量查看执行的结果

[root@foundation6 ~]# ab -n10000 -c 1000 http://172.25.6.3/status         ##提高并发量 

查看并发量的数值

步骤四:

1、在Wbe界面进行查看图形的变化情况、

2、安装zabbix-get.x86_64获取当前的监控信息

[root@server1 ~]# yum install zabbix-get.x86_64 -y          ##安装获取监控信息的软件 
[root@server1 ~]# zabbix_get -s 172.25.6.3 -p 10050 -k "nginx.active"    ##获取监控 的信息 
22919

总结:

利用zabbix图形化的方式来对服务进行监控能更加直观的发现服务的变化以及状态,

通过编写文件的方式可以指定想要获取的服务的某一项信息,实现了监控更加精准更加直观

发布了93 篇原创文章 · 获赞 1 · 访问量 1902

猜你喜欢

转载自blog.csdn.net/dghfttgv/article/details/105031696