zoukankan      html  css  js  c++  java
  • 普罗米修斯+grafana监控k8s原理

    原理有点类似于ELK。

    #.>node-exporter组件负责收集节点上的metrics监控数据,并将数据推送给prometheus,prometheus负责存储这些数据,grafana将这些数据通过网页以图形的形式展现给客户。

    架构图:

    Prometheus的特点:
    1、多维数据模型(时序列数据由metric名和一组key/value组成)
    2、在多维度上灵活的查询语言(PromQl)
    3、不依赖分布式存储,单主节点工作.
    4、通过基于HTTP的pull方式采集时序数据
    5、可以通过中间网关进行时序列数据推送(pushing)
    6、目标服务器可以通过发现服务或者静态配置实现
    7、多种可视化和仪表盘支持

    prometheus 相关组件,Prometheus生态系统由多个组件组成,其中许多是可选的:
    1、Prometheus 主服务,用来抓取和存储时序数据
    2、client library 用来构造应用或 exporter 代码 (go,java,python,ruby)
    3、push 网关可用来支持短连接任务
    4、可视化的dashboard (两种选择,promdash 和 grafana.目前主流选择是 grafana.)
    4、一些特殊需求的数据出口(用于HAProxy, StatsD, Graphite等服务)
    5、实验性的报警管理端(alartmanager,单独进行报警汇总,分发,屏蔽等 )

    promethues 的各个组件基本都是用 golang 编写,对编译和部署十分友好.并且没有特殊依赖.基本都是独立工作。

    Prometheus可以做什么

    在业务层用作埋点系统 Prometheus支持各个主流开发语言(Go,java,python,ruby官方提供客户端,其他语言有第三方开源客户端)。我们可以通过客户端方面的对核心业务进行埋点。如下单流程、添加购物车流程。在应用层用作应用监控系统 一些主流应用可以通过官方或第三方的导出器,来对这些应用做核心指标的收集。如redis,mysql。在系统层用作系统监控 除了常用软件, prometheus也有相关系统层和网络层exporter,用以监控服务器或网络。集成其他的监控 prometheus还可以通过各种exporte,集成其他的监控系统,收集监控数据,如AWS CloudWatch,JMX,Pingdom等等。不要用Prometheus做什么

    prometheus也提供了Grok exporter等工具可以用来读取日志,但是prometheus是监控系统,不是日志系统。应用的日志还是应该走ELK等工具栈。

    1.>grafana+prometheus全部集成在k8s内部的方式,用pod和svc的方式去暴露服务和端口以及登录web界面。

    2.>prometheus登录界面:http://ip:30003

     上述的查询有出现数据,说明node-exporter往prometheus中写入数据正常,接下来我们就可以部署grafana组件,实现更友好的webui展示数据了。

    3.>grafana登录界面:http://ip:31000

     
  • 相关阅读:
    虚拟主机的陷阱
    http://www.xmenglish.com/(外贸知识网站)
    Highlight Table Row
    让你从电脑维修新手到高手
    Flash 视频教程
    ASP Comparison Operators Logical Operators
    Linux 虚拟机 NAT方式上网设置
    vim技巧
    25 条 SSH 命令和技巧
    linux下添加路由的方法
  • 原文地址:https://www.cnblogs.com/lfl17718347843/p/12408222.html
Copyright © 2011-2022 走看看