Prometheus原理与二次开发

news2024/9/23 11:27:40

Prometheus的功能、架构、组件、配置

1 介绍

1.1 简介

Promethues是一套开源系统监控及报警框架,启发于Google的borgmon, 由SoundCoud员工于2012年创建,并于2015年正式发布,2016年正式加入Cloud Native Computing Fundation

1.2 监控目的

趋势分析:对监控指标进行持续收集和统计,进行趋势分析。
利用磁盘空间增长率判断何时进行磁盘扩容。
对照分析:对不同版本系统运行资源使用情况或性能数据进行跟踪和对比。
告警:即使发现故障,快速响应问题,避免对业务产生较大影响。
故障分析与定位:分析和排查问题,找到问题根源。
数据可视化:通过仪表盘等对系统运行状态,资源使用,服务状态等进行直观显示。

1.3 特点

多维数据模型:使用metric名和键值对来区分的时间序列数据。

灵活强大的查询语言支持:PromQL。可对metrics进行数学运算、逻辑运算等操作。
单节点部署,不依赖于分布式存储。
数据采集其于HTTP协议,使用Pull模式获取数据。
扫描目标与告警管理支持静态配置与动态服务发现。
可使用使用PushGateway推送时间序列数据至Prometheus Server。
内置Dashboard用于基本功能查看和管理。

1.4 组件

Prometheus Server:数据采集和存储时序数据
对数据进行告警分析
client libaries:提供应用程序数据收集功能
push gateway:支持短期jobs,由jobs推送数据到push gateway,再由gateway暴露给Prometheus Server
Exporters:暴露第三方服务采集数据
Alertmanger:对Prometheus server产生告警进行去重、分组、发送等功能

1.5 架构

流程:Prometheus通过Service discovery发现采集目标
使用HTTP请求获取采集目标指标数据,并进行持久化存储

定时运行本地规则进行数据聚合产生新的时序数据或告警

将告警发送于alarmmanager,由alarmmanager进行分组、去重等功能后发送告警通知或恢复通知

可调用Prometheus Server提供的HTTP API获取采集数据用于可视化 

1.6 使用场景:

Prometheus可以记录任何纯数据的时序数据

常用于以机器为中心的监控、面向高度动态的服务体系架构监控
不适合100%准确性的要求,如请求计费

2 部署安装

搭建组件Prometheus Server、Alertmanger、node_exporter、mysqld_exporter

Prometheus的环境搭建与使用

3 基本概念
 

4 配置
 

5 PromQL
6 HTTPAPI
7 联合模式
8 告警管理

Prometheus的环境搭建与使用

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

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

相关文章

用递归算法删除不带头结点的单链表中值为x的值

#include<stdio.h> #include<stdlib.h> typedef struct Lnode{int data;//数据域 struct Lnode *next;//指针域 }Lnode,*LinkList; int a[5]{1,2,3,3,4}; int n5; //这里使用尾插法&#xff0c;把数据放在L中 void InitList(Lnode *L){int i;Lnode *s,*rL;//r为尾…

深度学习技巧应用14-深度学习跨框架应用,ONNX实现模型互操作性

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下&#xff0c;深度学习技巧应用14-深度学习跨框架应用&#xff0c;ONNX实现模型互操作性&#xff0c;在深度学习领域&#xff0c;有很多优秀的框架可以使用&#xff0c;例如TensorFlow、PyTorch、Caffe等。但是&…

在Qt中设置程序图标的方法介绍

在Qt中设置程序图标的方法介绍 [1] 在Qt中设置程序图标的方法介绍1 概述1&#xff09;可执行程序&#xff08;以及对应的快捷方式&#xff09;的图标2&#xff09;程序界面标题栏图标3&#xff09;程序在任务栏中的图标 2 方法2.1 创建资源文件2.2 设置标题栏图标2.3 设置可执行…

配置文件Application.properties

配置文件Application.properties 属性配置配置文件的多种格式yaml的数据格式读取yaml文件中的属性值读取yaml文件中的全部属性yaml文件 数据库的属性 属性配置 在application.properties中添加server.port端口号即可 # 服务器端口配置 server.port80# 修改banner 关闭banner …

SpringBoot项目----图书管理系统(详解)

目录 项目业务 技术栈 数据库表的设计 数据库表关系图 关于字典表 前后端接口实现 1.初始化数据库、表、数据 2.数据库连接池配置 3.统一响应封装 4.统一异常处理 5.实现统一会话管理&#xff08;登录&#xff09; 5.通过Mybatis生成工具&#xff0c;生成mapper接…

【大数据之Hadoop】二十九、HDFS存储优化

纠删码和异构存储测试需要5台虚拟机。准备另外一套5台服务器集群。 环境准备&#xff1a; &#xff08;1&#xff09;克隆hadoop105为hadoop106&#xff0c;修改ip地址和hostname&#xff0c;然后重启。 vim /etc/sysconfig/network-scripts/ifcfg-ens33 vim /etc/hostname r…

JVET-AD0081:一种基于外推滤波器的帧内预测模式

本提案提出了一种基于外推滤波器的帧内预测&#xff08;extrapolation filter-based Intra Prediction&#xff0c;EIP&#xff09;模式。首先&#xff0c;利用预定模板从当前块的相邻重建像素获得外推滤波器系数。然后&#xff0c;在当前块内从左上到右下逐位置地处理外推&…

Linux常用命令(3)

文章目录 Linux常用命令&#xff08;3&#xff09;显示文件显示文件内容分屏显示文件内容显示文件前n行&#xff08;默认缺省10行&#xff09;内容显示文件后n行&#xff08;默认缺省10行&#xff09;内容随文件的增长而显示 Linux常用命令&#xff08;3&#xff09; 按ctrlsh…

open3d教程(一):open3d的安装和测试

1 介绍 Open3d&#xff1a;用于3D数据处理的现代库。 Open3D 是一个开源库&#xff0c;支持快速开发处理 3D 数据的软件。 Open3D 前端在 C 和 Python 中公开了一组精心挑选的数据结构和算法。后端经过高度优化&#xff0c;并设置为并行化。我们欢迎来自开源社区的贡献。 2 …

【零基础学机器学习 1】什么是机器学习?

机器学习的社会应用 1. 金融风控 机器学习在金融风控方面的应用非常广泛&#xff0c;可以用于预测借款人的信用风险、欺诈行为等。通过收集大量的历史数据&#xff0c;构建机器学习模型&#xff0c;可以对借款人的信用风险进行预测&#xff0c;从而帮助金融机构降低风险。 2…

关于ADC的笔记1

ADC&#xff0c;全称Anlog-to-Digital Converter&#xff0c;模拟/数字转换器。是指将连续变量的模拟信号转换为离散的数字信号的器件&#xff0c;我们能通过ADC将外界的电压值读入我们的单片机中. 常见的ADC有两种 1.并联比较型&#xff1a; 它的优点是转换速度最快&#x…

[MYSQL / Mariadb]数据库学习-数据类型

数据库学习-数据类型 数据类型字符类型定长char例&#xff1a;定义表结构的定长&#xff1a; 变长 varchar例&#xff1a;创建表&#xff0c;定义变长练习字符类型 数值类型整数(tinyint, smallint, mediumint, int, bigint, unsigned)以mysql> desc mysql.user; 为例例&…

Leetcode697. 数组的度

Every day a leetcode 题目来源&#xff1a;697. 数组的度 解法1&#xff1a;哈希 我们这样构建哈希表 unordered_map<int, vector> umap&#xff1a; key&#xff1a;数组元素 nums[i]value&#xff1a;三元组[count, first, last]&#xff0c;分别代表元素 nums[i]…

Spring03--Spring基于注解的AOP、Spring事务

Spring基于注解的AOP 一、基于注解的AOP介绍 AOP注解方式 和 XML方式完成的功能是一样&#xff0c;只是采用方式不同而已。将原有的XML方式使用注解注意替代 二、环境搭建 使用Spring02中Spring基于配置文件的AOP的环境搭建 三、使用注解替换XML的配置步骤 1、通知类使用…

边缘化你必须知道的一件事!(FEJ知识点总结)

vins和g2o边缘化的异同&#xff1a;(已经做到ppt里面了&#xff0c;简单回顾一下) 1.《视觉slam14讲》中提及的边缘化(G2O边缘化)是在计算求解过程中&#xff0c;先消去路标点变量&#xff0c;实现先求解相机位姿&#xff0c;然后再利用求解出来的相机位姿反过来计算路标点的过…

qt creator添加build步骤删除某个文件

参考&#xff1a;https://blog.csdn.net/weixin_44436546/article/details/113587115 1. windows下配置&#xff1a; 添加build步骤&#xff1b;在commad栏输入cmd,会弹出C:\Windows\system32\cmd.exe&#xff1b;在Arguments栏输入/c release\upgrade.o&#xff1b;Working …

【数据结构】C语言实现双向链表(带头结点、循环)

C语言实现双向链表&#xff08;带头结点、循环&#xff09; 一、带头结点的循环双向链表二、结点与接口定义三、实现3.1 申请节点3.2 初始化3.3 打印3.4 尾插3.5 头插3.6 尾删3.7 判断链表为空断言3.8 头删3.9 查找find3.10 插入insert-在pos之前插入3.11 头插尾插复用insert3.…

机器学习算法实战(scikit-learn版本)---线性回归

目录 文章目标&#xff1a; 1&#xff0c;导入库 2&#xff0c;导入数据集 3&#xff0c;缩放/归一化训练数据 4,创建并拟合回归模型 5,查看参数 6,预测 7&#xff0c;可视化 有一个开源的、商业上可用的机器学习工具包&#xff0c;叫做[scikit-learn](https://scik…

阿里、京东等大厂年薪50w的测试都是什么水平?

各位做测试的朋友&#xff0c;但凡经历过几次面试&#xff0c;那么你一定曾被问到过以下问题&#xff1a; 1、在Linux环境下&#xff0c;怎么执行web自动化测试&#xff1f; 2、Shell如何&#xff0c;Docker熟悉吗&#xff1f; 3、全链路的压测实操过吗&#xff0c;如何推进与开…

【Linux】基本权限

&#x1f601;作者&#xff1a;日出等日落 &#x1f514;专栏&#xff1a;Linux 任何值得到达的地方&#xff0c;都没有捷径。 目录 Linux权限: 权限的概念&#xff1a; Linux上面的用户分类&#xff1a; Linux权限管理 文件访问者的分类&#xff08;人&#xff09; 文件…