使用 Docker 部署 Prometheus + Grafana 监控平台

本文介绍了Prometheus,一个基于HTTP的开源监控系统,其特点包括多维数据模型和灵活查询,适用于Docker等容器环境。文章详细讲述了如何在CentOS上部署Prometheus和Grafana,以及它们在监控平台中的作用。
摘要由CSDN通过智能技术生成

一、Prometheus 简介

==================================================================================

Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,由 SoundCloud 公司开发。

Prometheus 基本原理是通过 HTTP 协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供 HTTP 接口就可以接入监控系统,不需要任何 SDK 或者其他的集成过程。这样做非常适合虚拟化环境比如 VM 或者 Docker 。

Prometheus 应该是为数不多的适合 Docker、Mesos、Kubernetes 环境的监控系统之一。

1.Prometheus 特点


  • 多维数据模型(有 metric 名称和键值对确定的时间序列)

  • 灵活的查询语言。

  • 不依赖分布式存储。

  • 通过 pull 方式采集时间序列,通过 http 协议传输。

  • 支持通过中介网关的 push 时间序列的方式。

  • 监控数据通过服务或者静态配置来发现。

  • 支持图表和 dashboard 等多种方式。

2.Prometheus 架构


在这里插入图片描述

  • Prometheus 主程序:主要是负责存储、抓取、聚合、查询方面。

  • Alertemanager 程序:主要是负责实现报警功能。

  • Pushgateway 程序:主要是实现接收有 Client-push 过来的指标数据,在指定的时间间隔,有主程序来抓取。

  • *_exporter 程序:主要是负责采集物理机、中间件的信息。

二、部署 Prometheus + Grafana 监控平台

=================================================================================================

准备工作:

| 主机名 | 操作系统 | IP地址 |

| — | — | — |

| Docker | CentOS 7.7 | 192.168.1.1 |

1.安装 Docker


1)安装需要的软件包

[root@Docker ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

2)设置 Docker 的 yum 源

[root@Docker ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@Docker ~]# yum-config-manager \

–add-repo \

https://download.docker.com/linux/centos/docker-ce.repo

在这里插入图片描述

3)安装 Docker

  • 可使用 yum list docker-ce --showduplicates | sort -r 命令来查看 Docker 的所有版本。

[root@Docker ~]# yum -y install docker-ce-17.12.1.ce #安装Docker

4)启动 Docker 并设置开启自启

[root@Docker ~]# systemctl start docker

[root@Docker ~]# systemctl enable docker

5)验证 Docker 是否安装成功

[root@Docker ~]# docker version #查看Docker版本

在这里插入图片描述

6)配置 Docker 加速器

[root@Docker ~]# cat < /etc/docker/daemon.json

{

“registry-mirrors”: [

“https://1nj0zren.mirror.aliyuncs.com”,

“https://docker.mirrors.ustc.edu.cn”,

“http://f1361db2.m.daocloud.io”,

“https://registry.docker-cn.com”

]

}

END

[root@Docker ~]# systemctl daemon-reload #重新加载systemd配置

[root@Docker ~]# systemctl restart docker #重启Docker

在这里插入图片描述

2.安装 Prometheus


[root@Docker ~]# docker pull prom/prometheus

[root@Docker ~]# docker run -itd --name=prometheus --restart=always -p 9090:9090 prom/prometheus

在这里插入图片描述

容器创建成功后,即可通过浏览器访问 http://192.168.1.1:9090 来进行验证

在这里插入图片描述

3.安装 Grafana


  • Grafana 是一个跨平台开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。

[root@Docker ~]# docker pull grafana/grafana

[root@Docker ~]# docker run -itd --name=grafana \

–restart=always \

-p 3000:3000 \

-v $PWD/grafana-storage:/var/lib/grafana \

grafana/grafana

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

最后

这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。

image

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。

[外链图片转存中…(img-QXJ0QVjv-1712320312104)]

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

  • 22
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Docker部署PrometheusGrafana的步骤: 1. 安装DockerDocker Compose 如果你还没有安装DockerDocker Compose,可以参考官方文档进行安装。 2. 创建Docker Compose文件 在本地创建一个文件夹(例如:`prometheus-grafana`),并在其中创建一个`docker-compose.yml`文件,用于定义PrometheusGrafana服务。 在文件中,添加以下内容: ``` version: '3' services: prometheus: image: prom/prometheus container_name: prometheus ports: - "9090:9090" volumes: - ./prometheus:/etc/prometheus command: - --config.file=/etc/prometheus/prometheus.yml restart: always grafana: image: grafana/grafana container_name: grafana ports: - "3000:3000" volumes: - ./grafana:/var/lib/grafana restart: always ``` 这个文件定义了两个服务:`prometheus`和`grafana`。`prometheus`服务将使用`prom/prometheus`镜像,并将本地`./prometheus`目录挂载到容器中`/etc/prometheus`目录,`grafana`服务将使用`grafana/grafana`镜像,并将本地`./grafana`目录挂载到容器中`/var/lib/grafana`目录。 3. 创建Prometheus配置文件 在本地创建`prometheus`文件夹,在其中创建一个`prometheus.yml`文件,用于定义Prometheus监控的目标和规则。 在文件中,添加以下内容: ``` global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] ``` 这个文件定义了一个`prometheus`作业,将使用Prometheus默认的`localhost:9090`目标进行监控。 4. 运行Docker Compose 在终端中,进入`prometheus-grafana`目录,并运行以下命令: ``` docker-compose up -d ``` 这将启动PrometheusGrafana服务,并将它们置于后台运行。你可以使用以下命令检查服务是否正在运行: ``` docker-compose ps ``` 5. 访问Grafana 在浏览器中,访问`http://localhost:3000`,使用默认的用户名和密码(admin/admin)登录Grafana。 现在,你可以在Grafana中添加一个数据源,选择Prometheus,并将URL设置为`http://prometheus:9090`(因为Prometheus服务的名称是`prometheus`,而不是`localhost`)。 完成后,你可以创建一个新的仪表板并添加一个面板,从而开始使用Grafana可视化Prometheus监控数据。 以上就是使用Docker部署PrometheusGrafana的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值