promethus学习(1)-介绍和学习路径

@promethus简介

前言

由于目前做到的项目使用kubernetes+docker为基础平台,因此需要一个通用、简洁的监控系统用于日常监控,因此决定选用promethus+grafana的方案进行监控告警的开发;
目前网络上也非常多相关文章,但是都说的不是很深入,因此笔者希望能通过学习+输出的方式将整个复杂的promethus监控系统去做一个讲解和输出。
计划的监控维度:

  • kubernetes API部分(包括master节点和lb节点)
  • ETCD
  • pod层级(pod的状态和健康)
  • 宿主机

什么是promethus

Promethues是一款开源的基于时间序列数据库(TSDB)的监控报警系统。该项目的开发人员和用户社区非常活跃,越来越多的开发人员和用户参与到该项目中。目前它是一个独立的开源项目,且不依赖与任何公司。为了强调这点和明确该项目治理结构,Prometheus在2016年继Kurberntes之后,加入了Cloud Native Computing Foundation。主要具有如下功能:

  • 多维 数据模型(时序由 metric 名字和 k/v 的 labels 构成)。
  • 灵活的查询语句(PromQL)。
  • 无依赖存储,支持 local 和 remote 不同模型。
  • 采用 http 协议,使用 pull 模式,拉取数据,简单易懂。
  • 监控目标,可以采用服务发现或静态配置的方式。
  • 支持多种统计数据模型,图形化友好。

什么是TSDB

简单的理解为.一个优化后用来处理时间序列数据的软件,并且数据中的数组是由时间进行索引的

  • 大部分时间都是写入操作

  • 写入操作几乎是顺序添加;大多数时候数据到达后都以时间排序.

  • 写操作很少写入很久之前的数据,也很少更新数据.大多数情况在数据被采集到数秒或者数分钟后就会被写入数据库.

  • 删除操作一般为区块删除,选定开始的历史时间并指定后续的区块.很少单独删除某个时间或者分开的随机时间的数据.

  • 数据一般远远超过内存大小,所以缓存基本无用.系统一般是 IO 密集型

  • 读操作是十分典型的升序或者降序的顺序读,

  • 高并发的读操作十分常见.

Prometheus 生态系统

  • Prometheus 主服务,用来抓取和存储时序数据

  • client library 用来构造应用或 exporter 代码 (go,java,python,ruby)

  • push 网关可用来支持短连接任务

  • 可视化的dashboard (两种选择,promdash 和 grafana.目前主流选择是 grafana.)

  • 一些特殊需求的数据出口(用于HAProxy, StatsD, Graphite等服务)

  • 实验性的报警管理端(alartmanager,单独进行报警汇总,分发,屏蔽等 )

需要注意的是,由于promethus界面较为简陋,因此一般对接grafana用于展示数据。

promethus学习和使用的着手点

  • 下载部署运行(略)
  • config文件:global选项和job的规则和用法;
  • promethus的查询运算语句
  • promethus的告警语句的编写和使用
  • promethus的其他运维操作
  • grafana和promethus的对接和界面制作

持续更新,学无涯
太监警告

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值