五分钟搭建基于 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搭建SpringCloud全方位立体监控体系
[转帖]基于docker 搭建Prometheus+Grafana