]>
Commit | Line | Data |
---|---|---|
d207195d ER |
1 | # TODO |
2 | # - see and adopt: http://gist.github.com/359890 | |
33a1c413 | 3 | %define plugin check_raid |
b58f13f9 | 4 | %include /usr/lib/rpm/macros.perl |
33a1c413 ER |
5 | Summary: Nagios plugin to check current server's RAID status |
6 | Name: nagios-plugin-%{plugin} | |
5e3e65ca | 7 | Version: 4.0.3 |
cca08017 | 8 | Release: 1 |
81a52836 | 9 | License: GPL v2 |
77a58f21 | 10 | Group: Applications |
d170d566 | 11 | Source0: https://github.com/glensc/nagios-plugin-check_raid/archive/%{version}/%{name}-%{version}.tar.gz |
5e3e65ca | 12 | # Source0-md5: db35a7e7256b8c7ae4e674eceede67e4 |
eb3c08b9 | 13 | URL: https://github.com/glensc/nagios-plugin-check_raid |
5c7c0008 | 14 | BuildRequires: perl-ExtUtils-MakeMaker-CPANfile |
f95c3387 | 15 | BuildRequires: perl-Module-Pluggable >= 5.1 |
b58f13f9 ER |
16 | BuildRequires: perl-Monitoring-Plugin >= 0.37 |
17 | BuildRequires: rpm-perlprov >= 4.1-13 | |
3745f267 ER |
18 | BuildRequires: rpmbuild(macros) >= 1.685 |
19 | Requires: grep | |
b6d14fcc | 20 | Requires: nagios-common |
7c0f1466 | 21 | Requires: perl-base >= 1:5.8.0 |
3745f267 | 22 | Requires: sed >= 4.0 |
59ac65dd | 23 | Requires: sudo >= 1:1.8.7-2 |
d0bfad7a | 24 | Suggests: CmdTool2 |
81a52836 | 25 | Suggests: arcconf |
bba37da2 | 26 | Suggests: areca-cli |
c28807f0 | 27 | Suggests: cciss_vol_status |
047af81a | 28 | Suggests: hpacucli |
59ac65dd | 29 | Suggests: lsscsi |
6aac77a0 | 30 | Suggests: megacli-sas |
d0bfad7a | 31 | Suggests: megarc-scsi |
81a52836 | 32 | Suggests: mpt-status |
21a9ecca | 33 | Suggests: mvcli |
a0df8e50 | 34 | Suggests: smartmontools |
81a52836 | 35 | Suggests: tw_cli-9xxx |
59ac65dd ER |
36 | # cciss_vol_status 1.10 can process /dev/sdX instead of only /dev/sgX |
37 | Conflicts: cciss_vol_status < 1.10 | |
a4cec8c3 | 38 | Conflicts: nagios-nrpe < 2.15-5 |
33a1c413 ER |
39 | BuildArch: noarch |
40 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
41 | ||
42 | %define _sysconfdir /etc/nagios/plugins | |
3745f267 | 43 | %define nrpeddir /etc/nagios/nrpe.d |
33a1c413 ER |
44 | %define plugindir %{_prefix}/lib/nagios/plugins |
45 | ||
46 | %description | |
1d167ca8 ER |
47 | This plugin chekcs Check all RAID volumes (hardware and software) that |
48 | can be identified. | |
33a1c413 | 49 | |
67c765ab | 50 | Supports: |
94679d3f | 51 | - AIX software RAID via lsvg |
bba37da2 ER |
52 | - Adaptec AAC RAID via aaccli or afacli or arcconf |
53 | - Areca SATA RAID Support | |
54 | - HP Smart Array (MSA1500) via serial line | |
94679d3f ER |
55 | - HP Smart Array Controllers and MSA Controllers via hpacucli (see |
56 | hapacucli readme) | |
bba37da2 ER |
57 | - HP/Compaq Smart Array via cciss_vol_status (hpsa supported too) |
58 | - LSI Logic MegaRAID SAS series via MegaCli | |
59 | - LSI MegaRaid via lsraid | |
94679d3f ER |
60 | - Linux 3ware SATA RAID via tw_cli |
61 | - Linux DPT/I2O hardware RAID controllers via /proc/scsi/dpt_i2o | |
62 | - Linux GDTH hardware RAID controllers via /proc/scsi/gdth | |
bba37da2 | 63 | - Linux LSI MegaRaid hardware RAID via /proc/megaraid |
94679d3f ER |
64 | - Linux LSI MegaRaid hardware RAID via CmdTool2 |
65 | - Linux LSI MegaRaid hardware RAID via megarc | |
94679d3f | 66 | - Linux MPT hardware RAID via mpt-status |
5de6f208 | 67 | - Linux Device Mapper |
bba37da2 | 68 | - Linux MegaIDE hardware RAID controllers via /proc/megaide |
94679d3f | 69 | - Linux software RAID (md) via /proc/mdstat |
bba37da2 | 70 | - SAS2IRCU support |
94679d3f ER |
71 | - Serveraid IPS via ipssend |
72 | - Solaris software RAID via metastat | |
67c765ab | 73 | |
33a1c413 | 74 | %prep |
59ac65dd ER |
75 | %setup -qc |
76 | mv nagios-plugin-check_raid-*/* . | |
c1a6298c | 77 | |
04e7eccc | 78 | %build |
b58f13f9 ER |
79 | # version check exits with "3", here's explanation: |
80 | # https://github.com/monitoring-plugins/monitoring-plugins/pull/1363 | |
81 | ver=$(./%{plugin}.sh -V || :) | |
04e7eccc | 82 | test "$(echo "$ver" | awk '{print $NF}')" = %{version} |
c1a6298c | 83 | |
a9655cbc | 84 | LC_ALL=en_US.utf8 \ |
b58f13f9 ER |
85 | %{__perl} Makefile.PL \ |
86 | INSTALLVENDORSCRIPT=%{plugindir} \ | |
87 | INSTALLDIRS=vendor | |
88 | %{__make} | |
89 | ||
33a1c413 ER |
90 | %install |
91 | rm -rf $RPM_BUILD_ROOT | |
bd50b177 | 92 | install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{nrpeddir},%{plugindir},/etc/sudoers.d} |
b58f13f9 ER |
93 | %{__make} install \ |
94 | DESTDIR=$RPM_BUILD_ROOT | |
95 | ||
96 | cp -p %{plugin}.cfg $RPM_BUILD_ROOT%{_sysconfdir} | |
3745f267 | 97 | touch $RPM_BUILD_ROOT%{nrpeddir}/%{plugin}.cfg |
bd50b177 | 98 | touch $RPM_BUILD_ROOT/etc/sudoers.d/check_raid |
33a1c413 | 99 | |
bd50b177 | 100 | # remove .pl extension |
b58f13f9 ER |
101 | mv $RPM_BUILD_ROOT%{plugindir}/%{plugin}{.pl,} |
102 | ||
103 | # cleanup | |
104 | %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod | |
105 | %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/App/Monitoring/Plugin/CheckRaid/.packlist | |
106 | ||
33a1c413 ER |
107 | %clean |
108 | rm -rf $RPM_BUILD_ROOT | |
109 | ||
70176926 | 110 | %post |
59ac65dd ER |
111 | # setup sudo rules: |
112 | # - on first install | |
113 | # - if separate config file is used | |
114 | grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers && confd=1 | |
115 | ||
116 | if [ "$1" = 1 -o "$confd" = 1 ]; then | |
70176926 ER |
117 | %{plugindir}/%{plugin} -S || : |
118 | fi | |
119 | ||
120 | %postun | |
121 | if [ "$1" = 0 ]; then | |
122 | # remove all sudo rules related to us | |
123 | %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers | |
124 | fi | |
125 | ||
59ac65dd ER |
126 | %triggerpostun -- %{name} < 3.1.1-0.2, sudo < 1:1.8.7-2 |
127 | if grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers; then | |
59ac65dd ER |
128 | %{plugindir}/%{plugin} -S || : |
129 | fi | |
130 | # remove CHECK_RAID rules from /etc/sudoers if separate config is in place | |
131 | if [ -e /etc/sudoers.d/check_raid ]; then | |
132 | %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers | |
133 | fi | |
134 | ||
3745f267 ER |
135 | %triggerin -- nagios-nrpe |
136 | %nagios_nrpe -a %{plugin} -f %{_sysconfdir}/%{plugin}.cfg | |
137 | ||
138 | %triggerun -- nagios-nrpe | |
139 | %nagios_nrpe -d %{plugin} -f %{_sysconfdir}/%{plugin}.cfg | |
140 | ||
33a1c413 ER |
141 | %files |
142 | %defattr(644,root,root,755) | |
34952916 | 143 | %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{plugin}.cfg |
33a1c413 | 144 | %attr(755,root,root) %{plugindir}/%{plugin} |
3745f267 | 145 | %ghost %{nrpeddir}/%{plugin}.cfg |
bd50b177 | 146 | %ghost /etc/sudoers.d/check_raid |
b58f13f9 ER |
147 | %dir %{perl_vendorlib}/App/Monitoring |
148 | %dir %{perl_vendorlib}/App/Monitoring/Plugin | |
149 | %{perl_vendorlib}/App/Monitoring/Plugin/CheckRaid.pm | |
150 | %{perl_vendorlib}/App/Monitoring/Plugin/CheckRaid |