114 lines
4.5 KiB
RPMSpec
114 lines
4.5 KiB
RPMSpec
#
|
|
# spec file for package perl-Monitor-Simple
|
|
#
|
|
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: perl-Monitor-Simple
|
|
Version: 0.2.8
|
|
Release: 0
|
|
%define cpan_name Monitor-Simple
|
|
Summary: Simple monitoring of applications and services
|
|
License: Artistic-1.0 or GPL-1.0+
|
|
Group: Development/Libraries/Perl
|
|
Url: http://search.cpan.org/dist/Monitor-Simple/
|
|
Source: http://www.cpan.org/authors/id/T/TU/TULSOFT/%{cpan_name}-%{version}.tar.gz
|
|
Source100: README.md
|
|
BuildArch: noarch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
BuildRequires: perl
|
|
BuildRequires: perl-macros
|
|
BuildRequires: perl(File::Slurp)
|
|
BuildRequires: perl(File::Which)
|
|
BuildRequires: perl(Getopt::Long) >= 2.38
|
|
BuildRequires: perl(IO::CaptureOutput)
|
|
BuildRequires: perl(LWP::UserAgent)
|
|
BuildRequires: perl(Log::Log4perl)
|
|
BuildRequires: perl(Parallel::ForkManager)
|
|
BuildRequires: perl(XML::Simple)
|
|
Requires: perl(Getopt::Long) >= 2.38
|
|
Requires: perl(IO::CaptureOutput)
|
|
Requires: perl(LWP::UserAgent)
|
|
Requires: perl(Log::Log4perl)
|
|
Requires: perl(Parallel::ForkManager)
|
|
Requires: perl(XML::Simple)
|
|
%{perl_requires}
|
|
|
|
%description
|
|
The *Monitor::Simple* allows simple monitoring of applications and services
|
|
of your IT infrastructure. There are many such tools, some of them very
|
|
complex and sophisticated. For example, one widely used is _Nagios_ (the
|
|
http://www.nagios.org/ manpage). The _Monitor::Simple_ does not aim, as its
|
|
name indicates, for all features provided by those tools. It allows,
|
|
however, to check whether your applications and services are running
|
|
correctly. Its simple command-line interface can be used in cron jobs and
|
|
reports can be viewed as a single HTML or text page.
|
|
|
|
Regarding *what* it checks, it uses the same concept as _Nagios_: all
|
|
checking is done by *plugins*, standalone scripts. And more to it: these
|
|
plugins are fully compatible with the Nagios plugins. Which means that you
|
|
either write your own plugins and use them either with _Monitor::Simple_ or
|
|
with _Nagios_, or you can use many existing Nagios plugins and use them
|
|
directly with the _Monitor::Simple_. For example, the "Memory check" in the
|
|
synopsis above is an unchanged Nagios plugin.
|
|
|
|
Another concept used by _Monitor::Simple_ are *notifiers*. These are again
|
|
standalone scripts that are called whenever a service/application check is
|
|
done and there is a notifier (or notifiers) defined to be used. The
|
|
notification can be sent (or ignored) for every possible check result
|
|
(errors, OK, all, etc.). Because these _notifiers_ are just standalone
|
|
scripts, one can easily wrapped many existing notifying tools (pagers, SMS
|
|
senders, etc.); again, many of them are known to Nagios and similar
|
|
programs.
|
|
|
|
Finally, the last "concept" in _Monitor::Simple_ is the configuration. The
|
|
Monitor::Simple uses an *XML configuration file* defining what services
|
|
should be checked, how to check them (meaning, what plugins to use) and
|
|
whom to notify (meaning, what notifiers to use). You can use
|
|
Monitor::Simple without any Perl programming, just by creating a
|
|
configuration file (because only you know what services you wish to check)
|
|
and use it with the provided ready-to-use script *smonitor*, providing that
|
|
the few plugins and notifiers distributed with Monitor::Simple are good
|
|
enough (at least as a starting point). The _smonitor_ has its own
|
|
documentation describing its command-line parameters in details:
|
|
|
|
smonitor -man
|
|
|
|
However, either way (using _smonitor_ or embedding _Monitor::Simple_ into
|
|
your Perl code), you need to write a configuration file. So, let's start
|
|
with it:
|
|
|
|
%prep
|
|
%setup -q -n %{cpan_name}-%{version}
|
|
find . -type f -print0 | xargs -0 chmod 644
|
|
|
|
%build
|
|
%{__perl} Makefile.PL INSTALLDIRS=vendor
|
|
%{__make} %{?_smp_mflags}
|
|
|
|
%check
|
|
%{__make} test
|
|
|
|
%install
|
|
%perl_make_install
|
|
%perl_process_packlist
|
|
%perl_gen_filelist
|
|
|
|
%files -f %{name}.files
|
|
%defattr(-,root,root,755)
|
|
%doc ChangeLog LICENSE README README.md
|
|
|
|
%changelog
|