Files
perl-Monitor-Simple/perl-Monitor-Simple.spec
2025-08-12 18:15:39 +02:00

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