企业级分布式监控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

exchange zabbix监控_web界面


exchange zabbix监控_web界面_02


exchange zabbix监控_exchange zabbix监控_03

  • 然后在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时需要的插件

exchange zabbix监控_exchange zabbix监控_04


exchange zabbix监控_exchange zabbix监控_05


exchange zabbix监控_exchange zabbix监控_06


exchange zabbix监控_exchange zabbix监控_07


exchange zabbix监控_nginx_08

exchange zabbix监控_nginx_09


exchange zabbix监控_nginx_10


exchange zabbix监控_nginx_11


exchange zabbix监控_vim_12


exchange zabbix监控_vim_13


exchange zabbix监控_web界面_14

修改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 }

exchange zabbix监控_web界面_15


exchange zabbix监控_web界面_16


做一个软链接方便更新,同时查看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服务

exchange zabbix监控_exchange zabbix监控_17


exchange zabbix监控_vim_18


在server3本机curl 127.0.0.1/status来测试nginx服务是否部署成功

exchange zabbix监控_web界面_19


exchange zabbix监控_web界面_20


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

exchange zabbix监控_web界面_21

exchange zabbix监控_web界面_22


exchange zabbix监控_web界面_23


exchange zabbix监控_nginx_24


exchange zabbix监控_nginx_25


在web界面添加nginx的监控

【选择server3主机】监控项名称自定义,键值必须和server3配置文件中的一致

exchange zabbix监控_web界面_26


exchange zabbix监控_nginx_27


exchange zabbix监控_exchange zabbix监控_28

exchange zabbix监控_vim_29


创建图形,将已经添加的监控项导入

exchange zabbix监控_web界面_30

exchange zabbix监控_exchange zabbix监控_31


exchange zabbix监控_exchange zabbix监控_32


exchange zabbix监控_nginx_33


exchange zabbix监控_vim_34


查看监控图形

exchange zabbix监控_web界面_35


可以看到虽然图形界面出来了,但是中英文的转换无法显示出来

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

exchange zabbix监控_web界面_36


exchange zabbix监控_vim_37

exchange zabbix监控_vim_38


将graphfont字体全部替换成simkai字体(两处)

exchange zabbix监控_nginx_39


exchange zabbix监控_nginx_40


exchange zabbix监控_exchange zabbix监控_41


exchange zabbix监控_web界面_42


刷新web页面可以看到,simkai字体成功显示

exchange zabbix监控_web界面_43


exchange zabbix监控_web界面_44


zabbix_get 是 zabbix 服务端的一个命令,用于检测 agent 端的配置是否正确,可以很方便地知道 key 是否能正常获取到数据

在测试自定义监控的时候特别有用

在server1下载软件zabbix-get,来获取server3的活跃连接数

exchange zabbix监控_nginx_45


exchange zabbix监控_web界面_46


编辑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

exchange zabbix监控_exchange zabbix监控_47


exchange zabbix监控_exchange zabbix监控_48


exchange zabbix监控_web界面_49


在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"

exchange zabbix监控_web界面_50

4. web界面添加新的监控项

选择主机server3, 创建监控项

之前已经创建了nginx_active,再创建两个监控项nginx_accept和nginx_request

exchange zabbix监控_nginx_51


exchange zabbix监控_exchange zabbix监控_52


exchange zabbix监控_vim_53


exchange zabbix监控_web界面_54


exchange zabbix监控_nginx_55


将新建的监控项添加到原来的nginx_active的图形中,将三个监控项放在同一个坐标图形里面可以进行对比

exchange zabbix监控_nginx_56


exchange zabbix监控_nginx_57


exchange zabbix监控_nginx_58

添加成功

点击更新之后查看图形

正常线状图

exchange zabbix监控_exchange zabbix监控_59


饼状图

exchange zabbix监控_web界面_60

exchange zabbix监控_vim_61

exchange zabbix监控_exchange zabbix监控_62


层积图

exchange zabbix监控_web界面_63


exchange zabbix监控_vim_64


爆发图

exchange zabbix监控_web界面_65


exchange zabbix监控_web界面_66