【笔记15】Prometheus监控(1)

Prometheus介绍

Prometheus 是一款基于时序数据库的开源监控告警系统,非常适合Kubernetes集群的监控。Prometheus的基本原理是通过HTTP协议周期性抓取被监控组件的状态,任意组件只要提供对应的HTTP接口就可以接入监控,不需要任何SDK或者其他的集成过程。这样做非常适合做虚拟化环境监控系统,比如VM、Docker、Kubernetes等。输出被监控组件信息的HTTP接口被叫做exporter 。目前互联网公司常用的组件大部分都有exporter可以直接使用,比如Varnish、Haproxy、Nginx、MySQL、Linux系统信息(包括磁盘、内存、CPU、网络等等)。

  • 官方网站:https://prometheus.io/

Promethus特点

  • 支持多维数据模型:由度量名和键值对组成的时间序列数据
  • 内置时间序列数据库TSDB
  • 支持PromQL查询语言,可以完成非常复杂的查询和分析,对图表展示和告警非常有意义
  • 支持HTTP的Pull方式采集时间序列数据
  • 支持PushGateway采集瞬时任务的数据
  • 支持多种监控项发现机制:可以使用服务发现和静态配置两种方式发现目标
  • 支持接入Grafana:可以通过Grafana进行数据展示

Promethus架构

Promethus由多个组件组成,各个组件的功能如下:

Prometheus架构图

  • Promethus Server:用于收集指标和存储时间序列数据,并提供查询接口
  • client library:客户端库,主要用于应用开发/metrics接口
  • push gateway:主要用于临时性的jobs主动推送数据
  • exporter:用于暴露已有的第三方服务的metrics
  • alertmanager:接收Promethus Server发出的告警并发送给对应渠道
  • web UI:Promethus Server内置一个简单的web控制台,可以查询指标、查看信息等

部署Promethus

  • 配置helm仓库
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
  • 下载安装包
helm pull bitnami/prometheus  --untar
  • 修改配置
修改values.yaml以适应当前环境
  • 执行安装
helm install  prometheus  .
  • 查看安装情况
helm list -A

Exporter

Prometheus Server的主要任务是数据的收集、存储并且对外提供数据查询支持。因此为了能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。

Exporter是一个用于收集和暴露应用程序指标的工具。它允许你将应用程序中的特定指标暴露给Prometheus监控系统。Exporter可以作为一个独立的进程运行,它通过暴露一个HTTP端点来提供指标数据。Prometheus可以通过定期访问Exporter的端点来获取最新的指标数据,并进行存储和可视化。

Exporter提供了针对各种应用程序和服务的特定实现,包括数据库、消息代理、Web服务器等。我们平时用的各种服务(如Nginx、MySQL、Redis、RabbitMQ、MongoDB等)都有自己的Exporter,它们会从应用程序中提取指标,并将其格式化为Prometheus可理解的格式。

总之,通过使用Prometheus exporter,你可以方便地监控应用程序的性能、资源利用率和其他重要指标。它提供了一种简单而强大的方式来收集和分析应用程序的监控数据,帮助你及时发现潜在的问题并做出相应的调整。

node_exporter

Node Exporter主要用来采集主机上的各种指标(如CPU、内存、磁盘、网络等),Node exporter作为一个独立的进程在主机上运行,并通过HTTP端点暴露指标数据。Prometheus可以定期访问该端点以获取最新的主机指标数据,并将其存储和可视化。

Node exporter可以在各种操作系统上运行,包括Linux、Windows和Mac。它使用系统级接口和命令行工具来收集主机指标数据,并将其转换为Prometheus可理解的格式。

我们可以给K8S各个节点安装Node Exporter:

helm install node-exporter bitnami/node-exporter

通过修改配置文件添加配置:

kubectl edit cm prometheus-server

      - job_name: node_exporter
        static_configs:
          - targets:
            - 192.168.129.129:9100
            - 192.168.129.130:9100
            - 192.168.129.132:9100

修改完配置文件后重启prometheus,这样就有一个最基础的prometheus监控了。

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值