Zabbix(五):高级应用-web方案、被动监控、基于snmp协议被动监控、proxy配置测试实例

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

1.web方案

web scenario:web监控方案,web场景;

web scenarios指的是监控指定的web站点的资源下载及页面响应时间等数据指标;


(1)创建web监控需要先定义一个web scenario(方案):

一个web方案包括一个或多个HTTP请求或步骤(steps)

每次监控都是按照预先定义的步骤的顺序执行;

(2)通过web监控方案可以获取到下列信息:

整个web方案中所有步骤的速度和响应时间,以及平均下载速度和平均响应时间;

失败的步骤号

失败的报错信息

(3)在设置web方案中的具体步骤时,可以按需调用此步骤的下载速度和响应时间,以及响应状态码;

(4)Zabbix可以检测获取到HTML页面中是否包含预设的字符串信息,也可以实现模拟浏览器完成登录,身份验证和页面点击的功能;

(5)在创建完成一个步骤以后,Zabbix会自动在已经选择好的application中添加若干个items,这些items可以用于创建触发器及定义报警条件;


基于之前创建的nginxweb创建web,点击Hosts里面nginxweb后面的web,点击Create web scenario

1.png


在Steps添加相关内容

2.png


创建完成后,查看latest data,多了六项内容

3.png




2.Zabbix的主动/被动检测

被动检测:相对于agent而言,agent接口,Zabbix server向Zabbix agent请求获取配置的各items相关的数据,agent负责接收请求、获取数据并响应给Zabbix server

主动检测:相对于agent而言,agent(active)接口,Zabbix agent向Zabbix server请求与自己相关的items的配置,主动地将监控数据发送给Zabbix server;


配置主动检测,在agent端需要的基本配置:

ServerActive=Zabbix_server,Zabbix_proxy

Hostname=Local_hostname


在agent端需要的基本配置

##### Active checks related,在该配置段中配置一下内容


ServerActive=172.16.1.2

Hostname=zrs2.zrs.com


还要在server端配置一下内容

[root@zrs1 ~]# vim /etc/hosts

172.16.1.4  zrs2.zrs.com zrs2


删除之前的host,创建一个新的host

4.png


在这个host上面创建item,preprocessing中改为Change per second

5.png


查看,因为有之前创建的的模版,所以直接加进当前host中,为5个item和2个application,可以看到已经监控成功。

6.png


3.基于snmp协议被动监控


什么是SNMP

SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。


监听端口

161/udp

162/udp


CentOS 6/7:支持SNMP协议的方法:

net-snmp,net-snmp-utils


配置文件:

/etc/snmp/snmpd.conf


启动服务:

systemctl start snmpd.service


测试工具:

snmpget -v 2c -c public HOST OID

snmpwalk -v 2c -c public HOST OID



在被管理的主机上,关闭zabbix-agent服务

[root@zrs2 ~]# systemctl stop zabbix-agent.service


在监控主机和被监控主机上都下载snmp服务

yum -y install net-snmp net-snmp-utils


在被监控的主机上启动服务

[root@zrs2 ~]# systemctl start snmpd.service


在监控主机上测试

[root@zrs1 ~]# snmpget -v 2c -c public 172.16.1.4 system.sysDescr.0

SNMPv2-MIB::sysDescr.0 = STRING: Linux zrs2.zrs.com 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64


删除之前的host,创建新的基于snmp的host,还用原来的name

7.png


创建item,监控网络流量,snmp可以任意写一个key,snmp监控在OID上面,preprocessing中改为Change per second

8.png



4.Zabbix Proxy


分布式监控的模型之一;


两种类型:

server-node-agent

server-proxy-agent(zabbix 3.0+)


安装和配置Zabbix proxy:

完成代理功能:

zabbix-proxy-mysql zabbix-get

实现将采集的数据传回给server:

zabbix-sender

想要监控proxy主机:

zabbix-agent



打开一台新的虚拟机172.16.1.5,安装zabbix-proxy-mysql zabbix-get zabbix-sender zabbix-agent作为反代主机

[root@zrs4 ~]# hostname

zrs4.zrs.com


配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@zrs4 ~] # egrep -v '^$|#' /etc/zabbix/zabbix_proxy.conf 
ProxyMode=0
Server=172.16.1.2
Hostname=zrs4.zrs.com
LogFile= /var/log/zabbix/zabbix_proxy .log
LogFileSize=0
PidFile= /var/run/zabbix/zabbix_proxy .pid
SocketDir= /var/run/zabbix
DBHost=172.16.1.5
DBName=zbxdb
DBUser=zabbixuser
DBPassword=zabbixpass
ConfigFrequency=60
DataSenderFrequency=5
StartPollers=5
StartPollersUnreachable=1
StartTrappers=5
StartPingers=1
StartDiscoverers=1
StartHTTPPollers=1
SNMPTrapperFile= /var/log/snmptrap/snmptrap .log
Timeout=4
ExternalScripts= /usr/lib/zabbix/externalscripts
LogSlowQueries=3000



创建数据库

1
2
3
4
5
[root@zrs4 ~] # systemctl start mariadb
[root@zrs4 ~] # mysql
MariaDB [(none)]> create database zbxdb charset  'utf8' ;
MariaDB [(none)]> use zbxdb;
MariaDB [(none)]> grant all on zbxdb.* to zabbixuser@ '172.16.%.%'  identified by  'zabbixpass' ;

导入数据库

1
2
3
4
5
6
[root@zrs4 ~] # cp /usr/share/doc/zabbix-proxy-mysql-3.4.4/schema.sql.gz /root
[root@zrs4 ~] # ls
anaconda-ks.cfg  initial-setup-ks.cfg  schema.sql.gz
[root@zrs4 ~] # gunzip schema.sql.gz 
[root@zrs4 ~] # mysql -uzabbixuser -h172.16.1.5 -p zbxdb < schema.sql 
Enter password:


启动服务

systemctl start zabbix-proxy.service


在Administration的Proxies中创建反代

9.png


打开一台新的虚拟机172.16.1.10,安装 zabbix-sender zabbix-agent,作为反代服务器的后端

[root@zrs5 ~]# hostname

zrs5.zrs.com


配置文件

1
2
3
4
5
6
7
8
9
10
11
[root@zrs5 ~] # egrep -v '^$|#' /etc/zabbix/zabbix_agentd.conf 
PidFile= /var/run/zabbix/zabbix_agentd .pid
LogFile= /var/log/zabbix/zabbix_agentd .log
LogFileSize=0
EnableRemoteCommands=1
Server=172.16.1.5
ListenPort=10050
  StartAgents=3
ServerActive=12.16.1.5
Hostname=zrs5.zrs.com
Include= /etc/zabbix/zabbix_agentd .d/

创建发现规则

10.png


再创建动作,就可以通过反代自动添加主机了。

11.png

12.png


查看Hosts,发现这个主机已经成功添加进来了,给监控到的这个主机创建一个item监控项,preprocessing中改为Change per second

13.png


然后查看Hosts,这个主机的绿灯也亮了。

14.png


查看这个主机的Latest data,正常监控了。

15.png




本文转自 Runs_ 51CTO博客,原文链接:http://blog.51cto.com/12667170/2045533,如需转载请自行联系原作者
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
58 4
|
20天前
|
监控 安全 前端开发
使用 Zabbix 监控堆外应用
使用 Zabbix 监控堆外应用
37 9
|
2天前
|
弹性计算 负载均衡 安全
云端问道-Web应用上云经典架构方案教学
本文介绍了企业业务上云的经典架构设计,涵盖用户业务现状及挑战、阿里云业务托管架构设计、方案选型配置及业务初期低门槛使用等内容。通过详细分析现有架构的问题,提出了高可用、安全、可扩展的解决方案,并提供了按量付费的低成本选项,帮助企业在业务初期顺利上云。
|
1月前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
45 5
|
3月前
|
小程序 前端开发 中间件
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
本文介绍了如何在ThinkPHP框架中配置跨域请求,使用了TP内置的跨域类`\think\middleware\AllowCrossDomain::class`。文章还讨论了小程序和web网页在跨域请求格式上的区别,并提供了解决方案,包括修改跨域中间件源码以支持`Origin`和`token`。此外,还介绍了微信小程序跨域请求的示例和web网页前端发送Axios跨域请求的请求拦截器配置。
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
|
3月前
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
101 8
HAProxy的高级配置选项-Web服务器状态监测
|
2月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
160 0
|
2月前
|
NoSQL Java 数据库连接
springBoot:整合其他框架&condition&切换web配置 (五)
本文档介绍了如何在Spring Boot项目中整合JUnit、Redis和MyBatis等框架,并提供了相应的依赖配置示例。同时,还展示了如何通过条件注解实现Bean的条件创建,以及如何切换Web服务器配置,从默认的Tomcat切换到Jetty。
|
3月前
|
Web App开发 前端开发 JavaScript
Web前端项目的跨平台桌面客户端打包方案之——CEF框架
Chromium Embedded Framework (CEF) 是一个基于 Google Chromium 项目的开源 Web 浏览器控件,旨在为第三方应用提供嵌入式浏览器支持。CEF 隔离了底层 Chromium 和 Blink 的复杂性,提供了稳定的产品级 API。它支持 Windows、Linux 和 Mac 平台,不仅限于 C/C++ 接口,还支持多种语言。CEF 功能强大,性能优异,广泛应用于桌面端开发,如 QQ、微信、网易云音乐等。CEF 开源且采用 BSD 授权,商业友好,装机量已超 1 亿。此外,GitHub 项目 CefDetector 可帮助检测电脑中使用 CEF
474 3
|
3月前
|
监控 Windows
Zabbix 5.0 LTS配置中文支持并解决字符乱码问题
文章介绍了如何在Zabbix 5.0 LTS中配置中文支持并解决字符乱码问题,包括在用户设置中选择中文语言和替换默认字体为Windows字体的步骤。
419 4

推荐镜像

更多
下一篇
DataWorks