• Grafana笔记


    搭建服务器性能监测通过基于Docker,prometheus+grafana+node-exporter实现.

    prometheus理解为一个时序数据库,并产生一个脚本去定时抓取数据.

    node-exporter可以抓取设备的一些数据信息.

    grafana为一个可视化的Dashboard。可以配置一些数据库展示数据.

    ----文件夹目录

    1.创建docker-compose.yml

    version: '3.1'
    services:
      node-exporter:
        container_name: node-exporter
        image: prom/node-exporter
        ports:
         - 9188:9100

    2.docker-compose up -d 启动即可 端口9188 点击metrics看到如下页面代表成功抓取数据信息

     

    3.prometheus和grafana配置docker-compose.yml

    version: '3.1'
    services:
      # 添加 普罗米修斯服务
      prometheus:
        # Docker Hub 镜像
        image: prom/prometheus
        # 容器名称
        container_name: prometheus
        # 容器支持自启动
        restart: always
        # 容器与宿主机 端口映射
        ports:
          - 9090:9090
       # 将宿主机中的config文件夹,挂载到容器中/config文件夹
        volumes:
          - ./prometheus.yml:/etc/prometheus/prometheus.yml
    
      # 添加监控可视化面板
      grafana:
        image: grafana/grafana
        container_name: grafana
        hostname: grafana
        restart: always
        ports:
          - 3000:3000
        volumes:
          - ./grafana:/var/lib/grafana
        

    4.配置prometheus的配置文件prometheus.yml

    global:
      scrape_interval: 5s
      evaluation_interval: 5s
    
    scrape_configs:
      - job_name: prometheus
        static_configs:
          - targets: ['localhost:9090']
          
      - job_name: node
        static_configs:
          - targets: ['172.20.10.11:9188']

    5.docker-compose up -d 启动.

    6.个人理解: node-exporter抓取数据,prometheus开启两个脚本,一个定时抓取exporter数据,另一个是监听自己.而自己本身是一个数据库。在grafana里面的数据源的地址需要写监听自己的那个地址.地址的ip不能写localhost或127.0.0.1(mac本机)而是写ipv4的那个地址本次为172.20.10.11,否则的话locahost不会变成宿主而还是自己,比如在grafana中写localhost无法访问到prometheus,他们在各自的容器中。当然在docker-conpose中可以配置link。在prometheus中访问localhost:9188也无法访问到exporter。在grafana中看到数据源prometheus中实例就是监听到的9188的exporter,自己本身是一个数据库.充当一个接口。通俗的说就是prometheus为数据源,数据源中有他监听的主机。配置多个主机可以通过,英文逗号隔开在[]中。Grafana模板:8919

     

     

  • 相关阅读:
    NJUPT_Wrj 个人训练实录
    图片保存本地,上传阿里云,保存该图片 在阿里云的 路径 到 本地数据库
    微信所有国家列表
    YII load()
    ab命令压力测试
    fatal: Could not read from remote repository
    JS获取URL中参数值的4种方法
    yii 生成 模型
    php子类是否自动调用父类构造函数
    自己实现一个简化版的SpringMVC框架
  • 原文地址:https://www.cnblogs.com/cdjbolg/p/14416331.html
Copyright © 2020-2023  润新知