深入学习Prometheus! 一款开源的监控和警报工具!

深入学习Prometheus! 一款开源的监控和警报工具!

Prometheus是一个开源监控警报工具,它广泛用于记录和收集各种指标(如硬件资源使用情况、应用性能等),并提供强大的查询语言以帮助用户分析和查看这些数据。本文将详细介绍Prometheus的基本概念、安装、配置和使用,以及如何通过Prometheus API和查询语言来提取有用信息。

一、Prometheus基本概念

指标(Metrics):Prometheus的核心是指标,它们是用于表示系统或应用程序状态的数值数据点。指标通常有两个维度:名称和标签。例如,http_requests_total 是一个常见的指标名称,而 method 和 code 可能是标签。

时间序列(Time Series):每个指标的所有数据点组成一个时间序列。在Prometheus中,时间序列由唯一的指标名称和一组键值对(即标签)标识。

服务发现(Service Discovery):Prometheus支持服务发现功能,可以自动发现集群中的服务并开始收集它们的指标。

二、Prometheus的安装

使用官方提供的二进制文件进行安装

wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar xzf prometheus-2.30.3.linux-amd64.tar.gz
cd prometheus-2.30.3.linux-amd64
./prometheus --config.file=prometheus.yml

使用Docker进行安装:

docker run -p 9090:9090 -v $PWD/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

三、Prometheus的配置

Prometheus的配置文件通常是prometheus.yml,以下是一个简单的配置文件示例:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

四、添加数据源

在Prometheus中,数据源是指要监控的服务或应用。你可以通过修改prometheus.yml文件来添加新的数据源。例如,如果你想监控一个运行在localhost:8080上的服务,你可以添加以下配置:

scrape_configs:
  - job_name: 'my_service'
    static_configs:
      - targets: ['localhost:8080']

五、Prometheus查询语言(PromQL)

Prometheus提供了一种强大的查询语言——PromQL,用于查询和分析指标数据。以下是一些常用的PromQL操作:

选择指标:

http_requests_total{job="myjob"}

聚合操作:

sum(rate(http_requests_total[5m])) by (instance)

过滤操作:

http_requests_total{status_code=~"2.."}

六、Prometheus API

Prometheus提供了RESTful API,你可以通过API来获取指标数据、查询告警等。以下是一些常用的API操作:

获取指标数据:

curl "http://localhost:9090/api/v1/query?query=http_requests_total"

查询告警:

curl "http://localhost:9090/api/v1/alerts"

七、总结

Prometheus是一个功能强大的监控和警报工具,通过本文的介绍,你应该已经掌握了Prometheus的基本使用方法。接下来,你可以根据实际需求,深入学习Prometheus的各种功能,打造属于自己的监控系统。
点赞关注转发感谢!


http://www.niftyadmin.cn/n/5363652.html

相关文章

SQL Server 函数参考手册(SQL Server 数值函数)

目录 SQL Server ABS() 函数 SQL Server ACOS() 函数 SQL Server ASIN() 函数 SQL Server ATAN() 函数 SQL Server ATN2() 函数 SQL Server AVG() 函数 SQL Server CEILING() 函数 SQL Server COUNT() 函数 SQL Server COS() 函数 SQL Server COT() 函数 SQL Server…

Datax问题记录

1、同步mysql:OS errno 24 - Too many open files 2023-11-20 12:30:04.371 [job-0] ERROR JobContainer - Exception when job run com.alibaba.datax.common.exception.DataXException: Code:[DBUtilErrorCode-07], Description:[读取数据库数据失败. 请检查您的…

Android battery saver 简单记录

目录 一. battery saver模式的policy (1) DEFAULT_FULL_POLICY 对应的配置和解释: (2) OFF_POLICY 对应的配置也就说不使用policy (3) 获取省电模式下的policy: 二. 对各个参数代码讲解 (1) adjustBrightnessFactor (2) enableAdjustBrightness (3) advertiseIsEnabled…

React16源码: React中处理hydrate的核心流程源码实现

hydrate 1 )概述 hydrate 在react当中不算特别重要, 但是很多时候会用到的一个API这个 API 它主要作用就是在进入第一次渲染的时候,如果本身 dom 树上面已经有一个dom结构存在是否可以去利用这一部分已经存在的dom,然后去避免掉在第一次渲染…

Termux配置安卓编译环境

前言 Termux安装后,就相当于把手机变成了一台Linux服务器,而且现在手机卡通常是能拿到ipv6公网地址的,所以,这个服务器能干啥? 编程搭建网站跑脚本 本文讲述的就是怎么在Termux搭建安卓编译环境,实现手机…

「HDLBits题解」Verification: Writing Testbenches

本专栏的目的是分享可以通过HDLBits仿真的Verilog代码 以提供参考 各位可同时参考我的代码和官方题解代码 或许会有所收益 题目链接:Tb/clock - HDLBits timescale 1ps/1ps module top_module ( );parameter time_period 10 ; reg clk ; initial clk 0 ; always …

【软件设计师笔记】深入探究操作系统

【软件设计师笔记】计算机系统基础知识考点(传送门) 💖 【软件设计师笔记】程序语言设计考点(传送门) 💖 🐓 操作系统的作用 1.通过资源管理提高计算机系统的效率 2.改善人机界面向用户提供友好的工作环境 🐓 操作系统的特征 …

Docker应用之Container容器随系统启动(三)

目录 存在问题具体操作1、查看docker容器,关闭容器2、docker服务开机自启动3、设置容器状态4、重启docker服务5、验证容器是否开机自启动总结 存在问题 今天重启虚拟机发现,Docker中的容器没有完全启动,导致部署的Springboot项目还要手动输入…