本实验是在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-web界面设置
配置 —>主机 —> server2 —> 模板 —>选择 —> Template App HTTP Service—> 添加 —>更新
可以看到server2主机的触发器多了一个httpd服务的触发器,是端口的触发器,zabbix是通过端口来检测httpd服务的。
步骤三:测试,模拟apache故障
systemctl stop httpd
步骤四:在web界面查看
二、配置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
步骤二:修改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 }
步骤三:设置软链接并开启nginx服务
ln -s /usr/local/nginx/sbin/nginx /usr/sbin/
nginx -t
nginx
步骤四:在server3本机测试nginx服务是否部署成功
Active connections | 活跃的连接数 |
accepts | 接收到的请求数(不一定回复) |
handled | 确定建立三次握手的请求数 |
requests | 处理的请求数 |
curl 127.0.0.1/status
抓取处理的活跃的连接数
curl -s http://localhost/status | grep Active | awk '{print $3}'
步骤五:修改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
步骤六:在web界面给server3添加nginx监控
给 server3 配置监控项
这里要注意:键值一栏,填的内容需要和配置文件中 UserParameter 定义的 key 值相同,否则无效新建图形并添加监控项:
能看到有图形,但是发现汉字无法显示,是字体原因,配置字体
在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
查看已经替换了:
刷新web页面,字体正常