五分钟搭建基于 Prometheus + Grafana 实时监控系统

Posted 魏小言

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五分钟搭建基于 Prometheus + Grafana 实时监控系统相关的知识,希望对你有一定的参考价值。


Prometheus + Grafana 实时监控系统

云原生技术的飞速发展,使基础组件的易用性得到大幅度提升。利用基于 Docker 的 Prometheus、Grafana,五分钟就可以完搞定!

Prometheus + Grafana 实时监控系统

在新一代基于云原生的微服务架构中,不管是业务还是基础设施,服务的可观测性至关重要!

今天聊一下如何搭建基于 Prometheus & Grafana 的单节点监控系统。

依赖镜像包

docker pull prom/node-exporter # 监控指标的采集
docker pull prom/prometheus  # 数据采集、聚合、存储
docker pull grafana/grafana # 数据可视化展示组件

启动 node-exporter

sudo docker run -d -p 9100:9100 --net=host prom/node-exporter

执行容器启动指令,启动 node-exporter。

check 端口

netstat -tln | grep 9100

检查 node-exporter 服务端口是否正常启用。

node_exporter 采集服务

node_exporter 通过 Http 接口为 Promeehtus 提供节点性能监控指标,可以做为验证node_exporter是否正常工作的方式之一。

地址默认为:http://IP:9100/metrics,

启动 prom/prometheus

sudo docker run --net=host --name myprometheus -p 9090:9090 -d prom/prometheus

执行容器启动指令,启动 prom/prometheus 。

端口 check

netstat -tln | grep 9090

检查 prom/prometheus 服务端口是否正常启用。

Prometheus 原生可视化服务

Prometheus 自身提供了数据的可视化效果,相对 Grafana 能力稍微逊色。但也可做为验证 Prometheus 是否正常工作的方式之一。

数据源地址为:http://IP:9090/graph
其中可观测到相关配置及数据 Rule 等数据信息…

启动 grafana/grafana

sudo docker run --net=host --name mygrafana -p 3000:3000 -d grafana/grafana

执行容器启动指令,启动 grafana/grafana 。

端口 check

netstat -tln | grep 3000

检查 grafana/grafana 服务端口是否正常启用。

Grafana 可视化服务

Grafana 作为强大的数据可视化工具,具备独立的视图服务,可以做为验证node_exporter是否正常工作的方式之一

地址默认为:http://IP:3000/,默认账号为:admin 密码:admin

配置 prometheus 参数

在本机启动服务需在 /etc/prometheus/prometheus.yml 中配置服务的ip/port、刮擦间隔等信息。

  - job_name:test
    static_configs:
      - targets: ['10.182.29.28:9999']
        labels:
          instance: localhost-test

由于 docker 容器化之后,此配置文件在 docker 内,如果想更方便的修改调整,可以把此目录挂载出来,挂载载宿主机目录。

挂载prometheus.yml配置

有两种方法,一种是修改 prom/prometheus 配置;一种是命令行启动参数化;

这里介绍简单有效的命令行:

  • 首先停掉现服务
    • myprometheus: sudo docker stop myprometheus
  • 重新启动:
    • sudo docker run -d --net=host --name myprometheus -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

这样就把配置文件挂载至宿主机 /opt/prometheus/prometheus.yml 目录中了,两者内容始终一致。

Q&A

1、sudo XXX

安装\\执行指令基于 Linux root 权限,故使用sudo ;也可以直接 sudo root 进入 root 角色进行操作。

附录

产品服务最终走多远取决于你对市场的破坏力,走多快取决于你的增长策略创造力。

以上是关于五分钟搭建基于 Prometheus + Grafana 实时监控系统的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus监控运维实战十: 主机监控指标

基于Prometheus搭建SpringCloud全方位立体监控体系

[转帖]基于docker 搭建Prometheus+Grafana

如何快速部署 Prometheus?- 每天5分钟玩转 Docker 容器技术(85)

Prometheus - 计算百分比增加

云原生时代开源监控软件Prometheus架构介绍