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

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: Prometheus(普罗米修斯R)是一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发。

Prometheus + Grafana监控平台



—、Prometheus简介


1.Prometheus特点

2.Prometheus架构


二、部署Prometheus + Grafana监控平台


1.安装Docker

2安装 Prometheus

3.安装 Grafana

4.安装 Node_exporter

5.配置Prometheus 监控Node节点

1)修改Prometheus主配置文件

2)重启Prometheus容器

6.配置Prometheus + Grafana


一、Prometheus简介



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


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


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


1.Prometheus特点


  • 多维数据模型(有metric名称和键值对确定的时间序列)
  • 灵活的查询语言
  • 不依赖分布式存储。
  • 通过pull方式采集时间序列,通过http 协议传输。
  • 支持通过中介网关的 push时间序列的方式。
  • 监控数据通过服务或者静态配置来发现。
  • 支持图表和dashboard等多种方式。


2.Prometheus 架构


image.png


  • Prometheus主程序:主要是负责存储、抓取、聚合、查询方面。
  • Alertemanager程序:主要是负责实现报警功能。
  • Pushgateway程序:主要是实现接收有Client-push过来的指标数据,在指定的时间间隔,有主程序来抓取。
  • *_exporter程序:主要是负责采集物理机、中间件的信息。


二、部署Prometheus + Grafana监控平台



准备工作:


image.png


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


image.png


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版本


image.png


6)配置Docker加速器


[root@Docker ~]# cat <<END > /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


image.png


2.安装Prometheus


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


image.png


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


image.png


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


image.png



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


image.png


image.png


4.安装Node_exporter


  • 因为Prometheus 本身不具备监控功能,所以想要通过Prometheus 收集数据的话,需要安装对应的exporter。


[root@Docker ~]# docker pull prom/node-exporter
[root@Docker ~]# docker run -itd --name=node-exporter \
--restart=always \
-p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
prom/node-exporter


image.png


容器创建成功后,即可通过浏览器访问http://192.168.1.1:9100/metrics来查看监控收集的数据


image.png


5.配置 Prometheus 监控Node节点


1)修改Prometheus主配置文件


[root@Docker ~]# docker cp prometheus:/etc/prometheus/prometheus.yml $PWD
[root@Docker ~]# vim prometheus.yml
在Prometheus配置文件按以下内容修改:
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
    - targets: ['localhost:9090']
      labels:
        instance: prometheus
  - job_name: linux
    static_configs:
    - targets: ['192.168.1.1:9100']         #被监控端的IP地址和端口号(有多个被监控端可用 逗号 隔开)
      labels:
        instance: localhost
[root@Docker ~]# docker cp $PWD/prometheus.yml prometheus:/etc/prometheus/prometheus.yml


2)重启Prometheus容器


[root@Docker ~]# docker restart prometheus


6.配置prometheus+Grafana


使用浏览器访问http:/ /192.168.1.1:3000来将Node节点监控


image.png


image.png


image.png


image.png



image.png


image.png


image.png


image.png

相关实践学习
通过可观测可视化Grafana版进行数据可视化展示与分析
使用可观测可视化Grafana版进行数据可视化展示与分析。
相关文章
|
20天前
|
Prometheus 监控 Cloud Native
云原生监控实战:Prometheus+Grafana快速搭建指南
云原生监控实战:Prometheus+Grafana快速搭建指南
|
24天前
|
存储 Prometheus 监控
OSS监控体系搭建:Prometheus+Grafana实时监控流量、错误码、存储量(开源方案替代云监控自定义视图)
本方案基于Prometheus构建OSS监控系统,涵盖架构设计、指标采集、可视化、告警及性能优化,助力企业实现高可用、低成本的自建监控体系。
130 1
|
2月前
|
Prometheus 监控 Cloud Native
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
除了Prometheus,还有哪些工具可以监控Docker Swarm集群的资源使用情况?
253 79
|
15天前
|
Prometheus 监控 Cloud Native
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务
Docker 部署 Prometheus 和 Grafana 监控 Spring Boot 服务实现步骤
|
24天前
|
存储 监控 Cloud Native
云原生监控实战:Prometheus+Grafana打造RDS多维度预警体系
本方案构建了基于Prometheus与Thanos的云原生RDS监控体系,涵盖数据采集、存储、可视化与告警全流程。支持10万+QPS采集、90%存储压缩,具备&lt;30秒告警延迟能力。通过自定义指标与智能预警策略,显著提升故障发现效率,实现分钟级响应。
104 5
|
1月前
|
Prometheus 监控 Cloud Native
|
3月前
|
Prometheus 监控 Cloud Native
Prometheus+Grafana(docker安装)
本文档详细介绍了如何使用Docker容器快速部署Prometheus监控系统和Grafana数据可视化平台。该方案适用于需要快速搭建监控环境的开发测试场景,具备部署简单、资源占用低、易于维护等特点。
|
4月前
|
Prometheus Kubernetes 监控
Kubernetes监控:Prometheus与AlertManager结合,配置邮件告警。
完成这些步骤之后,您就拥有了一个可以用邮件通知你的Kubernetes监控解决方案了。当然,所有的这些配置都需要相互照应,还要对你的Kubernetes集群状况有深入的了解。希望这份指南能帮助你创建出适合自己场景的监控系统,让你在首次发现问题时就能做出响应。
174 22
|
8月前
|
Prometheus 运维 监控
智能运维实战:Prometheus与Grafana的监控与告警体系
【10月更文挑战第26天】Prometheus与Grafana是智能运维中的强大组合,前者是开源的系统监控和警报工具,后者是数据可视化平台。Prometheus具备时间序列数据库、多维数据模型、PromQL查询语言等特性,而Grafana支持多数据源、丰富的可视化选项和告警功能。两者结合可实现实时监控、灵活告警和高度定制化的仪表板,广泛应用于服务器、应用和数据库的监控。
784 3
|
7月前
|
存储 数据采集 Prometheus
Grafana Prometheus Altermanager 监控系统
Grafana、Prometheus 和 Alertmanager 是一套强大的开源监控系统组合。Prometheus 负责数据采集与存储,Alertmanager 处理告警通知,Grafana 提供可视化界面。本文简要介绍了这套系统的安装配置流程,包括各组件的下载、安装、服务配置及开机自启设置,并提供了访问地址和重启命令。适用于希望快速搭建高效监控平台的用户。
324 20