文章目录
- 1.Zabbix监控Nginx
- 1.1 监控Nginx什么内容
- 1.2 如何监控Nginx状态
- 1.3 Nginx状态监控
- 1.3.1 环境准备
- 1.3.2 启用Nginx状态模块
- 1.3.3 编写采集状态脚本
- 1.3.4 添加自定义的监控项
- 1.3.5 服务端测试取值
- 1.3.6 配置Zabbix-web
- 1.4 Nginx错误日志监控实践
- 1.4.1 如何监控错误日志
- 1.4.2 配置Agent为主动模式
- 1.5.3 添加监控项
- 1.5.4 配置触发器
1.Zabbix监控Nginx
1.1 监控Nginx什么内容
- 监控Nginx状态(stub_status)
- 监控进程存活,端口探测;(设定触发器)
- 监控Nginx访问日志(建议使用ELK)
- 监控Nginx错误日志(设定触发器)
1.2 如何监控Nginx状态
- 启用Nginx stub_status状态模块
- 使用curl命令获取stub_status状态模块
- 将获取nginx状态的数据方法封装为监控项
1.3 Nginx状态监控
1.3.1 环境准备
角色 | IP |
Zabbix-Server | 192.168.20.46 |
web | 192.168.20.47 |
1.3.2 启用Nginx状态模块
1.3.3 编写采集状态脚本
- 测试访问状态模块是否正常
- 编写取值脚本
1.3.4 添加自定义的监控项
1.3.5 服务端测试取值
1.3.6 配置Zabbix-web
1.创建模版
2.创建监控项
3.创建图形
4.创建触发器(设定监控项)
5.关联对应主机
1.4 Nginx错误日志监控实践
1.4.1 如何监控错误日志
使用zabbix内置的log监控模块完成监控
- log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>]
- file: 文件要绝对路径
- regexp: 要匹配的关键字,可以使用正则表达式
- maxlines: 发送的行数,默认配置文件定义为20行
- mode: 可填参数:all(默认),skip(跳过旧数据)
- output: 自定义格式输出,默认输出regexp匹配的整行数据
1.4.2 配置Agent为主动模式
1.5.3 添加监控项
log这个key是存在主动模式下
key:log[“/home/app/nginx/logs/error.log”,(error|alert|emerg),skip,]
1.5.4 配置触发器
发现error,并且日志有数据则触发警告
恢复:没有发现error,并且日志60秒内没有新数据