Compare commits
5 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc601bd7cc | ||
|
|
63ce53c985 | ||
|
|
d77a7fb373 | ||
|
|
264d222b87 | ||
|
|
5d4be38d81 |
10 changed files with 355 additions and 21 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
all-alerts.tar.bz2
|
||||
mon-1.2.0.tar.bz2
|
||||
mon.cgi-1.52.tar.bz2
|
||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
|||
# Makefile for source rpm: mon
|
||||
# $Id$
|
||||
NAME := mon
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
20
mon-1.2.0-perl.patch
Normal file
20
mon-1.2.0-perl.patch
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
Originally, a perl scriptlet in Dag's SPEC did this.
|
||||
|
||||
diff -rup mon-1.2.0.orig/alerts/hpov/hpov.alert mon-1.2.0/alerts/hpov/hpov.alert
|
||||
--- mon-1.2.0.orig/alerts/hpov/hpov.alert 2001-05-23 03:27:54.000000000 +0200
|
||||
+++ mon-1.2.0/alerts/hpov/hpov.alert 2008-07-13 12:48:53.000000000 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/local/bin/perl
|
||||
+#!/usr/bin/perl
|
||||
#
|
||||
# hpov.alert - generate event in HP OpenView
|
||||
#
|
||||
diff -rup mon-1.2.0.orig/mon.cgi-1.52/util/moncgi-appsecret.pl mon-1.2.0/mon.cgi-1.52/util/moncgi-appsecret.pl
|
||||
--- mon-1.2.0.orig/mon.cgi-1.52/util/moncgi-appsecret.pl 2001-04-19 01:13:56.000000000 +0200
|
||||
+++ mon-1.2.0/mon.cgi-1.52/util/moncgi-appsecret.pl 2008-07-13 12:48:53.000000000 +0200
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/usr/local/bin/perl -w
|
||||
+#!/usr/bin/perl -w
|
||||
#
|
||||
# NAME
|
||||
# moncgi-appsecret.pl
|
||||
11
mon-1.2.0-uucp.patch
Normal file
11
mon-1.2.0-uucp.patch
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
Originally, a perl scriptlet in Dag's SPEC did this.
|
||||
|
||||
diff -rup mon-1.2.0.orig/mon.d/Makefile mon-1.2.0/mon.d/Makefile
|
||||
--- mon-1.2.0.orig/mon.d/Makefile 2004-06-09 07:18:05.000000000 +0200
|
||||
+++ mon-1.2.0/mon.d/Makefile 2008-07-13 12:44:50.000000000 +0200
|
||||
@@ -31,4 +31,4 @@
|
||||
install:
|
||||
install -d $(MONPATH)/mon.d
|
||||
install rpc.monitor $(MONPATH)/mon.d/
|
||||
- install -g uucp -m 02555 dialin.monitor.wrap $(MONPATH)/mon.d/
|
||||
+ install -m 02555 dialin.monitor.wrap $(MONPATH)/mon.d/
|
||||
51
mon.cf
Normal file
51
mon.cf
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
### Extremely basic mon.cf file
|
||||
|
||||
### global options
|
||||
cfbasedir = /etc/mon
|
||||
pidfile = /var/run/mon.pid
|
||||
statedir = /var/lib/mon/state.d
|
||||
logdir = /var/lib/mon/log.d
|
||||
dtlogfile = /var/lib/mon/log.d/downtime.log
|
||||
alertdir = /usr/lib/mon/alert.d
|
||||
mondir = /usr/lib/mon/mon.d
|
||||
maxprocs = 20
|
||||
histlength = 100
|
||||
randstart = 60s
|
||||
authtype = pam
|
||||
userfile = /etc/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/share/doc for the original example...
|
||||
82
mon.init
Normal file
82
mon.init
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Init file for Mon System Monitoring daemon
|
||||
#
|
||||
# Written by Dag Wieers <dag@wieers.com>.
|
||||
#
|
||||
# chkconfig: - 99 10
|
||||
# description: Mon System Monitoring daemon
|
||||
#
|
||||
# processname: mon
|
||||
# config: /etc/mon/mon.conf
|
||||
# config: /etc/mon/auth.conf
|
||||
# pidfile: /var/run/mon.pid
|
||||
|
||||
source /etc/rc.d/init.d/functions
|
||||
|
||||
[ -x /usr/bin/mon ] || exit 1
|
||||
[ -r /etc/mon/mon.cf ] || exit 1
|
||||
[ -r /etc/mon/auth.cf ] || exit 1
|
||||
|
||||
RETVAL=0
|
||||
prog="mon"
|
||||
desc="System Monitoring daemon"
|
||||
|
||||
start() {
|
||||
echo -n $"Starting $desc ($prog): "
|
||||
daemon $prog -f -c /etc/mon/mon.cf
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Shutting down $desc ($prog): "
|
||||
killproc $prog
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && rm -f /var/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 /var/lock/subsys/$prog ] && restart
|
||||
RETVAL=$?
|
||||
;;
|
||||
status)
|
||||
status $prog
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
|
||||
RETVAL=1
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
||||
184
mon.spec
Normal file
184
mon.spec
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
# TODO: Split monitors and alerts into subpackages
|
||||
# they drag in way too much dependencies
|
||||
|
||||
%define moncgi_version 1.52
|
||||
|
||||
Name: mon
|
||||
Summary: General-purpose resource monitoring system
|
||||
Version: 1.2.0
|
||||
Release: 3%{?dist}
|
||||
License: GPLv2+
|
||||
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
|
||||
|
||||
Source3: mon.cf
|
||||
Source4: mon.init
|
||||
Source5: userfile
|
||||
|
||||
Patch0: mon-1.2.0-perl.patch
|
||||
Patch1: mon-1.2.0-uucp.patch
|
||||
|
||||
BuildRequires: dos2unix
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
|
||||
%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 -q -a 1 -a 2
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
# Filter out unwanted requires
|
||||
cat << \EOF > %{name}-req
|
||||
#!/bin/sh
|
||||
%{__perl_requires} $* |\
|
||||
sed -e '
|
||||
/perl(Math::TrulyRandom)/d
|
||||
/perl(Net::hostent)/d
|
||||
'
|
||||
EOF
|
||||
|
||||
%define __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
|
||||
chmod +x %{__perl_requires}
|
||||
|
||||
|
||||
%build
|
||||
for F in CHANGES doc/README.syslog.monitor
|
||||
do
|
||||
iconv -f ISO-8859-1 -t UTF-8 $F >tmp
|
||||
touch --reference $F tmp
|
||||
mv tmp $F
|
||||
done
|
||||
|
||||
dos2unix -q -k alerts/sms/sms.alert
|
||||
|
||||
make %{?_smp_mflags} -C mon.d \
|
||||
CFLAGS="%{optflags} -DUSE_VENDOR_CF_PATH=1"
|
||||
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
install -d -m0755 $RPM_BUILD_ROOT%{_bindir} \
|
||||
$RPM_BUILD_ROOT%{_mandir}/man{1,8}/ \
|
||||
$RPM_BUILD_ROOT%{_libdir}/mon/{alert.d,mon.d}/ \
|
||||
$RPM_BUILD_ROOT%{_sysconfdir}/mon/ \
|
||||
$RPM_BUILD_ROOT%{_initrddir} \
|
||||
$RPM_BUILD_ROOT%{_localstatedir}/www/cgi-bin/ \
|
||||
$RPM_BUILD_ROOT%{_localstatedir}/lib/mon/{log.d,state.d}/
|
||||
|
||||
install -p -m0755 mon clients/moncmd clients/monshow clients/skymon/skymon $RPM_BUILD_ROOT%{_bindir}
|
||||
install -p -m0644 doc/*.1 $RPM_BUILD_ROOT%{_mandir}/man1/
|
||||
install -p -m0644 doc/*.8 $RPM_BUILD_ROOT%{_mandir}/man8/
|
||||
|
||||
install -p -m0755 mon.d/*.wrap mon.d/*.monitor $RPM_BUILD_ROOT%{_libdir}/mon/mon.d/
|
||||
install -p -m0755 alert.d/* $RPM_BUILD_ROOT%{_libdir}/mon/alert.d/
|
||||
install -p -m0755 alerts/*/*.alert $RPM_BUILD_ROOT%{_libdir}/mon/alert.d/
|
||||
|
||||
install -Dp -m0644 etc/auth.cf $RPM_BUILD_ROOT%{_sysconfdir}/mon/auth.cf
|
||||
install -Dp -m0644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/mon/mon.cf
|
||||
install -Dp -m0755 %{SOURCE4} $RPM_BUILD_ROOT%{_initrddir}/mon
|
||||
install -Dp -m0600 %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mon/userfile
|
||||
|
||||
install -Dp -m0755 mon.cgi-%{moncgi_version}/mon.cgi $RPM_BUILD_ROOT%{_localstatedir}/www/cgi-bin/mon.cgi
|
||||
|
||||
# Fix permissions in examples documentation files
|
||||
chmod -x mon.cgi-1.52/mon.cgi \
|
||||
clients/skymon/skymon \
|
||||
mon.cgi-1.52/util/moncgi-appsecret.pl \
|
||||
doc/README.snmpdiskspace.monitor \
|
||||
utils/cf-to-hosts \
|
||||
clients/batch-example \
|
||||
utils/syslog.monitor
|
||||
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
|
||||
%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, -)
|
||||
%doc CHANGES COPYING COPYRIGHT CREDITS README TODO doc/README.*
|
||||
%doc KNOWN-PROBLEMS utils/ VERSION
|
||||
%doc alerts/*/*.README mon.cgi-1.52/
|
||||
%doc clients/{skymon,batch-example} etc/*.cf etc/example.m4 etc/example.monshowrc
|
||||
%config(noreplace) %{_sysconfdir}/mon/
|
||||
%{_initrddir}/*
|
||||
%{_mandir}/man?/*
|
||||
%{_localstatedir}/www/cgi-bin/mon.cgi
|
||||
%{_bindir}/*
|
||||
%{_localstatedir}/lib/mon/
|
||||
%dir %{_libdir}/mon
|
||||
%{_libdir}/mon/alert.d
|
||||
%dir %{_libdir}/mon/mon.d
|
||||
%{_libdir}/mon/mon.d/*.monitor
|
||||
%attr(2755, root, uucp) %{_libdir}/mon/mon.d/dialin.monitor.wrap
|
||||
|
||||
# These packages are not in EPEL
|
||||
%if 0%{?rhel} <= 5
|
||||
# perl(Expect)
|
||||
%exclude %{_libdir}/mon/mon.d/dialin.monitor
|
||||
# perl(Authen::Radius)
|
||||
%exclude %{_libdir}/mon/mon.d/radius.monitor
|
||||
%endif
|
||||
|
||||
# These are not in Fedora either
|
||||
# perl(AOL::TOC)
|
||||
%exclude %{_libdir}/mon/alert.d/aim.alert
|
||||
# perl(Filesys::DiskSpace)
|
||||
%exclude %{_libdir}/mon/mon.d/freespace.monitor
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri Feb 20 2009 Lubomir Rintel (Good Data) <lubo.rintel@gooddata.com> - 1.2.0-3
|
||||
- Remove AOL::TOC
|
||||
- Add most of shipped monitors (GDC #581)
|
||||
|
||||
* Sun Jul 13 2008 Lubomir Rintel (Good Data) <lubo.rintel@gooddata.com> - 1.2.0-2
|
||||
- Refactor a bit, to fit Fedora customs and guidelines
|
||||
- Fix use of optflags
|
||||
- Fix file encodings
|
||||
- Do not start service by default
|
||||
- Remove unneeded requires
|
||||
- Fix file modes
|
||||
|
||||
* Wed Jun 27 2007 Dag Wieers <dag@wieers.com> - 1.2.0-1 - 4303+/dries
|
||||
- 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)
|
||||
3
sources
3
sources
|
|
@ -0,0 +1,3 @@
|
|||
73631aa8d71beaf2dc5d655785cc5063 all-alerts.tar.bz2
|
||||
ed52e4d4c6bbe8bca72f2a7843c0bcea mon-1.2.0.tar.bz2
|
||||
0bfe8402b83679307ce50d0dfc56bd45 mon.cgi-1.52.tar.bz2
|
||||
1
userfile
Normal file
1
userfile
Normal file
|
|
@ -0,0 +1 @@
|
|||
# user: passwd
|
||||
Loading…
Add table
Add a link
Reference in a new issue