prometheus的介绍及安装

举报
互联网老辛 发表于 2021/06/09 00:02:59 2021/06/09
【摘要】 文章目录 Prometheus 是什么?Prometheus 的优点1. 配置灵活2. 监控更多多样性3. 非常高效的存储 prometheus的架构prometheus的工作流程prometheus 部署通过网址访问 Prometheus 是什么? Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由Sound...

Prometheus 是什么?

Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社区也十分活跃,他们便将它独立成开源项目,并且有公司来运作。google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。

Prometheus 的优点

1. 配置灵活

使用过zabbix的同学应该都体验过安装时候的安装依赖包的痛苦,而premetheus核心部分只有一个单独的二进制文件,下载解压安装即可,没有依赖的第三方库。

2. 监控更多多样性

prometheus支持多种语言的的客户端,我们通过客户端方便对核心业务进行埋点,比如下单,添加购物车等流程。
而且prometheus已经有非常多的系统集成:比如
应用层面的监控:nginx,haproxy,mysql ,docker等
系统层面如: SNMP协议监控,主机监控,进程监控
容器云监控: docker,k8s openstack私有云

3. 非常高效的存储

平均一个采样数据占 ~3.5 bytes左右,320万的时间序列,每30秒采样,保持60天,消耗磁盘大概228G。

prometheus的架构

在这里插入图片描述
对照图中的每一部分进行介绍:

  • prometheus server
    主要负责数据的采集和存储,提供PromQL查询语言支持
    Retrieval:采样模块,prometheus的服务器在哪里拉取数据,检索拉取到的数据分发给 TSDB进行存储
    TSDB:存储模块默认本地存储为TSDB
    HTTP server : 提供http接口查询和面板,默认端口为9090

  • short-lived jobs:
    存在时间不足以被删除的短暂或批量业务,无法通过pull的方式拉取,需要使用push的方式,与pushgeteway结合使用

  • Service Discovery:
    服务发现,prometheus支持多种服务发现机制: 文件,DNS,k8s,openstack,等,基于服务发现的过程,通过第三方接口,prometheus查询到需要监控的target列表,然后轮询这些target获取监控数据

  • 客户端SDK
    官方提供的客户端类库有go,java,python,ruby

  • pushgateway
    支持临时性的job主动推送指标的中间网关,prometheus默认通过pull方式从exporters拉取,但有些情况我们是不允许promethes与exporters直接进行通信的,这时候我们可以使用pushgateway由客户端主动push数据到pushgateway,在由prometheus拉取。很多时候我们需要自定义一些组件来采集

  • proDash
    使用rails开发的dashboard,用于可视化指标数据

  • exporters
    支持其他数据源的指标导入到prometheus,支持数据库,硬件,消息中间件,存储系统,http服务器,jmx等
    负责收集目标对象的性能数据,并通过http接口供prometheus server获取
    只要符合接口格式,就可以被采集

  • alertmanager
    实验性组件,用来进行报警

  • prometheus_cli
    命令行工具

prometheus的工作流程

  1. prometheus server 定期从配置好的jobs或者exporters中拉metrics.或者接受来自pushgateway发过来的metrics,或者从其他的prometheus server中拉取metrics

  2. prometheus server 在本地存储收集到的metrics,并运行已经定义好的arlt.rules,记录新的时间序列或者向alertmanager推送报警

  3. Alertmanager根据配置文件,对接受的警报进行处理,发出告警

  4. 在图形界面中,可视化采集数据,可以使用别人写好的grafana模板。

prometheus 部署

下载地址:https://github.com/prometheus/prometheus/releases/

[root@zmedu-17 ~]# tar xf prometheus-2.7.2.linux-amd64.tar.gz 
[root@zmedu-17 ~]# mv prometheus-2.7.2.linux-amd64 /usr/local/prometheus
[root@zmedu-17 ~]# cd /usr/local/prometheus/
[root@zmedu-17 prometheus]# pwd
[root@zmedu-17 prometheus]# ls
console_libraries  NOTICE promtool
consoles prometheus
LICENSE prometheus.yml

[root@zmedu-17 prometheus]# ./prometheus --version
prometheus, version 2.7.2 (branch: HEAD, revision: 82f98c825a1437c0a24056eb4dc986d9a3fc7fae)
  build user: root@ab86c672c33a
  build date: 20190302-14:57:04
  go version: go1.11.5
[root@zmedu-17 prometheus]# 



  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

后台启动普罗米修斯:

[root@zmedu-17 prometheus]# ./prometheus &
[1] 66474


  
 
  • 1
  • 2
  • 3

通过网址访问

通过后台执行http://192.168.1.17:9090
在这里插入图片描述

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/105156582

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。