New Relic监控插件的Upstart脚本

时间:2014-04-11 20:58:42

标签: newrelic upstart newrelic-platform start-stop-daemon

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

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?

1 个答案:

答案 0 :(得分:1)

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

  1. 复制/opt/newrelic_plugin_agent/newrelic_plugin_agent.deb文件夹中的/etc/init.dcp /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