Zabbix Agent integration on SME Server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

404 lines
15 KiB

13 years ago
# $Id: smeserver-zabbix-agent.spec,v 1.34 2012/06/07 16:26:43 vip-ire Exp $
# Authority: vip-ire
# Name: Daniel Berteaud
%define name smeserver-zabbix-agent
%define version 0.1
%define release 52
Summary: sme server integration of zabbix agent
Name: %{name}
Version: %{version}
Release: %{release}%{?dist}
License: GNU GPL version 2
URL: http://www.zabbix.com/
Group: SMEserver/addon
Source: %{name}-%{version}.tar.gz
Patch0: smeserver-zabbix-agent-0.1-hostname.patch
Patch1: smeserver-zabbix-agent-0.1-template_rename.patch
Patch2: smeserver-zabbix-agent-0.1-userparam_ext_ip.patch
Patch3: smeserver-zabbix-agent-0.1-userparam_ups.patch
Patch4: smeserver-zabbix-agent-0.1-userparam_mysql.patch
Patch5: smeserver-zabbix-agent-0.1-userparam_usedMem.patch
Patch6: smeserver-zabbix-agent-0.1-userparam_usedMem_brackets.patch
Patch7: smeserver-zabbix-agent-0.1-userparam_usedMem_key.patch
Patch8: smeserver-zabbix-agent-0.1-userparam_usedMem_Used.patch
Patch9: smeserver-zabbix-agent-0.1-userparam_usedMem_Used2.patch
Patch10: smeserver-zabbix-agent-0.1-userparam_MemStats.patch
Patch11: smeserver-zabbix-agent-0.1-userparam_MemStatsTypo.patch
Patch12: smeserver-zabbix-agent-0.1-userparam_Swap.patch
Patch13: smeserver-zabbix-agent-0.1-userparam_Swap_key.patch
Patch14: smeserver-zabbix-agent-0.1-userparam_removeUselessMemStats.patch
Patch15: smeserver-zabbix-agent-0.1-userparam_pusedMem.patch
Patch16: smeserver-zabbix-agent-0.1-userparam_upsCharge.patch
Patch17: smeserver-zabbix-agent-0.1-disable_passive_mode.patch
Patch18: smeserver-zabbix-agent-0.1-mail_in_stats.patch
Patch19: smeserver-zabbix-agent-0.1-event_zabbix_agent_update.patch
Patch20: smeserver-zabbix-agent-0.1-mail_in_stats_other_denied.patch
Patch21: smeserver-zabbix-agent-0.1-fix_expand_sudoers.patch
Patch22: smeserver-zabbix-agent-0.1-mail_out_stats.patch
Patch23: smeserver-zabbix-agent-0.1-mail_out_stats_typo.patch
Patch24: smeserver-zabbix-agent-0.1-mail_out_stats_ignore_local.patch
Patch25: smeserver-zabbix-agent-0.1-net_stats.patch
Patch26: smeserver-zabbix-agent-0.1-userparam_mysql_size.patch
Patch27: smeserver-zabbix-agent-0.1-adjust_masq.patch
Patch28: smeserver-zabbix-agent-0.1-timeout_comment.patch
Patch29: smeserver-zabbix-agent-0.1-buffers.patch
Patch30: smeserver-zabbix-agent-0.1-sudoers_mysql.patch
Patch31: smeserver-zabbix-agent-0.1-mysql_size_fixe.patch
Patch32: smeserver-zabbix-agent-0.1-userparam_swRaid_status.patch
Patch33: smeserver-zabbix-agent-0.1-userparam_comment.patch
Patch34: smeserver-zabbix-agent-0.1-userparam_megaraid.patch
Patch35: smeserver-zabbix-agent-0.1-userparam_yum_updates.patch
Patch36: smeserver-zabbix-agent-0.1-userparam_sensors.patch
Patch37: smeserver-zabbix-agent-0.1-sensors_fixes.patch
Patch38: smeserver-zabbix-agent-0.1-megaraid_parser.patch
Patch39: smeserver-zabbix-agent-0.1-mail_stats_via_cron.patch
Patch40: smeserver-zabbix-agent-0.1-mdstat_one_line.patch
Patch41: smeserver-zabbix-agent-0.1-megaraid_parser_fix.patch
Patch42: smeserver-zabbix-agent-0.1-cpu_num.patch
Patch43: smeserver-zabbix-agent-0.1-megaraid_fix_raid10.patch
Patch44: smeserver-zabbix-agent-0.1-userparam_smart.patch
Patch45: smeserver-zabbix-agent-0.1-smart_missing_return.patch
Patch46: smeserver-zabbix-agent-0.1-report_0_for_non_existing_drives.patch
Patch47: smeserver-zabbix-agent-0.1-run_megaraid_parser_as_root.patch
Patch48: smeserver-zabbix-agent-0.1-run_megaraid_parser_as_root2.patch
Patch49: smeserver-zabbix-agent-0.1-several_ups.patch
Patch50: smeserver-zabbix-agent-0.1-megaraid_options.patch
Patch51: smeserver-zabbix-agent-0.1-new_qpsmtpd.patch
Patch52: smeserver-zabbix-agent-0.1-megaraid_options_from_db.patch
Patch53: smeserver-zabbix-agent-0.1-disable_megaraid_log.patch
Patch54: smeserver-zabbix-agent-0.1-critical_vs_warning.patch
Patch55: smeserver-zabbix-agent-0.1-userparam_squid.patch
Patch56: smeserver-zabbix-agent-0.1-hostname_from_db.patch
Patch57: smeserver-zabbix-agent-0.1-userparam_diskio.patch
Patch58: smeserver-zabbix-agent-0.1-userparam_asterisk.patch
Patch59: smeserver-zabbix-agent-0.1-userparam_lvm.patch
Patch60: smeserver-zabbix-agent-0.1-add_usr_sbin_in_path.patch
Patch61: smeserver-zabbix-agent-0.1-statusmail.patch
Patch62: smeserver-zabbix-agent-0.1-configure_timeout.patch
Patch63: smeserver-zabbix-agent-0.1-better_asterisk_monitoring.patch
Patch64: smeserver-zabbix-agent-0.1-fix_closing_bracket.patch
Patch65: smeserver-zabbix-agent-0.1-check_crt_expiration.patch
BuildArchitectures: noarch
BuildRequires: e-smith-devtools
BuildRoot: /var/tmp/%{name}-%{version}
Requires: e-smith-release >= 7.0
Requires: zabbix-agent
Requires: smeserver-remoteuseraccess
Requires: perl(IO::Socket)
Requires: perl(Net::SSLeay)
Requires: perl(Date::Parse)
AutoReqProv: no
%description
smserver integration of zabbix agent.
Zabbix is an entreprise-class open source distributed monitoring
solution
%changelog
* Thu Jun 7 2012 Daniel B. <daniel@firewall-services.com> - 0.1-52.sme
- Add missing perl module in dependency
* Thu Jun 7 2012 Daniel B. <daniel@firewall-services.com> - 0.1-51.sme
- Add certificate expiration script
* Fri Oct 28 2011 Daniel B. <daniel@firewall-services.com> - 0.1-50.sme
- Fix a closing bracket in templates
* Wed Oct 26 2011 Daniel B. <daniel@firewall-services.com> - 0.1-49.sme
- Add better asterisk monitoring capabilities
* Fri Jul 08 2011 Daniel B. <daniel@firewall-services.com> - 0.1-48.sme
- Configure timeout from the DB (prop TimeOut)
* Wed May 04 2011 Daniel B. <daniel@firewall-services.com> 0.1-47
- Send status mail with some logs and active connexions (StatusMail prop)
* Thu Sep 02 2010 Daniel B. <daniel@firewall-services.com> 0.1-46
- Add /usr/sbin in path for check_lvm and check_asterisk
* Thu Sep 02 2010 Daniel B. <daniel@firewall-services.com> 0.1-45
- Add basic asterisk monitoring support
- Add basic LVM monitoring support
* Wed Aug 04 2010 Daniel B. <daniel@firewall-services.com> 0.1-44
- Support up to 8 disks for I/O monitoring. Report valid 0 value
for non existing ones to prevent errors in server's log
* Wed Jun 23 2010 Daniel B. <daniel@firewall-services.com> 0.1-43
- Possibility to set Hostname from the DB [SME: 6083]
* Mon May 03 2010 Daniel B. <daniel@firewall-services.com> 0.1-42
- disable MegaCli log (which can break monitoring if log file reaches 2GB)
- report CRITICAL if both CRITICAL and WARNING are found
- add Squid UserParameters (hit ratio, cache size, req per minute)
* Wed Mar 17 2010 Daniel B. <daniel@firewall-services.com> 0.1-41
- read megaraid options from the DB (number of spares, number of
error to ignore)
* Fri Mar 12 2010 Daniel B. <daniel@firewall-services.com> 0.1-40
- update regex for incomming mail stats for newer qpsmtpd
* Wed Feb 17 2010 Daniel B. <daniel@firewall-services.com> 0.1-39
- update megaraid-parser.pl script with options to ignore some errors
* Mon Jan 4 2010 Daniel B. <daniel@firewall-services.com> 0.1-38
- Change UPS UserParameters to use wildcard, so you can monitor several UPS
easily (require changes in the templates on the server side)
* Sun Dec 6 2009 Daniel B. <daniel@firewall-services.com> 0.1-37
- Call megaraid-parser.pl scripts with sudo in zabbix_agentd.conf
* Wed Dec 2 2009 Daniel B. <daniel@firewall-services.com> 0.1-36
- Run megaraid-parser.pl as root (with sudo) instead of granting
zabbix user unrestricted access to MegaCli
* Fri Sep 25 2009 Daniel B. <daniel@firewall-services.com> 0.1-35
- Support up to 8 disks for smart monitoring. Report valid 0 value
for non existing ones to prevent errors in server's log
* Tue Sep 01 2009 Daniel B. <daniel@firewall-services.com> 0.1-34
- Add missing return after smart parameters (if several disks are monitored)
* Mon Aug 31 2009 Daniel B. <daniel@firewall-services.com> 0.1-33
- Add system.smart UserParameter (monitor smart values for configured hard drives)
* Wed Jul 08 2009 Daniel B. <daniel@firewall-services.com> 0.1-32
- Fix megaraid-parser script to support RAID-10 arrays
* Mon Jun 08 2009 Daniel B. <daniel@firewall-services.com> 0.1-31
- Add cpu.number UserParameter (return the number of CPU on the host)
* Wed May 06 2009 Daniel B. <daniel@firewall-services.com> 0.1-30
- Create missing tmp directory
* Mon Apr 26 2009 Daniel B. <daniel@firewall-services.com> 0.1-29
- megaraid-parser.pl is now compatible with newer versions
of MegaCli
- Fix permission on megaraid-parser.pl script
* Thu Apr 23 2009 Daniel B. <daniel@firewall-services.com> 0.1-28
- improvements in sensors script
- Add megaraid-parser.pl script to get more accurate MegaRaid
conrolers informations
- use a cronjob to parse mail logs so multiple zabbix server
can be used. Also, it won't repport false value if your host
has been unreachable for some time
- change output of mdstat-parser.pl to report everything in one
line (looks like megaraid-parser)
* Mon Apr 20 2009 Daniel B. <daniel@firewall-services.com> 0.1-27
- Add updates.available to retrieve the number of updates available
with yum
- Added sensors[*] key to retrieve sensors informations. The value are retrieved
with the script /var/lib/zabbix/bin/sensors which can be customized.
* Fri Mar 27 2009 Daniel B. <daniel@firewall-services.com> 0.1-26
- Add raid.mega.status UserParameters to monitor status of MegaRaid based
raid array
* Tue Mar 24 2009 Daniel B. <daniel@firewall-services.com> 0.1-25
- Add comments for each UserParameter for configuration on the server side
(Type of information, unit, etc...)
* Tue Mar 24 2009 Daniel B. <daniel@firewall-services.com> 0.1-24
- Add raid.sw.status userparameter to report software raid array status
- Remove tabs from spec
- Permission cleanup on scripts
* Wed Mar 18 2009 Daniel B. <daniel@firewall-services.com> 0.1-23
- Correct mysql.size parameter (sudo -u mysql)
* Mon Mar 09 2009 Daniel B. <daniel@firewall-services.com> 0.1-22
- Fix typo in sudoers template (ZABBIX_AGENT_MYSQL)
* Mon Mar 02 2009 Daniel B. <daniel@firewall-services.com> 0.1-21
- Add smeserver-remoteuseraccess as a dependencie (sudoer templates issue)
* Mon Mar 02 2009 Daniel B. <daniel@firewall-services.com> 0.1-20
- Adjust masq service on zabbix-agent-update event
- Add description of Timout directive
- Add BufferSend and BufferSize directive to optimize
agent <-> server communication
* Sun Mar 01 2009 Daniel B. <daniel@firewall-services.com> 0.1-19
- Add size of mysql data (mysql.size)
* Fri Feb 20 2009 Daniel B. <daniel@firewall-services.com> 0.1-18
- Add stats for InternalInterface and ExternalInterface
* Tue Feb 17 2009 Daniel B. <daniel@firewall-services.com> 0.1-17
- Ignore local delivery from outgoing mail stats
* Tue Feb 17 2009 Daniel B. <daniel@firewall-services.com> 0.1-16
- Fix a typo in mail.out.failure UserParameters
* Tue Feb 17 2009 Daniel B. <daniel@firewall-services.com> 0.1-15
- Add UserParameters for outhoing mails statistics
* Tue Feb 17 2009 Daniel B. <daniel@firewall-services.com> 0.1-14
- add missing other_denied UserParameters for mailStats
- Fix expand-template for /etc/sudoers during zabbix-agent-update event
* Tue Feb 17 2009 Daniel B. <daniel@firewall-services.com> 0.1-13
- Add incoming mails statistics
- Rename signal-event to zabbix-agent-update (to prevent a conflict on
sudoers files which needs to be expanded for server and agent)
* Wed Feb 11 2009 Daniel B. <daniel@firewall-services.com> 0.1-12
- Remove Useless buffers and cache mem
- Add vm.memory.size.pused (used memory in %)
- Add ups.battery.charge for ups
- Added "passive" db parameter
- default access is private
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-11
- Fix permissions on mysqladmin_status script
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-10
- Change used swap key
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-9
- Added userparameters for used swap space used in bytes
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-8
- Correct a type in memory statistics (for cached memory)
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-7
- Report also free, buffers and cached mem so stats are more accurate
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-6
- substract cache/buffer from used mem
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-5
- Change key name for used memory
- Report Used mem instead of total
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-4
- Escape brackets in template
* Tue Feb 10 2009 Daniel B. <daniel@firewall-services.com> 0.1-3
- Add UserParameters to repport amount of used memory
* Mon Feb 9 2009 Daniel B. <daniel@firewall-services.com> 0.1-2
- Add UserParameters to monitor real external IP, UPS status,
mysql stats
* Fri Feb 6 2009 Daniel B. <daniel@firewall-services.com> 0.1-1
- add Hostname directive in zabbix_agentd.conf
* Mon Feb 04 2009 Daniel B. <daniel@firewall-services.com> 0.1-0
- initial release
%prep
%setup
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
%patch20 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1
%patch25 -p1
%patch26 -p1
%patch27 -p1
%patch28 -p1
%patch29 -p1
%patch30 -p1
%patch31 -p1
%patch32 -p1
%patch33 -p1
%patch34 -p1
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p1
%patch50 -p1
%patch51 -p1
%patch52 -p1
%patch53 -p1
%patch54 -p1
%patch55 -p1
%patch56 -p1
%patch57 -p1
%patch58 -p1
%patch59 -p1
%patch60 -p1
%patch61 -p1
%patch62 -p1
%patch63 -p1
%patch64 -p1
%patch65 -p1
%build
%{__mkdir_p} root/var/lib/zabbix/tmp
perl ./createlinks
%install
rm -rf $RPM_BUILD_ROOT
(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT)
rm -f %{name}-%{version}-filelist
/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \
--file /var/lib/zabbix/bin/mysqladmin_status 'attr(0750,root,zabbix)' \
--file /var/lib/zabbix/bin/logtail.pl 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/mail_in.sh 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/mail_out.sh 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/mdstat-parser.pl 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/megaraid-parser.pl 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/parse_mail_in.pl 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/parse_mail_out.pl 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/sensors 'attr(0750,root,zabbix) %config(noreplace)' \
--file /var/lib/zabbix/bin/check_asterisk 'attr(0750,root,zabbix)' \
--file /var/lib/zabbix/bin/check_lvm 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/mailstatus.pl 'attr(0755,root,root)' \
--file /var/lib/zabbix/bin/cert_expire.pl 'attr(0755,root,root)' \
--dir /var/lib/zabbix/tmp 'attr(0750,zabbix,zabbix)' \
> %{name}-%{version}-filelist
%files -f %{name}-%{version}-filelist
%defattr(-,root,root)
%clean
rm -rf $RPM_BUILD_ROOT
%postun
#uninstall
if [ $1 = 0 ] ; then
/sbin/e-smith/db configuration setprop zabbix-agent status disabled
/etc/init.d/zabbix-agent stop
fi
true