Prometheus 教程

一、简介

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
在这里插入图片描述
选择导入
在这里插入图片描述在这里插入图片描述
点击导入,即可出现界面

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

  • 32
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值