热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

安装docker环境#yum-config-manager--add-repohttp:mirrors.aliyun.comdocker-celinuxcentosdocker-c

安装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: "http://172.16.0.1:9091/"

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

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

在grafana配置可视化界面

配置从prometheus里获取监控数据

  • 在浏览器里打开grafana:http://172.16.0.1:3000 配置好prometheus监控数据服务器的地址

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

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

  • 查看操作结果

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

创建监控数据展示页面

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

  • 选择graph类型的展示效果

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

  • 点击"Panel Title"选择Edit

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

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

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

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

参考文档

https://juejin.im/post/5ce3e44bf265da1bd260c157

推荐阅读
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • CSS Border 属性:solid 边框的使用详解
    本文详细介绍了如何在CSS中使用solid边框属性,包括其基本语法、应用场景及高级技巧,适合初学者和进阶用户参考。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 本文详细介绍了在尝试启动MySQL服务时,如果遇到错误提示‘MySQL未运行,但锁定文件(/var/lock/subsys/mysql)存在’应如何处理,包括具体的操作步骤和可能的原因分析。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 本文深入探讨了Go语言中的接口型函数,通过实例分析其灵活性和强大功能,帮助开发者更好地理解和运用这一特性。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • 如何在PHP中安装Xdebug扩展
    本文介绍了如何从PECL下载并编译安装Xdebug扩展,以及如何配置PHP和PHPStorm以启用调试功能。 ... [详细]
author-avatar
你看看我的世界_420
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有