Prometheus监控部署

一 简介

1 什么是普罗米修斯?

Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区。现在,它是一个独立的开源项目,并且独立于任何公司进行维护。为了强调这一点并阐明项目的治理结构,Prometheus 在2016年加入了 Cloud Native Computing Foundation,这是继Kubernetes之后的第二个托管项目

2 特征

 普罗米修斯的主要特点是:

强大的多维度数据模型:时间序列数据通过 metric 名和键值对来区分。所有的 metrics 都可以设置任意的多维标签。数据模型更随意,不需要刻意设置为以点分隔的字符串。可以对数据模型进行聚合,切割和切片操作。 支持双精度浮点类型,标签可以设为全 unicode。
灵活而强大的查询语句(PromQL):在同一个查询语句,可以对多个 metrics 进行乘法、加法、连接、取分数位等操作。
易于管理: Prometheus server 是一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。高效:平均每个采样点仅占 3.5 bytes,且一个 Prometheus server 可以处理数百万的 metrics。使用 pull 模式采集时间序列数据,这样不仅有利于本机测试而且可以避免有问题的服务器推送坏的 metrics。可以采用 push gateway 的方式把时间序列数据推送至 Prometheus server 端。可以通过服务发现或者静态配置去获取监控的 targets。有多种可视化图形界面。易于伸缩。

3 prometheus的架构

在这里插入图片描述

4 组件

 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 等。一些其他的工具。
大多数Prometheus组件都是用Go编写的,因此易于构建和部署为静态二进制文件。

5 什么时候合适?

Prometheus非常适合记录任何纯数字时间序列。它既适合以机器为中心的监视,也适合于高度动态的面向服务的体系结构的监视。在微服务世界中,它对多维数据收集和查询的支持是一种特别的优势。

Prometheus的设计旨在提高可靠性,使其成为中断期间要使用的系统,以使您能够快速诊断问题。每个Prometheus服务器都是独立的,而不依赖于网络存储或其他远程服务。当基础结构的其他部分损坏时,您可以依靠它,并且无需设置广泛的基础结构即可使用它。

二 Prometheus 安装部署

1 上传安装包并解压

[root@foundation1 Desktop]# scp prometheus-2.16.0.linux-amd64.tar.gz server1:/root/
root@server1's password: 
Permission denied, please try again.
root@server1's password: 
prometheus-2.16.0.linux-amd64.tar.gz                                               100% 6814KB 303.3MB/s   00:00    
[root@server1 ~]# ls
anaconda-ks.cfg  mysql-boost-5.7.31.tar.gz  nginx-1.20.1.tar.gz  prometheus-2.16.0.linux-amd64
mysql-5.7.31     nginx-1.20.1               php-7.4.12.tar.bz2   prometheus-2.16.0.linux-amd64.tar.gz
[root@server1 ~]# cd prometheus-2.16.0.linux-amd64/
[root@server1 prometheus-2.16.0.linux-amd64]# ls
LICENSE  promtool
[root@server1 prometheus-2.16.0.linux-amd64]# cd ..

2 安装部署

root@server1 prometheus]# ls
prometheus-2.16.0.linux-amd64
[root@server1 prometheus]# cp -r prometheus-2.16.0.linux-amd64/ /usr/local/prometheus
[root@server1 prometheus]# useradd -M -s /sbin/nologin prometheus
useradd: user 'prometheus' already exists
[root@server1 prometheus]# userdel prometheus 
[root@server1 prometheus]# useradd -M -s /sbin/nologin prometheus
Creating mailbox file: File exists
[root@server1 prometheus]# mkdir -p /data/prometheus
[root@server1 prometheus]# chown -R prometheus:prometheus /usr/local/prometheus /data/prometheus
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值