Name: mon
Summary: General-purpose resource monitoring system
Version: 1.2.0
Release: 2
License: GPL
Group: Applications/Internet
URL: http://www.kernel.org/software/mon/
Description: Mon is a general-purpose resource monitoring system. It can be used
to monitor network service availability, server problems,
environmental conditions (i.e., the temperature in a room) or other
things. Mon can be used to test the condition and/or to trigger an
action upon failure of the condition. Mon keeps the testing and
action-taking tasks as separate, stand-alone programs.
Mon is very extensible. Monitors and alerts are not a part of mon, but the distribution comes with a handful of them to get you started. This means that if a new service needs monitoring, or if a new alert is required, the mon server will not need to be changed.
The build could not start because the following file is missing: mon.cgi-1.52.tar.bz2
The build could not start because the following file is missing: mon.cgi-1.52.tar.bz2
The spec file used by the build system currently has the following contents:
# $Id$ # Authority: dag # Upstream: Jim Trocki <trockij$linux,kernel,org> %define moncgi_version 1.52 Summary: General-purpose resource monitoring system Name: mon Version: 1.2.0 Release: 2%{?dist} License: GPL Group: Applications/Internet URL: http://www.kernel.org/software/mon/ Source0: ftp://ftp.kernel.org/pub/software/admin/mon/mon-%{version}.tar.bz2 Source1: ftp://ftp.kernel.org/pub/software/admin/mon/contrib/cgi-bin/mon.cgi/mon.cgi-%{moncgi_version}.tar.bz2 Source2: ftp://ftp.kernel.org/pub/software/admin/mon/contrib/all-alerts.tar.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Requires: perl Requires: perl(Authen::PAM) %description Mon is a general-purpose resource monitoring system. It can be used to monitor network service availability, server problems, environmental conditions (i.e., the temperature in a room) or other things. Mon can be used to test the condition and/or to trigger an action upon failure of the condition. Mon keeps the testing and action-taking tasks as separate, stand-alone programs. Mon is very extensible. Monitors and alerts are not a part of mon, but the distribution comes with a handful of them to get you started. This means that if a new service needs monitoring, or if a new alert is required, the mon server will not need to be changed. %prep %setup -a 1 -a 2 ### FIXME: Change to real perl. (Please fix upstream) %{__perl} -pi -e 's|^#!/.*bin/perl|#!%{__perl}|i' mon.cgi-%{moncgi_version}/util/moncgi-appsecret.pl alerts/hpov/*.alert mon.d/*.monitor ### FIXME: get rid of chgrp. (Please fix upstream) %{__perl} -pi.orig -e 's|-g uucp ||' mon.d/Makefile %{__cat} <<EOF >userfile # user: passwd EOF %{__cat} <<'EOF' >mon.cf ### Extremely basic mon.cf file ### global options cfbasedir = %{_sysconfdir}/mon pidfile = %{_localstatedir}/run/mon.pid statedir = %{_localstatedir}/lib/mon/state.d logdir = %{_localstatedir}/lib/mon/log.d dtlogfile = %{_localstatedir}/lib/mon/log.d/downtime.log alertdir = %{_libdir}/mon/alert.d mondir = %{_libdir}/mon/mon.d maxprocs = 20 histlength = 100 randstart = 60s authtype = pam userfile = %{_sysconfdir}/mon/userfile ### group definitions (hostnames or IP addresses) hostgroup servers localhost watch servers service ping interval 5m monitor ping.monitor period wd {Mon-Fri} hr {7am-10pm} alert mail.alert root@localhost alertevery 1h period wd {Sat-Sun} alert mail.alert root@localhost service telnet interval 10m monitor telnet.monitor period wd {Mon-Fri} hr {7am-10pm} alertevery 1h alertafter 2 30m alert mail.alert root@localhost service http interval 4m monitor http.monitor allow_empty_group period wd {Sun-Sat} upalert mail.alert -S "web server is back up" mis alertevery 45m service smtp interval 10m monitor smtp.monitor period wd {Mon-Fri} hr {7am-10pm} alertevery 1h alertafter 2 30m alert qpage.alert mis-pagers@domain.com ### See /usr/doc for the original example... EOF %{__cat} <<'EOF' >mon.sysv #!/bin/bash # # Init file for Mon System Monitoring daemon # # Written by Dag Wieers <dag@wieers.com>. # # chkconfig: 2345 99 10 # description: Mon System Monitoring daemon # # processname: mon # config: %{_sysconfdir}/mon/mon.conf # config: %{_sysconfdir}/mon/auth.conf # pidfile: %{_localstatedir}/run/mon.pid source %{_initrddir}/functions [ -x %{_bindir}/mon ] || exit 1 [ -r %{_sysconfdir}/mon/mon.cf ] || exit 1 [ -r %{_sysconfdir}/mon/auth.cf ] || exit 1 RETVAL=0 prog="mon" desc="System Monitoring daemon" start() { echo -n $"Starting $desc ($prog): " daemon $prog -f -c %{_sysconfdir}/mon/mon.cf RETVAL=$? echo [ $RETVAL -eq 0 ] && touch %{_localstatedir}/lock/subsys/$prog return $RETVAL } stop() { echo -n $"Shutting down $desc ($prog): " killproc $prog RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f %{_localstatedir}/lock/subsys/$prog return $RETVAL } restart() { stop start } reload() { echo -n $"Reloading $desc ($prog): " killproc $prog -HUP RETVAL=$? echo return $RETVAL } case "$1" in start) start ;; stop) stop ;; restart) restart ;; reload) reload ;; condrestart) [ -e %{_localstatedir}/lock/subsys/$prog ] && restart RETVAL=$? ;; status) status $prog RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}" RETVAL=1 esac exit $RETVAL EOF %build %{__make} %{?_smp_mflags} -C mon.d \ RPM_OPT_FLAGS="%{optflags} -DUSE_VENDOR_CF_PATH=1" %install %{__rm} -rf %{buildroot} %makeinstall -C mon.d MONPATH="%{buildroot}%{_libdir}/mon" #%{__install} -p -m0755 mon.d/*.monitor %{buildroot}%{_libdir}/mon/mon.d/ #%{__install} -p -m0555 mon.d/dialin.monitor.wrap %{buildroot}%{_libdir}/mon/mon.d/ %{__install} -Dp -m0755 mon %{buildroot}%{_bindir}/mon %{__install} -Dp -m0755 clients/moncmd %{buildroot}%{_bindir}/moncmd %{__install} -Dp -m0755 clients/monshow %{buildroot}%{_bindir}/monshow %{__install} -Dp -m0755 clients/skymon/skymon %{buildroot}%{_bindir}/skymon %{__install} -d -m0755 %{buildroot}%{_mandir}/man{1,8}/ %{__install} -p -m0644 doc/*.1 %{buildroot}%{_mandir}/man1/ %{__install} -p -m0644 doc/*.8 %{buildroot}%{_mandir}/man8/ %{__install} -d -m0755 %{buildroot}%{_libdir}/mon/{alert.d,mon.d}/ %{__install} -p -m0755 alert.d/* %{buildroot}%{_libdir}/mon/alert.d/ %{__install} -p -m0755 alerts/*/*.alert %{buildroot}%{_libdir}/mon/alert.d/ %{__install} -Dp -m0644 etc/auth.cf %{buildroot}%{_sysconfdir}/mon/auth.cf %{__install} -Dp -m0644 mon.cf %{buildroot}%{_sysconfdir}/mon/mon.cf %{__install} -Dp -m0600 userfile %{buildroot}%{_sysconfdir}/mon/userfile %{__install} -Dp -m0755 mon.sysv %{buildroot}%{_initrddir}/mon %{__install} -Dp -m0755 mon.cgi-%{moncgi_version}/mon.cgi %{buildroot}%{_localstatedir}/www/cgi-bin/mon.cgi %{__install} -d -m0755 %{buildroot}%{_localstatedir}/lib/mon/{log.d,state.d}/ %clean %{__rm} -rf %{buildroot} %post /sbin/chkconfig --add mon %preun if [ $1 -eq 0 ]; then /sbin/service mon stop &>/dev/null || : /sbin/chkconfig --del mon fi %postun /sbin/service mon condrestart &>/dev/null || : %files %defattr(-, root, root, 0755) %doc CHANGES COPYING COPYRIGHT CREDITS KNOWN-PROBLEMS README TODO VERSION %doc alerts/*/*.README doc/README.* mon.cgi-1.52/ utils/ %doc clients/{skymon,batch-example} etc/*.cf etc/example.m4 etc/example.monshowrc %doc %{_mandir}/man1/moncmd.1* %doc %{_mandir}/man1/monshow.1* %doc %{_mandir}/man8/mon.8* %config(noreplace) %{_sysconfdir}/mon/ %config %{_initrddir}/mon %{_bindir}/mon %{_bindir}/moncmd %{_bindir}/monshow %{_bindir}/skymon %{_libdir}/mon/ %{_localstatedir}/lib/mon/ %{_localstatedir}/www/cgi-bin/mon.cgi %defattr(2555, root, uucp) %{_libdir}/mon/mon.d/dialin.monitor.wrap %changelog * Wed Dec 17 2008 Dag Wieers <dag@wieers.com> - 1.2.0-2 - Added missing perl(Authen::PAM) requirement. * Wed Jun 27 2007 Dag Wieers <dag@wieers.com> - 1.2.0-1 - Updated to release 1.2.0. * Tue Mar 06 2004 Dag Wieers <dag@wieers.com> - 0.99.2-1 - Fixed problems with perl-modules. * Fri Jan 09 2004 Dag Wieers <dag@wieers.com> - 0.99.2-0 - Initial package. (using DAR)