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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

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,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
1月前
|
监控 安全 Shell
管道符在渗透测试与网络安全中的全面应用指南
管道符是渗透测试与网络安全中的关键工具,既可用于高效系统管理,也可能被攻击者利用实施命令注入、权限提升、数据外泄等攻击。本文全面解析管道符的基础原理、实战应用与防御策略,涵盖Windows与Linux系统差异、攻击技术示例及检测手段,帮助安全人员掌握其利用方式与防护措施,提升系统安全性。
106 6
|
1月前
|
机器学习/深度学习 自然语言处理 API
query改写:大模型应用测试离不开的实践
queryrewrite 是一个用于大模型应用测试的 Python 库,专注于查询(query)的改写与验证。它支持多种改写方法,包括大型语言模型(LLM)、词汇表替换和同义词替换,同时提供多种验证方法如 ROUGE-L、BLEU、帕累托最优和LLM语义相似度,以确保改写后的查询在语义上保持一致。该项目特别优化了对中文文本的处理,涵盖分词和相似度计算。用户可通过 pip 安装,并支持扩展不同的 LLM 模型,如 OpenAI、Ollama 等。
421 87
query改写:大模型应用测试离不开的实践
|
1月前
|
JSON 自然语言处理 算法
大模型应用测试必备技能:问题对生成实践
本文介绍了利用LangChain的QAGenerationChain从文本生成问题-答案对(QA pairs)的方法,旨在解决LLM应用开发中测试数据生成的格式不统一、库版本过时、模型输出异常及代码可维护性差等问题。文中提供了完整的代码实现,并对生成结果进行了有效性评估,包括语义相似度检查、关键词匹配和重复性检测,确保生成的QA对质量可靠,适用于知识库测试与评估。
267 86
|
14天前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
198 11
|
4月前
|
存储 人工智能 测试技术
HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试
本文深入解析HarmonyOS应用测试全流程,涵盖从一级类目通用测试到二级类目专项测试的技术方案。针对兼容性、性能、安全测试及分布式能力验证等关键环节,提供详细实践指导与代码示例。同时,结合典型案例分析常见问题及优化策略,帮助开发者满足华为严苛的质量标准,顺利上架应用。文章强调测试在开发中的核心地位,助力打造高品质HarmonyOS应用。
238 2
|
2月前
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
133 16
|
1月前
|
机器学习/深度学习 存储 分布式计算
Java 大视界 --Java 大数据机器学习模型在金融风险压力测试中的应用与验证(211)
本文探讨了Java大数据与机器学习模型在金融风险压力测试中的创新应用。通过多源数据采集、模型构建与优化,结合随机森林、LSTM等算法,实现信用风险动态评估、市场极端场景模拟与操作风险预警。案例分析展示了花旗银行与蚂蚁集团的智能风控实践,验证了技术在提升风险识别效率与降低金融风险损失方面的显著成效。
|
1月前
|
人工智能 IDE 测试技术
Browser-Use在UI自动化测试中的应用
Browser-Use是一款浏览器自动化工具,具备视觉与HTML解析、多标签管理、操作记录与复现、自定义操作、自我纠正及并行执行等功能,助力AI智能体高效完成网页任务。
180 0
|
4月前
|
安全 测试技术 Linux
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
142 2
Flawnter 5.9.1 (macOS, Linux, Windows) - 应用程序安全测试软件
|
4月前
|
测试技术 数据库 Python
解释测试中setup和teardown函数的应用。
总结起来,`setup`和 `teardown`函数就像扔宴会的主人,他们保障了宴会的流畅进行。他们是准备环境和清理现场的重要工作人员,他们的工作直接影响着我们的测试效率和质量。我们可以把 `setup`和 `teardown`想象成隐藏在幕后,默默为我们服务的工作者,他们做着我们需要但是往往忽视的工作。所以,下次当你写测试的时候,别忘了给你的 `setup`和 `teardown`留出足够的位置,因为他们的作用可能是你成功的保证。
112 14

推荐镜像

更多