企业级分布式监控zabbix实战——使用zabbix监控平台配置(Http,Nginx)等服务的监控项来监控被监控端的这些服务
文章目录
- 1. 实现zabbix监控httpd服务
- 2. 实现zabbix监控nginx服务
- 3. web界面字体的调整
- 4. web界面添加新的监控项
1. 实现zabbix监控httpd服务
httpd是zabbix自带的监控模块
- 首先在server2上安装apache,开启服务
yum install httpd -y
systemctl start httpd
systemctl enable httpd
- 然后在web界面上进行设置
点击配置–>主机(选择server2)–>模板–>选择模板
可以看到server2上已经添加了http服务
可以看到server2主机的触发器多了一个httpd服务的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的,这是最简单的监测http服务的方法(仅查看80端口是否开启)
2. 实现zabbix监控nginx服务
在监控主机server3上部署nginx服务。
下载安装包并解压,安装依赖性软件并编译安装,注释掉debug日志。
[root@server3 ~]# yum install gcc pcre-devel zlib-devel -y
[root@server3 ~]# tar zxf nginx-1.17.0.tar.gz
[root@server3 ~]# cd nginx-1.17.0/
[root@server3 nginx-1.17.0]# ./configure --help | grep stub --with-http_stub_status_module enable ngx_http_stub_status_module
[root@server3 nginx-1.17.0]# vim auto/cc/gcc #注释debug行
[root@server3 nginx-1.17.0]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module编译
[root@server3 nginx-1.17.0]# make && make install安装
首先安装编译nginx时需要的插件
修改nginx配置文件,向nginx配置文件中添加用于网页状态的查看检测的模块,以及开启nginx服务。
root@server3 nginx]# vim /usr/local/nginx/conf/nginx.conf
48 location /status {
49 stub_status on; #开启该模块
50 access_log off; #关闭日志记录
51 allow 127.0.0.1; #白名单 只允许本机访问
52 deny all;
53 }
做一个软链接方便更新,同时查看nginx的路径,检查配置文件是否正确。
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
[root@server3 nginx]# which nginx /usr/sbin/nginx
[root@server3 nginx]# nginx -t # 监测配置文件的语法
[root@server3 nginx]# nginx #开启nginx服务
在server3本机curl 127.0.0.1/status来测试nginx服务是否部署成功
修改server3的配置文件/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf,创建nginx的监控项
在web界面添加nginx的监控
【选择server3主机】监控项名称自定义,键值必须和server3配置文件中的一致
创建图形,将已经添加的监控项导入
查看监控图形
可以看到虽然图形界面出来了,但是中英文的转换无法显示出来
3. web界面字体的调整
[root@server1 ~]# cd /usr/share/zabbix/fonts/
[root@server1 fonts]# ll
lrwxrwxrwx 1 root root 33 Aug 1 04:54 graphfont.ttf -> /etc/alternatives/zabbix-web-font
[root@server1 fonts]# ls
graphfont.ttf simkai.ttf
[root@server1 fonts]# cd ..
[root@server1 zabbix]# cd include/
[root@server1 include]# vim defines.inc.php
:%s/graphfont/simkai/g #将graphfont替换为simkai
将graphfont字体全部替换成simkai字体(两处)
刷新web页面可以看到,simkai字体成功显示
zabbix_get 是 zabbix 服务端的一个命令,用于检测 agent 端的配置是否正确,可以很方便地知道 key 是否能正常获取到数据
在测试自定义监控的时候特别有用
在server1下载软件zabbix-get,来获取server3的活跃连接数
编辑nginx的监控文件userparameter_nginx.conf,将要获取的健值对加入
[root@server3 zabbix_agentd.d]# vim userparameter_nginx.conf UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'
UserParameter=nginx.accept, curl -s http://localhost/status | awk NR==3 |awk '{print $1}'
UserParameter=nginx.request, curl -s http://localhost/status | awk NR==3 |awk '{print $3}'
[root@server3 zabbix_agentd.d]# systemctl restart zabbix-agent
在server1执行命令获取接受的请求数以及回复的请求数
[root@server1 include]# zabbix_get -s 172.25.60.3 -p 10050 -k "nginx.active" [root@server1 include]# zabbix_get -s 172.25.60.3 -p 10050 -k "nginx.accept" [root@server1 include]# zabbix_get -s 172.25.60.3 -p 10050 -k "nginx.request"
4. web界面添加新的监控项
选择主机server3, 创建监控项
之前已经创建了nginx_active,再创建两个监控项nginx_accept和nginx_request
将新建的监控项添加到原来的nginx_active的图形中,将三个监控项放在同一个坐标图形里面可以进行对比
添加成功
点击更新之后查看图形
正常线状图
饼状图
层积图
爆发图