0

I have a VPS instance running Ubuntu Server version 10.04 LTS (Lucid Lynx).

I have installed munin and munin-node. It is properly configured. It is working fine.

The problem is that I need to run the command sudo service munin-node start for it to start.

If I reboot the system (either with sudo reboot now or using a web-based control panel), this service does not start. I need to run the command above for it to start.

I tried "everything" to troubleshoot, with no success.

1) It SHOULD simply start as many other programs I installed in this VPS using aptitude (ProFTPd, NginX, MySQL, monit, Icecast, Postfix, and lots of others). It does not.

2) I tried adding service munin-node start at /etc/rc.local as I have successfully done to start another service. It does not start!

3) I ran the command update-rc.d munin-node defaults. It sounded like everything was ok! After a reboot... it does not start!

4) I ran grep -r munin * to see everything munin-related at /var/log

In my few years as sys admin, I have never been so clueless like this time.

What is really impressive is that a simple service munin-node start (or equivalent) once the system is up and running... and the service starts normally.

Ideas? Suggestions?

I am about to try this tip from another question, if everything else fails...

J. Bruni
  • 1,332

2 Answers2

1

Well, I may have not found exactly the why, but I have found a solution.

I have changed a couple of lines from the /etc/init/munin-node.conf upstart config file, and now munin-node starts automatically on reboot, as I wanted.

I substituted the existent "start on" and "stop on" clauses for the ones found at the MySQL upstart config file at /etc/init/mysql.conf

Below is my modified snippet from /etc/init/munin-node.conf, which now works for me:

#start on (filesystem and net-device-up IFACE=lo)
#stop on runlevel [!2345]

start on (net-device-up
          and local-filesystems
      and runlevel [2345])
stop on runlevel [016]

I have just commented the original "start on" and "stop on" lines, and added the "start on" and "stop on" lines from mysql.conf.

It would be great if some expert here explained the meaning of these lines for us...

Thank you.

J. Bruni
  • 1,332
1

In my opinion, the best way to start the munin-node service is to have in your /etc/init/munin-node.conf a line like this:

start on (net-device-up IFACE!=lo and local-filesystems)

That's because you need an interface (other than lo) on which munin-node to listen and you also need your local filesystems to be mounted, for the statistics data to be accessed.

You can use the runlevel directive, but it's not recommended:

The difference in whether to use the more generic 'runlevel' or the more explicit local->filesystems(7) and net-device-up events should be guided by your job's behaviour. If >your service will come up without a valid network interface (for instance, it binds to >0.0.0.0, or uses setsockopt(2) SO_FREEBIND), then the runlevel event is preferable, as >your service will start a bit earlier and start in parallel with other services.

However if your service requires that a non-loopback interface is configured for some >reason (i.e., it will not start without broadcasting capabilities), then explicitly >saying "once a non loopback device has come up" can help.

From the Ubuntu upstart cookbook: http://upstart.ubuntu.com/cookbook/#start-on