# # 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