使用 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.mzph.cn/news/93897.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【强化学习】05 —— 基于无模型的强化学习(Prediction)

文章目录 简介蒙特卡洛算法时序差分方法Example1 MC和TD的对比偏差(Bias)/方差(Variance)的权衡Example2 Random WalkExample3 AB 反向传播(backup)Monte-Carlo BackupTemporal-Difference BackupDynamic Programming Backup Boot…

(unordered)map和set封装(底层红黑树)

map和set封装 文章目录 map和set封装设计问题(知其所以然)为什么要对iterator进行封装?为什么要引入Self Ref Ptr这些模板参数?为什么是试图从non_const转变为const,而不是const转为non_const如何解决 为什么说能加con…

【Java 进阶篇】JDBC PreparedStatement 详解

在Java中,与关系型数据库进行交互是非常常见的任务之一。JDBC(Java Database Connectivity)是Java平台的一个标准API,用于连接和操作各种关系型数据库。其中,PreparedStatement 是 JDBC 中一个重要的接口,用…

[QT编程系列-43]: Windows + QT软件内存泄露的检测方法

目录 一、如何查找Windows程序是否有内存泄露 二、如何定位Windows程序内存泄露的原因 二、Windows环境下内存监控工具的使用 2.1 内存监测工具 - Valgrind 2.2.1 Valgrind for Linux 2.2.2 Valgrind for Windows 2.2 内存监测工具 - Dr. Memory 2.2.1 特点 2.2.2 安装…

FileZila 实现wind10与Linux系统文件互传

【FileZila】实现windows与Linux系统文件互传

WebExceptionHandler详解

WebExceptionHandler 是 Spring Framework 中的一个接口,它用于处理 Web 应用程序中的异常。具体来说,WebExceptionHandler 主要用于处理在处理 HTTP 请求时可能发生的异常,并返回适当的响应给客户端。 在 Spring 框架中,WebExce…

2310d模板替换运行时

原文 上周,我开始从我之前的PR中的_d_newarray{i,}T实现开始,把_d_newarraym{i,}T转换为模板.目前,我已实现了新勾挂并更新了降级,但在编译器中遇见了一些测试失败. 修复它们之前,出现了该错误,它是因为我降级到_d_arrayappend{T,cTX}引起的. 我前段时间处理了这些勾挂,并用AS…

GD32F103x IIC通信

1. IIC通信 1.IIC的介绍 IIC总线有两条串行线,其一是时钟线SCK(同步),其二是数据线SDA。只有一条数据线属于半双工。应用中,单片机常常作为主机,外围器件可以挂载多个。(当然主机也可以有多个。…

Java之原子性问题的解决

2. 原子性 2.1 volatile-问题 代码分析 : package com.itheima.myvolatile; ​ public class Demo {public static void main(String[] args) {MyThread1 t1 new MyThread1();t1.setName("小路同学");t1.start(); ​MyThread2 t2 new MyThread2();t2.setName(&q…

想要精通算法和SQL的成长之路 - 验证二叉树的前序序列化

想要精通算法和SQL的成长之路 - 验证二叉树的前序序列化 前言一. 验证二叉树的前序序列化 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 验证二叉树的前序序列化 原题链接 思路(参考负雪明图): 首先我们看题目所给的字符串&#xff…

【Diffusion】DDPM - (2)公式推导 之 前向扩散

1、加噪过程 1、将 图像 x 0 x_0 x0​ 像素值映射到 [-1, 1] 之间 x 255 2 − 1 , w h e r e    x 为图像中的像素值 \quad \frac{x}{255} \times 2-1, \quad where \; x 为图像中的像素值 255x​2−1,wherex为图像中的像素值 \quad 2、生成一张尺寸相同的噪声图片,像…

边缘计算网关

一、项目整体框架图 二、项目整体描述 边缘计算网关项目主要实现了智能家居场景和工业物联网场景下设备的数据采集和控制。 整个项目分为三大层:用户接口层、网关层、设备层。 其中用户层通过QT客户端、WEB界面及阿里云提供数据展示和用户接口。 网关使用虚拟机代替…

Windows电脑上的多开器:是什么、怎么用?

多开器是一种软件,可以在Windows电脑上允许同时打开多个程序或游戏的工具。它通常被用于游戏,可以帮助用户在同一台电脑上同时登录多个游戏账号,或者在同一时间内同时玩多个游戏。 使用多开器的方法很简单。首先,需要在网上下载并…

Django之十二:模板的继承+用户列表

模板的继承 新建layout.html&#xff1a; {% load static %} <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><link rel"stylesheet" href"{% static plugins…

231003-四步MacOS-iPadOS设置无线竖屏随航SideCar

Step 0&#xff1a;MacOS到iPad无线竖屏随航显示&#xff0c;最终效果 Step 1&#xff1a; 下载 Better Display Step 2&#xff1a;在设置中新建虚拟屏幕&#xff0c;创建虚拟屏幕 Step 3&#xff1a;进行如下设置 Step 4&#xff1a;注意事项 ⚠️ 设置后的虚拟屏幕与Sideca…

nodejs+vue晓海网上订餐系统elementui

管理员功能需求 管理员登陆后&#xff0c;主要模块包括首页、个人中心、用户管理、菜单信息管理等功能。 第三章 系统分析 10 3.1需求分析 10 3.2可行性分析 10 3.2.1技术可行性&#xff1a;技术背景 10 3.2.2经济可行性 11 3.2.3操作可行性&#xff1a; 11 3.3性能分析 11 3.4…

IntelliJ IDEA配置Cplex12.6.3详细步骤

Cplex12.6.3版IntelliJ IDEA配置详细步骤 一、Cplex12.6.3版下载地址二、Cplex安装步骤三、IDEA配置CPLEX3.1 添加CPLEX安装目录的cplex.jar包到项目文件中3.2 将CPLEX的x64_win64文件夹添加到IDEA的VM options中 四、检查IDEA中Cplex是否安装成功卸载Cplex 一、Cplex12.6.3版下…

我用PYQT5做的第一个实用的上位机项目(三)

基本的程序框架&#xff1a; 因为自己不是专业的程序员&#xff0c;只是一个搞电气控制的“票友”&#xff0c;所以尽量减少手动输入 代码量&#xff0c;能在Qt Dsigner里面完成的组态就不要放在代码里面完成。 在框架的建设方面&#xff0c;尽量做到集中和整合&#xff0c;位…

科技+智慧+颜值,智慧公厕黑科技提升城市形象

现代社会的科技和智慧正以惊人的速度渗透到我们生活的各个方面&#xff0c;包括公共设施。而作为城市形象的重要组成部分之一&#xff0c;公厕也在不断创新中迎来了智慧的时代。 在传统的公厕中&#xff0c;一些问题一直困扰着我们&#xff0c;比如厕位的占用情况、空气质量的…

Git多账号管理通过ssh 公钥的方式,git,gitlab,gitee

按照目前国内访问git&#xff0c;如果不科学上网&#xff0c;我们很大可能访问会超时。基于这个&#xff0c;所以我现在的git 配置已经增加到了3个了 一个公司gitlab&#xff0c;一个git&#xff0c;一个gitee. 以下基于这个环境&#xff0c;我们来说明下如何创建配置ssh公钥。…