Grafana + Prometheus + Exporter (一)
Grafana + Prometheus + Exporter (一)
原文地址:https://www.lucien.ink/archives/449/
1. 摘要
本文主要介绍如何使用 node_exporter
采集 Linux
系统的信息,借助 Prometheus
最终以仪表盘的形式显示在 Grafana
中。
2. 效果展示
3. 介绍
Grafana、Prometheus、Exporter 这三个组件的背景资料我就不介绍了,搜一下就会有很多。这里主要说一下他们三者之间的关系。
3.1 前置知识
于是就产生了 metrics 这种数据,它长这样 https://pasteme.cn/8421 。
3.2 关系
当然了,Prometheus 和 Grafana 的功能远不止如此,更强大的是报警功能,但这不是本文的主题。
3.3 Exporter
值得一提的是,Exporter 组件是一类组件,它们的主要作用就是提供 metrics 信息以供加工提炼。
有的组件会自行提供 metrics 信息,比如 Grafana、Prometheus、Etcd 等等,在本文的 3.1 3.13.1 中给出的 metrics 就是 Grafana 本身产生的。
有的组件不会提供 metrics 信息,比如说我们自己写的一些程序。
4. 部署
本文采用的安装方式皆为二进制 + systemd 托管的安装方式,因为 OpenVZ 等架构的 VPS 不能运行 docker,所以选择更普适一些的方法。
4.1 下载
4.2 解压、安装
新建一个空文件夹,并将下载的 tar.gz 移动至这个空文件夹中。
dir
├── grafana-x.x.x.linux-amd64.tar.gz
├── node_exporter-x.x.x.linux-amd64.tar.gz
└── prometheus-x.x.x.linux-amd64.tar.gz
curl api.pasteme.cn/8413 | bash
可以在 https://pasteme.cn/8413 中查看命令详情。
至此,所有安装已经完成了,三个组件对应的 systemd 服务名称分别是:grafana-server、prometheus、node_exporter。
4.3 验证
4.3.1 systemctl status xxx
可以用 systemctl status 命令来查看各个组件的运行状态。
systemctl status node_exporter
systemctl status prometheus
systemctl status grafana-server
node_exporter
、Prometheus
、Grafana
的默认端口分别是 9100
、9090
、3000
,我们可以通过以下命令来查看 metrics
信息,有输出就代表正在运行。
curl localhost:9100/metrics
curl localhost:9090/metrics
curl localhost:3000/metrics
4.4 开机自启
systemctl enable node_exporter
systemctl enable prometheus
systemctl enable grafana-server
4.5 卸载
curl api.pasteme.cn/8414 | bash
可以在 https://pasteme.cn/8414 中查看命令详情。
5. 配置
虽然我们已经完成了三个组件的安装,但此时它们都还是互相独立的三个组件,我们需要对其进行一些配置。
5.1 prometheus
编辑 /usr/local/prometheus/prometheus.yml
# my global config
global:scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ['localhost:9090'] # 我们需要修改这里
将 targets 所在的那一行修改为以下内容,注意空格缩进,yaml 的格式检查很严格。
这个修改会让 Prometheus 从 localhost:9100/metrics 进行 metrics 信息的读取,默认的 9090 是 Prometheus 本身的 metrics 信息。
保存修改过的文件之后重启一下 prometheus 服务即可。
可以用本文 4.3 4.34.3 提到的方法验证是否启动成功,如果没有的话请检查 yml 文件的格式。
5.2 Grafana
cd /usr/local/grafana/bin
chmod +x grafana-cli
./grafana-cli plugins install grafana-piechart-panel
systemctl restart grafana-server
然后访问 http://<YOUR_IP>:3000
,默认的账号密码都是 admin
。
Http → \rightarrow→ URL 中填入 http://localhost:9090 ,也就是 prometheus 提供的接口。
然后把鼠标挪到左上角的 +
上,注意是挪上去,然后在弹出的菜单中点击 Import
。
我们在 Grafana.com Dashboard 一栏中填入 8919 ,然后点击一下旁边的空白处。
5.2.3 配置完成
至此,我们就成功地将 Grafana、Prometheus、node_exporter 关联起来了。
6. 监控多个节点
6.1 部署
dir
└── node_exporter-x.x.x.linux-amd64.tar.gz
curl api.pasteme.cn/8416 | bash
可以在 https://pasteme.cn/8416 中查看命令详情。
至此,node_exporter 安装已经完成了,对应的 systemd 服务名称分别是 node_exporter。
6.1.3 验证
参考本文 4.3 4.34.3 ,不再赘述。
6.1.4 开机自启
systemctl enable node_exporter
systemctl disable node_exporter
systemctl stop node_exporter
rm -f /lib/systemd/system/node_exporter.service
rm -rf /usr/local/node_exporter
6.2 配置 Prometheus
在监控节点上编辑 Prometheus 的配置文件 /usr/local/prometheus/prometheus.yml。
将 targets 所在的那一行修改为以下内容,注意空格缩进,yaml 的格式检查很严格。
- targets: ['localhost:9100', 'addr:9100']
然后重启 Prometheus,在 Grafana 的 Dashboard 中就可以看到新的节点了。
6.2.1 关于 targets 的说明
可以观察到,targets 传入的是一个数组,Prometheus 会收集数组中的每个元素的 metrics ,然后 Grafana 再处理这些数据。
原文地址:https://www.lucien.ink/archives/449/
Grafana + Prometheus + Exporter (一)相关推荐
- GPE(Grafana+Prometheus+Exporter)项目实战之Golang篇(上)
项目目标-为什么要搭建GPE(Grafana+Prometheus+Exporter) 关注我的朋友知道,前几天开源了boot4go-gateway的项目,boot4go-gateway的http服务 ...
- GPE监控预警系统搭建--Grafana+Prometheus+Exporter
GPE监控预警系统(Grafana+Prometheus+Exporter) GPE监控预警系统结构图 一: Grafana的安装 1:简介 大规模指标数据的可视化展现,是网络架构和应用分析中最流行的 ...
- GPE监控多台MySQL_GPE监控预警系统(Grafana+Prometheus+Exporter)搭建
GPE监控预警系统结构图 一: Grafana 1:简介 大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具.目前已经支持绝大部分常用的时序数据库. Grafana支持许多不同 ...
- Grafana+Prometheus+Exporter(简称GPE监控预警系统)试用
1.Grafana安装(linux) 下载:https://grafana.com/grafana/download 下载 wget https://dl.grafana.com/oss/releas ...
- 性能监控工具之Grafana+Prometheus+Exporters
在本模块中,我将把几个常用的监控部分给梳理一下.前面我们提到过,在性能监控图谱中,有操作系统.应用服务器.中间件.队列.缓存.数据库.网络.前端.负载均衡.Web 服务器.存储.代码等很多需要监控的点 ...
- 基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
作者 | 陈厚道 冯庆 来源 | 阿里巴巴云原生公众号 导读:本文将对 RocketMQ-Exporter 的设计实现做一个简单的介绍,读者可通过本文了解到 RocketMQ-Exporter 的实 ...
- 使用 Docker 部署 Grafana + Prometheus 监控 MySQL 数据库
使用 Docker 部署 Grafana + Prometheus 监控 MySQL 数据库 原文:使用 Docker 部署 Grafana + Prometheus 监控 MySQL 数据库 一.背 ...
- Grafana+Prometheus系统监控之MySql
架构 grafana和prometheus之前安装配置过,见:Grafana+Prometheus打造全方位立体监控系统 MySql安装 MySql的地位和重要性就不言而喻了,作为开源产品深受广大中小 ...
- Grafana+Prometheus实现Ceph监控和cephfs的基本使用(二)
Ceph块设备接口(RBD) Ceph块设备,也称为RADOS块设备(简称RBD),是一种基于RADOS存储系统支持超配(thin-provisioned).可 伸缩的条带化数据存储系统,它通过lib ...
最新文章
- mysql 主主同步配置_MySQL 主主同步配置
- 不允许所请求的注册表访问权
- 8.5 特征选择-机器学习笔记-斯坦福吴恩达教授
- java读取pfx或P12格式的个人交换库公私钥
- 负载均衡在分布式架构中是怎么玩起来的?
- CentOs安装ssh服务
- Android adb.exe程序启动不起来,如何处理
- 解决 kindle 书籍字体颜色偏淡问题的方法
- 怎么修改提交git是的用户名_git 修改提交邮箱以及用户名-亲测
- C# in depth (第六章 实现迭代器的捷径)
- 刚刚,北京正式允许无人车上路路测!准入门槛500万元
- android布局及其常用属性
- leetCode题解之寻找string中最后一个word的长度
- 【电子相册制作软件】名编辑电子杂志大师教程 | 如何在翻页电子相册中添加动态的flash背景?
- Python菜鸟教程学习笔记
- 首都师范 博弈论 2 2 4划线法
- 交叉编译器的安裝以及使用 (Linaro 交叉编译器 基于Ubuntu16)
- php 批量下载网页文件,批量下载文件(以xxx网站为例)
- react Hook useEffect()
- 单片机蓝桥杯——PWM呼吸灯
热门文章
- 3DMax拉伸缩放物体
- Windows10如何进入高级启动修复系统故障
- 小米平板5配置参数 小米平板5怎么样?测评值得买吗?
- rtsp端口号_设置RTSP, RTP和RTCP端口号 | 学步园
- php bcmul结果为0,php – 为什么bcmul返回的数字与我指定的数字不同?
- 学习笔记(四)——AARRR分析模型与漏斗分析法并用excel作图
- 100 篇 Android 干货文章
- 给我5个带”富“字的成语
- 如何判断云虚拟主机的好坏?
- [thinkPHP] [0] Call to undefined function think\finfo_open