在Ubuntu 20.04上使用TICK Stack监视系统指标

在本教程中,我们将学习如何在Ubuntu 20.04上使用TICK堆栈监视系统指标。 TICK stack是开源工具集合的缩写,包括 Ťelegraf, 一世nfluxDB, Chronograf和 ķ敏捷者。这些工具均提供不同的功能:

  • Telegraf:这是一个指标收集代理。它收集系统指标并将其发送到InfluxDB。
  • InfluxDB:这是一个由InfluxData建立的开源时间序列数据库,用于监视系统指标和事件。它旨在处理高写入和查询负载,因此可用于存储大量时间戳数据,包括DevOps监控,应用程序指标,IoT传感器数据和实时分析。
  • 计时表:是整个TICK堆栈的可视化工具。使用它可以在InfluxDB中设置监视数据的图形和仪表板,以及创建警报和自动化规则。
  • 卡帕托:是一个指标和事件处理和警报引擎。使用它可以将时间序列数据整理为可操作的警报,并将这些警报轻松发送到许多受欢迎的产品,例如Sensu,Slack,Telegram等。

只要这些组件可以互操作,就可以在独立设置中分别使用它们中的每个组件。

我们在previos指南中介绍了在Ubuntu 20.04上TIG堆栈的安装和设置,该指南与TICK堆栈具有相同的组件,只是它使用Grafana而不是Chronograf并且不使用Kapacitor。

在Ubuntu 20.04上安装和设置TIG Stack

在Ubuntu 20.04上使用TICK Stack监视系统指标

为了设置TICK Stack来监视Ubuntu 20.04上的系统指标,我们将分别安装和设置每个组件。

在Ubuntu 20.04上安装和配置InfluxDB

在之前的TIG堆栈指南中,我们已经介绍了在Ubuntu 20.04上InfluxDB的安装和配置。

如何在Ubuntu 20.04上安装InfluxDB

配置InfluxDB以存储Telegraf收集的指标

启用InfluxDB HTTP身份验证

为了进一步配置InfluxDB,我们将启用HTTP身份验证。这可以通过取消注释该行来完成, auth-enabled = false, 在下面 [http] influxdb配置文件部分,并将值设置为 true

请注意,在上面的InfluxDB配置指南中,我们创建了一个用户, telegraf,并授予数据库所有特权, telegraf。您将需要在Telegraf配置文件的InfluxDB输出部分中指定此用户名和密码。

在启用InfluxDB HTTP身份验证之前,您需要在数据库上至少有一个管理用户。创建管理员用户,如下所示;

influx
use telegraf
create user admin with password '[email protected]' with all privileges

列出用户;

show users
user     admin
----     -----
telegraf false
admin    true

接下来,启用HTTP身份验证。

vim /etc/influxdb/influxdb.conf
[http]
  # Determines whether HTTP endpoint is enabled.
  enabled = true
...
  # The bind address used by the HTTP service.
  bind-address = ":8086"

  # Determines whether user authentication is enabled over HTTP/HTTPS.
  auth-enabled = true

保存并退出配置文件,然后重新启动InfluxDB服务。

systemctl restart influxdb

在Ubuntu 20.04上安装和配置Telegraf

请按照下面的链接安装和配置Telegraf。

如何在Ubuntu 20.04上安装Telegraf

如何在Ubuntu 20.04上配置Telegraf以收集系统指标

由于我们启用了InfluxDB HTTP用户身份验证,因此请确保在Telegraf配置上定义InfluxDB数据库用户名和密码。

vim /etc/telegraf/telegraf.conf
...
[[outputs.influxdb]]
  urls = ["http://127.0.0.1:8086"]
  database = "telegraf"
  username = "telegraf"
  password = "[email protected]"
...

重新启动Telegraf;

systemctl restart telegraf

在Ubuntu 20.04上安装和配置Kapacitor

您可以从InfluxData存储库在Ubuntu 20.04上安装Kapacitor,也可以直接下载并安装debian二进制软件包文件。

从InfluxData仓库安装Kapacitor

创建InfluxData存储库并安装Kapacitor;

wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
apt update
apt install kapacitor

使用Debian软件包文件安装Kapacitor

从下载Kapacitor InfluxData下载页面

wget https://dl.influxdata.com/kapacitor/releases/kapacitor_1.5.5-1_amd64.deb
dpkg -i kapacitor_1.5.5-1_amd64.deb

配置Kapacitor

打开Kapacitor配置文件并定义InfluxDB HTTP身份验证凭据。

vim /etc/kapacitor/kapacitor.conf
...
[[influxdb]]
  # Connect to an InfluxDB cluster
  # Kapacitor can subscribe, query and write to this cluster.
  # Using InfluxDB is not required and can be disabled.
  enabled = true
  default = true
  name = "localhost"
  urls = ["http://localhost:8086"]
  username = "admin"
  password = "[email protected]"
  timeout = 0
...

您可以使用以下命令显示Kapacitor配置:

kapacitord config

要将Kapacitor与需要身份验证的InfluxDB实例一起使用,它必须使用具有以下身份的InfluxDB用户进行身份验证: 读和写 权限。

配置完成后,启动并启用Kapacitor使其在系统启动时运行;

systemctl enable --now kapacitor

验证状态;

systemctl status kapacitor
● kapacitor.service - Time series data processing engine.
     Loaded: loaded (/lib/systemd/system/kapacitor.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-05-31 10:01:00 UTC; 2min 2s ago
       Docs: https://github.com/influxdb/kapacitor
   Main PID: 13967 (kapacitord)
      Tasks: 10 (limit: 2282)
     Memory: 11.3M
     CGroup: /system.slice/kapacitor.service
             └─13967 /usr/bin/kapacitord -config /etc/kapacitor/kapacitor.conf

May 31 10:01:00 ubuntu20 systemd[1]: Started Time series data processing engine..
May 31 10:01:00 ubuntu20 kapacitord[13967]: '##:::'##::::'###::::'########:::::'###:::::'######::'####:'########::'#######::'########::
May 31 10:01:00 ubuntu20 kapacitord[13967]:  ##::'##::::'## ##::: ##.... ##:::'## ##:::'##... ##:. ##::... ##..::'##.... ##: ##.... ##:
May 31 10:01:00 ubuntu20 kapacitord[13967]:  ##:'##::::'##:. ##:: ##:::: ##::'##:. ##:: ##:::..::: ##::::: ##:::: ##:::: ##: ##:::: ##:
May 31 10:01:00 ubuntu20 kapacitord[13967]:  #####::::'##:::. ##: ########::'##:::. ##: ##:::::::: ##::::: ##:::: ##:::: ##: ########::
May 31 10:01:00 ubuntu20 kapacitord[13967]:  ##. ##::: #########: ##.....::: #########: ##:::::::: ##::::: ##:::: ##:::: ##: ##.. ##:::
May 31 10:01:00 ubuntu20 kapacitord[13967]:  ##:. ##:: ##.... ##: ##:::::::: ##.... ##: ##::: ##:: ##::::: ##:::: ##:::: ##: ##::. ##::
May 31 10:01:00 ubuntu20 kapacitord[13967]:  ##::. ##: ##:::: ##: ##:::::::: ##:::: ##:. ######::'####:::: ##::::. #######:: ##:::. ##:
May 31 10:01:00 ubuntu20 kapacitord[13967]: ..::::..::..:::::..::..:::::::::..:::::..:::......:::....:::::..::::::.......:::..:::::..::
May 31 10:01:00 ubuntu20 kapacitord[13967]: 2020/05/31 10:01:00 Using configuration at: /etc/kapacitor/kapacitor.conf

您还可以检查Kapacitor任务;

kapacitor list tasks
ID Type      Status    Executing Databases and Retention Policies

在Ubuntu 20.04上安装和配置Chronograf

同样,可以使用debian软件包文件或从上面创建的InfluxData存储库中安装Chronograf。

从InfluxData仓库安装;

apt install chronograf

如果要使用debian软件包文件进行安装,请执行以下操作:

wget https://dl.influxdata.com/chronograf/releases/chronograf_1.8.4_amd64.deb
dpkg -i chronograf_1.8.4_amd64.deb

运行Chronograf

Chronograf已启动,并在安装后能够在系统启动时运行。

systemctl status chronograf
● chronograf.service - Open source monitoring and visualization UI for the entire TICK stack.
     Loaded: loaded (/lib/systemd/system/chronograf.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-05-31 10:10:31 UTC; 1min 4s ago
       Docs: https://www.influxdata.com/time-series-platform/chronograf/
   Main PID: 14214 (chronograf)
      Tasks: 8 (limit: 2282)
     Memory: 17.0M
     CGroup: /system.slice/chronograf.service
             └─14214 /usr/bin/chronograf

May 31 10:10:31 ubuntu20 systemd[1]: Started Open source monitoring and visualization UI for the entire TICK stack..
May 31 10:10:37 ubuntu20 chronograf[14214]: time="2020-05-31T10:10:37Z" level=info msg="Serving chronograf at http://[::]:8888" component=server
...
systemctl is-enabled chronograf
enabled

配置Chronograf

可以从浏览器中确定Chronograf的进一步配置。

在防火墙上打开Chronograf端口

如果UFW正在运行,请打开Chronograf TCP端口8888以允许外部访问。

ufw allow 8888/tcp

访问Chronograf Web UI

使用该地址访问Chronograf, http://server-IP-or-resolvable-hostname:8888。在Chronograf仪表板上,单击 开始使用

输入Telegraf数据库和用户名连接详细信息。保留保留策略以保留默认策略设置。

请点击 添加连接 连接到Telegraf数据库。如果提供的凭据正确,您应该看到一条消息,说明连接成功。

在Ubuntu 20.04上的TICK堆栈

接下来,从提供的列表中选择仪表板。在我们的情况下,我们将选择建议的 系统 仪表板。

Ubuntu 20.04上的Chronograf系统仪表板

单击仪表板上,然后单击 创建仪表板

接下来,将Chronograf连接到Kapacitor。设置Kapacitor的名称。对于凭据,由于我们未设置任何凭据,因此请将其留空。

Chronograf-Kapacitor连接的详细信息

请点击 继续 配置连接。如果一切顺利,您应该会看到连接成功消息。

在Ubuntu 20.04上的TICK堆栈设置

现在安装完成。请点击 查看所有连接 查看所有InfluxDB连接。

查看Chronograf系统仪表板

单击Chronograf仪表板图标。

Chronograf仪表板

选择 系统 仪表板以查看系统指标。

Ubuntu 20.04上的Chronograf系统指标仪表板

然后你去。美丽,不是吗?

这就是我们的教程中有关如何使用Ubuntu 20.04上的TICK堆栈监视系统指标的内容。请继续关注更多相关教程。

进一步阅读

InfluxData文档

Sidebar