Docker 方式搭建 Prometheus + grafana

2023-05-16

prometheus 官方仓库

prometheus 官方文档
GETTING STARTED

参考
基于docker 搭建Prometheus+Grafana的过程详解

按照官方仓库文档中写的

Docker images
Docker images are available on Quay.io or Docker Hub.

You can launch a Prometheus container for trying it out with

$ docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
Prometheus will now be reachable at http://localhost:9090/.

因为服务器上没有UI,所以 docker run 端口映射中去掉 127.0.0.1:
以便在桌面电脑上访问

$ docker run --name prometheus -d -p 9090:9090 prom/prometheus

只安装 Prometheus 并访问 Prometheus 服务,会一头雾水!
就一个 Found

$ curl http://localhost:9090/.
$ curl 192.168.1.205:9090

Found.

简单了解 Prometheus 远离之后,才明白 Found 只是说发现了 Found 服务,并没有配置任何监控对象 ( targets )和指标 ( metrics )

按照以上参考 基于docker 搭建Prometheus+Grafana的过程详解 ,一次创建 3 个 Dcoker

学习环境

Prometheus 服务主机
Ubuntu 20.04 Server 192.168.1.203

准备以上 3 个镜像

  1. Prometheus 服务

    docker pull prom/prometheus

  2. 服务器本机 Linux系统信息 exporter 到 Prometheus
    提供 Prometheus 服务的 targets

    docker pull prom/node-exporter

  3. 为Prometheus 服务提供图形仪表盘

    docker pull grafana/grafana

启动以上 3 个容器

  1. 挂载一个 /opt/prometheus/prometheus.yml 到prometheus容器

     docker run -d --name prometheus -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
    
  2. 挂载本机 /proc /sys 和 根目录 到 node-exporter

    docker 命令来自于
    https://github.com/prometheus/node_exporter
    或者
    https://gitcode.net/mirrors/prometheus/node_exporter?utm_source=csdn_github_accelerator

     docker run -d -p 9100:9100 \
      -v "/proc:/host/proc:ro" \
      -v "/sys:/host/sys:ro" \
      -v "/:/rootfs:ro" \
      --net="host" \
      prom/node-exporter
    
  3. 按照Docker 安装grafana 官方文档

    Run Grafana Docker image

    $ sudo mkdir /opt/grafana-storage
    $ sudo chmod 777 -R /opt/grafana-storage
    挂载 /opt/grafana-storage 目录,用于存放 grafana 数据

     docker run -d \
     -p 3000:3000 \
     --name=grafana \
     -v /opt/grafana-storage:/var/lib/grafana \
     grafana/grafana
    

配置 /opt/prometheus/prometheus.yml

  1. 前一步只是启动了prometheus容器时挂载了一个配置文件,但是,还没有具体内容

  2. 原始的prometheus.yml 样本可以从 GETTING STARTED 抄写过来
    在文档的这里: Configuring Prometheus to monitor itself

  3. 我是照着以上参考文档抄写的

  4. 照着 job_name: prometheus 复制一份 - job_name: linux-203
    注意 ip 地址和端口

    $ vim /opt/prometheus/prometheus.yml

     	global:
     	  scrape_interval:     60s
     	  evaluation_interval: 60s
     	 
     	scrape_configs:
     	  - job_name: prometheus
     	    static_configs:
     	      # - targets: ['localhost:9090']
     	      - targets: ['192.168.1.203:9090']
     	        labels:
     	          instance: prometheus
     	  - job_name: linux-203
     	    static_configs:
     	      - targets: ['192.168.1.203:9100']
     	        labels:
     	          instance: linux-203
    
  5. 重启 Docker prometheus

    docker restart prometheus

查看 Prometheus 的 graph 和 targets

  1. http://192.168.1.203:9090/graph

    这个也不知道怎么使用
    后面大家都直接使用 grafana ,所以,这个 graph 就不再深入学习
    在这里插入图片描述

  2. http://192.168.1.203:9090/targets

    这里可以看到,/opt/prometheus/prometheus.yml 中的 2 个 job 都已经 UP

在这里插入图片描述

配置 grafana 仪表盘

详细步骤另外写了一个博文

Prometheus 监控linux服务器

  1. 启动 grafana 容器,打开 grafana 的 url

    前面已经启动了 grafana 容器,所以,直接打开

    http://192.168.1.203:3000

    初次用户名、密码都是 admin
    进入首页,开始学习就是 2 个任务
    Add your first data sourceCreate your first dashboard

在这里插入图片描述

  1. 配置 datasource

    初次学习时,对 datasouce 概念不太明白,直接选头一项 Prometheus 就好

    除了 URL 改成自己的 ip 和端口 (例如: http://192.168.1.203:9090),其余都直接缺省!

    点一次他就会增加一个 datasouce , Name 会自动加1 (例如:Prometheus-1、Prometheus-2)

    多出来的都可以点击下方 delete 掉!只保留一个 Prometheus ,作为 default ,省的后续干扰

在这里插入图片描述

  1. 配置 dashboard

    不要点首页那个 Create your first dashboard ,打开之后,不知所措!
    在这里插入图片描述
    感觉这些操作都是一些高级前端操作,入门学习不知所云!
    点击左边那个 + ,选择 import
    在这里插入图片描述
    因为前面只有一个 job (linux-203),输入一个大家推荐的 dashboard ID : 1860 ,直接 locad ,就可以看到效果了!

在这里插入图片描述
这个 ID 为 1860 的模版可以从 grafana 市场或同类,search 到!

https://grafana.com/grafana/dashboards/

在这里输入关键字,就可以找到很多可用的 dashboard 模版!
例如:我们这个是监控本机 linux 系统信息,就输入关键字 : linux

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker 方式搭建 Prometheus + grafana 的相关文章

随机推荐

  • 【Android开发—智能家居系列】(二):用手机对WIFI模块进行配置

    在实际开发中 xff0c 我开发的这款APP是用来连接温控器 xff0c 并对温控器进行控制的 有图为证 xff0c 哈哈 上一篇文章 Android开发 智能家居系列 xff08 一 xff09 xff1a 智能家居原理 的文末总结中写到
  • 【POI】——获得单元格的值,并转化成字符串

    本篇文章分享一些在做导入导出EXCEL功能时用到的工具类的一些代码 span class hljs javadoc span class hljs javadoctag 64 param span cell span class hljs
  • ElementUI实现文件手动上传

    ElementUI实现文件手动上传 HTML部分 lt el upload ref 61 34 upload 34 multiple 61 34 true 34 file list 61 34 fileList 34 auto upload
  • 【工具篇】——利用EditPlus进行Json数据格式化

    从接口返回的数据基本都是json格式的数据 之前我要查看数据的内容 xff0c 为了方便我阅读 xff0c 我会直接复制这段数据到在线JSON校验格式化工具中进行格式化和校验 但是没网的时候 xff0c 就不能靠它了 而EditPlus是我
  • 【GIS】——mapnik在windows上的安装

    mapnik是瓦片生成器 这里先不解释了 xff0c 等用过了再谈理解 下载步骤 1 下载安装包 官网地址 xff1a http mapnik org http mapnik org pages downloads html 3 0 12还
  • 【GIS】——使用Python bindings操作mapnik

    背景介绍 使用mapnik有三种方式 xff1a 1 使用XML配置文件 2 使用Python bindings 3 使用C 43 43 中的API 这里我们先介绍第二种Python bindings xff0c 并采用这种方式做一个Dem
  • 【MongoDB】(一)——关于MondoDB索引的总结

    导读 为数据创建索引有助于提高查询数据的性能 xff0c 本篇文章总结了创建MongoDB索引应遵循的规则 我将这些规则分成四类 xff1a 1 query 2 sort 3 RAM 4 selectivity query db span
  • 【开发也是好测试】(四)—Mock

    有关Mock的思维导图 xff1a
  • 【MongoDB】——TTL Index

    TTL Index
  • ubuntu下的串行口通讯编程

    Linux 操作系统从一开始就对串行口提供了很好的支持 xff0c 本文就 Linux 下的串行口通讯编程进行简单的介绍 串口简介 串 行口是计算机一种常用的接口 xff0c 具有连接线少 xff0c 通讯简单 xff0c 得到广泛的使用
  • stm32 摄像头寻迹+平衡车

    链接 xff1a http download csdn net download u010925447 9866006
  • 【书籍推荐】自己动手写操作系统

    于渊 编著 尤晋元 审校 2005年8月出版 ISBN 7 121 01577 3 48 00元 xff08 含光盘1张 xff09 374页 用理论指导动手实践 xff0c 用实践深化理解理论 xff01 本书在详细分析操作系统原理的基础
  • 贝塔、伽马分布

    最近开始自学PRML xff0c 为此又补了概率论中的一些知识点 相较于古典概率通过各种估计手段来确定参数的分布 xff0c 贝叶斯学派则是使用后验概率来确定 xff0c 为了方便计算后验概率 xff0c 引入共轭先验分布来方便计算 xff
  • elementUI中el-dropdown的command如何传递多个参数

    el dropdown的command事件默认传递一个参数 xff0c 即每个下拉选项el dropdown item中设定的command的值 xff0c 那么如何传递多个参数呢 xff1f 实现方法 xff1a 动态设置el dropd
  • 记录ubuntu18.04下搭建nuttx RTOS的过程

    官方参考链接 xff1a https nuttx apache org docs latest quickstart install html Getting started 61 61 gt Installing 主要记录一下按照链接指导
  • 词袋

    brief描述子 一般Sb 61 48 Lb为256 brief描述子不具备旋转尺度不变性 词袋 提取大量图片的描述子 xff0c 将描述子用k means聚类成K堆 xff0c 这是第n层 xff0c 把每一堆再次聚类形成下一层 xff0
  • 板子和电脑配置ros通信

    它们需要连在同一个路由器上 1 获取板子和电脑的ip 比如板子名为RV1126 RV1109 xff0c ip为192 168 5 48 电脑名为qian hw xff0c ip为192 168 5 25 2 在电脑端设置 xff1a ba
  • 通过跟踪效果来看vins输出结果

    下面是vins跑出来的结果 xff0c vio输出是绿线轨迹 线速度是0 28m s xff0c 拐角的地方是我根据蓝线把vio轨迹掰正了 vio在初始阶段走的比较弯曲 xff0c 后有一段笔直的轨迹 xff0c 这里旋转非常慢 xff0c
  • vins-fusion 融合rtk原理

    vins fusion融合rtk原理 xff1a 使用优化的方式融合 xff0c 假设融合后的位姿是fusion T n vio输出的位姿是vio T n xff0c rtk输出的位姿是rtk T 只有最后一帧 那么 fusion T的初值
  • Docker 方式搭建 Prometheus + grafana

    prometheus 官方仓库 prometheus 官方文档 GETTING STARTED 参考 基于docker 搭建Prometheus 43 Grafana的过程详解 按照官方仓库文档中写的 Docker images Docke