Prometheus及Grafana监控服务的安装使用

前言

Prometheus 是一个开放性的监控解决方案,通过 Node Exporter 采集当前主机的系统资源使用情况,并通过 Grafana 创建一个简单的可视化仪表盘。本篇仅分享简单的安装使用,后续结合前面的安装的服务组件分享具体的使用场景

docker 安装 prometheus(未持久化数据)

sh 复制代码
docker run  -d \
-p 9090:9090 \
-v ./prometheus.yml:/etc/prometheus/prometheus.yml \
--name=prometheus \
prom/prometheus:latest \
--web.enable-lifecycle

配置的 prometheus.yml

yml 复制代码
global:
  scrape_interval: 60s
  evaluation_interval: 60s

scrape_configs:
  - job_name: prometheus
    static_configs:
      - targets: ["localhost:9090"]
        labels:
          instance: prometheus

  - job_name: linux
    static_configs:
      - targets: ["10.10.20.11:9100", "10.10.20.12:9100", "10.10.20.13:9100"]
        labels: appname:'local-linux'

重载配置 curl -X POST http://10.10.20.11:9090/-/reload

docker 安装 grafana(未持久化数据)

css 复制代码
docker run -d --name=grafana -p 3000:3000 grafana/grafana

访问:http://10.10.20.11:3000/ admin/admin

添加数据源,导入模板 12884 即可

docker 安装 node-exporter

暴露节点信息给 Prometheus

sh 复制代码
docker run -d --restart=always \
-p 9100:9100 \
--name node-exporter \
quay.io/prometheus/node-exporter:latest

访问:http://10.10.20.11:9100/

docker-compose 部署 prometheus 及 grafana

yml 复制代码
version: "3"
services:
  # prometheus
  prom:
    restart: unless-stopped
    image: prom/prometheus:v2.39.1
    container_name: prometheus
    command:
      - "--config.file=/etc/prometheus/prometheus.yml"
      - "--storage.tsdb.path=/prometheus"
      - "--web.console.libraries=/etc/prometheus/console_libraries"
      - "--web.console.templates=/etc/prometheus/consoles"
      - "--storage.tsdb.retention=200h"
      - "--web.enable-lifecycle"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml:rw
      - ./prometheus_data:/prometheus
    ports:
      - 9090:9090
  # grafana
  grafana:
    restart: unless-stopped
    container_name: grafana
    image: grafana/grafana:6.7.2
    ports:
      - "3000:3000"
    volumes:
      - ./grafana_data:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin
      - GF_USERS_ALLOW_SIGN_UP=false
    depends_on:
      - prom
#设置权限 chmod 777 ./grafana_data&&chmod 777 ./prometheus_data
  • 设置权限

chmod 777 ./grafana_data && chmod 777 ./prometheus_data

ubuntu 服务器安装 prometheus-node-exporter

  1. 我们执行这个命令来更新可用软件包的列表和它们的所有版本。 sudo apt-get update
  2. 通过这个命令,我们将继续安装软件包 sudo apt-get install prometheus-node-exporter
  3. 要检查你是否已经成功安装了软件包,你可以用下面的命令列出所有已安装的软件包。 dpkg -l prometheus-node-exporter

windows 服务器安装 prometheus-node-exporter

下载地址:github.com/prometheus-...

监控配置

k8s 插件安装

插件名 DevOpsProdigy KubeGraf k8s 监控需要安装插件 DevOpsProdigy KubeGraf,版本用 6.7.2,配置 config basic64 解码配置,进入容器中 安装依赖 grafana-cli plugins install grafana-piechart-panel

clickhouse 插件安装

插件名 vertamedia-clickhouse-datasource

redis 监控

  • 安装 redis_exporter docker pull oliver006/redis_exporter

  • 运行 docker run -d --restart=always --name redis_exporter -p 9121:9121 oliver006/redis_exporter --redis.addr redis://192.168.0.666:6380

  • 配置 prometheus.yml

yml 复制代码
- job_name: "redis_exporter_targets"
  static_configs:
    - targets:
        [
          "redis://192.168.0.147:6380",
          "redis://192.168.0.149:6380",
          "redis://192.168.0.150:6380",
        ]
  metrics_path: /scrape
  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 192.168.0.149:9121

grafana 面板推荐

  • version:v6.7.2
  • envoy:11021
  • windows:12566
  • Linux:10180
    • k8s:插件 DevOpsProdigy KubeGraf,配置 config basic64 解码配置,进入容器中 安装依赖 grafana-cli plugins install grafana-piechart-panel
  • redis:763
  • clickhouse:2515,需要安装插件并配置数据源 grafana-cli plugins install vertamedia-clickhouse-datasource 1.9.5
相关推荐
张彦峰ZYF4 分钟前
停顿短不等于延迟低:G1、ZGC 与低延迟服务的目标分野、代价账本与选型标定
后端·回收暂停、应用停止总时长·到达安全点、分配停滞·屏障吃吞吐、并发线程吃核心·并发窗口吃堆余量·分区式靠挑回收集兑现目标·染色指针式不支持压缩引用
pride.li35 分钟前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
upala1 小时前
【仓颉语言入门 · 第二篇 第 6 课】
后端
罗丹丹Luna1 小时前
移动端显示“已提交”以后:SAP 与低代码集成该怎样暴露真实状态
后端·架构
码事漫谈1 小时前
因为太想讨好你,所以AI会骗你
后端
吴凡wudianmei1 小时前
每调一次模型都花钱?如何用工程手段把调用压到最少?
前端·后端·架构
花间相见1 小时前
【计算基础|MySQL01】【上手】安装连接、数据类型与建库建表
数据库·后端
花间相见1 小时前
【计算基础|MySQL02】【上手】SQL 增删改查
数据库·后端
姜鱼问生2 小时前
密码明明一样,为什么 GPG 说“错的“?
后端·算法·架构
.Bryce.2 小时前
在智能体中使用A2A工具:让大模型自己决定“该找谁帮忙“
android·java·服务器·redis·后端·agent·a2a