使用 Telegraf 监控 Raspberry Pi

我一直在等待发布一些关于 Telegraf 的帖子以及我们可以创造的一些奇迹. 在这个简单的文档中,我们将了解如何从 Raspberry Pi 收集性能指标并使用 Grafana 实时显示它们!

假设我们已经在服务器上挂载了 Influxdb 并正常运行, 以及 Grafana (否则, 检查 ), 那么,是时候收集指标了, 我们从简单的事情开始, 一台 Linux 计算机 (基于 Debian), 还有什么比 Raspberry Pi 更好的呢, 其中,除了获取通用指标, 我们还将获得 CPU 和 GPU 温度.

开始! 我们将在 Raspberry Pi 上安装 Telegraf 代理,以告诉您我们要发送到 Influxdb 的指标, 第一件事, 我们下载 Influx 存储库密钥:

curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key 添加 -

我们将存储库添加 (眼睛, 我们将选择正确的 Debian 版本 (靶心, 克星, 伸展…) :

回波 "Deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

现在它, 我们安装了 Telegraf:

须藤 wget -O - https://repos.influxdata.com/influxdb.key | sudo apt-key 添加 -
sudo apt-get update sudo apt install telegraf -y

下一个, 我们必须点击 Telegraf 配置文件 (/etc/telegraf/telegraf.conf), 所以我们打开它并对其进行编辑, 我们将改变几件事, 根据我们的需求. 我们从 'interval 开始’ 以及 'flush_interval', 第一个表示您将多久检查一次, 第二个人每隔一段时间就会把它送到 BD, 如果您希望在 1 第二个会是这样的, 没有必要,也许这么激进, 但在 Grafana 却令人印象深刻, 看看它如何刷新第二个…:

...
[代理]
间隔 = "1s"
flush_interval = "1s"
...

在 Inputs (输入) 部分中, 我们将取消注释我们想要接收的指标, 例:

...
# 输入插件
[[inputs.cpu 的]]
    Percpu = True TotalCPU = True collect_cpu_time = False report_active = False
[[inputs.disk]]
    ignore_fs = ["也", "请。", "Devfs 公司"]
[[inputs.io]]
[[inputs.mem]]
[[inputs.net]]
[[inputs.system (输入系统)]]
[[inputs.swap (输入.swap)]]
[[inputs.netstat]]
[[inputs.processes]]
[[inputs.kernel 内核]]
...

最后, 在 Outputs (输出) 中, 在出口处, 我们将指标发送到何处, 我们取消注释并正确配置 Influxdb 部分:

...
[[输出.influxdb]]
  网址 = ["HTTP 协议://DIRECCION_IP:8086"] # 必需的数据库 = "名称BD"
  用户名 = "乌苏阿里奥"
  密码 = "xxxxxxxx"
  skip_database_creation = 真
...

保存文件后, 我们可以使用:

Telegraf --测试

我们重新启动了 Telegraf 服务,以便它加载新修改的配置, 我们看到它已启动,并指示 Telegraf 从系统开始:

sudo SystemCTL 启动 Telegraf sudo SystemCTL 状态 Telegraf sudo SystemCTL 启用 Telegraf

如果除了这些标准指标之外,我们还想添加指标,这些指标为我们提供 CPU 的温度和/或 Raspberry Pi 的 GPU 温度, 我们继续, 将 Telegraf 用户添加到 video 组,以便他们可以读取此类数据:

sudo usermod -G Telegraf 视频

然后我们可以为此创建一个配置文件, 例如,我们称它为 '/etc/telegraf/telegraf-raspberrypitemp.conf’ 并包含以下内容:

[[inputs.file 文件]]
  文件 = ["/sys/class/thermal/thermal_zone0/temp"]
  name_override = "cpu_temperature"
  data_format = "价值"
  data_type = "整数"

[[inputs.exec]]
  命令 = ["/OPT/VC/BIN/VCGENCMD measure_temp"]
  name_override = "gpu_temperature"
  data_format = "格罗克"
  grok_patterns = ["%{数:价值:浮}"]

我们重新加载 Telegraf 以读取这个新配置,然后我们就会准备好它:

sudo systemctl restart telegraf

这样,数据就已经存储在 Influxdb 中了, 现在从 Grafana 查看它,因为通常的, 如果我们没有针对 Influxdb 的 Data Source,我们就创建它, 接下来也是最舒服的事情是下载我们喜欢的仪表板,并已成为我尝试过的这个仪表板的社区 🙂, 如您所见,这就像在我们的 Grafana 中创建新仪表板一样简单, 导入您的 ID, 在本例中为 '10578', 但是拜托,还有许多其他仪表板,或者您将立即修改它. 顺便说一句,这个仪表板是由 Jorge de la Cruz 提供的, 所以谢谢你的小时间!!

而且我敢肯定,一会儿你就会得到像这样酷的东西! 或者哇, 好多了!!! 我们现在可以实时可视化 Raspberry Pi 的性能, 我们看到不同的 CPU, 回忆录, 磁盘使用情况, 网络流量, 负荷, 温度…

井, 我一如既往地说再见,感谢所有阅读这些徽章的人, 致那些想学习的人, 您在社交网络上向谁分享信息内容!

拥抱!

推荐文章

作者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 请随时与我联系, 我会尽我所能帮助你, 分享就是生活 ;) . 享受文档!!!

数据中心中的 QR 码

7 二月 de 2023