Prometheus+grafana资源监控平台 (1)

image.png

简介

Prometheus 是一个开源系统监控和报警工具包,主要用于收集和处理时间序列数据,监控分布式系统和云原生环境 。 广泛应用于微服务架构、容器化环境以及各种分布式系统的监控和告警。

主要功能

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

组件

Prometheus Server

主要用于抓取数据和存储时序数据,另外还提供查询和 Alert Rule 配置管理
数据采集:通过 HTTP 拉取(pull)方式从各个目标端点获取监控数据。目标端点需要暴露一个符合 Prometheus 规范的 HTTP 接口(/metrics)
数据存储:将采集到的数据存储在本地的时序数据库中。
数据查询:提供 PromQL 查询语言,用户可以用它来实时查询、分析和聚合监控数据

Alertmanager

告警管理组件,用于处理 Prometheus 服务器触发的告警。

Pushgateway

Pushgateway 允许短生命周期的批处理任务推送他们的指标到 Prometheus。

  • 数据推送:短期任务或批处理任务可以将数据推送到 Pushgateway,然后由 Prometheus 拉取这些数据。
  • 适用场景:适用于那些不能被 Prometheus 直接拉取监控数据的短期任务。(网络环境不允许Prometheus Server和Exporter进行通信时)。

Exporters

Exporters 是用于将各种第三方系统的监控数据转换成 Prometheus 格式的工具 。
将监控数据采集的端点通过HTTP服务的形式暴露给Prometheus Server,Prometheus Server通过访问该Exporter提供的Endpoint端点,即可以获取到需要采集的监控数据。

Prometheus Client Libraries

Prometheus 客户端库用于在应用程序中直接生成自定义的监控指标 ,通过这些库,开发者可以在其应用程序中嵌入监控代码,以收集并暴露应用程序内部的性能数据和其他指标
Client libraries | Prometheus

Prometheus UI

Prometheus 自带的用户界面,提供数据查询和简单的可视化功能 。

Grafana

Grafana | 查询、可视化、警报观测平台
Grafana 是一个开源的数据可视化和监控平台,广泛用于展示时间序列数据。

搭建过程示例:

拉取prometheus镜像

docker pull prom/prometheus

mkdir -p /server/docker/prometheus/{server,client}
touch /server/docker/prometheus/server/rules.yml
global:
  scrape_interval:
  external_labels:
    monitor: 'codelab-monitor'
# 这里表示抓取对象的配置
scrape_configs:
  - job_name: 'prometheus'
    scrape_interval: 5s  #重写了全局抓取间隔时间,由15秒重写成5秒
    static_configs:
      - targets: ['localhost:9090','localhost:9100']
  - job_name: 'client-node1'
    static_configs:
      - targets: ['192.168.137.133:9256']

修改static_configs监控目标

docker run --name prometheus -p 9090:9090
-v /server/docker/prometheus/server/prometheus.yml:/etc/prometheus/prometheus.yml
-v /server/docker/prometheus/server/rules.yml:/etc/prometheus/rules.yml
-itd prom/prometheus
–config.file=/etc/prometheus/prometheus.yml
–web.enable-lifecycle
访问页面

image.png

安装grafana

docker pull grafana/grafana
docker run --name=grafana -p 3000:3000 -itd grafana/grafana
将配置文件复制到宿主机:
  docker cp grafana:/etc/grafana/grafana.ini /server/docker/prometheus/grafana/
  docker rm -f grafana

启动grafana
docker run -p 3000:3000 --name grafana
-v /server/docker/prometheus/grafana/grafana.ini:/etc/grafana/grafana.ini
-v /server/docker/prometheus/grafana/data:/var/lib/grafana
-e “GF_SECURITY_ADMIN_PASSWORD=grafana123”
-itd grafana/grafana
-e “GF_SECURITY_ADMIN_PASSWORD=grafana123” 是设置grafana登陆页面的密码,如不添加这条,默认账号密码为admin/admin
启动问题
可能会有权限问题:chmod 777 /server/docker/prometheus/grafana/data

添加数据源

Docker搭建Prometheus+grafana监控系统 - 等风来~~ - 博客园 (cnblogs.com)
image.png
image.png

常用模板

https://www.jianshu.com/p/367d52fe1171 #grafana常用监控模板大全
https://grafana.com/grafana/dashboards/ #grafana官网模板

拉取 node-exporter 镜像

收集Host硬件和操作系统信息
192.168.137.131服务端 机器配置
docker pull prom/node-exporter
image.png
docker run --name=node-exporter -p 9100:9100 -itd prom/node-exporter
image.png
image.png

process-exporte

nohup ./process-exporter --config.path=./process-exporter.yml &

./process-exporter --config.path=./process-exporter.yml
配置文件 process-exporter.yml

##process-exporter.yaml
##监控所有端口
process_names:
  - name: "{{.Comm}}"
    cmdline:
    - '.+'

image.png
访问192.168.137.133:9256/metrics
image.png
查看监控信息
image.png

windows配置

下载 prometheus Download | Prometheus

image.png
image.png
image.png

windows-exporter

https://github.com/prometheus-community/windows_exporter
https://github.com/prometheus/promu/releases
源码构建
image.png

.\windows_exporter.exe --config.file=config.yml .
localhost:9182/metrics
image.png
仅启用服务收集器并指定自定义查询
.\windows_exporter.exe --collectors.enabled “service” --collector.service.services-where “Name=‘windows_exporter’”
仅启用进程收集器并指定自定义查询
.\windows_exporter.exe --collectors.enabled “process” --collector.process.include=“firefox.+”

windows_exporter.exe --collectors.enabled “process”

grafana

模板10467
修改端口image.png
image.png
image.png

自定义模板
image.png
查询指标image.png

windows_process_working_set 要修改成 windows_process_working_set_bytes
13262
image.png
image.png

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值