我有一个Kuberenetes集群,telegraf在每个节点上运行。Telegraf正在收集数据并将其存储到InfluxDB中。现在,我想运行telegraf的另一个实例,它将使用一个pods命名空间,并从运行在吊舱内的Apache服务器收集统计数据,并将这些状态存储在同一个InfluxDB存储中。
我遵循这个链接(https://community.influxdata.com/t/multiple-telegraf-configs/245/6),但不知道如何在我的设置中实现这个链接。
我使用的是Debian/Linux9(拉伸) 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.targetcat /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实例。我在这方面很新。
在我的设置中还有其他更好的方法来实现这个吗?
注意:我已经创建了两个服务文件,并且能够在我的主机上运行。现在真正的挑战是在另一个网络命名空间中运行实例。有人能帮我实现这一点吗?
发布于 2019-11-18 21:47:02
请将您的服务文件放在这里: /etc/systemd/system/。然后用systemctl守护进程重新加载systemd。现在应该找到您的服务了。
https://stackoverflow.com/questions/58920613
复制相似问题