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 alertrules:
#对任何实例超过30s无法联系的情况发出警报- alert: 服务告警expr: up == 0for: 30slabels:severity: critica1annotations: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: 15sstatic_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: 15sstatic_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
在这里插入图片描述
选择导入
在这里插入图片描述在这里插入图片描述
点击导入,即可出现界面

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

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

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

相关文章

利用vite快速搭建vue3项目

1、选择一个文件夹,在vscode终端打开,输入命令【npm create vitelatest】 npm create vitelatest 2、提示你输入项目名称之后,我这里设置的是【rookiedemo】 3、回车之后,出现选择框架的提示,我们选择【vue】回车 4、…

js中使用for in注意事项,key的类型为string类型

for in是一个非常实用的存在,既可以遍历数组,又可以遍历对象,所以我一般都是会用来遍历可迭代的数据,遍历数组和对象的时候,要注意使用万能遍历方式: const users [1, 3, 45, 6]// const users {// 1…

Polyspace静态检测步骤

Polyspace 是一个代码静态分析和验证的工具,隶属于MATLAB,用于检测代码中的错误和缺陷,包括内存泄漏、数组越界、空指针引用等。帮助开发团队提高代码质量,减少软件开发过程中的错误和风险。 1、打开MATLAB R2018b 2、找到Polys…

AR智能眼镜主板硬件设计_AR眼镜光学方案

AR眼镜凭借其通过导航、游戏、聊天、翻译、音乐、电影和拍照等交互方式,将现实与虚拟进行无缝融合的特点,实现了更加沉浸式的体验。然而,要让AR眼镜真正成为便捷实用的智能设备,需要解决一系列技术难题,如显示、散热、…

Stable Diffusion 绘画入门教程(webui)-图生图

通过之前的文章相信大家对文生图已经不陌生了,那么图生图是干啥的呢? 简单理解就是根据我们给出的图片做为参考进行生成图片。 一、能干啥 这里举两个例子 1、二次元头像 真人转二次元,或者二次元转真人都行, 下图为真人转二次…

小清新卡通人物404错误页面源码

小清新卡通人物404错误页面源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务器里面,重定向这个界面 蓝奏云:https://wfr.lanzout.com/i6XbU1olftde

二叉树(6)——二叉树的创建和销毁

1 二叉树的创建 整体思路 将数组里的元素一直分为根,左子树,右子树,遇到#就返回NULL,链接到上层递归的左子树或者右子树,一定要把一个节点的左子树全部递归完才能返回到右子树。这种方法也可以scanf一个数组里的元素&…

Spring Boot项目怎么对System.setProperty(key, value)设置的属性进行读取加解密

一、前言 之前我写过一篇文章使用SM4国密加密算法对Spring Boot项目数据库连接信息以及yaml文件配置属性进行加密配置(读取时自动解密),对Spring Boot项目的属性读取时进行加解密,但是没有说明对System.setProperty(key, value)设…

Docker Compose映射卷的作用是什么,dockerfile这个文件有什么区别和联系?

Docker Compose中映射卷(Volumes)的作用和Dockerfile之间既有区别也有联系。下面详细解释两者的作用、区别和联系: Docker Compose映射卷的作用 在Docker Compose中,卷(Volumes)用于数据持久化和数据共享…

【实战 JS逆向+python模拟获取+Redis token会话更新】实战模拟测试 某巴批发网 仅供学习

逆向日期:2024.02.20 使用工具:Node.js、python、Redis 加密方法:md5标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标…

day07-实战-今日指数

今日指数-day07 1.股票Code联想推荐 1.1 股票Code联想推荐功能介绍 1) 原型效果 输入框输入股票编码后,显示关联的股票信息; 2)接口定义说明 接口说明: 功能描述:根据输入的个股代码,进行模糊查询,返…

Python学习-流程图、分支与循环(branch and loop)

十、流程图 1、流程图(Flowchart) 流程图是一种用于表示算法或代码流程的框图组合,它以不同类型的框框代表不同种类的程序步骤,每两个步骤之间以箭头连接起来。 好处: 1)代码的指导文档 2)有助…

云服务器ECS价格表出炉——阿里云

2024年阿里云服务器租用价格表更新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年、ECS u1实例2核4G、5M固定带宽、80G ESSD Entry盘优惠价格199元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元、2核4G4M带宽轻量服务器一年165元12个月、2核4G服…

docker (十一)-进阶篇-docker-compos最佳实践部署zabbix

一 部署docker环境 关闭防火墙、selinux、开启docker,并设置开机自启动 注意点:docker部署的时候,bip要指定,不然会导致虚拟机ip和容器ip冲突,ssh连不上虚拟机 部署请参考 docker (二)-yum…

【python】windowslinux系统python的安装

一、python官网及下载路径 官网地址:Welcome to Python.org 下载路径:Download Python | Python.org ​​​​​​​ linux源码安装包下载: windows二进制安装包下载: 二、Linux如何安装python 2.1 单版本安装 以安装python…

Codeforces Beta Round 15 C. Industrial Nim Nim,1~n的异或和

Problem - 15C - Codeforces 目录 Nim游戏: 1~n的异或和: 代码: Nim游戏: n个石头堆,谁最后没得取谁败 我用的异或思考法,对所有堆异或。开局异或和为0的败 最后全是0,异或完也是0. //最…

DDI中的自适应子结构

SA-DDI提出了一种子结构感知图神经网络,一种配备了子结构注意力机制和用于DDI预测的子结构-子结构交互模块(SSIM)的消息传递神经网络。具体而言,基于分子中官能团的尺寸和形状通常是不规则的化学直觉,子结构注意力被设…

线阵相机之帧超时

1 帧超时的效果 在帧超时时间内相机若未采集完一张图像所需的行数,则相机会直接完成这张图像的采集,并自动将缺失行数补黑出图,机制有以下几种选择: 1. 丢弃整张补黑的图像 2. 保留补黑部分出图 3.丢弃补黑部分出图

混子文章|蓝桥杯一题 -平方差

题目考点: 平方差 ,平方差奇偶关系 代码 #include<bits/stdc.h> #define Run 0 #define endl "\n" #define N 100005 using unl __int128_t; using ll long long; using namespace std; class Solution { public: void slove() {int sum 0;int L, R; cin &…

内存计算研究进展-针对机器学习的近数据计算架构

针对机器学习的近数据计算架构代表性工作有&#xff1a; Georgia Institute of Technology的BSSync (bounded staled sync) 和 Neurocube&#xff0c;Advanced Micro Devices 的 CoML&#xff0c;具体如下。 1 BSSync BSSync指出&#xff0c;在并行实现的机器学习应用中&#…