使用 Telegraf 进行综合监控

Telegraf 可以使用特定于应用程序的插件(例如 NGINX 或 MySQL 的插件)收集许多白盒指标,并且您可以使用 InfluxDB 客户端库来检测您的应用程序,但我们也可以使用 Telegraf 作为综合监控工具来监控我们的状态来自外部的系统。

HTTP 响应输入插件

Telegraf 的 http_response 输入插件通过使用自定义请求轮询端点然后记录有关结果的信息来检查 HTTP 和 HTTPS 连接的状态。该插件的配置允许您指定要查询的 URL 列表、定义请求方法以及发送自定义请求正文或标头以模拟外部用户和系统可能采取的操作。它还允许您通过使用正则表达式验证对这些请求的响应是否与某些预定义字符串匹配来验证这些端点的行为。这些选项为我们监控应用程序的方式提供了很大的灵活性。

对于每个被轮询的目标服务器,插件将向 InfluxDB 发送一个测量结果,其中包含服务器标签(目标 URL)、请求方法、状态代码和结果,以及包含响应时间数据、响应字符串是否匹配的字段、HTTP 响应代码以及结果的数字表示(称为结果代码)。

我们可以在 Telegraf 配置中为我们想要监控的每个端点创建一个新块。Telegraf 将在每个收集间隔收集每个配置块的数据一次。

监控 Influxdata.com

让我们看一个简单的例子:我们将创建一个简单的综合监控检查,它将告诉我们 influxdata.com 是否启动。因为我们希望这些监控检查来自系统外部,所以我们需要设置某种独立的基础设施,与系统的其余部分分开,用于运行 Telegraf。这可能意味着在 AWS 上的不同可用区中运行或完全使用不同的云提供商。由于本示例实际上不需要长期存在的基础设施,因此我将配置 Telegraf 在我的 Mac 上运行,该 Mac 位于 influxdata.com 基础设施的外部。

我已经使用 Homebrew 安装了 Telegraf,因此下一步将使用我们的 http_response 设置创建一个新的配置文件。下面是该块的一个片段 inputs.http_response :这会查询 InfluxData 主页并查找匹配短语“InfluxDB is the open-source [...]”。

需要注意的一件事是,Telegraf 的收集间隔对于该插件尤其重要,因为它决定了向相关端点发出请求的频率。各个插件可以通过  在适当的配置块中包含参数来定义自己的收集间隔。interval为了举例,我们将使用 Telegraf 默认值,但您需要确定适合您自己的系统的间隔。

然后我们可以使用新配置启动 Telegraf 的副本,并且应该看到一些输出,如下所示:

下一步

该 http_reponse  插件在创建监控请求方面提供了很大的灵活性,您可以使用这些请求来更准确地建模用户和应用程序如何与您的站点交互。例如,您可能希望通过提交 POST 请求并验证响应是否包含搜索结果页面中的文本来验证搜索页面是否正常工作,而不仅仅是检查页面是否加载。

由于综合监控目的是对用户体验进行建模,因此检查的具体数量、频率和实施将取决于产品的设计和功能,但总的来说,您正在寻找诸如响应时间慢或速率高之类的东西错误——影响用户幸福感的事情。

由于黑盒监控通常会暴露已经影响用户的问题,因此您还需要基于此数据创建合理的警报策略。这可能意味着寻呼工程师或在 Slack 中删除通知,此时他们将不得不转向更适合调试的数据:白盒指标和事件。

黑盒监控并不能替代从应用程序捕获的数据,但它提供了端到端的覆盖范围,这在最灾难性的场景中非常有用。当与白盒工具结合使用时,它可以让您对软件的功能更有信心,使其成为监控系统的关键组件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/148264.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

HTTP协议,请求响应

、概述 二、HTTP请求协议 三、HTTP响应协议 四、请求数据 1.简单实体参数 RequestMapping("/simpleParam")public String simpleParam(RequestParam(name "name" ,required false ) String username, Integer age){System.out.println (username "…

车牌文本检测与识别:License Plate Recognition Based On Multi-Angle View Model

论文作者:Dat Tran-Anh,Khanh Linh Tran,Hoai-Nam Vu 作者单位:Thuyloi University;Posts and Telecommunications Institute of Technology 论文链接:http://arxiv.org/abs/2309.12972v1 内容简介: 1)方向&#x…

可以动态改变刻度背景色的车速仪表盘

最近做的项目的主页面需要用到一个仪表盘来动态显示车速,同时改变对应的背景色 仪表盘 开始是想着使用echarts,修修改改拿来用,但是人家客户有规定,必须搞个差不多的,那没办法,自 己动手搞个吧 截图如下&am…

多源最短路径的原理及C++实现

时间复杂度 O(n3),n是端点数。 核心代码 template<class T, T INF 1000 * 1000 * 1000> class CNeiBoMat { public: CNeiBoMat(int n, const vector<vector<int>>& edges,bool bDirectfalse,bool b1Base false) { m_vMat.assign(n, vector<…

2023年【R2移动式压力容器充装】模拟考试及R2移动式压力容器充装模拟考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 R2移动式压力容器充装模拟考试考前必练&#xff01;安全生产模拟考试一点通每个月更新R2移动式压力容器充装模拟考试题题目及答案&#xff01;多做几遍&#xff0c;其实通过R2移动式压力容器充装操作证考试很简单。 1…

MySQL5.7版本与8.0版本在Ubuntu(WSL环境)系统安装

目录 前提条件 1. MySQL5.7版本在Ubuntu&#xff08;WSL环境&#xff09;系统安装 1. 1 下载apt仓库文件 1.2 配置apt仓库 1.3 更新apt仓库的信息 1.4 检查是否成功配置MySQL5.7的仓库 5. 安装MySQL5.7 1.6 启动MySQL 1.7 对MySQL进行初始化 1.7.1 输入密码 …

PDF文件压缩软件 PDF Squeezer mac中文版​软件特点

PDF Squeezer mac是一款macOS平台上的PDF文件压缩软件&#xff0c;可以帮助用户快速地压缩PDF文件&#xff0c;从而减小文件大小&#xff0c;使其更容易共享、存储和传输。PDF Squeezer使用先进的压缩算法&#xff0c;可以在不影响文件质量的情况下减小文件大小。 PDF Squeezer…

排序算法之【快速排序】

&#x1f4d9;作者简介&#xff1a; 清水加冰&#xff0c;目前大二在读&#xff0c;正在学习C/C、Python、操作系统、数据库等。 &#x1f4d8;相关专栏&#xff1a;C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 &#x1f44d…

[sping] spring core - 依赖注入

[sping] spring core - 依赖注入 所有代码实现基于 Spring Boot3&#xff0c;core 的概念很宽广&#xff0c;这里的 core concept 主要指的就是 Inversion of Control 和 Dependency Injection&#xff0c;其他的按照进度应该是会被放到其他的 section 记录 之前有写过 IoC 和…

MARS: An Instance-aware, Modular and Realistic Simulator for Autonomous Driving

MARS: An Instance-aware, Modular and Realistic Simulator for Autonomous Driving&#xff08;基于神经辐射场的自动驾驶仿真器&#xff09;https://github.com/OPEN-AIR-SUN/marshttps://arxiv.org/pdf/2307.15058.pdfhttps://mp.weixin.qq.com/s/6Ion_DZGJwzs8JOoWMMbPw …

Ubuntu基于Docker快速配置GDAL的Python、C++环境

本文介绍在Linux的Ubuntu操作系统中&#xff0c;基于Docker快速配置Python与C 这2种不同编程语言可用的地理数据处理库GDAL开发环境的方法。 本文就将Python与C 这2种不同编程语言的GDAL模块配置方法分开来介绍&#xff0c;大家依据自己的需求来选择即可——但无论是哪种方法&a…

计算机竞赛 目标检测-行人车辆检测流量计数

文章目录 前言1\. 目标检测概况1.1 什么是目标检测&#xff1f;1.2 发展阶段 2\. 行人检测2.1 行人检测简介2.2 行人检测技术难点2.3 行人检测实现效果2.4 关键代码-训练过程 最后 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 行人车辆目标检测计数系统 …

springmvc-JSR303进行服务端校验分组验证SpringMVC定义Restfull接口异常处理流程RestController异常处理

目录& 1. JSR303 2. JSR303中含有的注解 3. spring中使用JSR303进行服务端校验 3.1 导入依赖包 3.2 添加验证规则 3.3 执行校验 4. 分组验证 4.1 定义分组验证规则 4.2 验证时通过参数指定验证规则 4.3 验证信息的显示 5. SpringMVC定义Restfull接口 5.1 增加s…

opentelemetry、grafana、Prometheus、jaeger、victoria-metrics 介绍、关系与使用

Opentelemetry OTEL 是 OpenTelemetry 的简称&#xff0c; 是 CNCF 的一个可观测性项目&#xff0c;旨在提供可观测性领域的标准化方案&#xff0c;解决观测数据的数据模型、采集、处理、导出等的标准化问题&#xff0c;提供与三方 vendor 无关的服务。 OpenTelemetry 是一组标…

postgresql新特性之Merge

postgresql新特性之Merge 创建测试表测试案例 创建测试表 create table cps.public.test(id integer primary key,balance numeric,status varchar(1));测试案例 官网介绍 merge into test t using ( select 1 id,0 balance,Y status) s on(t.id s.id) -- 当匹配上了,statu…

TempleteMethod

TempleteMethod 动机 在软件构建过程中&#xff0c;对于某一项任务&#xff0c;它常常有稳定的整体操作结构&#xff0c;但各个子步骤却有很多改变的需求&#xff0c;或者由于固有的原因 &#xff08;比如框架与应用之间的关系&#xff09;而无法和任务的整体结构同时实现。如…

嵌入式Linux应用开发-驱动大全-同步与互斥①

嵌入式Linux应用开发-驱动大全-同步与互斥① 第一章 同步与互斥①1.1 内联汇编1.1.1 C语言实现加法1.1.2 使用汇编函数实现加法1.1.3 内联汇编语法1.1.4 编写内联汇编实现加法1.1.5 earlyclobber的例子 1.2 同步与互斥的失败例子1.2.1 失败例子11.2.2 失败例子21.2.3 失败例子3…

使用CrawlSpider爬取全站数据。

CrawpSpider和Spider的区别 CrawlSpider使用基于规则的方式来定义如何跟踪链接和提取数据。它支持定义规则来自动跟踪链接&#xff0c;并可以根据链接的特征来确定如何爬取和提取数据。CrawlSpider可以对多个页面进行同样的操作&#xff0c;所以可以爬取全站的数据。CrawlSpid…

【2023年11月第四版教材】第17章《干系人管理》(合集篇)

第17章《干系人管理》&#xff08;合集篇&#xff09; 1 章节内容2 管理基础3 管理过程3.1 管理的过程★★★ &#xff08;22上44&#xff09;3.2 管理ITTO汇总★★★ 4 过程1-识别干系人4.1 数据收集★★★4.3数据分析4.4 权力利益方格4.5 数据表现&#xff1a;干系人映射分析…