使用Zabbix监控平台配置Httpd,Nginx等服务
1.实现zabbix监控httpd服务
httpd是zabbix自带的监控模块
(1)首先在server2上安装apache,开启服务
[root@server2 zabbix]# yum install httpd -y
[root@server2 zabbix]# systemctl start httpd
[root@server2 zabbix]# systemctl enable httpd
(2)然后在web界面上进行设置
zabbix中已经自带httpd监控模板,故只需要添加模板即可
点击配置–>主机(选择server2)–>模板–>选择模板
点击添加
点击更新,得到最后的效果图
可以看到server2主机的触发器多了一个httpd服务的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的
2.实现zabbix监控nginx服务
在监控主机server3上部署nginx服务。
下载安装包并解压,安装依赖性软件并编译安装,
(1)编译安装nginx
[root@server3 ~]# tar zxf nginx-1.16.1.tar.gz
[root@server3 ~]# cd nginx-1.16.1
[root@server3 nginx-1.16.1]# yum install gcc pcre-devel zlib-devel -y #解决依赖性
[root@server3 nginx-1.16.1]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module #预编译,这里添加了http的监控模块
[root@server3 nginx-1.16.1]# make && make install
(2)修改nginx配置文件,向nginx配置文件中添加用于网页状态的查看检测的模块,以及开启nginx服务。
[root@server3 nginx-1.16.1]# cd /usr/local/nginx/
[root@server3 nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@server3 nginx]# vim conf/nginx.conf
2 user nginx nginx;
48 location /status {
49 stub_status on;
50 access_log off;
51 allow 127.0.0.1; # #添加访问控制,只允许本机访问
52 deny all;
53 }
(3)打开nginx服务
[root@server3 nginx]# useradd -u 900 nginx
[root@server3 nginx]# nginx
[root@server3 nginx]# nginx -t #检测配置文件语法
[root@server3 nginx]# netstat -antlupe | grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 30025 4062/nginx: master
在server3本机curl 127.0.0.1/status来测试nginx服务是否部署成功
[root@server3 nginx]# curl http://127.0.0.1/status
Active connections: 1
server accepts handled requests
3 3 3
其中信息的含义:
Active connections | 活跃的连接数 |
---|---|
accepts | 接收到的请求数(不一定回复) |
handled | 确定建立三次握手的请求数 |
requests | 处理的请求数 |
server accepts handled requests | 总共处理了3个连接 , 成功创建3次握手,总共处理了3个请求 |
reading | 读取客户端的连接数. |
---|---|
writing | 响应数据到客户端的数量 |
waiting | 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接. |
通过三剑客来获取活跃的连接数的数值
[root@server3 nginx]# curl -s http://127.0.0.1/status | grep Active
Active connections: 1
[root@server3 nginx]# curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
1
修改server3的配置文件/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf,创建nginx的监控项,之后重启zabbix-agent服务
[root@server3 nginx]# cd /etc/zabbix/zabbix_agentd.d/
[root@server3 zabbix_agentd.d]# cp userparameter_mysql.conf 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}' #提取链接数,其中nginx.active为key值
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
配置server1(zabbix-server)
安装测试软件
在server1端安装软件zabbix-get-4.0.5-1.el7.x86_64.rpm,用来测试
[root@server1 4.4]# yum install zabbix-get-4.4.1-1.el7.x86_64.rpm -y
测试:
[root@server1 4.4]# zabbix_get -s 172.25.1.3 -p 10050 -k "nginx.active"
1
测试是否可以获取到数据;如果有报错,请仔细检查文件内容;这里的nginx.active是文件对应的UserParameter的内容
如果测试没有问题,进行zabbix浏览器监控界面完成自定义添加监控项:
创建server3的监控项
创建图形
在图形预览查看效果:
点击nginx_status,进入图形预览界面
我们发现汉字出现了乱码的现象。所以下面针对解决汉字乱码的问题
在server1上:
[root@server1 4.4]# cd /usr/share/zabbix/assets/fonts/
[root@server1 fonts]# ls
graphfont.ttf simkai.ttf #在网上下载字体对应的tty文件(比如simkai.tty),并将其拷贝的/usr/share/zabbix/assets/fonts/目录中
[root@server4 fonts]# cd /usr/share/zabbix/include/
[root@server4 include]# vim defines.inc.php
:%s/graphfont/simkai/g #在命令行模式下,输入该命令,将启动的字体graphfont替换为字体simkai
此时再次预览图形,可以看到汉字乱码的现象,已经得到解决:
添加新的监控项
为了监控server3 nginx服务总共处理了多少个连接,可以使用以下命令:
[root@server3 ~]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
37
[root@server3 ~]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
98
以下就实现zabbix监控server3 nginx服务总共处理了多少个连接,总体过程和上一个监控项类似:
编辑zabbix-agent配置文件
[root@server3 ~]# pwd
/etc/zabbix/zabbix_agentd.d
[root@server3 zabbix_agentd.d]
# vim userparameter_nginx.conf
加入:
UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
测试:
[root@server1 include]# zabbix_get -s 172.25.1.3 -p 10050 -k "nginx.accept"
43
说明配置成功,之后创建监控项:
之后更新图形,点击图形,点击nginx status:
更新完成后即可以预览图形:
即实现了在一个图中对nginx 两种状态的监控。
还没有评论,来说两句吧...