使用zabbix监控nginx的活动连接数
使用zabbix监控nginx的活动连接数
1.方法简述
zabbix可以自定义很多监控,只要是能通过命令获取到相关的值,就可以在zabbix的监控中增加该对象进行监控,在zabbix中,该对象称之为item,每一个item就是一个监控对象,在被监控的主机host上面配置自定义的item监控对象,就可以通过zabbix服务器,定时的去获取该item的值,然后将该值可以直接通过绘图工具的形式展现,直观的显示系统状态。
在本次实验中,演示的是通过zabbix来监控nginx服务器的活动连接数。环境是一台zabbix服务器,上面安装了nginx服务,通过监控自己来实现。
2.实现过程
nginx安装
nginx的安装很简单,因为要监控活动连接数,所以选择的是编译安装nginx,在编译安装之前,需要先安装上所必需的组件,主要如下:
yum install gcc gcc-lib gcc-c++ pcre openssl
然后就可以直接上传已经下载好的nginx压缩包,通过解压缩,然后直接就编译安装,在编译的时候,需要启用一个参数,就是--with-http_stub_status_module,make && make install就可以了。创建用户和路径,这些都是比较常见的操作了。
nginx配置
nginx安装完成后,为了实现实验的效果,需要修改ngixn的配置文件,nginx配置文件存放在/usr/local/nginx/conf/nginx.conf中,主要修改站点信息和端口信息,具体如下:
server {
listen 8080;
server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
} location /status {
stub_status on;
}
主要是添加一个status的站点位置,然后信息是开启nginx状态监控,配置完成后,就可以启用nginx服务。检查nginx端口状态。
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost ~]# /usr/local/nginx/sbin/nginx
[root@localhost ~]# netstat -ltnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 6788/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6552/sshd
tcp6 0 0 :::22 :::* LISTEN 6552/sshd
[root@localhost ~]#
启动zabbix服务,配置item监控
启动zabbix服务,开始对主机配置相应的监控对象。
[root@localhost ~]# systemctl start mariadb
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl start zabbix-server
[root@localhost ~]# systemctl start zabbix-agent
[root@localhost ~]# netstat -ltnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 6991/mysqld
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 6788/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 6552/sshd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 7103/zabbix_agentd
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 7035/zabbix_server
tcp6 0 0 :::22 :::* LISTEN 6552/sshd
tcp6 0 0 :::10050 :::* LISTEN 7103/zabbix_agentd
tcp6 0 0 :::10051 :::* LISTEN 7035/zabbix_server
配置zabbix-agent
这一步是要配置自定义监控的KEY值,在zabbix server上要通过定义item,指定监控key,才能进行相应的监控,自定义key的目录为/etc/zabbix/zabbix_agentd.d/目录下,创建一个名为nginx.active的文件,在文件中定义监控的内容。
首先,通过命令,先获取了一下nginx 的活动连接数,具体如下:
curl -s http://192.168.64.131:8080/status|head -n 1|awk '{print $NF}'
通过curl命令,静态的获取nginx的status页面,然后通过head和awk,去除当前的活动链接数字,该数字就是表示nginx当前处理的并发量的个数。
然后开始配置自定义监控内容,在nginx.active
UserParameter=nginx.active,/usr/bin/curl -s http://192.168.64.131:8080/status|head -n 1|awk '{print $NF}'
在这里是固定的格式,其中UserParameter表示定义一个KEY,后面的nginx.active表示是该KEY的名称,然后,分割的后面,是该KEY的具体取值。
定义好了key之后,需要重启zabbix_agent才能进行监控
systemctl restart zabbix-agent
获取item值
在这里,我们可以通过zabbix_get工具,来获取指定host上面的指定监控item的值,在这个实例中,我们要获取的是nginx.active值。命令如下:
[root@localhost ~]# zabbix_get -s 192.168.64.131 -p 10050 -k nginx.active
1
-s后面是被监控的host,-p表示agent在该host上运行的端口号,-k表示监控的key,返回的值1表示当前的nginx有1个活动的连接数。
配置zabbix-web页面
当能够在zabbix-server上通过zabbix_get命令,获取到指定的监控对象值之后,就可以在web页面上开始配置item对象了。
- 在configuration-hosts中选定指定的host,在这里是zabbix-server主机,然后选择item中,create item。
- 输入item的名称,选择type类型为agent,输入item的key值,在这里也就是nginx.active,选择agent的端口,和该item的数据类型,在这里是整形,对于其他的item,可以选择其他的数据类型
- 选择一个更新时间,也就是zabbix服务器以一个什么样的频率去获取该item的值。
- 写好之后就可以完成创建了
然后为该item创建一个图形
- 在configuration-hosts中,选择指定host,然后选择graph页面。
- 选择创建新的graph,create graph
- 在该graph中,输入名称,然后选择grap类型,这里选择的是normal
- 一般X轴都是时间刻度,y轴要设置一个最大最小值,所以这个地方都选的是计算,因为获取的值并没有一个范围,其他的item可以根据获取值的情况,选择Y轴的设置。
- 在item中,选择刚刚创建的item,谈后就可以完成该graph的创建了。
以上就完成了web页面的配置,剩下就可以通过web页面去查看了。
使用zabbix监控nginx的活动连接数的更多相关文章
- Zabbix 监控 Nginx(四)
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...
- Zabbix 监控 Nginx 状态
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) shell > /usr/local/nginx/sbin/ngi ...
- 使用zabbix监控nginx
在zabbix agentd客户端上,查看nginx是否加载了--with-http_stub_status_module.因为zabbix监控nginx是根据 nginx的Stub Status模块 ...
- zabbix监控nginx+php-fpm,mysql+主从复制+高可用,tomcat,redis web状态
zabbix监控对象区分 使用SNMP监控交换 使用IPMI监控服务器硬件 使用Agent监控服务器 使用JMX监控JAVA SNMP监控流程 交换机上开启snmp 在zabbix上添加监控(设置SN ...
- zabbix监控nginx status页面
在需要添加监控的nginx配置文件中添加下列配置 #zabbix监控nginx配置 location /nginx_status { stub_status on; access_log off; a ...
- zabbix监控nginx连接状态(转)
zabbix监控nginx zabbix可以监控nginx的状态,关于一个服务的状态可以查看服务本身的状态(版本号.是否开启),还应该关注服务能力(例如以nginx的负载效果:连接数.请求数和句柄数) ...
- Zabbix监控nginx性能的另外一种方式
Zabbix监控nginx性能的另外一种方式 nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有用,为了后续的zabbix监控,我们需要先启用nginx ...
- 【zabbix告警监控】配置zabbix监控nginx服务
zabbix监控nginx,nginx需要添加--with-http_stub_status模块 使用zabbix监控nginx,首先nginx需要配置开启ngx_status.但是我这边nginx安 ...
- 使用Zabbix监控Nginx服务实战案例
使用Zabbix监控Nginx服务实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编译安装nginx步骤详解并开启状态页 博主推荐阅读: https://www.cn ...
随机推荐
- 硬杠后端(后端坑系列)——Django前期工作
Django是一个开放源代码的Web应用框架,由Python写成,采用了MVC的框架模式. MVC MVC是一种软件设计典范,用一种业务逻辑.数据.界面显示分离的方法组织代码,将业务逻辑聚集到一个部件 ...
- vue中使用provide和inject刷新当前路由(页面)
1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求. 2.遇到的问题 1. 用vue-router重新路由到当前页面,页面是不进行刷新的 2.采用window.rel ...
- 关于图片适配不同尺寸的image View(实战)
分享人:广州华软 佐罗 一. 前言 在前端开发过程中,设计稿中往往只提供一张图片,但是app内需要用到的尺寸各种各样. 同时图片不仅是信息的直接表达,也会为网站起到美观点缀的作用,图片的变形.过分裁切 ...
- 工具资源系列之给虚拟机装个centos
前文我们已经讲解了如何在 mac 系统上安装虚拟机软件,这节我们接着讲解如何利用虚拟机安装 centos 镜像. 安装镜像的大致步骤基本相同,只不过是配置项略显不同而已,如果需要安装其他系统镜像,请参 ...
- coreRT 和 Native 编译netcore AOT程序
AOT是预编译成本地程序,避免JIT动态编译存在的性能问题. netcore一个吸引人的项目,就是基于coreRt 运行时的本地编译技术,下面我来替大家尝试一下它究竟表现如何. <Project ...
- 【English】七、常见动词
一.动词: touch.hear.say.listen touch [tʌtʃ] 触摸 I touch the cat. They touch the elephant. hear [hɪr] 听到 ...
- MyDAL - 组件适用范围说明
索引: 目录索引 一.组件特性简介: 1.MSIL 底层代码采用 System.Reflection.Emit.Lightweight 类库使用 IL 的方式处理 Model 组装,性能刚刚的~ 2. ...
- 分布式系统CAP理论
在单机的数据库系统之中,我们很容易实现一套满足ACID 特性的 事务处理系统, 事务的一致性不存在问题. 但是在分布式系统之中,由于数据分布在不同的主机结点上,如何对着些数据进行分布式的事务处理就具有 ...
- 如何连接别人电脑上的Oracle数据库?
需要一些前提条件: 1.对方的主机能被连接(如在同一局域网内) 2.需要知道对方数据库IP.端口号.服务名 3.需要知道对方提供的管理数据库的用户名及密码 连接方法: 1.在本地的oracle安装目录 ...
- Webdriver之API详解(3)
前言 前两篇API链接 https://www.cnblogs.com/linuxchao/p/linuxchao-selenium-apione.html https://www.cnblogs.c ...