使用 Telegraf Elasticsearch 输入插件
作者:Sonia Gupta / 用例, 产品, 开发者
2019 年 5 月 30 日
导航至
Telegraf Elasticsearch 插件 非常易于使用,它可以向您展示许多有用的信息。首先,让我们启动并运行 InfluxDB 沙箱以及 Elasticsearch 节点,我们可以使用 Kibana 向其填充一些数据。
安装 InfluxDB 沙箱
在本教程中,我选择使用 InfluxDB 沙箱,它非常容易运行。只需克隆存储库并运行 ./sandbox up
命令,您就可以在各自的容器中运行 TICK 堆栈的所有四个组件。按照此处的说明克隆存储库并使其运行。
安装 Elasticsearch 和 Kibana
Elasticsearch 需要您的机器上至少运行 Java 8,所以我首先确保已安装它。然后,由于我运行的是 Mac OS,我使用 Homebrew 在我的机器上安装 Elasticsearch 和 Kibana:brew install elasticsearch
和 brew install kibana
。在撰写本文时,使用 Homebrew 将安装 Elasticsearch 版本 6.7 和 Kibana 版本 6.7。如果您想安装最新版本的 Elasticsearch,您需要按照 此处 提供的说明进行操作。
如果您使用 Homebrew 安装了 Elasticsearch 和 Kibana,您可以通过在一个终端选项卡中输入 elasticsearch
并在第二个终端选项卡中输入 kibana
来启动它们。您将保持它们运行,直到 Elasticsearch 插件设置完成。
然后导航到 localhost:5601
并单击左侧边栏中的“Dev Tools”,您应该会看到类似这样的内容
这是 Kibana UI,您可以从中向您的 Elasticsearch 节点发出请求。
我建议使用 此处 的教程来试用您的 Elasticsearch 节点和 Kibana。它将向您展示如何使用数据填充您的节点并检查集群健康状况(集群由一个或多个节点组成,因此您也拥有一个集群)。例如,运行
PUT /user/_doc/1?pretty
{
"name": "Malala Yousafzai"
}
在 Kibana 中将创建一个用户索引并插入一个 id 为 1 的用户。在 Kibana 中运行 GET /user/_doc/1?pretty
将获取该用户并返回
{
"_index" : "user",
"_type" : "_doc",
"_id" : "1",
"_version" : 2,
"found" : true,
"_source" : {
"name" : "Malala Yousafzai"
}
}
监控 Elasticsearch
现在您已经在 Elasticsearch 节点中使用数据填充了一些索引,是时候监控该节点了!首先,如果您正在运行沙箱,请使用 ./sandbox down
将其关闭。
然后在您喜欢的编辑器中打开沙箱代码,并导航到 telegraf/telegraf.conf
。您可以在此处找到 Telegraf 配置的各种输入和输出插件,以及您将在其中添加 Elasticsearch 插件配置的位置。
从 Elasticsearch 插件 README 复制并粘贴配置到您的 telegraf.conf
文件的底部,如下所示
请注意,我对配置进行了更改。我将 servers = ["http://localhost:9200"]
更改为 servers = ["http://host.docker.internal:9200"]
。这是因为我们在 docker 容器中运行 Telegraf 实例,我们需要它能够与我们在 docker 容器外部本地运行的 Elasticsearch 节点进行通信。
保存文件并使用 ./sandbox up
再次启动沙箱,然后导航到在 localhost:8888
打开的 Chronograf 选项卡。单击左侧导航栏中的“Explore”。然后单击“Flux”以切换到使用 Flux 进行查询。
然后,在“SCHEMA”下,单击“telegraf”,然后单击“MEASUREMENTS”,然后单击“elasticsearch_indices”,然后在“docs_count”旁边单击“Add Filter”。这将在 SCRIPT 块中构造一个 Flux 查询
您的查询应如下所示
from(bucket: "telegraf")
|> range(start: dashboardTime)
|> filter(fn: (r) => r._measurement == "elasticsearch_indices" and r._field == "docs_count")
单击页面顶部的“Visualization”并选择“Single Stat”。然后单击“Queries”返回查询块,然后单击“Run Script”。您应该在页面顶部的块中看到您使用 Elasticsearch 教程创建的文档数量(至少一个)。这是您可以使用 Elasticsearch 插件查看的数据类型。
您可以使用其他几个指标,并且您实际上可以通过拉入预构建的仪表板来可视化其中一些指标。为此,请单击左侧导航栏中的“Configuration”,您将看到您的 InfluxDB 连接。单击该连接的名称
然后在弹出的窗口中单击“Update Connection”
然后滚动直到看到“Elasticsearch”,然后单击该框
单击“Create 1 Dashboard”。当系统询问您的 Kapacitor Connection 时,单击“Skip”,然后单击“Finish”。然后单击左侧导航栏中的“Dashboards”,您应该在列表中看到您的 Elasticsearch 仪表板。单击它将带您进入仪表板本身
就是这样!您现在已成功安装 Elasticsearch,并且能够使用 Telegraf 插件监控其性能,并使用包含的仪表板可视化一些关键的 Elasticsearch 指标。