zoukankan      html  css  js  c++  java
  • Prometheus运⾏框架介绍

    框架结构的展⽰图

    我们先来看下这个部分

    这⾥是 prometheus的服务端也就是核⼼

    prometheus本⾝是⼀个以进程⽅式启动,之后以多进程和多线程实现监控数据收集 计算 查
    询 更新 存储 的这样⼀个C/S模型运⾏模式
    本⾝的启动很简单

    如果不带参数的不考虑后台运⾏的问题
    那么 prometheus 默认启动更简单

    解压缩之后
    ./prometheus 即可之后默认监听在9090端⼜⽤来访问

    接下来我们来看看prometheus的存储形式

    这是⼀段来⾃官⽅的 prometheus存储数据的介绍
    • prometheus 采⽤的是 time-series (时间序列)的⽅式以⼀种⾃定义的格式存储在本地硬盘上
    • prometheus的本地T-Stime-series)数据库以每两⼩时为间隔来分block(块)存储,
    每⼀个块中又分为多个chunk⽂件chunk⽂件是⽤来存放采集过来的数据的T-S数据, metadata 和 索引⽂件(index
    • index⽂件是对metrics(prometheus中 ⼀次K/V采集数据叫做⼀个metric) labels(进⾏索引 之后存储在 chunk
    chunk 是作为存储的基本单位, index and metadata是作为⼦集
    • prometheus平时是将采集过来的数据 先都存放在内存之中(prometheus对内存的消耗还是不⼩的)以类似缓存的⽅式 ⽤于加快搜索和访问
    当出现宕机时, prometheus有⼀种保护机制叫做WAL 可以讲数据定期存⼊硬盘中以chunk来表⽰,并在重新启动时 ⽤以恢复进⼊内存 

    然后我们来看下⼤图中的这个部分

    这⾥⾯讲的是 prometheus 可以集成的服务发现功能
    例如 Consul
    prometheus本⾝跟其他的开源软件类似,也是通过定义配置⽂件来给prometheus本⾝规定需要被监控的项⽬和被监控节点

    我们看下配置⽂件的模版

    配置⽂件中 规定了⼀个 ⼤的Job的名字
    之后 在这个Jobs的名字下⾯ 具体来定义 要被监控的节点 以及节点上具体的端⼜信息等等
    那么如果prometheus 配合了 例如consul这种服务发现软件
    prometheus的配置⽂件 就不再需要⼈⼯去 ⼿⼯定义出来,⽽是能⾃动发现集群中 有哪些新
    机器 以及新机器上出现了哪些新服务 可以被监控

    接下来我们来看看 采集客户端的部分

     prometheus 的客户端主要有两种⽅式采集
    pull 主动拉取的形式
    push 被动推送的形式
    pull: 指的是客户端(被监控机器)先安装各类已有exporters(由社区组织 或企业 开发的监控客户端插件)在系统上
    之后, exporters 以守护进程的模式运⾏并开始采集数据
    exporter本⾝也是⼀个http_server可以对http请求作出响应返回数据(K/V metrics
    prometheus pull 这种主动拉的⽅式(HTTP get) 去访问每个节点上exporter 并采样回需要的数据 

    push

    指的是 在客户端(或者服务端)安装这个 官⽅提供的pushgateway插件
    然后,使⽤我们运维⾃⾏开发的各种脚本 把监控数据组织成k/v的形式 metrics形式 发送给pushgateway
    之后 pushgateway会再推送给prometheus
    这种是⼀种被动的数据采集模式
    最后咱们来看下这个报警的部分

    prometheus 本⾝并不具备报警的功能
    只能通过第三⽅ 开源或者商业软件实现报警

    另外
    这⾥指的是 prometheus 可以依赖很多⽅式⼆次绘制监控图形⾸推Grafana 


  • 相关阅读:
    numpy—————数组操作
    ML———聚类算法之K-Means
    DataFrame————数据离散化处理(元素定位与离散化处理)
    windows 搭建和配置 hadoop + 踩过的坑
    Pandas -----简述 Series和DataFrame
    numpy 函数和用法总结、示例
    分词————jieba分词(Python)
    (31)本地yum仓库的安装配置
    (30)zookeeper的数据结构
    (29)zookeeper的命令行客户端
  • 原文地址:https://www.cnblogs.com/afterdawn/p/9024860.html
Copyright © 2011-2022 走看看