Kubernetes 如何配置多个telegraf.service文件以运行多个telegraf实例

Kubernetes 如何配置多个telegraf.service文件以运行多个telegraf实例,kubernetes,telegraf,Kubernetes,Telegraf,我有一个Kuberenetes集群,telegraf在每个节点上运行。Telegraf正在收集数据并存储到XDB中。现在我想运行telegraf的另一个实例,它将使用一个pods名称空间,从pod中运行的Apache服务器收集统计数据,并将这些统计数据存储在相同的XDB存储中 我遵循了这个链接(),但不知道如何在我的设置中实现它 我使用的是Debian GNU/Linux 9(stretch)和telegraf_1.12.5-1 我创建了两个服务文件,如下所示: cat /usr/lib/tel

我有一个Kuberenetes集群,telegraf在每个节点上运行。Telegraf正在收集数据并存储到XDB中。现在我想运行telegraf的另一个实例,它将使用一个pods名称空间,从pod中运行的Apache服务器收集统计数据,并将这些统计数据存储在相同的XDB存储中

我遵循了这个链接(),但不知道如何在我的设置中实现它

我使用的是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
但当我尝试运行第二个实例时,它给出了错误:

Failed to start telegraf_xyz.service: Unit telegraf_xyz.service not found.
作为其中的一部分,我还需要做哪些更改?我在许多其他位置(/sys/)看到telegraf.service文件,我不确定还需要在哪里配置第二个telegraf实例。我在这方面很新

有没有其他更好的方法在我的设置中实现这一点


注意:我已经创建了两个服务文件,可以在我的主机上运行。现在,真正的挑战是在另一个网络名称空间中运行实例。有人能帮我实现吗?

请将您的服务文件放在这里:/etc/systemd/system/。然后使用systemctl守护进程重新加载systemd。现在应该可以找到您的服务了。

谢谢。现在我想要的是,我想在另一个网络名称空间中运行它并从那里收集数据。我想要这个,因为我的Apache没有在节点中公开,它将在pod中运行。如果我手动执行该命令,该命令可以正常工作,但是如果我在服务文件中使用相同的命令
ExecStart
参数,它给出的
可执行路径不是绝对的,忽略:ip netns exec mag/usr/bin/telegraf-config/etc/telegraf/telegraf_mag.conf
。这是我使用的ip netns exec mag/usr/bin/telegraf-config/etc/telegraf/telegraf_mag.conf-config目录/etc/telegraf/telegraf/telegraf.dI以前从未尝试过的命令。我想你必须在你的系统中使用适当的附加参数。对不起,我帮不了你了。
Failed to start telegraf_xyz.service: Unit telegraf_xyz.service not found.