Docker搭建一款开源的服务器监控工具

文摘   2024-11-26 08:00   广东  
工具介绍
由于Prometheus只是一个监控工具,无法主动获取你想要监控的服务器、数据库…等目标,所以需要相应的node_exporter去探测目标。node_exporter是Prometheus生态系统中的一个关键组件,它专门用于收集和导出主机(节点)上系统和硬件的指标数据。

主要特点

  • CPU使用情况:包括每个CPU核心的使用率、用户态时间、系统态时间等。

  • 内存使用情况:包括总内存、已用内存、空闲内存、缓存和缓冲区使用情况等。

  • 磁盘信息:包括磁盘I/O操作、读写速度、磁盘空间使用情况等。

  • 文件系统状态:包括挂载点、文件系统类型、已用空间、可用空间等。

  • 网络统计信息:包括网络接口的状态、发送和接收的数据量、错误和丢包情况等。

使用场景

  • 监控和告警:当主机的某个指标达到预设的阈值时,可以触发告警通知运维人员。

  • 性能调优:通过分析主机的指标数据,可以找到性能瓶颈并进行优化。

  • 容量规划:根据主机的指标数据,可以预测未来的资源需求并进行相应的规划。

基础原理

node_exporter通过读取系统级别的信息(如/proc、/sys、/var/run等目录下的文件),并将这些信息转换为Prometheus可以理解的格式。然后,node_exporter会在一个HTTP端点上提供这些数据,通常是在/metrics路径下。Prometheus服务器可以定期从这个端点抓取数据,并用于监控、告警和可视化。

如需了解更多信息,可以访问其官方网站或查阅相关的技术文档。

官方网站
https://prometheus.io/
Docker镜像
https://hub.docker.com/r/prom/node-exporter
GitHub地址
https://github.com/prometheus/node_exporter

安装教程

Docker部署操作步骤:安装Docker、拉取镜像、启动容器。

| 安装docker

sudo apt update
sudo apt install -y docker.io docker-compose

| 拉取镜像

sudo docker pull prom/node-exporter

启动容器

sudo docker run -d -p 9100:9100 \
--name=node-exporter \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
prom/node-exporter

执行完毕以上命令之后,访问 http://ip:9100即可。

关注公众号,为你推荐更多原创干货!

更多内容也可看笔者出版图书

—————————


幼稚猿
分享各类技术资讯和教程,出版多本IT图书《Django+Vue系统架构设计与实现》、《Golang+Vue.js商城项目实战》等
 最新文章