1

我正在尝试MeetMe/newrelic_plugin_agent在 Ubuntu 12.04 上使用新贵启动 New Relic 监控插件。这是我写的脚本:

env USER=newrelic
env DAEMON="/usr/local/bin/newrelic_plugin_agent"
env DAEMONARGS=" -c /etc/newrelic/newrelic_plugin_agent.cfg"

start on startup
stop on shutdown

exec start-stop-daemon --start --chuid $USER --exec $DAEMON --$DAEMONARGS

以下错误写入对应的 upstart 日志:Error starting /usr/local/bin/newrelic_plugin_agent: Cannot write to specified pid file path /var/run/newrelic/newrelic_plugin_agent.pid

如果我将--make-pidfile --pidfile /var/run/newrelic/newrelic_plugin_agent.pid参数添加到start-stop-daemon

exec start-stop-daemon --start --make-pidfile --pidfile
/var/run/newrelic/newrelic_plugin_agent.pid --chuid $USER
--exec $DAEMON --$DAEMONARGS 

日志包含start-stop-daemon: unable to open pidfile '/var/run/newrelic/newrelic_plugin_agent.pid' for writing (No such file or directory).

/var/run/newrelic/文件夹存在并归newrelic用户所有并分配给new relic组。

如何编写 upstart 脚本,以便在引导时启动 newrelic_plugin_agent?

4

1 回答 1

1

我还没有设法通过使用 upstart 来启动 New Relic 插件,但是有一种更简单的方法可以让它在启动时启动。该插件还包含用于 RedHat 和 Ubuntu 的 init.d 脚本(此处)。所以就

  1. 复制/opt/newrelic_plugin_agent/newrelic_plugin_agent.deb/etc/init.d文件夹:cp /opt/newrelic_plugin_agent/newrelic_plugin_agent.deb /etc/init.d/newrelic_plugin_agent
  2. 使复制的脚本可执行:sudo chmod a+x /etc/init.d/newrelic_plugin_agent
  3. 将此脚本配置为在系统启动时运行:update-rc.d newrelic_plugin_agent defaults
  4. 启动脚本:/etc/init.d/newrelic_plugin_agent start
于 2014-04-13T08:21:46.147 回答