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