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


文章目录

  • 实验环境
  • 一、配置zabbix监控httpd服务
  • 二、配置Zabbix监控nginx


实验环境

主机名

ip

服务

版本

server1

172.25.1.1

zabbix-server,zabbix-web,mariadb-server

rhel7.3

server2

172.25.1.2

zabbix-agent

rhel7.3

server3

172.25.1.3

zabbix-agent

rhel7.3

一、配置zabbix监控httpd服务

在server2上
步骤一:安装apache并开启服务

yum install -y httpd
systemctl start httpd
systemctl enable httpd

zabbix监控json数据 zabbix监控apache_nginx


zabbix监控json数据 zabbix监控apache_vim_02


步骤二:在zabbix-web界面设置

配置 —>主机 —> server2 —> 模板 —>选择 —> Template App HTTP Service—> 添加 —>更新

zabbix监控json数据 zabbix监控apache_触发器_03


zabbix监控json数据 zabbix监控apache_触发器_04

zabbix监控json数据 zabbix监控apache_nginx_05

zabbix监控json数据 zabbix监控apache_nginx_06

zabbix监控json数据 zabbix监控apache_vim_07

zabbix监控json数据 zabbix监控apache_zabbix监控json数据_08


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

步骤三:测试,模拟apache故障

systemctl stop httpd

zabbix监控json数据 zabbix监控apache_vim_09


步骤四:在web界面查看

zabbix监控json数据 zabbix监控apache_nginx_10

二、配置Zabbix监控nginx

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

yum install gcc pcre-devel zlib-devel -y
tar zxf nginx-1.17.8.tar.gz 
cd nginx-1.17.8
vim auto/cc/gcc
  # debug
  #CFLAGS="$CFLAGS -g"
./configure --prefix=/usr/local/nginx --with-http_stub_status_module
make && make install

zabbix监控json数据 zabbix监控apache_zabbix监控json数据_11

zabbix监控json数据 zabbix监控apache_zabbix监控json数据_12


zabbix监控json数据 zabbix监控apache_触发器_13


zabbix监控json数据 zabbix监控apache_zabbix监控json数据_14


步骤二:修改nginx配置文件,添加监控模块

vim /usr/local/nginx/conf/nginx.conf

 47         location /status {
 48                 stub_status on;  #开启该模块
 49                 access_log off; #关闭日志记录
 50                 allow 127.0.0.1; #白名单 只允许本机访问
 51                 deny all;  
 52         }

zabbix监控json数据 zabbix监控apache_zabbix监控json数据_15


zabbix监控json数据 zabbix监控apache_触发器_16


步骤三:设置软链接并开启nginx服务

ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
nginx -t
nginx

zabbix监控json数据 zabbix监控apache_vim_17


步骤四:在server3本机测试nginx服务是否部署成功

Active connections

活跃的连接数

accepts

接收到的请求数(不一定回复)

handled

确定建立三次握手的请求数

requests

处理的请求数

curl 127.0.0.1/status

zabbix监控json数据 zabbix监控apache_触发器_18


抓取处理的活跃的连接数

curl -s http://localhost/status | grep Active | awk '{print $3}'

zabbix监控json数据 zabbix监控apache_触发器_19


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

cd /etc/zabbix/zabbix_agentd.d/
cp userparameter_mysql.conf userparameter_nginx.conf
vim userparameter_nginx.conf 
	UserParameter=nginx.active,curl -s http://localhost/status | grep Active | awk '{print $3}'
systemctl restart zabbix-agent

zabbix监控json数据 zabbix监控apache_触发器_20


步骤六:在web界面给server3添加nginx监控

给 server3 配置监控项

zabbix监控json数据 zabbix监控apache_zabbix监控json数据_21

zabbix监控json数据 zabbix监控apache_nginx_22


zabbix监控json数据 zabbix监控apache_nginx_23

zabbix监控json数据 zabbix监控apache_nginx_24


这里要注意:键值一栏,填的内容需要和配置文件中 UserParameter 定义的 key 值相同,否则无效新建图形并添加监控项:

zabbix监控json数据 zabbix监控apache_触发器_25

zabbix监控json数据 zabbix监控apache_vim_26

zabbix监控json数据 zabbix监控apache_zabbix监控json数据_27

zabbix监控json数据 zabbix监控apache_zabbix监控json数据_28


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

在server1上

cd /usr/share/zabbix/fonts #字体存放路径
mv /root/simkai.ttf .    #网上下载字体simkai.ttf
vim /usr/share/zabbix/include/defines.inc.php  #修改配置使新字体生效
 ## 搜索 FONT 关键字,发现使用的是 graphfont.ttf 字体
:%s/graphfont/simkai/g   #替换为 simkai

zabbix监控json数据 zabbix监控apache_触发器_29

查看已经替换了:

zabbix监控json数据 zabbix监控apache_触发器_30


刷新web页面,字体正常

zabbix监控json数据 zabbix监控apache_触发器_31