Prometheus入门

Prometheus入门

Setup

Reference:https://prometheus.io/docs/introduction/overview/
在这里插入图片描述

  • exporters:你可以部署在你想要获取metrics的应用旁,接收Prometheus请求,从应用程序中收集数据并转换为正确的格式,最后返回给Prometheus;
  • Service Discovery:一旦应用安装并运行exporters,Prometheus需要知道它们的位置,才能明确监控的内容并判断是否响应;
  • Retrieval:Prometheus通过发送HTTP请求获取响应并进行解析和存储;
  • TSDB:时序数据库,Prometheus将数据存储在自定义数据库中,推荐使用SSD;
#Download 
wget https://github.com/prometheus/prometheus/releases/download/v2.45.5/prometheus-2.45.5.linux-amd64.tar.gztar xvfz prometheus-*.tar.gzcd prometheus-2.45.5.linux-amd64/#Start
./prometheus --config.file=prometheus.yml

修改 prometheus.yml

global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: "prometheus"static_configs:- targets: ["localhost:9090"]

./prometheus 运行

浏览器打开http://localhost:9090/

Node Exporter

Node Exporter在 Unix 系统(例如 Linux)上公开内核和机器级别的指标。它提供所有标准指标,例如 CPU、内存、磁盘空间、磁盘 I/O 和网络带宽。

https://prometheus.io/download/

dean@mint:~$ wget https://github.com/prometheus/node_exporter/releases/download/v1.8.1/node_exporter-1.8.1.linux-amd64.tar.gz
dean@mint:~$ tar -xzf node_exporter-1.8.1.linux-amd64.tar.gz 
dean@mint:~$ cd node_exporter-1.8.1.linux-amd64/

为了让 Prometheus 监控 Node Exporter,需要通过添加额外的 scrape 配置来更新 prometheus.yml:

global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
scrape_configs:- job_name: "prometheus"static_configs:- targets: ["localhost:9090"]- job_name: "node"static_configs:- targets: ["localhost:9100"] 

job=“node” 称为标签匹配器,它限制返回的指标

Altering

Altering有两部分:

  1. 向 Prometheus 添加警报规则,定义警报的逻辑。
  2. Alertmanager 将触发警报转换为通知,例如电子邮件。

Ctrl-C 停止Node Exporter,Targets 页面将显示 Node Exporter 的状态如图所示,错误连接被拒绝,因为 TCP 端口上没有任何监听,并且 HTTP 请求被拒绝。

对于警报规则,需要一个 PromQL 表达式,该表达式仅返回您希望警报的结果。

在 Prometheus 的警报规则中添加此表达式,并且告诉 Prometheus 它将与哪个 Alertmanager 通信。

prometheus.yml

global:scrape_interval: 10sevaluation_interval: 10s  
rule_files:
- rules.yml
alerting:alertmanagers:- static_configs:- targets:- localhost:9093
scrape_configs:- job_name: "prometheus"static_configs:- targets: ["localhost:9090"]- job_name: "node"static_configs:- targets: ["localhost:9100"]        

rules.yml

将根据规则每 10 秒评估一次警报,如果连续返回一个序列至少一分钟,那么警报将被视为已触发

groups:
- name: Examplerules:- alert: InstanceDownexpr: up == 0for: 1m

现在已经触发警报,需要一个 Alertmanager 来处理它

wget https://github.com/prometheus/alertmanager/releases/download/v0.27.0/alertmanager-0.27.0.linux-amd64.tar.gz
tar -xzf alertmanager-0.27.0.linux-amd64.tar.gz 
cd alertmanager-0.27.0.linux-amd64/
  1. 开启smtp服务
  2. 配置规则 reference:https://wx.mail.qq.com/list/readtemplate?name=app_intro.html#/agreement/authorizationCode

需要对 Alertmanager 进行配置。 Alertmanager常用邮箱进行通知,这里使用QQ邮箱

global:smtp_smarthost: 'smtp.qq.com:465'smtp_from: 'sender@qq.com'smtp_auth_username: 'sender@qq.com'smtp_auth_password: 'auth_passwd'smtp_require_tls: falseroute:receiver: example-emailreceivers:- name: example-emailemail_configs:- to: 'receiver@qq.com'

启动Alertmanager和Prometheus ,一段时间后邮箱收到邮件

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

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

相关文章

创建百度百科词条要多少钱?看这篇

“百度百科词条人人可编辑&#xff0c;词条创建和修改均为免费&#xff0c;不存在官方及代理商付费代编。” 是的&#xff0c;百度百科免费开放&#xff0c;任何人都可以自己做&#xff0c;但是作为一个给上百家企业和个人创建百度百科词条的专业人士来说&#xff0c;给大家一…

面试题——RabbitMQ

★1.如何保证消息的幂等性&#xff1f;&#xff08;如何避免消息重复投递&#xff09; 生产端: 在消息发送前&#xff0c;先查询数据库此消息是否被处理过。处理过则忽略、否则继续处理&#xff0c;并在处理完成后修改状态为已处理。 消费端: 每个消息都生成全局唯一ID或业务I…

模型预测控制MPC详解(附带案例实现)

模型预测控制MPC详解&#xff08;附带案例实现&#xff09; 文章目录 模型预测控制MPC详解&#xff08;附带案例实现&#xff09;1. 最优控制问题2. 什么是MPC3. 二次规划Quadratic Programming4. MPC为什么可以转换成QP问题&#xff08;推导过程&#xff09;5. MPC总结5.1 MPC…

QT中QSettings的使用系列之四:QSettings与操作QJson(registerFormat())

1、核心代码 #include "widget.h" #include "ui_widget.h" #include <QSettings> #include <QJsonObject> #include <

基于51单片机的篮球计分器设计

一.硬件方案 本设计用由AT89C51编程控制LED七段数码管作显示的球赛计时计分系统。该系统具有赛程定时设置、赛程时间暂停、及时刷新甲乙双方的成绩等功能。 电路主要由STC89C52单片机最小系统数码管显示模块数码管驱动模块蜂鸣器模块按键模块&#xff1b; 二.设计功能 &…

哔哩哔哩视频URL解析原理

哔哩哔哩视频URL解析原理 视频网址解析视频的原理通常涉及以下几个步骤&#xff1a; 1、获取视频页面源代码&#xff1a;通过HTTP请求获取视频所在网页的HTML源代码。这一步通常需要处理反爬虫机制&#xff0c;如验证码或用户登录。 2、解析页面源代码&#xff1a;分析HTML源代…

064、Python 可变参数和关键字参数

在编写函数时&#xff0c;我们可能会存在不确定传入参数数量的情况。那么我们可以使用可变数量的参数。函数中可变数量的参数包括可变参数和关键字参数。 1、可变参数&#xff08;*args&#xff09;&#xff1a; 可变参数允许函数接受任意数量的位置参数。在函数定义中&#…

Transformer学习理解

1.前言 本文介绍当下人工智能领域的基石与核心结构模型——Transformer&#xff0c;为什么说它是基石&#xff0c;因为以ChatGPT为代表的聊 天机器人以及各种有望通向AGI&#xff08;通用人工智能&#xff09;的道路上均在采用的Transformer。 Transformer也是当下NLP任…

java设计原则

1、开闭原则 定义&#xff1a;类&#xff0c;模块&#xff0c;函数对扩展开放对修改关闭。如工厂模式 对扩展开放&#xff1a;模块对扩展开放就意味着&#xff0c;当需求变化时&#xff0c;可以对模块进行扩展&#xff0c;使其满足具有新需求的功能&#xff0c;换句话说就是模…

让我们拯救数学

一&#xff0c; 前言 数学特别是数论面临生死存亡&#xff0c;100年的数论在错误的道路上运行&#xff0c;已经把整个数学颠覆。从挪威数学家v布龙&#xff0c;到意大利数学家邦别里&#xff0c;再到德国数学家法尔廷斯&#xff0c;英国数学家安德鲁怀尔斯&#xff0c;以及中国…

【上海交大】博士生年度进展报告模板

上海交通大学 博士生年度进展报告模板 比较不好找&#xff0c;在交我办中发起申请流程后才能看到链接&#xff0c;链接如下&#xff1a; https://www.gs.sjtu.edu.cn/xzzx/pygl/15

爬取CSDN博文到本地(包含图片,标签等信息)

文章目录 csdnToMD改进将CSDN文章转化为Markdown文档那有什么办法快速得到md文档&#xff1f;例如&#xff1a;获取单个文章markdown获取所有的文章markdown 项目中待解决的问题 csdnToMD 项目原作者&#xff1a;https://gitee.com/liushili888/csdn-is—mark-down 改进后仓库…

vue脚手架 项目打包

目录 01 在脚手架中使用jquery 02 项目的打包 03 ELement UI 框架 01 在脚手架中使用jquery 脚手架中使用jquery的步骤: 1.npm i jquery --save 2.在使用jq的组件里面引入jq 3.import $ from jquery 4.正常使用 02 项目的打包 1.npm run build 项目启动不启动都可以打包 2.…

爬虫补环境,ES6 Class在环境模拟中的应用与优势

相比于使用传统的Object实现补环境框架结构&#xff0c;使用 ES6 的 Class 具有以下优势&#xff1a; 代码维护更方便&#xff1a;Class的语法更简洁直观&#xff0c;方便开发者阅读和维护。组织结构更清晰&#xff1a;Class提供了明确的层次结构&#xff0c;有助于代码的模块…

Z语言学习——基于通讯案例

目录 1数据类型 2初始状态 3 Alice的消息发送 4 Bob接收与发送消息 5 Alice接收消息 6消息的增删改查 6.1 删除消息 6.2查询消息 6.3修改/增加消息 7定理证明——重要目的 案例背景&#xff1a; (1)构建一个交互式的通讯方案&#xff1b; (2)攻击者控制了所有的通讯…

tsf-consul的使用

在腾讯云微服务平台TSF中使用Consul作为服务发现组件,通常需要遵循以下步骤: ### 1. 创建应用 首先,您需要在TSF控制台创建一个应用。在创建应用时,选择合适的业务类型、开发语言、开发框架等信息。对于使用Consul作为服务发现组件的Spring Cloud应用,您需要选择“业务应…

眼见不一定为实之MySQL中的不可见字符

目录 前言 一、问题的由来 1、需求背景 2、数据表结构 二、定位问题 1、初步的问题 2、编码是否有问题 3、依然回到字符本身 三、深入字符本身 1、回归本质 2、数据库解决之道 3、代码层解决 四、总结 前言 在开始今天的博客内容之前&#xff0c;正在看博客的您先来…

Element-UI实现el-dialog弹框拖拽功能

在实际开发中&#xff0c;会发现有些系统&#xff0c;弹框是可以在浏览器的可见区域自由拖拽的&#xff0c;这极大方便用户的操作。但在查看Element-UI中弹框&#xff08;el-dialog&#xff09;组件的文档时&#xff0c;发现并未实现这一功能。不过也无须担心&#xff0c;vue中…

在uniapp+vue cli中使用lime-echart图表,关于使用异步数据_lime-echartuniapp

import {TitleComponent,TooltipComponent,GridComponent, DatasetComponent, TransformComponent, LegendComponent } from ‘echarts/components’; // 标签自动布局&#xff0c;全局过渡动画等特性 import {LabelLayout,UniversalTransition} from ‘echarts/features’; //…

59.SQLSERVER中自定义函数的基本使用

1.自定义函数&#xff1a; CREAT FUNCTION [dbo].[GetVisitTypeCode] (VisitTimeAndType VARCHAR(40))RETURNS VARCHAR(2)ASBEGINDECLARE VisitTypeName varchar(10),VisitTypeCode varchar(2),VisitTimeAndType1 VARCHAR(40)IF VisitTimeAndType IS NOT NULLBEGINSET VisitT…