Prometheus 教程

目录

  • 一、简介
  • 二、下载安装
    • 1、安装 prometheus
    • 2、安装 alertmanager
    • 3、安装 grafana
    • 4、安装 node_exporter
    • 5、安装 mysqld_exporter

一、简介

Prometheus 是一个开源的系统监控和警报工具。它最初由 SoundCloud 开发,并于 2012 年发布为开源项目。Prometheus 专注于收集和存储时间序列数据,并提供强大的查询语言和灵活的警报机制。

Prometheus 可以用于以下几个方面:

  1. 系统监控:Prometheus 可以收集和存储各种系统指标,如 CPU 使用率、内存使用量、磁盘空间、网络流量等。它可以帮助您监控和分析系统的性能和资源使用情况,以及识别潜在的问题和瓶颈。

  2. 应用程序监控:Prometheus 可以与应用程序集成,收集和存储应用程序的指标数据,如请求处理时间、错误率、数据库查询次数等。通过监控应用程序的关键指标,您可以了解应用程序的运行状况,并及时发现和解决问题。

  3. 容器监控:Prometheus 对于容器化环境非常适用。它可以监控和收集容器的指标数据,如 CPU 使用率、内存使用量、网络流量等。通过与容器编排工具(如 Kubernetes)集成,Prometheus 可以自动发现和监控容器化应用程序,并提供详细的容器级别的监控和警报。

  4. 分布式系统监控:Prometheus 支持分布式系统的监控和警报。它可以收集和存储分布式系统的指标数据,并提供灵活的查询和聚合功能。通过监控分布式系统的关键指标,您可以了解系统的整体性能和健康状况,并及时发现和解决问题。

  5. 警报和通知:Prometheus 具有强大的警报机制,可以根据用户定义的规则和阈值对监控数据进行警报。它支持多种通知方式,如电子邮件、Slack、PagerDuty 等,以便及时通知用户有关系统状态的变化。

总的来说,Prometheus 是一个功能强大且灵活的监控和警报工具,适用于各种规模和类型的环境。它可以帮助您监控系统和应用程序的性能和健康状况,并及时发现和解决问题,从而提高系统的可靠性和稳定性。

2、什么是 Exporter?

所有可以向Prometheus提供监控样本数据的程序都可以被称为一个Exporter。而Exporter的一个示例称为target,如下所示,prometheus通过轮询的方式定期从这些target中获取样本数据。

在这里插入图片描述

Prometheus Exporter 是一种用于暴露指标(metrics)的软件组件或库,以便 Prometheus 监控系统能够收集和存储这些指标数据。Exporter 可以将不同的服务、应用程序或系统的状态信息以指定的格式暴露出来,例如 HTTP、JSON、Text 等。

Exporter 可以通过采集各种类型的指标,如 CPU 使用率、内存使用量、网络流量等,将这些指标暴露给 Prometheus 进行监控。Prometheus 会定期从 Exporter 获取指标数据,并存储、查询和可视化这些数据,以帮助用户了解系统的运行情况和性能指标。

Prometheus Exporter 有很多种类,涵盖了各种不同的应用和服务,例如 Node Exporter(用于主机监控)、Blackbox Exporter(用于网络监控)、MySQL Exporter(用于数据库监控)等。用户也可以编写自己的 Exporter,根据需要暴露自定义的指标数据。

二、下载安装

下载链接: https://prometheus.io/download/

1、安装 prometheus

选择LTS标识下的文件
在这里插入图片描述window双击prometheus.exe,即可运行

在这里插入图片描述
Linux安装:
解压:tar -zxvf prometheus-2.45.3.linux-amd64.tar.gz

启动输入命名:./prometheus --config.file=prometheus.yml 即可启动
或 nohup ./prometheus --config.file=prometheus.yml > prometheus.out 2>&1 &

在这里插入图片描述

如需修改默认端口,修改prometheus.yml文件

访问http://localhost:9090
在这里插入图片描述
访问监控指标:http://124.222.184.245:9090/metrics
在这里插入图片描述

2、安装 alertmanager

在prometheus下载地址的下面

Alertmanager是一个开源的软件组件,用于处理和路由来自监控系统(如Prometheus)发送的警报。它作为一个中心化的组件,负责接收、处理和通知监控系统产生的警报。

Alertmanager可以根据配置文件中定义的规则对警报进行分类、去重和分组,并将其发送给相应的接收者,如电子邮件、短信、Slack等。它还支持静默和抑制警报,以避免过度通知。

Alertmanager具有高度可扩展性和灵活性,可以与多种监控系统以及第三方集成,使得警报管理变得更加简单和可靠。它在监控系统中起到了至关重要的作用,帮助运维人员及时发现和解决问题。

在这里插入图片描述

安装步骤跟prometheus一致,解压后 tar -zxvf alertmanager-0.26.0.linux-amd64.tar.gz,输入:./alertmanager --config.file=alertmanager.yml
在这里插入图片描述访问http://localhost:9093
在这里插入图片描述
3、Alertmanager安装好后,修改prometheus配置,prometheus.yml

在这里插入图片描述
4、添加告警配置:还是在prometheus.yml配置文件下,rule_files下添加yml

在这里插入图片描述在prometheus.yml配置同级新建,alert.yml
在这里插入图片描述

groups:
- name: Prometheus alert
  rules:
#对任何实例超过30s无法联系的情况发出警报
  - alert: 服务告警
    expr: up == 0
    for: 30s
    labels:
      severity: critica1
    annotations:
      instance: "{{ $labels.instance }}"
      description: "{{ $labels.job }}服务已关闭"

5、检查配置文件是否有问题,在prometheus启动文件同级: ./prometool check config prometheus.yml

以下显示是配置成功
在这里插入图片描述
6、重启 prometheus

3、安装 grafana

下载链接: https://grafana.com/grafana/download?pg=get&platform=linux&plcmt=selfmanaged-box1-cta1

在这里插入图片描述
安装命令:

sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.3.1-1.x86_64.rpm

启动命令:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable grafana-server.service
sudo /bin/systemctl start grafana-server.service

在这里插入图片描述

访问:http://localhost:3000 默认账密:admin / admin

4、安装 node_exporter

同样在prometheus下载的地址下载

在这里插入图片描述

解压:tar -zxvf node_exporter-1.7.0.linux-amd64.tar.gz

后台运行命令:nohup ./node_exporter > nodeout.file 2>&1 &

访问测试:http://localhost:9100/metrics

修改prometheus.yml配置:
在scrape_confi这行下面添加如下配置:

- job_name: 'node-exporter'
  scrape_interval: 15s
  static_configs:
  - targets: ["localhost:9100"]
    labels:
      instance: prometheus服务器

在这里插入图片描述
重启prometheus,进入prometheus菜单,targets下

在这里插入图片描述

4.1、添加prometheus数据源,并添加node_exportert 到grafana界面

在这里插入图片描述
在这里插入图片描述
添加完地址,直接到最下面保存

打开grafana官网下载仪表板

下载链接: https://grafana.com/grafana/dashboards

在这里插入图片描述点进去后,点击 copy id to clipboard
在这里插入图片描述
再次打开grafana界面,点击dashboards
在这里插入图片描述
选择导入
在这里插入图片描述

在这里插入图片描述

点击导入,即可出现界面

在这里插入图片描述
在这里插入图片描述

5、安装 mysqld_exporter

同样在prometheus下载的地址下载

在这里插入图片描述
解压:tar -zxvf mysqld_exporter-0.15.1.linux-amd64.tar.gz

新建连接数据库配置文件

# 1、编辑新建配置
vim mysqld_exporter.cnf

# 2、拷贝配置
[client]
user=用户名
password=密码
host=localhost
port=3306

后台运行命令:nohup ./mysqld_exporter --config.my-cnf=mysqld_exporter.cnf &

访问测试:http://localhost:9104/metrics

修改prometheus.yml配置:
在scrape_confi这行下面添加如下配置:

- job_name: 'mysqld-exporter'
  scrape_interval: 15s
  static_configs:
  - targets: ["localhost:9104"]
    labels:
      instance: mysql服务器

在这里插入图片描述

重启prometheus,进入prometheus菜单,targets下

在这里插入图片描述
5.1、添加prometheus数据源,并添加mysqld_exportert 到grafana界面

打开grafana官网下载仪表板

下载链接: https://grafana.com/grafana/dashboards

在这里插入图片描述
点进去后,点击 copy id to clipboard

在这里插入图片描述

再次打开grafana界面,点击dashboards
在这里插入图片描述
选择导入
在这里插入图片描述在这里插入图片描述
点击导入,即可出现界面

在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【leetcode刷题】 93.复原IP地址单层逻辑特殊点总结

这个跟131分割回文串比较类似,但是这里的回溯过程需要注意两个事项,一个是横向深入时要考虑到原字符串中加入“.”所以计数的idx从i2开始。纵向回退时要把用来控制结束时机的pointnum减掉1,再把这时已经加入了“.”的字符串去掉“.”。 判断合…

关于node与node-sass那些事

昨晚找了之前的一个项目想要复习下,结果npm i报错,大致意思就是noda-sass的版本和node的对不上,那怎么办呢: 1.换node版本,那好吧,首先要明白,对应的版本关系 2.然后我开始用nvm换node版本&am…

金晨颜值逆袭。每年一个样,美丽爆表。

♥ 为方便您进行讨论和分享,同时也为能带给您不一样的参与感。请您在阅读本文之前,点击一下“关注”,非常感谢您的支持! 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 微博热议金晨颜值蜕变!从20岁清纯到31岁明艳&…

RHEL8提示需要注册才可以yum解决办法

关闭注册以及修改更新远(已注册的RHEL8忽略本步骤) 原因:因为没注册的红帽子是无法连接到官方的Yum源的 箭头所指的改成0 vi /etc/yum/pluginconf.d/subscription-manager.conf 箭头所指的改成0 cd /etc/yum.repos.d/ wget https://mirro…

docker之安装mongo创建运行环境

目录 一、docker pull 最新资源 二、启动mongo镜像 启动命令查看日志拉取低版本镜像成功启动 三、进入mongo容器 进入容器进入mongo环境查询当前所在库切换库至admin随意切换库 并 创建用户登录用户新增文档数据等 五、总结 版本兼容可备份操作 一、docker pull 最新资源…

CentOS已安装宝塔的情况下手动安装phpMyAdmin

CentOS 7.9.2009,宝塔7.9.4。 服务器中已有MySQL,可能不是通过宝塔安装的,而是手动安装的。用命令行可以正常进入MySQL查看和管理数据,说明已有的MySQL是正常的。在宝塔中点击数据库提示“未安装本地数据库,已隐藏无法…

基于函数计算AIGC生成图应用

目录 基于函数计算部署AIGC应用的主要步骤 创建Stable Diffusion模型的应用 访问应用实现文字生图 函数的查看与管理 基于函数计算部署AIGC应用的主要步骤 用函数计算实现AIGC只要简单的三步,分别是创建应用、运行应用及查看管理。 创建Stable Diffusion模型的应…

【大厂AI课学习笔记】【2.2机器学习开发任务实例】(7)特征构造

特征分析之后,就是特征构造。 特征构造第一步 特征构造往往要进行数据的归一化。 在本案例中,我们将所有的数据,将所有特征区间调整为0~1之间。 如上图。 那么,为什么要进行归一化,又如何将数据,调整为…

《隐私计算简易速速上手小册》第2章:关键技术介绍(2024 最新版)

文章目录 2.1 同态加密2.1.1 基础知识2.1.2 主要案例:云计算数据分析2.1.3 拓展案例 1:医疗数据分析2.1.4 拓展案例 2:金融风险评估2.2 安全多方计算(SMC)2.2.1 基础知识2.2.2 主要案例:跨机构金融数据共享2.2.3 拓展案例 1:医疗研究合作2.2.4 拓展案例 2:跨国界数据交…

拼夕夕 拼多多关键词恢复供应,欢迎骚扰

API接口(Application Programming Interface)是一种定义了软件组件之间交互的规范。它允许不同的软件系统之间进行通信和数据交换,使得开发者可以利用已有的功能和服务来构建自己的应用程序。 API接口可以分为不同的类型,包括Web…

加固手持平板电脑在铁轨维修上的应用|亿道三防onerugged

随着铁路交通的发展,铁轨维修成为保障行车安全和运营效率的重要环节。在这个关键的维修过程中,专业的设备和工具至关重要。亿道三防onerugged系列产品中的加固手持平板电脑是一款在铁轨维修上应用的理想选择。 首先,这款加固手持平板电脑满足…

全面总结!加速大模型推理的超全指南来了!

2023 年,大型语言模型(LLM)以其强大的生成、理解、推理等能力而持续受到高度关注。然而,训练和部署 LLM 非常昂贵,需要大量的计算资源和内存,因此研究人员开发了许多用于加速 LLM 预训练、微调和推理的方法…

汽车控制器软件正向开发

需求常见问题: 1.系统需求没有分层,没有结构化,依赖关系不明确 2.需求中没有验证准则 3.对客户需求的追溯缺失,不完整,颗粒度不够 4.系统需求没有相应的系统架构,需求没有分解到硬件和软件 5.需求变更管控不严格,变更频繁,变更纪录描述不准确,有遗漏,客户需求多…

使用 DevComponents DotNetBar DateTimeInput 控件实现高级日期时间选择功能

使用 DevComponents DotNetBar DateTimeInput 控件实现高级日期时间选择功能 在.NET WinForms 应用程序开发中,提供直观、易用的日期时间选择功能对于创建用户友好的界面至关重要。DevComponents DotNetBar 提供了一个功能丰富的 DateTimeInput 控件,它不…

MySQL篇之主从同步原理

一、原理 MySQL主从复制的核心就是二进制日志。 二进制日志(BINLOG)记录了所有的 DDL(数据定义语言)语句和 DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW)语句。…

防御保护---内容保护

文章目录 目录 文章目录 一.防火墙内容安全概述 二.深度识别技术(DFI/DPI) 深度包检测技术(DPI) 深度流检测技术(DFI) 两者区别 三.入侵防御IPS 一.防火墙内容安全概述 防火墙内容安全是防火墙的一个重…

VMware Workstation 17安装教程:安装系统

点击开启虚拟机 安装向导的初始化界面 Keyboard和Language Support分别指的是键盘类型和语言支持,我们首先单击Time & Date按钮,设置系统的时区和时间。在地图上单击中国境内即可显示出上海的当前时间,确认后单击左上角的Done按钮。系统…

OpenCV边缘检测与视频读写

原理 OpenCV中的边缘检测原理主要基于图像梯度的计算,包括一阶梯度和二阶梯度。 一阶梯度:它反映了图像亮度变化的速度。Sobel算法就是一种以一阶梯度为基础的边缘检测算法。它通过计算图像在水平和垂直方向上的梯度来检测边缘。这种方法简单有效&…

IDEA配置Maven的步骤

目录 一 下载Maven 二 下载以后解压。在这个文件夹下新建一个文件夹,命名为“maven-repository” 三 在maven文件夹下,打开conf,选择settings文件,用notepad打开,改动3个地方 四 打开IDEA,左上角选择“…

第六十四天 服务攻防-框架安全CVE复现Apache shiroApache Solr

第六十四天 服务攻防-框架安全&CVE复现Apache shiro&Apache Solr 知识点: 中间件及框架列表: IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic.JBoos,WebSphere, Jenkins,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring, Flask,jQuery等 1、开发框…