系统监控——prometheus(普罗米修斯)的部署

一、prometheus简介

prometheus 是一套开源的系统监控报警框架。

1、优点

  • 强大的多维度数据模型
  • 灵活而强大的查询语句(PromQL):在同一个查询语句,可以对多个 metrics 进行乘法、加法、连接、取分数位等操作。
  • 易于管理: Prometheus server 是一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。
  • 高效:平均每个采样点仅占 3.5 bytes,且一个 Prometheus server 可以处理数百万的 metrics。
  • 使用 pull 模式采集时间序列数据,这样不仅有利于本机测试而且可以避免有问题的服务器推送坏的 metrics。
  • 可以采用 push gateway 的方式把时间序列数据推送至 Prometheus server 端
  • 可以通过服务发现或者静态配置去获取监控的 targets。
  • 有多种可视化图形界面。
  • 易于伸缩。

2、组件

Prometheus 生态圈中包含了多个组件,其中许多组件是可选的:

  • Prometheus Server: 用于收集和存储时间序列数据。
  • Client Library:客户端库,为需要监控的服务生成相应的 metrics 并暴露给 Prometheus server。当 Prometheus server 来 pull 时,直接返回实时状态的 metrics。
  • Push Gateway: 主要用于短期的 jobs。由于这类 jobs 存在时间较短,可能在 Prometheus 来 pull 之前就消失了。为此,这次 jobs 可以直接向 Prometheus server 端推送它们的 metrics。这种方式主要用于服务层面的 metrics,对于机器层面的 metrices,需要使用 node exporter。
  • Exporters: 用于暴露已有的第三方服务的 metrics 给 Prometheus。
  • Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去除重复数据,分组,并路由到对收的接受方式,发出报警。常见的接收方式有:电子邮件,pagerduty,OpsGenie, webhook 等。

3、架构

在这里插入图片描述
从这个架构图,也可以看出 Prometheus 的主要模块包含, Server, Exporters, Pushgateway, PromQL, Alertmanager, WebUI 等。
它大致使用逻辑是这样:

  • Prometheus server 定期从静态配置的 targets 或者服务发现的 targets 拉取数据。
  • 当新拉取的数据大于配置内存缓存区的时候,Prometheus 会将数据持久化到磁盘(如果使用 remote storage 将持久化到云端)。
  • Prometheus 可以配置 rules,然后定时查询数据,当条件触发的时候,会将 alert 推送到配置的 Alertmanager。
  • Alertmanager 收到警告的时候,可以根据配置,聚合,去重,降噪,最后发送警告。
  • 可以使用 API, Prometheus Console 或者 Grafana 查询和聚合数据。

二、环境包准备

1、下载最新版的服务端prometheus和客户端node_exporter

在这里插入图片描述

wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz

在这里插入图片描述

三、安装运行

  • 服务端

1、解压go语言包并将其添加至环境变量

tar -C /usr/local -zxf go1.8.3.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin" >>  /etc/profile
source  /etc/profile  ##更新环境

2、解压Prometheus安装包并建立软链接

tar -zxf prometheus-2.28.1.linux-amd64.tar.gz -C /usr/local/
ln -sv /usr/local/prometheus-2.28.1.linux-amd64/ /usr/local/Prometheus

3、编辑prometheus配置文件

  • 修改监听地址为本机9090端口,新增节点端口9100
vim /usr/local/prometheus-2.28.1.linux-amd64/prometheus.yml

在这里插入图片描述
4、后台运行prometheus

/usr/local/Prometheus/prometheus --config.file=/usr/local/Prometheus/prometheus.yml &

在这里插入图片描述

  • 客户端

5、解压node_exporter,并移动至/usr/local目录

tar -zxvf node_exporter-1.2.2.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/node_exporter-1.2.2.linux-amd64/ /usr/local/node_exporter

在这里插入图片描述
6、后台运行node_exporter

/usr/local/node_exporter/node_exporter &

在这里插入图片描述

四、网页访问

curl 172.25.36.1:9090

在这里插入图片描述
查看监控的两个目标
在这里插入图片描述
查看其中一个目标的信息
在这里插入图片描述

五、安装图形化界面

  • 任意主机下载部署(本次选择server2主机)

1、下载grafana的最新版
下载地址:https://grafana.com/grafana/download

wget https://dl.grafana.com/oss/release/grafana-8.1.0-1.x86_64.rpm

在这里插入图片描述

2、下载应用,并启动

sudo yum install grafana-8.1.0-1.x86_64.rpm -y
systemctl enable grafana-server
systemctl start grafana-server

3、访问

访问 IP + Port,grafana 默认的启动 port 是 3000,初始账号和密码都是 admin

在这里插入图片描述
访问出错,不知如何解决,如有大佬了解,希望留言提醒,谢谢!

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于Prometheus监控的部署,你可以按照以下步骤进行操作: 1. 首先,你需要下载并安装Prometheus。你可以从Prometheus官方网站上下载可执行文件,根据你的操作系统选择适合的版本。 2. 在安装目录下创建一个配置文件(通常命名为`prometheus.yml`),用于指定Prometheus的配置信息。在该配置文件中,你可以定义需要监控的目标,例如服务器、应用程序等。 3. 配置文件中,你需要指定需要监控的目标的详细信息,如IP地址、端口等。你可以使用静态配置或动态发现服务(如Consul、Kubernetes等)来自动发现要监控的目标。 4. 启动Prometheus服务。在命令行中运行Prometheus可执行文件,并指定配置文件的路径。例如:`prometheus --config.file=prometheus.yml` 5. 访问Prometheus的Web界面。默认情况下,Prometheus会启动一个Web服务器,你可以通过浏览器访问`http://localhost:9090`来查看监控指标和执行查询。 6. 配置告警规则(可选)。你可以在Prometheus配置文件中定义告警规则,当监控指标达到预设的阈值时,Prometheus将发送警报通知。 7. 集成其他服务或工具。Prometheus具有丰富的生态系统,你可以通过与其他工具(如Grafana、Alertmanager)集成,以进一步增强监控和告警功能。 这是一个基本的Prometheus监控部署过程,你可以根据实际需要进行进一步配置和定制化。希望对你有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值