• prometheus + grafana + pushgateway 搭建监控可视化系统


    使用prometheus + grafana + pushgateway搭建监控可视化系统

    安装docker环境

    # yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    # yum -y install docker-ce git
    
    # systemctl start docker
    # systemctl enable docker
    
    

    安装prometheus + grafana + pushgateway

    安装 prometheus+ grafana + pushgateway

    • 获取docker-compose.yaml
    # cd /opt/
    # git clone https://github.com/evnsio/prom-stack.git
    # cd prom-stack
    
    • 设置持久化
    version: "3"
    services:
    
      pushgateway:
        image: prom/pushgateway:v0.4.0
        command: --persistence.file=/pushgateway/pushgateway.data
        ports:
          - 9091:9091
        volumes:
          - ./data/pushgateway:/pushgateway
    
      prometheus:
        #image: prom/prometheus:v2.0.0
        image: prom/prometheus:v2.18.1
        command: --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.retention=60d
        user: 0:0
        ports:
          - 9090:9090
        volumes:
          - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
          - ./prometheus/alerts/:/etc/prometheus/rules.d/
          - ./data/prometheus:/prometheus
    
      grafana:
        #image: grafana/grafana:4.6.2
        image: grafana/grafana:6.7.1
        ports:
          - 3000:3000
        volumes:
          - ./data/grafana:/var/lib/grafana
        environment:
          - GF_SECURITY_ADMIN_PASSWORD=password
    
      alertmanager:
        image: prom/alertmanager:v0.11.0
        command: --config.file=/etc/alertmanager/alertmanager.yml
        ports:
          - 9093:9093
        volumes:
          - ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml
    

    grafana使用默认用户名密码 admin password 登陆

    • 安装 docker-compse
    ## 安装Docker-compose
    
    # curl "https://dl.cactifans.com/zabbix_docker/docker-compose" -o /usr/bin/docker-compose
    # chmod a+x /usr/bin/docker-compose
    
    ##  查看docker-compose版本
    
    # docker-compose version
    
    • 创建目录
    ## 创建目录
    # mkdir /data/monitor/prom-stack/data/{grafana,prometheus,pushgateway}
    
    ## 修改grafana目录属主和属组,否则容器无法启动
    # chown 472:472 -R /data/monitor/prom-stack/data/grafana
    
    
    • 启动服务
    # cd /opt/prom-stack
    # docker-compose -f docker-compose.yml pull
    # docker-compose -f docker-compose.yml up -d
    

    查看服务安装情况

    # docker-compse ps
    
    # docker ps -a
    

    使用curl生成测试数据

    • 可以使用$RANDOM来生成随机数
    # while true; do
        echo "mymetric $RANDOM" | curl --data-binary @- http://localhost:9091/metrics/job/my-push-job
        sleep 1
    done
    

    "mymetric"就是这个被监控的指标,这个监控指标推送到pushgateway比较简洁直观的

    可以看到测试的数据已经进入pushgateway了

    在grafana配置可视化界面

    配置从prometheus里获取监控数据

    • 查看操作结果

    创建监控数据展示页面

    • 选择graph类型的展示效果

    • 点击"Panel Title"选择Edit

    • 在查询参数处使用这个条件
    mymetric{exported_job="my-push-job",instance="172.16.0.1:9091",job="prom-stack"}
    

    查询出这一步生成的用来测试的监控数据,点击保存生成图表

    参考文档

    https://juejin.im/post/5ce3e44bf265da1bd260c157
    
  • 相关阅读:
    java 开发webservice
    myeclipse下jsp页面汉字不能保存问题
    java web项目的部署
    Java小白手记:WEB项目等
    操作系统学习笔记:虚拟内存
    面向接口编程
    WEB端应该使用DataTable/DataSet吗?
    ExtJs grid合并单元格
    操作系统学习笔记:内存管理
    Oracle中长度为0字符串与null等价
  • 原文地址:https://www.cnblogs.com/evescn/p/12843653.html
Copyright © 2020-2023  润新知