add check to see if mysqld is running in init script
[monitor.git] / nagios / monitor-nagios.init
1 #!/bin/bash
2
3 # chkconfig: - 65 35
4 #
5 # Provides: monitor-nagios
6 # Required-Start: mysqld sendmail
7 # Defalt-Start: 3 4 5
8 # Default-Stop: 0 1 2 6
9 # Description: Setup requirements for monitor to work with nagios
10
11 # Stephen Soltesz <soltesz@cs.princeton.edu>
12 # Copyright (C) 2010 The Trustees of Princeton University
13 #
14 # $Id$
15 #
16
17 . /etc/plc.d/functions
18 . /etc/plc.d/monitor.functions
19 . /etc/planetlab/plc_config
20
21 # NOTE: expect that mysqld is already started.
22
23 start () {
24         
25         if ! $( mysqladmin ping 2> /dev/null ) ; then
26                 echo "mysqld is not running; cannot continue; exit..."
27                 exit
28         fi
29
30         # if it's a fresh install, there is no root passwd.
31         if $( mysqladmin -u root create nagios ) ; then
32                 cat <<EOF > /tmp/nagios.priv
33    GRANT ALL PRIVILEGES ON nagios.* TO ndouser@localhost IDENTIFIED BY 'ndopassword';
34 EOF
35                 cat /tmp/nagios.priv | mysql -u root
36
37                 cd /usr/share/doc/ndoutils-mysql-*/db
38                 perl ./installdb -u ndouser -p ndopassword -d nagios
39         fi
40
41         if ! $( grep -q /usr/lib/nagios/brokers/ndomod.so  /etc/nagios/nagios.cfg ) ; then 
42                 echo "broker_module=/usr/lib/nagios/brokers/ndomod.so config_file=/etc/nagios/ndomod.cfg" >> /etc/nagios/nagios.cfg
43                 echo "foo"
44         fi
45
46         /sbin/chkconfig ndo2db on
47         #/sbin/service ndo2db start
48         #/sbin/service nagios restart
49
50         ## set passwd for /etc/nagios/passwd
51         htpasswd -b -c /etc/nagios/passwd nagiosadmin nagiospassword
52
53         # disable /etc/httpd/conf.d/nagios.conf restriction to only 127.0.0.1
54         if $( grep -q -E "^   deny from all" /etc/httpd/conf.d/nagios.conf ) ; then
55                 sed -i -e 's/   deny from all/   allow from all/g' /etc/httpd/conf.d/nagios.conf 
56                 sed -i -e 's/   order deny,allow/   order allow,deny/g' /etc/httpd/conf.d/nagios.conf 
57                 sed -i -e 's/   allow from 127.0.0.1/   /g' /etc/httpd/conf.d/nagios.conf 
58         fi
59
60         touch /etc/nagios/objects/plc.cfg
61         touch /etc/nagios/objects/plcusers.cfg
62         echo "cfg_file=/etc/nagios/objects/plc.cfg" >> /etc/nagios/nagios.cfg
63         echo "cfg_file=/etc/nagios/objects/plcusers.cfg" >> /etc/nagios/nagios.cfg
64
65         /sbin/chkconfig sendmail on
66         /sbin/service sendmail start
67
68         # change /etc/nagios/objects/contacts.cfg to some real email addr
69         # change /etc/nagios/nagios.cfg admin_email to some real email addr
70
71 }
72
73
74 # See how we were called.
75 case "$1" in
76   start)
77     start
78     ;;
79   stop)
80     echo "not implemented"
81     ;;
82   status)
83     echo "not implemented"
84     ;;
85   restart)
86     echo "not implemented"
87     ;;
88   *)
89     echo $"Usage: $0 {start|stop|status|condrestart|restart}"
90     exit 1
91 esac
92
93 exit $?