如何在MacOS Catalina上启动Telegraf的设置

时间:2020-01-07 04:35:02

标签: macos macos-catalina launchd telegraf

我希望在Mac上使用launchd在后台运行telegraf。我正在使用无法通过自制软件安装的自定义telegraf二进制文件。因此,telefgraf本身已设置并正在运行。我用以下命令创建了telegraf.plist文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>telegraf</string>
        <key>ServiceDescription</key>
        <string>Telegraf Binary</string>
        <key>ProgramArguments</key>
        <array>             
            <string>/usr/local/bin/telegraf/telegraf.conf</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>

我不确定运行telegraf的字符串是否应该指向/usr/local/bin/telegraf/telegraf.cong。这是因为,在终端中,我可以通过以下方式运行它(并查看事件):

sudo ./telegraf --config telegraf.conf

数组中字符串值的正确值应该是什么?

2 个答案:

答案 0 :(得分:0)

ProgramArguments数组应包含要运行的程序的路径,后跟要传递给它的参数(每个数组元素一个)。所以也许是这样的(假设程序本身在/ usr / local / bin / telegraf / telegraf):

<key>ProgramArguments</key>
<array>             
    <string>/usr/local/bin/telegraf/telegraf</string>
    <string>--config</string>
    <string>/usr/local/bin/telegraf/telegraf.conf</string>
</array>

如果telegraf对您的环境有任何其他依赖关系(例如,它是否要求工作目录为/ usr / local / bin / telegraf?是否需要任何环境变量?),则可能需要添加到.plist进行配置。正确。

答案 1 :(得分:0)

就我而言,我的脚本适用于macOS Mojave。通过launchd在macOS Catalina 10.15.3上运行脚本的缺少的步骤是:

系统偏好设置> 安全和隐私> 隐私> 全盘访问> 终端>启用