Prometheus + Grafana 展示服务器运行状态

status
Published
type
Post
slug
docker-prometheus-grafana-monitor
date
Sep 28, 2023
tags
Tool
DevOps
Docker
summary
Prometheus 和 Grafana 是一对开源工具,用于监控和可视化服务器运行状态。我们可以使用 Docker 来快速部署它们。首先,在 docker-compose.yml 文件中配置 Prometheus 和 Grafana 的容器。然后,我们需要安装 Node-exporter 来采集服务器的运行指标。最后,我们通过 Grafana 的 Web 界面配置数据源和仪表盘,实现服务器状态的可视化。
Prometheus 是一个开源的基于时间序列数据库的监控和警报工具,它可以帮助您收集、存储和查询服务器性能数据。 Grafana 则是一个强大的数据可视化工具,可以将 Prometheus 收集的数据呈现为漂亮的仪表盘和图表。
之前在 Kubernetes 集群监控中搭建使用过 Prometheus 和 Grafana ,因为新购买了服务器,没有和之前一样部署 Server Status / 哪吒面板 之类的探针,就想着直接用 Prometheus Grafana 来监控服务器状态。

Docker compose 启动

为了方便,直接用 Docker 来安装,Docker 安装步骤省略。
docker-compose.yml
其中 prometheus.yml
通过 docker-compose 创建启动
notion image
 

Node-exporter

既然要监控服务器运行状态,那么我们就需要使用 Node-exporter 来采集主机的运行指标如CPU, 内存,磁盘等信息。因为是直接读取访问主机系统,就不再使用容器形式了,直接使用上面仓库中的二进制文件进行安装。
我们可以手动执行 node_exporter来测试一下,启动成功会出现如下日志:
为了使 node_exporter 稳定运行,我们为其创建系统服务
notion image
以上安装node_exporter的操作整理为 Shell 脚本如下:

Grafana 配置

通过上述操作我们已经完成了基本配置,下面可以通过 http://<主机IP>:3000 进入 Grafana 的 Web 界面,默认用户名和密码均为 admin
notion image
可根据界面中的引导先添加好数据源,再配置 dashboard 。
此处URL直接使用http://prometheus:9090(容器名),当然也可以直接用默认的 http://localhost:9090
notion image
可视化面板我们导入官网上的案例,省去自己逐个编辑调试。
notion image
最终得到如下界面
notion image
 
 

更多参考


2020 - 2024 © HK