[hobbit] building on Mandriva Corporate Server 4

Daniel J McDonald dan.mcdonald at austinenergy.com
Wed Nov 22 13:54:18 CET 2006


On Wed, 2006-11-22 at 07:29 +0100, Henrik Stoerner wrote:
> > read(3, "#\n# The hobbitlaunch.cfg file is"..., 131072) = 8992
> > read(3, "", 131072)                     = 0
> > time(NULL)                              = 1164150324
> 
> It dies while processing the hobbitlaunch.cfg file. Could you send me a
> copy of that file?

Attached

>  Also, if you could run hobbitlaunch with the --debug
> option it would help. I don't know how Mandriva decided to do the Hobbit
> startup, but it would usually be in the ~hobbit/server/hobbit.sh file

/usr/lib/hobbit/server/hobbit.sh, where ~hobbit is /var/lib/hobbit

> that you need to add "--debug" to the hobbitlaunch command.
No new information added to /var/log/hobbit/hobbitlaunch.log - just the
same three lines I always get.  Let me try interactive startup rather
than running from init.d...

Now, reading through the strace, I think it is dying when
reading /etc/hobbit/hobbitlaunch.d/ There are no files there.  Let's see
what happens when I add one.  I'll make it blank for now....

[mcdonalddj at ldap ~]$ sudo touch /etc/hobbit/hobbitlaunch.d/00_test.cfg
[mcdonalddj at ldap ~]$ ls -l /etc/hobbit/hobbitlaunch.d/00_test.cfg
-rw-r--r--  1 root root 0 Nov 22
06:41 /etc/hobbit/hobbitlaunch.d/00_test.cfg

And let's start it up again....  Hey, it starts now!  Yeah!

Ok, with even a single file in /etc/hobbitlaunch.d, even a blank file,
it starts up and life is grand.  Now I just have to replicate my old BB
configuration and re-write the 300 paging rules, and re-write those
parts of my heavily hacked bbmap that I never got working quite right in
hobbit 4.1 but never pursued because 4.2 was going to add a new API to
gather some of those details.  At least that will keep me off the
streets for a few days ;-)

As I recall, the hobbitlaunch.d construct was added at Mandriva's
request, to make packaging easier.  Perhaps adding a comments-only file
in that directory, named 00_sample.cfg, would be the quickest way to fix
this.

-------------- next part --------------
#
# The hobbitlaunch.cfg file is loaded by "hobbitlaunch".
# It controls which of the Hobbit modules to run, how often, and
# with which parameters, options and environment variables.
#

# This is the main Hobbit daemon. This must be running on at least
# one server in your setup. If you are setting up a server to do
# just network tests or run bbproxy, it is OK to disable this (then
# you also need to remove the "NEEDS hobbitd" lines for the tasks
# you want to run).
[hobbitd]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	CMD hobbitd --pidfile=$BBSERVERLOGS/hobbitd.pid --restart=$BBTMP/hobbitd.chk --checkpoint-file=$BBTMP/hobbitd.chk --checkpoint-interval=600 --log=$BBSERVERLOGS/hobbitd.log --admin-senders=127.0.0.1,$BBSERVERIP --store-clientlogs=!msgs


# "bbstatus" saves status-logs in text- and html-format, like the old Big Brother 
# daemon does. Unless you are using add-ons that directly access the log-files, you 
# will not need to run this module, and it is recommended that you keep it disabled
# since storing the raw logs on disk can cause a significant load on your server.

[bbstatus]
	DISABLED
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=status --log=$BBSERVERLOGS/status.log hobbitd_filestore --status --html


# "bbhistory" keeps track of the status changes that happen, in a manner that is
# compatible with the Big Brother history logs. You probably do want to run this.

[bbhistory]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=stachg --log=$BBSERVERLOGS/history.log hobbitd_history


# "hostdata" stores the Hobbit client messages on disk when some status for a host
# changes. This lets you access a lot of data collected from a host around the time
# when a problem occurred. However, it may use a significant amount of disk space
# if you have lots of Hobbit clients.
# Note: The --store-clientlogs option for the [hobbitd] provides control over
#       which status-changes will cause a client message to be stored.
[hostdata]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=clichg --log=$BBSERVERLOGS/hostdata.log hobbitd_hostdata


# "bbdata" saves information sent using the BB "data" protocol, like the old Big Brother 
# daemon does. Unless you are using add-ons that directly access the data-files, you 
# will not need to run this module, and it is recommended that you keep it disabled
# since storing the raw data on disk can cause a significant load on your BB server.
# RRD graphs uses data-files, but since RRD is handled by the hobbitd_rrd module, you do
# not need to run the "bbdata" module to get RRD graphs.

[bbdata]
	DISABLED
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=data   --log=$BBSERVERLOGS/data.log hobbitd_filestore --data


# "bbnotes" saves web note-files, that are sent using the BB "notes" protocol. This is
# disabled by default; if you use the BB "notes" protocol, then you should enable this.

[bbnotes]
	DISABLED
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=notes  --log=$BBSERVERLOGS/notes.log hobbitd_filestore --notes


# "bbenadis" updates the files used to indicate that a host or test has been enabled or disabled.
# Unless you are running server side scripts that look at these files, you do not need this.

[bbenadis]
	DISABLED
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=enadis --log=$BBSERVERLOGS/enadis.log hobbitd_filestore --enadis


# "bbpage" sends out alerts. Note that this module is NOT compatible with the old Big Brother
# system - it uses a different configuration file to determine how alerts get sent. If you want
# alerts to go out via pager, e-mail or some other means, then you must run this module.

[bbpage]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=page  --log=$BBSERVERLOGS/page.log hobbitd_alert --checkpoint-file=$BBTMP/alert.chk --checkpoint-interval=600


# "rrdstatus" updates RRD files with information that arrives as "status" messages.
# If you want RRD graphs of your monitoring data, then you want to run this.

[rrdstatus]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=status --log=$BBSERVERLOGS/rrd-status.log hobbitd_rrd --rrddir=$BBVAR/rrd

# "rrddata" updates RRD files with information that arrives as "data" messages.
# If you want RRD graphs of your monitoring BB data, then you want to run this.

[rrddata]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=data   --log=$BBSERVERLOGS/rrd-data.log hobbitd_rrd --rrddir=$BBVAR/rrd

# The client back-end module. You need this if you are running the Hobbit client on any system.
[clientdata]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD hobbitd_channel --channel=client --log=$BBSERVERLOGS/clientdata.log hobbitd_client


# "bbproxy" is the Hobbit proxy server that allows you to forward status messages
# from a protected network to your Hobbit server. It is not enabled by default,
# since it would conflict with the hobbitd task.
# If you need to run this, then disabled hobbitd and the hobbitd-modules
# above, then enable this. Make sure you enter the IP-address of your 
# Hobbit server in the command-line, so that the proxy knows where to forward
# status messages.
[bbproxy]
	DISABLED
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	CMD $BBHOME/bin/bbproxy --hobbitd --bbdisplay=YOUR.HOBBIT.SERVER.IP --report=$MACHINE.bbproxy --no-daemon --pidfile=$BBSERVERLOGS/bbproxy.pid
	LOGFILE $BBSERVERLOGS/bbproxy.log


# "hobbitfetch" is used when you have clients that cannot connect to your Hobbit server,
# but the Hobbit server can connect to the client. Normally the clients will initiate
# a connection to the Hobbit server to deliver the data they collect, but this is
# forbidden in some firewall setups. By enabling the hobbitfetch task, hosts that have
# the "pulldata" tag in the bb-hosts file will be polled by hobbitfetch for their data.
#
# NOTE: On the clients you must enable the "msgcache" task, since this is what 
#       hobbitfetch is talking to.
[hobbitfetch]
	DISABLED
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	CMD $BBHOME/bin/hobbitfetch --server=YOUR.HOBBIT.SERVER.IP --no-daemon --pidfile=$BBSERVERLOGS/hobbitfetch.pid
	LOGFILE $BBSERVERLOGS/hobbitfetch.log


# "bbdisplay" runs the bbgen tool to generate the Hobbit webpages from the status information that
# has been received. Big Brother updated the webpages once every 5 minutes. The default here is to
# run it every minute for faster updates, but you can change it if you have a highly loaded server
# and dont need updates that often.

[bbdisplay]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	GROUP generators
	CMD bbgen $BBGENOPTS --report
	LOGFILE $BBSERVERLOGS/bb-display.log
	INTERVAL 1m

# bbcombotest is an extension script for the Hobbit display server. It generates
# status messages that are combined from the status of one or more normal statuses.
# It is controlled via the bbcombotest.cfg file.
[bbcombotest]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD $BBHOME/bin/bbcombotest
	LOGFILE $BBSERVERLOGS/bbcombotest.log
	INTERVAL 5m

# "bbnet" runs the bbtest-net tool to perform the network based tests - i.e. http, smtp, ssh, dns and
# all of the various network protocols we need to test.

[bbnet]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD bbtest-net --report --ping --checkresponse
	LOGFILE $BBSERVERLOGS/bb-network.log
	INTERVAL 5m


# "bbretest" picks up the tests that the normal network test consider "failed", and re-does those
# tests more often. This enables Big Brother to pick up a recovered network service faster than
# if it were tested only by the "bbnet" task (which only runs every 5 minutes). So if you have
# servers with very high availability guarantees, running this task will make your availability
# reports look much better.

[bbretest]
	ENVFILE /usr/lib/hobbit/server/etc/hobbitserver.cfg
	NEEDS hobbitd
	CMD $BBHOME/ext/bbretest-net.sh
	LOGFILE $BBSERVERLOGS/bb-retest.log
	INTERVAL 1m


# "hobbitclient" runs the Hobbit client. The client is installed automatically
# when you install a Hobbit server (presumably, you do want to monitor the 
# Hobbit server ?), but there's no need to have two hobbitlaunch instances
# running at the same time. So we'll just run it from here.
# Note: If you are using another client package, you should disable this one.

[hobbitclient]
	ENVFILE /usr/lib/hobbit/client/etc/hobbitclient.cfg
	NEEDS hobbitd
	CMD /usr/lib/hobbit/client/bin/hobbitclient.sh
	LOGFILE $BBSERVERLOGS/hobbitclient.log
	INTERVAL 5m

directory /etc/hobbit/hobbitlaunch.d


More information about the Xymon mailing list