Prometheus部署安装

 

 一、相关概念

1.1概念和特点

Prometheus(普罗米修斯)是一个开源的系统监控报警工具。它最初由SoundCloud使用Go语言开发,并于2012年开源。Prometheus专注于实时监控和警报,并具有高度灵活的查询语言PromQL,使用户能够实时查询和分析系统的度量数据。

以下是Prometheus的一些关键特点和概念:

1.多维度数据模型: Prometheus使用多维度数据模型来存储时间序列数据,其中每个时间序列由其指标名称和一组键值对标签唯一标识。这使得用户能够非常灵活地查询和过滤数据。

2.查询语言PromQL: PromQL是Prometheus的查询语言,用于从存储的时间序列数据中提取有用的信息。它支持范围查询、聚合函数、算术运算符等功能,使用户能够轻松构建复杂的查询。

3.Pull型数据模型: Prometheus采用pull型数据模型,意味着监控目标(例如应用程序、服务器等)定期向Prometheus服务器推送自己的度量数据。这种模型相对于传统的push型模型更为灵活,允许用户有选择地监控特定的目标。

4.警报和通知: Prometheus支持基于规则的警报,用户可以定义规则来描述潜在的问题,并在符合规则条件时触发警报。警报可以与通知管理器集成,以便通过各种通知渠道(例如电子邮件、Slack等)通知运维团队。

5.可扩展性: Prometheus具有良好的可扩展性,支持通过插件和服务发现机制集成其他工具和系统。它还支持水平扩展,可以构建具有高可用性的监控解决方案。

6.图形化界面: Prometheus本身提供了一个基本的Web界面,用于实时查看度量数据、运行查询和检查警报状态。

Prometheus通常与Grafana等工具结合使用,以实现更强大的可视化和仪表盘功能。它在云原生和容器化环境中得到广泛应用,是CNCF(Cloud Native Computing Foundation)的一个项目。

1.2 Prometheus相关组件

Prometheus是由多个组件构成的系统,这些组件共同协作以实现监控、存储和报警等功能。

以下是Prometheus的一些主要组件:

Prometheus Server:

Prometheus服务器是核心组件,负责收集、存储和查询监控数据。它通过定期从配置的目标(例如应用程序、服务器)拉取度量数据,存储在本地时间序列数据库中,并提供PromQL查询接口供用户查询和分析数据。

Prometheus Storage (TSDB - Time Series Database):

Prometheus使用自己的时间序列数据库(TSDB)来存储监控数据。这个数据库是为高效存储和检索时间序列数据而优化的,支持快速范围查询、聚合和数据压缩。

Exporters:

Exporters是用于将不同系统的监控数据暴露给Prometheus的中间件。它们可以作为目标被Prometheus轮询,然后将系统的度量数据转换为Prometheus可理解的格式。例如,Node Exporter用于收集操作系统级别的度量,而其他Exporters可用于不同的应用程序和服务。

Alertmanager:

Alertmanager负责处理警报规则产生的警报。它可以对警报进行静默、去重,还可以集成通知方式,例如发送电子邮件、Slack消息或调用自定义Webhook等。Alertmanager与Prometheus Server集成,接收来自Prometheus的警报数据。

Grafana:

尽管Grafana不是Prometheus的官方组件,但它经常与Prometheus一起使用,用于创建仪表盘和可视化监控数据。Grafana提供了丰富的图形化界面,可以连接到Prometheus进行查询,并以图形和表格的形式显示监控数据。

Push Gateway:

Push Gateway允许短暂的、临时性的任务将其度量数据推送到Prometheus,而不是等待Prometheus定期拉取。这对于一些短暂存在的任务或作业非常有用。

1.3 Prometheus架构

df5caeeac45d4eac878e835aaf8fd15a.png

 

二、prometheus安装部署

Prometheus官网下载:Download | Prometheus

Prometheus-2.37.2下载:

https://github.com/prometheus/prometheus/releases/download/v2.37.2/prometheus-2.37.2.linux-amd64.tar.gz

2.1下载Prometheus-2.37.2

yum -y install wget

wget https://github.com/prometheus/prometheus/releases/download/v2.37.2/prometheus-2.37.2.linux-amd64.tar.gz

tar zxf prometheus-2.37.2.linux-amd64.tar.gz -C /usr

cd /usr

mv prometheus-2.37.2.linux-amd64 prometheus 

2.2 Prometheus配置文件详解

配置文件路径/usr/prometheus/prometheus.yml

# my global config
global:
  # 设置Prometheus对目标进行抓取的时间间隔
  scrape_interval: 15s
  # 设置规则的评估时间间隔
  evaluation_interval: 15s

# Alertmanager 配置
alerting:
  # Alertmanager实例列表,此处被注释掉表示禁用Alertmanager
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# 一次性加载规则并根据全局的 'evaluation_interval' 定期评估规则
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# 监控配置,包含抓取的作业和目标
scrape_configs:
  - job_name: "prometheus"
    static_configs:
      # Prometheus自身的监控指标
      - targets: ["192.168.118.136:9090"]

  - job_name: "prometheus-001"
    # 抓取间隔为10秒
    scrape_interval: 10s
    static_configs:
      # 目标为'192.168.118.135:9100',并带有标签 'instance: prometheus-001'
      - targets: ['192.168.118.135:9100']
        labels:
          instance: prometheus001

2.3 添加prometheus账户启动服务

groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus

目录授权
chown -R prometheus:prometheus /usr/prometheus/

创建prometheus 本地TSDB数据存储目录
mkdir -p /var/lib/prometheus
chown -R prometheus:prometheus /var/lib/prometheus/

2.4 将prometheus添加为服务启动

vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target

[Service]
# Type设置为notify时,服务会不断重启
Type=simple
User=prometheus
# --storage.tsdb.path是可选项,默认数据目录在运行目录的./dada目录中
ExecStart=/usr/prometheus/prometheus --config.file=/usr/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus --web.enable-lifecycle

ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target
chown prometheus:prometheus /usr/lib/systemd/system/prometheus.service
systemctl daemon-reload

systemctl  start prometheus

systemctl status prometheus

2.5 启动服务

http://192.168.118.135:9090

b411cc27953e43a999dad6d2207f8403.png

 

部署 node_exporter 收集机器的系统数据:

部署 node_exporter 收集机器的系统数据-CSDN博客

 

 

  • 21
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
为了部署安装Prometheus,你可以按照以下步骤进行操作: 1. 首先,将Prometheus的软件包下载到你的机器上。你可以从官方网站上找到最新的版本下载链接,例如中提供的链接。 2. 下载完毕后,使用命令行工具解压该软件包。你可以使用tar命令,例如在Linux系统中,可以使用以下命令进行解压缩操作: ``` tar xf prometheus-2.31.1.linux-amd64.tar.gz -C /usr/local/ ``` 这将会把解压后的文件放置在`/usr/local/`目录下。 3. 接下来,进入解压后的目录,并将其重命名为`prometheus`,可以使用以下命令进行操作: ``` mv prometheus-2.31.1.linux-amd64/ prometheus ``` 4. 运行Prometheus服务器。进入`prometheus/`目录,并执行以下命令: ``` ./prometheus --config.file=prometheus.yml ``` 这将会启动Prometheus服务器,并使用`prometheus.yml`作为配置文件。 5. 最后,根据需要进行Prometheus的配置。你可以根据官方文档提供的指导进行配置。 请注意,上述步骤仅供参考,请根据你的具体环境和需求进行相应调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Prometheus部署、操作及Grafana展示、告警](https://blog.csdn.net/m0_71521555/article/details/127497906)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Promethus(普罗米修斯)安装与配置](https://blog.csdn.net/m0_56305656/article/details/121546981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神度♬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值