docker部署Prometheus+Cadvisor+Grafana实现服务器监控

news2024/11/19 9:24:00

一:Prometheus

1:介绍:

Prometheus是一个在SoundCloud上构建的开源系统监视和警报工具包

2:特点

  • 多维度数据模型-由指标键值对标识的时间序列数据组成;
  • PromQL,一种灵活的查询语言;
  • 不依赖分布式存储; 单个服务器节点是自治的;
  • 以HTTP方式,通过pull模型拉取时间序列数据;
  • 支持通过中间网关推送时间序列数据;
  • 通过服务发现或者静态配置,来发现目标服务对象;
  • 支持多种多样的图表和界面展示。

3:docker部署Prometheus

(1)拉取Prometheus
docker pull prom/prometheus
(2)配置Prometheus

新建一个prometheus.yml

global:
  # 每15s获取一次数据指标
  scrape_interval: 15s
  # 获取数据超时时长 10s
  scrape_timeout: 10s
  # 规则评估评率,即计算指标是否有触发规则的计算频率
  evaluation_interval: 15s

# 规则文件,从所有匹配的文件中读取规则和警报
rule_files:
  - "alert_rules.yml"

# 采集配置列表
scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node'
    scrape_interval: 8s
    static_configs:
      - targets: ['node-exporter:9100']

  - job_name: 'cadvisor'
    static_configs:
      - targets: ['cadvisor:8080']

新建一个规则文件alert_rules.yml

groups:
- name: targets
  rules:
  - alert: monitor_service_down
    expr: up == 0
    for: 30s
    labels:
      severity: critical
    annotations:
      summary: "Monitor service non-operational"
      description: "Service {{ $labels.instance }} is down."

- name: host
  rules:
  - alert: high_cpu_load
    expr: node_load1 > 1.5
    for: 30s
    labels:
      severity: warning
    annotations:
      summary: "Server under high load"
      description: "Docker host is under high load, the avg load 1m is at {{ $value}}. Reported by instance {{ $labels.instance }} of job {{ $labels.job }}."

  - alert: high_memory_load
    expr: (sum(node_memory_MemTotal_bytes) - sum(node_memory_MemFree_bytes + node_memory_Buffers_bytes + node_memory_Cached_bytes) ) / sum(node_memory_MemTotal_bytes) * 100 > 85
    for: 30s
    labels:
      severity: warning
    annotations:
      summary: "Server memory is almost full"
      description: "Docker host memory usage is {{ humanize $value}}%. Reported by instance {{ $labels.instance }} of job {{ $labels.job }}."

  - alert: high_storage_load
    expr: (node_filesystem_size_bytes{fstype="aufs"} - node_filesystem_free_bytes{fstype="aufs"}) / node_filesystem_size_bytes{fstype="aufs"}  * 100 > 85
    for: 30s
    labels:
      severity: warning
    annotations:
      summary: "Server storage is almost full"
      description: "Docker host storage usage is {{ humanize $value}}%. Reported by instance {{ $labels.instance }} of job {{ $labels.job }}."
(3)运行Prometheus
docker run -d --name=prometheus -p 9090:9090 -v ./prometheus[创建的配置文件目录]:/etc/prometheus -v ./opt/data/prometheus[prometheus数据需要存储的地址]:/prometheus prom/prometheus
(4)访问Prometheus

访问127.0.0.1:9090如下表示安装成功

二:Cadvisor

1:介绍

 Cadvisor 是Google用来监测单节点资源信息的监控工具。 Cadvisor 提供了基础查询界面和http接口,方便其他组件如Grafana 、Prometheus等进行数据抓取。Cadvisor 可以对Docker主机上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况等。Cadvisor 使用Go语言开发,利用Linux的Cgroups获取容器的资源使用信息。

2:特点

  • 可以展示主机和容器两个层次的监控数据。
  • 可以展示历史变化数据。
  • 谷歌公司的开源产品。
  • 监控指标齐全。
  • 方便部署,有官方的docker镜像。
  • 默认只在本地保存1分钟数据,可以集成InfluxDB等第三方存储使用。

3:docker部署Cadvisor

(1)拉取Cadvisor
docker pull google/cadvisor
(2)运行Cadvisor
docker run -d --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor google/cadvisor:latest
(3)访问Cadvisor

访问127.0.0.1:8080如下表示安装成功

三:Grafana

1:介绍

Grafana是一个可视化面板(Dashboard)工具,有着非常漂亮的图表和布局等展示功能,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB等组件作为数据源。

2:特点

  • 灵活丰富的图形化选项;
  • 可以混合多种风格;
  • 支持白天和夜间模式;
  • 支持多个数据源;

3:docker部署Grafana

(1)拉取Grafana
docker pull grafana/grafana
(2)运行Grafana
docker run -d --name=grafana -p 3000:3000 grafana/grafana
(3)访问Grafana

访问127.0.0.1:3000如下表示安装成功(默认账号密码都为admin)

(4)Grafana配置

1.添加Prometheus数据源 Connections -> Data sources -> Add new data source -> 选择Prometheus 设置Prometheus server URL 为http://prometheus:9090然后保存

2.添加Dashboards仪表板 Dashboards -> import -> 导入仪表板 可用的仪表版模板:

Node Exporter Dashboard 220417 通用Job分组版

Docker monitoring with service selection

3.设置首页默认仪表板 Administration -> Default preferences -> 选择Home Dashboard

4.语言设置 用户头像 -> Profile -> 选择Language

四:dockers部署Prometheus+Cadvisor+Grafana

参考:https://download.csdn.net/download/huaweichenai/88537114

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1210601.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端JS解构数组对象

// 3. 对象数组解构const arr [{username: 小明,age: 18,agw:19},{username: 小ha,age: 18,agw:19}]arr.map(item>item.age)//js结构数组对象console.log( arr.map(item>{return {aaa:item.age,bbb:item.username}}))

【Proteus仿真】【Arduino单片机】DHT11温湿度

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、DHT11温湿度传感器等。 主要功能: 系统运行后,LCD1602显示传感器采集温度和湿度。 二、软件设…

基于JAVA SpringBoot和HTML美食网站博客程序设计

摘要 美食网站是一个提供各种美食信息和食谱的网站,旨在帮助用户发现、学习和分享美食。旨在探讨美食网站在现代社会中的重要性和影响。随着互联网的普及,越来越多的人开始使用美食网站来获取各种美食信息和食谱。这些网站不仅提供了方便快捷的搜索功能&…

Live800:客服中心必备的7种客户服务原则

在现代商业社会中,客户服务已经成为企业竞争的重要因素之一。提供高质量的客户服务可以帮助企业赢得客户的忠诚度和信任,从而推动企业的发展。客服中心是企业与客户之间的桥梁,对于客户服务的质量要求更高。为了提高客服中心的服务质量&#…

冰点还原精灵Deep Freeze for mac:Mac用户的最佳系统保护选择

你是否曾在Mac上安装软件后,发现系统性能下降,或者某些应用程序无法正常运行?这些问题可能让你感到困扰,但幸运的是,有一个解决方案可以帮你解决这些问题——Faronics Deep Freeze for mac。 Deep Freeze for mac是一…

【fbtft】如何添加fbtft驱动

获取lcd ic的datasheet,或者直接找到其他平台(linux,stm32,esp32)的驱动 我用的是合宙的esp32驱动,注意是c语言的,合宙上层用lua封装了,需要找到sdk源码。 源码路径: …

解决Python中使用requests库遇到的身份验证错误

在使用requests库进行HTTP请求时,用户遇到了一个AuthenticationRequired(身份验证必须)的错误。然而,当使用urllib.request.urlopen执行相同的操作时,却能够成功。同时,用户提供了自己的系统信息&#xff0…

哔哩哔哩自动引流软件的运行分享,以及涉及到技术与核心代码分享

先来看实操成果,↑↑需要的同学可看我名字↖↖↖↖↖,或评论888无偿分享 大家好,我是一名专注于自动引流软件研发的技术专家。今天,我将与大家分享自动引流软件涉及到的技术与核心代码,希望能为大家提供一些有价值的参…

论文笔记——BiFormer

Title: BiFormer: Vision Transformer with Bi-Level Routing AttentionPaper: https://arxiv.org/pdf/2303.08810.pdfCode: https://github.com/rayleizhu/BiFormer 一、前言 众所周知,Transformer相比于CNNs的一大核心优势便是借助自注意力机制的优势捕捉长距离…

Kohana框架的安装及部署

Kohana框架的安装及部署 tipsKohana安装以及部署1、重要文件作用说明1.1 /index.php1.2 /application/bootstrap.php 2、项目结构3、路由配置3.1、隐藏项目入口的路由3.2、配置默认路由3.3、配置自定义的路由(Controller目录下的控制器)3.4、配置自定义的路由(Controller/direc…

java排序算法之桶排序

图解 桶排序(Bucket sort)是一个排序算法,它的主要思想是将需要排序的数据分到有限数量的桶里。每个桶里的数据再进行单独的排序,最后按照顺序将每个桶里的数据依次取出,即可完成排序。 桶排序的具体实现可以分为以下几…

软件项目验收测试计划

验收测试计划 1.基本信息 2.项目成果及验收要求 2.1项目成果 2.2验收要求 1、满足业务风险控制法律法规要求。 3.验收组织 4.产品交付 5.产品安装 5.1环境要求 5.2数据库配置 5.3程序配置 6.验收测试方案 6.1测试 依据 6.2测试要求 6.3测试方法 6.4测试工作流程 6.5测试通过准则…

Spring 只用一招,就摆脱被垃圾回收的命运,拯救了自己

SpringBoot ApplicationContext 会被 JVM 当成垃圾对象,然后回收掉吗? 最近五阳哥在复习JVM 垃圾回收的知识,被别人问到这个问题,我心里感到一惊,如果Spring 被回收掉,Spring管理的bean全部会被回收&#…

dubbo服务超时导致的异常

今天服务器启动项目时,页面刷新报错: 查看日志时报错信息为: 解决: 在对应服务的配置文件中配置dubbo超时时间: 随后问题得到解决,特此记录

【Linux】初识网络

目录 背景 协议 什么是协议 协议分层 OSI七层模型 TCP/IP模型 网络协议栈与 OS 的关系 网络传输 局域网中直接通信 数据的封装与分用 局域网通信原理 数据碰撞 跨路由器进行远端通信 IP的介绍 传输演示 背景 🧊一开始,计算机都是一台台独…

【Proteus仿真】【Arduino单片机】HC-SR04超声波测距

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器,使用PCF8574、LCD1602液晶、HC-SR04超声波传感器等。 主要功能: 系统运行后,LCD1602显示超声波检测距离。 二、软件设计 …

禁止chrome浏览器将HTTP协议强转成HTTPS

操作步骤 1.在浏览器中输入chrome://flags/ 2.在搜索框中输入upgrade,找到HTTPS Upgrades,将default改成disabled。 3.重启chrome浏览器即可生效。

QQ录制视频保存到哪了?位置一览,让你轻松找回

现如今,录制视频成为我们日常生活和工作的一部分。qq是中国最流行的社交媒体平台之一,许多用户使用qq录屏功能来记录重要时刻。但是,很多人不知道qq录制视频保存到哪了。本文将深入研究qq录制视频功能,以帮助您了解如何存储和管理…

关于跨域问题的个人理解

我也工作蛮多年了,期间既做过前端也做过后端。对于跨域问题,究竟是由前端程序员还是后端程序员来解决,我在不同的时期有不同的理解。现在,我更倾向于认为跨域问题应该由前端程序员来解决,即使在解决跨域问题的过程中涉…

流量分析(5.5信息安全铁人三项赛数据赛题解)

黑客通过外部的web服务器攻击到企业内部的系统中,并留下了web后门,通过外部服务器对内部进行了攻击。 目录 黑客攻击的第一个受害主机的网卡IP地址 黑客对URL的哪一个参数实施了SQL注入 第一个受害主机网站数据库的表前缀(加上下划线 例如abc_) 第一…