【发布时间】:2019-11-18 18:13:18
【问题描述】:
我有一个 Kuberenetes 集群,并且 telegraf 在每个节点上运行。 Telegraf 正在收集数据并将其存储到 InfluxDB 中。现在我想运行另一个 Telegraf 实例,它将使用其中一个 Pod 命名空间,并从 Pod 内运行的 Apache 服务器收集统计信息,并将统计信息存储在同一个 InfluxDB 存储中。
我点击了这个链接 (https://community.influxdata.com/t/multiple-telegraf-configs/245/6),但不知道如何在我的设置中实现它。
我正在使用 Debian GNU/Linux 9 (stretch) 和 telegraf_1.12.5-1。
我创建了两个服务文件如下:
cat /usr/lib/telegraf/scripts/telegraf.service
[Unit]
Description=The plugin-driven server agent for reporting metrics into InfluxDB
Documentation=https://github.com/influxdata/telegraf
After=network.target
[Service]
EnvironmentFile=-/etc/default/telegraf
User=telegraf
ExecStart=/usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d $TELEGRAF_OPTS
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartForceExitStatus=SIGPIPE
KillMode=control-group
[Install]
WantedBy=multi-user.target
cat /usr/lib/telegraf/scripts/telegraf_xyz.service
[Unit]
Description=The plugin-driven server agent for reporting metrics into InfluxDB
Documentation=https://github.com/influxdata/telegraf
After=network.target
[Service]
EnvironmentFile=-/etc/default/telegraf_xyz
User=telegraf
ExecStart=/usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d $TELEGRAF_OPTS
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartForceExitStatus=SIGPIPE
KillMode=control-group
[Install]
WantedBy=multi-user.target
但是当我尝试运行第二个实例时,它给出了错误:
Failed to start telegraf_xyz.service: Unit telegraf_xyz.service not found.
作为其中的一部分,我还需要做哪些更改?我在许多其他位置(/sys/)看到了 telegraf.service 文件,我不确定我还需要在哪里配置第二个 telegraf 实例。我对此很陌生。
还有其他更好的方法可以在我的设置中实现吗?
注意:我已经创建了两个服务文件并且能够在我的主机上运行它。现在真正的挑战是在另一个网络命名空间中运行实例。谁能帮我实现这个?
【问题讨论】:
标签: kubernetes telegraf