使用ZABBIX监控web

服务器

实验拓扑图:

实验思路:

nginx添加状态统计模块,编写nginx对应的状态统计脚本。

zabbix-server

导入nginx模板,并对主机实现监控。

实验环境

角色

IP地址

操作系统版本

软件包

Zabbix_server

192.168.0.158/24

Centos

6.5_X86_64

Zabbix3.0.4

Zabbix_agentd(nginx)

192.168.0.125/24

Centos

6.5_X86_64

Zabbix3.0.4

nginx1.11

实验效果:

实验步骤如下

一.安装部署zabbix_server

(参考lamp+zabbix3.0.4 脚本一键安装即可)

二.zabbix-agentd端的配置

1.创建运行账号

[root@centos6 ~]# useradd zabbix -s

/sbin/nologin

2.安装依赖

[root@centos6 ~]# yum -y install gcc curl

上传软件包

3.编译安装agent

[root@centos6 ~]# tar zxf zabbix-3.0.4.tar.gz -C

/usr/src/

[root@centos6 ~]# cd

/usr/src/zabbix-3.0.4/

[root@centos6

zabbix-3.0.4]# ./configure --prefix=/usr/local/zabbix

--enable-agent

[root@centos6

zabbix-3.0.4]# make -j 4

[root@centos6

zabbix-3.0.4]# make install

4.配置客户端

[root@centos6 ~]# vim

/usr/local/zabbix/etc/zabbix_agentd.conf

Server=192.168.0.158 #被动模式,允许哪台zabbix服务器连接,如有DNS解析可填主机名

ServerActive=192.168.0.158 #主动模式,允许向哪台zabbix服务器上报,如有DNS解析可填主机名

Hostname=192.168.0.125 #客户端本机IP,如有DNS解析可填主机名

UnsafeUserParameters=1 #允许用户自定义参数

EnableRemoteCommands=1 #允许执行远程命令

5.创建init服务

[root@centos6

~]#

cp

/usr/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd

/etc/init.d/

[root@centos6 ~]# ll

/etc/init.d/zabbix_agentd

-rwxr-xr-x.

1 root root 2170 Oct 7 22:10

/etc/init.d/zabbix_agentd

[root@centos6 ~]#

chkconfig zabbix_agentd on

[root@centos6 ~]# service

zabbix_agentd start

Starting

zabbix_agentd: /etc/init.d/functions: line 546:

/usr/local/sbin/zabbix_agentd: No such file or

directory

[FAILED]

[root@centos6 ~]# vim

/etc/init.d/zabbix_agentd

[root@centos6 ~]# service

zabbix_agentd start

关闭selinux

和iptables

如果遇到没有数据的问题可能是mysql数据库的问题

可以尝试重新启动服务

三.客户端安装nginx服务器

在zabbix

agentd客户端上,查看nginx是否加载了--with-http_stub_status_module。因为zabbix监控nginx是根据nginx的Stub

Status模块,抓取Status模块所提供的数据。假如以前没开启,现在想启用StubStatus 模块,在编译nginx

的时候要加上参数 --with-http_stub_status_module,执行./configure &&

make就可以了,不用make install。不过,一般情况下都是安装了的。

[root@centos6 ~]# yum -y

install pcre-devel zlib-devel lrzsz

[root@centos6 ~]# useradd

-s /sbin/nologin nginx -M

[root@centos6 ~]# tail -1

/etc/passwd

[root@centos6 ~]# tar zxf

nginx-1.11.2.tar.gz -C /usr/src/

[root@centos6 ~]# cd

/usr/src/nginx-1.11.2/

[root@centos6

nginx-1.11.2]# ./configure --prefix=/usr/local/nginx --user=nginx

--group=nginx --with-http_stub_status_module

--with-http_ssl_module

[root@centos6

nginx-1.11.2]# make -j 4 && make

install

nginx服务器的配置

[root@centos6 ~]# ln -s

/usr/local/nginx/sbin/nginx /usr/sbin/

[root@centos6 ~]# 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@centos6 ~]#

nginx

配置nginx状态统计功能

在nginx的配置文件中,添加status配置。

location/nginx-status

{

stub_status on;

access_log off;

[root@centos6 ~]# nginx

-t

[root@centos6 ~]# nginx

-s reload

验证

参数解释:

Activeconnections:对后端发起的活动连接数;

server

accepts 4:nginx 总共处理了4个连接;

handled:成功创建了4次握手;

requests:总共处理了4请求。

Reading:nginx读取客户端的header数;

Writing:

nginx 返回给客户端的header数;

Waiting:

nginx 请求处理完成,正在等待下一请求指令的连接。

在agentd上编写监控nginx的脚本(参考nginx.txt文档)

并且设置属主和属组为zabbix,赋予执行权限。

[root@centos6 ~]# mkdir

-p /data/log/zabbix/

[root@centos6 ~]# touch

/data/log/zabbix/webstatus.log

[root@centos6 ~]# vim

/usr/local/zabbix/nginx-status.sh

[root@centos6 ~]# chmod

o+x /usr/local/zabbix/nginx-status.sh

[root@centos6 ~]# chown

zabbix:zabbix /usr/local/zabbix/nginx-status.sh

修改nginx服务器上zabbix客户端的zabbix_agentd.conf配置文件,然后重启zabbix

agentd客户端

[root@centos6

~]# vim

/usr/local/zabbix/etc/zabbix_agentd.conf

添加以下内容

UserParameter=nginx.accepts,/usr/local/zabbix/nginx_status.sh

accepts

UserParameter=nginx.handled,/usr/local/zabbix/nginx_status.sh

handled

UserParameter=nginx.requests,/usr/local/zabbix/nginx_status.sh

requests

UserParameter=nginx.connections.active,/usr/local/zabbix/nginx_status.sh

active

UserParameter=nginx.connections.reading,/usr/local/zabbix/nginx_status.sh

reading

UserParameter=nginx.connections.writing,/usr/local/zabbix/nginx_status.sh

writing

UserParameter=nginx.connections.waiting,/usr/local/zabbix/nginx_status.sh

waiting

[root@centos6 ~]# service

zabbix_agentd restart

在zabbix

server 端进行zabbix_get测试,取到数据了,说明没问题。

/usr/local/zabbix/bin/zabbix_get

-s 192.168.0.125 -p 10050 -k

"nginx.connections.active"

/usr/local/zabbix/bin/zabbix_get

-s 192.168.0.125 -p 10050 -k

"nginx.connections.waiting"

/usr/local/zabbix/bin/zabbix_get

-s 192.168.0.125 -p 10050 -k

"nginx.connections.writing"

/usr/local/zabbix/bin/zabbix_get

-s 192.168.0.125 -p 10050 -k "nginx.accepts"

/usr/local/zabbix/bin/zabbix_get

-s 192.168.0.125 -p 10050 -k "nginx.requests"

使用浏览器访问zabbix

导入模版(我的是xml文件)

(参考nginx-status.xml)

步骤:

configurationàTemplates

选择导入模版

上传nginx-status.xml文件(文件中的IP地址是这个环境中的没错,若切换IP则必须修改)

并导入

导入成功

选择模版

选择nginxstatus模版

添加关联主机 nginx

只是我的主机名

MonitoringàLatest data à选择nginx主机—》filter过滤

查看监控项的图形

以上就是关于监控nginx的实验

完成

linux服务器监控zabbix,Linux监控之--使用ZABBIX监控web服务器相关推荐

  1. 服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用。请点击 Web 浏览器中的“刷...

    错误提示: 服务器应用程序不可用您试图在此 Web 服务器上访问的 Web 应用程序当前不可用.请点击 Web 浏览器中的"刷新"按钮重试您的请求. 管理员注意事项:详述此特定请求 ...

  2. asp.net配置IIS后服务器应用程序不可用的解决办法 服务器应用程序不可用 您试图在此Web服务器上访问的Web应用程序当前不可用。

    错误:服务器应用程序不可用  您试图在此Web服务器上访问的Web应用程序当前不可用. 请点击Web浏览器中的"刷新"按钮重试您的请求.管理员注意事项:详述此特定请求失败原因的错误 ...

  3. linux web故障,网络故障处理与优化 linux服务器配置及故障排除 项目9 配置与管理web服务器.docx...

    配置与管理WEB服务器 准备工作: 先切换到root账号: 执行以下两条命令,临时关闭防火墙和selinux: systemctl stop firewalld.service setenforce ...

  4. c语言服务器制作,C语言写的简易实用的web服务器

    码农公社  210.net.cn  210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. Apache在码农界是比较知名的,它也是目前最接地气.使用最广泛的Web服务器 ...

  5. 服务器信息安全策略,信息安全工程师考试重点之定制Web服务器的安全策略和安全机制...

    信息安全工程师考试重点之定制Web服务器的安全策略和安全机制 安全策略是由个人或组织针对安全而制定的一整套规则和决策.每个Web站点都应有一个安全策略,这些安全策略因需而异.对Web服务提供者来说,安 ...

  6. PHP服务器脚本实例,Shell脚本实现的一个简易Web服务器例子分享_linux shell

    这篇文章主要介绍了Shell脚本实现的一个简易Web服务器例子分享,本文实现的Web服务器非常简单实用,可以在你不想安装nginx.apache等大型WEB服务器时使用,需要的朋友可以参考下 假设你想 ...

  7. rust自创服务器_用Rust写了一个简单的Web服务器

    Rust 最近学了一阵Rust,这个语言的目的是系统编程,卖点是无GC的内存安全.为了实现这一点,Rust引入了所有权.借用.生命周期的概念.可以在编译器检查出可能的内存问题,如野指针.局部变量指针等 ...

  8. 本地计算机架设http服务器,多维互联网(在本地电脑上架设web服务器软件)

    如何在本地电脑上架设web服务器呢?虽然在网上我们就能搜到方法,可是小编觉得手动设置比较麻烦,不如让一款软件来帮我们搞定这个问题! 多维互联网介绍: 是一款可以完成对本地电脑进行动态dns解决的软件, ...

  9. web服务器角色源文件,IIS 7.5中提供的Web服务器(IIS)角色服务详请

    Internet 信息服务 (IIS) 7.5 是 Windows 7 中的 Web 服务器 (IIS) 角色和 Windows Server? 2008 R2 中的 Web 服务器.Web 服务器在 ...

  10. 服务器能ping通但是不能访问网页,解惑:Web服务器能Ping通但不能访问

    [IT168 专稿]访问Web服务器是许多局域网用户经常要做的一项"功课",在频繁访问过程中,不少朋友积累了一些Web服务器访问经验,这些经验常常会帮助他们快速解决一些无法访问的小 ...

最新文章

  1. Intel 6系列芯片组设计缺陷 全球出货暂停
  2. 扛住 100 亿次请求?我们来试一试
  3. SLP是最近在BCH中引入的一个功能,它允许创建定制令牌。
  4. (转)Spring定时任务的几种实现
  5. boost::core模块实现np地址
  6. 前端学习(3311):redux的state hook对象
  7. ns3 统计一个包所经历的时延_【直击UDE2020】显示链接的智慧生活,你我正在经历...
  8. 配置了坐标还是找不到serv_你那么努力,为何还是找不到工作?从优势发展观来看个人职业发展...
  9. 笨办法学 Python · 续 练习 48:`ed`
  10. JS高级程序设计2nd部分知识要点3
  11. 【优化算法】非洲秃鹫优化算法(AVOA)【含Matlab源码 1805期】
  12. 智能门禁人脸识别小程序开发制作
  13. 【故障分析】基于matlab GUI蚁群算法故障诊断【含Matlab源码 931期】
  14. 《遥远的救世主》(摘录)
  15. 2021高考体检成绩查询,2021年重庆高考体检报告结果查询时间及查询网址入口
  16. Java获取三个月的时间
  17. 我的沪漂第一天,值得纪念的一天!
  18. 什么是接口测试?测试人员为什么要做接口测试?
  19. C语言头文件路径相关问题总结说明
  20. 安装一套无人值守称重系统需要多少人

热门文章

  1. ubuntu 16.0安装ros-kinetic
  2. 阿里云实时数仓Hologres年度发布,解读数仓新趋势
  3. 深度干货|云原生分布式数据库 PolarDB-X 的技术演进
  4. 十年沉淀,阿里云发布全球领先的对象存储OSS可用性SLA
  5. 来,一起“八卦”一下数据湖
  6. 如何调用API管理您的云上资源
  7. 端智能揭秘|促使双十一GMV大幅提升,手淘用了什么秘密武器?
  8. GAN的一些很酷的应用
  9. 万豪数据泄漏门再敲警钟 酒店集团7步安全建议
  10. 阿里云 APM 解决方案地图