当前位置: 首页 > news >正文

Prometheus Docker安装及监控自身

前提环境:

  • Docker环境

涉及参考文档:

  • 安装Prometheus
  • 开始 Prometheus
  • node_exporter Agent组件

一、部署Prometheus

1、启动容器将文件拷贝出来
docker run -d prom/prometheus
2、容器将文件拷贝出来
 docker cp 容器ID:/usr/share/prometheus/console_libraries /usr/share/prometheus/docker cp 容器ID:/usr/share/prometheus/consoles/ /usr/share/prometheus/docker cp 容器ID:/etc/prometheus /data/docker_data/Promthues/confdocker cp 容器ID:/prometheus /data/docker_data/Promthues/data
3、修改数据存储权限。 默认容器中是nobody:nobody 只能修改为777
chmod  777 /data/docker_data/Promthues/data
4、启动docker
docker run --name prometheus -d \
-v /data/docker_data/Promthues/data:/prometheus \
-v /data/docker_data/Promthues/conf:/etc/prometheus \
-p 9090:9090 prom/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--web.listen-address="0.0.0.0:9090" \
--storage.tsdb.path=/prometheus \
--web.console.libraries=/usr/share/prometheus/console_libraries \
--web.console.templates=/usr/share/prometheus/consoles \
--storage.tsdb.retention=30d \
--web.enable-lifecycle

二、访问WEB控制台

访问URL    IP+9090

在这里插入图片描述

三、安装node_exporter 组件

docker run -d --name node_exporter \--restart=always \--net="host" \--pid="host" \-v "/proc:/host/proc:ro" \-v "/sys:/host/sys:ro" \-v "/:/rootfs:ro" \prom/node-exporter \--path.procfs=/host/proc \--path.rootfs=/rootfs \--path.sysfs=/host/sys \--collector.textfile.directory=/data/docker_data/Promthues/prom \--collector.filesystem.ignored-mount-points='^/(sys|proc|dev|host|etc)($$|/)'

四、配置 Prometheus 以监视自身

global:  #全局scrape_interval:     15s   # 默认情况下即拉取业务监控数据的间隔时间,默认一分钟scrape_timeout:  10s       # 即拉取业务监控数据接口的超时时间evaluation_interval: 15s  # 默认评估规则的频率,默认一分钟# Attach these labels to any time series or alerts when communicating with# external systems (federation, remote storage, Alertmanager).external_labels:monitor: 'codelab-monitor'scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# Override the global default and scrape targets from this job every 5 seconds.scrape_interval: 5sstatic_configs:- targets: ['localhost:9090']labels:name: Prometheus

五、控制台抓取数据

1、重新查看当前Prometheus的标签

在这里插入图片描述

2、重新查看当前Prometheus的标签
avg by (job, instance, mode) (rate(node_cpu_seconds_total{instance="10.1.32.231"}[5m]))

在这里插入图片描述

3、修改Prometheus 主配置文件
mkdir -p /data/docker_data/Promthues/conf/rules
global:  #全局scrape_interval:     15s   # 默认情况下即拉取业务监控数据的间隔时间,默认一分钟scrape_timeout:  10s       # 即拉取业务监控数据接口的超时时间evaluation_interval: 15s  # 默认评估规则的频率,默认一分钟# Attach these labels to any time series or alerts when communicating with# external systems (federation, remote storage, Alertmanager).external_labels:monitor: 'codelab-monitor'rule_files:- "rules/*.yml"    # 指定自定义规则文件存放目录scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# Override the global default and scrape targets from this job every 5 seconds.scrape_interval: 5sstatic_configs:- targets: ['localhost:9090']labels:name: Prometheus

4、配置Prometheus记录规则

vim /data/docker_data/Promthues/conf/rules/cpu-node.yml
groups:
- name: cpu-noderules:- record: job_instance_mode:node_cpu_seconds:avg_rate5mexpr: avg by (job, instance, mode) (rate(node_cpu_seconds_total{instance="10.1.32.231"}[5m]))

5、热加载Prometheus 服务

检查语法是否符合

docker exec -it prometheus promtool check config /etc/prometheus/prometheus.ym

热加载配置文件

curl -XPOST http://localhost:9090/-/reload

6、重新登录Web控制台

在这里插入图片描述
点击匹配规则,自动跳转到Web 查询界面
在这里插入图片描述

匹配规则作为告警阈值进行钉钉通知告警, 后面篇章会记录学习笔记。

http://www.lryc.cn/news/11313.html

相关文章:

  • 点云处理PCL常用函数与工具
  • FyListen 在 MVP 架构中的内存优化表现
  • Qt代码单元测试以及报告生成
  • vscode构建Vue3.0项目(vite,vue-cli)
  • 【2023】华为OD机试真题Java-题目0215-优雅数组
  • 通过Prowork每日自动提醒待处理工作任务
  • Linux自定义系统服务
  • mongodb lambda 查询插件
  • C++设计模式(16)——责任链模式
  • springmvc+jsp电影院购票售票选座推荐网站java ssm
  • ASEMI高压MOS管4N65SE,4N65SE参数,4N65SE特征
  • 第46章 自定义静态与数据库动态授权依赖注入的定义实现
  • Go语言面试题
  • Kubernetes入门级教程
  • 15个顶级思维模型
  • 外贸谷歌优化,外贸google SEO优化费用是多少?
  • 华为OD机试 - 统计匹配的二元组个数(Python) | 机试题算法思路
  • Java 日志简介
  • HTTPS协议原理---详解六个加密方案
  • 纯css实现坤坤经典动作-“铁山靠”
  • Linux 操作系统原理 — NUMA 体系结构
  • cesium学习记录01
  • Linux延时队列工作原理与实现
  • 【Python】scipy稀疏矩阵的奇异值分解svds
  • 网络安全等级保护基础知识汇总
  • ros1使用过程中遇到的问题记录
  • centos7给已有分区进行扩容
  • package.json
  • 【项目精选】户籍管理系统(视频+论文+源码)
  • 【IP技术】网络安全防护措施