博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix监控Nginx
阅读量:6149 次
发布时间:2019-06-21

本文共 2153 字,大约阅读时间需要 7 分钟。

hot3.png

监控流程

在zabbix_agent机器上安装nginx服务

配置nginx状态信息

在zabbix_agent机器测试

在zabbix_agent机器上编写脚本

编写zabbix_agent.conf

重启服务

zabbix_get 测试,在zabbix_server端执行

下载nginx模板

使用sz命令将,目录中的模板下载到pc上。然后在zabbixweb UI 上使用import导入就行了

将需要监控的nginx主机链接到该模板上

  • 在zabbix_agent机器上安装nginx服务
  1. 配置nginx的yum源
    编辑yum仓库:	vi /etc/yum.repos.d/nginx.repo	粘贴:	[nginx]	name=nginx repo	baseurl=http://nginx.org/packages/centos/7/$basearch/	gpgcheck=0	enabled=1

     

  2. 安装:yum install -y nginx
  • 配置nginx状态信息
    vi  /etc/nginx/conf.d/default.conf  #增加	location /nginx_status 	{    stub_status on;    access_log   off;    allow 127.0.0.1;    deny all;}

  • 在zabbix_agent机器测试

curl 

说明

  • Active Connections 当前活动连接数,其中也包括了等待状态的连接
  • accepts 接收到的连接数
  • handled 已经处理完的连接数,该数字一般和accepts一致,如果不一致那么说明Nginx出错了
  • requests 总共处理的请求数,一个连接可以有多个请求,所以该值比accpets要大
  • Reading 正在读取请求头信息的连接数
  • Writing 正在发送响应报文的连接数
  • Waiting 处于闲置状态,等待客户端发送请求的连接数
  • 在zabbix_agent机器上编写脚本
vi /usr/local/sbin/ngx_status.sh  #内容如下#!/bin/bashurl="http://127.0.0.1/nginx_status"curl=/usr/bin/curl# 检测nginx进程是否存在function ping {    /sbin/pidof nginx | wc -l }# 检测nginx性能function active {    $curl $url 2>/dev/null| grep 'Active' | awk '{print $NF}'}function reading {    $curl $url 2>/dev/null| grep 'Reading' | awk '{print $2}'}function writing {    $curl $url 2>/dev/null| grep 'Writing' | awk '{print $4}'}function waiting {    $curl $url 2>/dev/null| grep 'Waiting' | awk '{print $6}'}function accepts {    $curl $url 2>/dev/null| awk NR==3 | awk '{print $1}'}function handled {    $curl $url 2>/dev/null| awk NR==3 | awk '{print $2}'}function requests {    $curl $url 2>/dev/null| awk NR==3 | awk '{print $3}'}$1chmod 755 /usr/local/sbin/ngx_status.sh
  • 编写zabbix_agent.conf

vi /etc/zabbix/zabbix_agentd.conf # 增加

UserParameter=nginx.status[*],/usr/local/sbin/ngx_status.sh $1
如果有多个脚本就定义多行。

  • 重启服务

systemctl restart zabbix-agent

  • zabbix_get 测试,在zabbix_server端执行

在服务端执行

zabbix_get -s 192.168.19.128 -k 'nginx.status[accepts]'

  • 下载nginx模板
下载模板git clone https://github.com/aminglinux/linux2019.git
  • 使用sz命令将,目录中的模板下载到pc上。然后在zabbixweb UI 上使用import导入就行了。
  • 将需要监控的nginx主机链接到该模板上。
Configuration -> Hosts -> aminglinux02 -> Templates -> Select -> Add -> Update

转载于:https://my.oschina.net/u/4080783/blog/3021544

你可能感兴趣的文章
Linux磁盘管理和文件系统管理
查看>>
linux运维人员的成功面试总结案例分享
查看>>
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>
PHP执行批量mysql语句
查看>>
Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块
查看>>
Silverlight 如何手动打包xap
查看>>
建筑电气暖通给排水协作流程
查看>>
JavaScript面向对象编程深入分析(2)
查看>>
linux 编码转换
查看>>
POJ-2287 Tian Ji -- The Horse Racing 贪心规则在动态规划中的应用 Or 纯贪心
查看>>
Windows8/Silverlight/WPF/WP7/HTML5周学习导读(1月7日-1月14日)
查看>>
关于C#导出 文本文件
查看>>
使用native 查询时,对特殊字符的处理。
查看>>
maclean liu的oracle学习经历--长篇连载
查看>>