惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
雷峰网
雷峰网
S
SegmentFault 最新的问题
博客园 - 【当耐特】
博客园_首页
量子位
爱范儿
爱范儿
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
V
V2EX
美团技术团队
V
Visual Studio Blog
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
博客园 - 聂微东
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Cloudflare Blog
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
省点事儿 | Prometheus + Grafana 打造个性化监控系统 - 少数派
2022-05-24 · via 少数派

背景

你是否有遇到过甲方爸爸提出的各种新颖的需求,比如一款后台管理系统需要获取服务器性能指标,提供实时监控、报警等功能。实际这些也都是有价值的事情,如果客户自己承担起管理和监控的责任,也能减少运维人员的负担和压力。同时对于开发人员来说,一套完备的监控方案,能有效定位 bug 的原因。但无论从开始的技术选型、架构设计,还是到具体实施过程中数据处理、规则匹配等前后端开发,都是一项非常繁杂而耗时的事情。当然,你可以说咱们直接用现成的云服务器提供的各种服务不香吗?是真香啊!不过出于成本考虑,同时又可以在学习的过程中获得成就感。迎难而上只有通过自身的实践,才能获取真正属于自己的财富,这也是咱们技术人员的初心。

准备开始

为避免 macOS 因系统升级导致开发环境受到影响,使用了 Parallels 安装 Ubuntu 18.04 版本的虚拟机,因此搭建流程围绕 Linux 进行,同学们可根据实际情况进行工具包的版本调整。

初步搭建

  • 下载 node_exporter 和 Prometheus,其中 node_exporter 是 Prometheus 官网提供的系统运行指标数据采集器,例如:CPU、内存、磁盘等。
图片截取来源:https://prometheus.io/download
图片截取来源:https://prometheus.io/download
  • 安装 node_exporter,并运行,默认地址是 localhost:9100,浏览器输入地址后,能看到 Metrics 表示运行成功。
# 解压到/usr/local
tar -C /usr/local -xzf node_exporter-1.3.0.linux-amd64.tar.gz	
# 进入
cd /usr/local/node_exporter-1.3.0.linux-amd64/	
# 运行采集器
nohup ./node_exporter	& 
本地截图
  • 安装 Prometheus,配置 node_exporter 采集器地址,并运行。
# 解压
tar -zxf prometheus-2.35.0-rc1.linux-amd64.tar.gz	
# 移动到指定目录
mv prometheus-2.35.0-rc1.linux-amd64 /usr/local/prometheus
# 进行配置文件修改
cd /usr/local/prometheus
# 在 prometheus.yml 中定位到 scrape_configs
# 添加 node_exporter 采集器的地址,其中 job_name 命名是自定义
vim prometheus.yml
l# 添加数据存储路径
mkdir data	
# 启动
nohup /usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data & 
本地截图
  • 浏览器输入 Prometheus 的默认地址 localhost:9090,进入 targets,可以看到 node_exporter 已纳入到 Prometheus 的监控体系中了。
本地截图
  • 进入 Graph 页面,选择或输入具体监控的系统指标,点击 Execute 执行,生成可视化面板。
本地截图

对于不追求效果的同学们,那咱们已经入门啦!

Grafana 部署

Prometheus 在数据面板方面确实比较简单,毕竟作为一款开源的监控工具,它已足够优秀。

  • 安装 Grafana,并运行。
# 下载
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.5.2.linux-amd64.tar.gz 
# 解压
tar -zxf grafana-enterprise-8.5.2.linux-amd64.tar.gz 
# 移动
mv grafana-8.5.2/ /usr/local/grafana
# 运行
nohup /usr/local/grafana/bin/grafana-server &
  • 默认地址是 localhost:3000,默认用户名:admin,密码:admin,首次登录会要求更新密码,也可跳过。
本地截图
  • 进入 Grafana 后,添加数据源,选择 Prometheus,并配置默认地址 localhost:9090,实际填写的是服务器内部的IP地址 + 端口 9090
本地截图
本地截图
本地截图
  • 选择 Prometheus 后,执行 import ,之后在 Dashboard 中看到监控的效果。
本地截图
本地截图

至此,我们已经完成了整体部署,实现了监控服务器系统指标的目的,是不是很简单!其中 Prometheus 和 Grafana 的规则配置、语法详情、指标分析等这里不再赘述,感兴趣的同学可根据实际需求,自行研究。