]>
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} | |
77a58f21 | 7 | Version: 4.0.1 |
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 |
6134e2e8 | 12 | # Source0-md5: f8ef0af7bbc15e8dcb65301648fc967f |
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 |
bba37da2 | 67 | - Linux MegaIDE hardware RAID controllers via /proc/megaide |
94679d3f | 68 | - Linux software RAID (md) via /proc/mdstat |
bba37da2 | 69 | - SAS2IRCU support |
94679d3f ER |
70 | - Serveraid IPS via ipssend |
71 | - Solaris software RAID via metastat | |
67c765ab | 72 | |
33a1c413 | 73 | %prep |
59ac65dd ER |
74 | %setup -qc |
75 | mv nagios-plugin-check_raid-*/* . | |
c1a6298c | 76 | |
04e7eccc | 77 | %build |
b58f13f9 ER |
78 | # version check exits with "3", here's explanation: |
79 | # https://github.com/monitoring-plugins/monitoring-plugins/pull/1363 | |
80 | ver=$(./%{plugin}.sh -V || :) | |
04e7eccc | 81 | test "$(echo "$ver" | awk '{print $NF}')" = %{version} |
c1a6298c | 82 | |
b58f13f9 ER |
83 | %{__perl} Makefile.PL \ |
84 | INSTALLVENDORSCRIPT=%{plugindir} \ | |
85 | INSTALLDIRS=vendor | |
86 | %{__make} | |
87 | ||
33a1c413 ER |
88 | %install |
89 | rm -rf $RPM_BUILD_ROOT | |
3745f267 | 90 | install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{nrpeddir},%{plugindir}} |
b58f13f9 ER |
91 | %{__make} install \ |
92 | DESTDIR=$RPM_BUILD_ROOT | |
93 | ||
94 | cp -p %{plugin}.cfg $RPM_BUILD_ROOT%{_sysconfdir} | |
3745f267 | 95 | touch $RPM_BUILD_ROOT%{nrpeddir}/%{plugin}.cfg |
33a1c413 | 96 | |
b58f13f9 ER |
97 | # no .ext |
98 | mv $RPM_BUILD_ROOT%{plugindir}/%{plugin}{.pl,} | |
99 | ||
100 | # cleanup | |
101 | %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod | |
102 | %{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/App/Monitoring/Plugin/CheckRaid/.packlist | |
103 | ||
33a1c413 ER |
104 | %clean |
105 | rm -rf $RPM_BUILD_ROOT | |
106 | ||
70176926 | 107 | %post |
59ac65dd ER |
108 | # setup sudo rules: |
109 | # - on first install | |
110 | # - if separate config file is used | |
111 | grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers && confd=1 | |
112 | ||
113 | if [ "$1" = 1 -o "$confd" = 1 ]; then | |
70176926 ER |
114 | # setup sudo rules on first install |
115 | %{plugindir}/%{plugin} -S || : | |
116 | fi | |
117 | ||
118 | %postun | |
119 | if [ "$1" = 0 ]; then | |
120 | # remove all sudo rules related to us | |
121 | %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers | |
122 | fi | |
123 | ||
59ac65dd ER |
124 | %triggerpostun -- %{name} < 3.1.1-0.2, sudo < 1:1.8.7-2 |
125 | if grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers; then | |
126 | # setup sudo rules on first install | |
127 | %{plugindir}/%{plugin} -S || : | |
128 | fi | |
129 | # remove CHECK_RAID rules from /etc/sudoers if separate config is in place | |
130 | if [ -e /etc/sudoers.d/check_raid ]; then | |
131 | %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers | |
132 | fi | |
133 | ||
3745f267 ER |
134 | %triggerin -- nagios-nrpe |
135 | %nagios_nrpe -a %{plugin} -f %{_sysconfdir}/%{plugin}.cfg | |
136 | ||
137 | %triggerun -- nagios-nrpe | |
138 | %nagios_nrpe -d %{plugin} -f %{_sysconfdir}/%{plugin}.cfg | |
139 | ||
33a1c413 ER |
140 | %files |
141 | %defattr(644,root,root,755) | |
34952916 | 142 | %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{plugin}.cfg |
33a1c413 | 143 | %attr(755,root,root) %{plugindir}/%{plugin} |
3745f267 | 144 | %ghost %{nrpeddir}/%{plugin}.cfg |
b58f13f9 ER |
145 | %dir %{perl_vendorlib}/App/Monitoring |
146 | %dir %{perl_vendorlib}/App/Monitoring/Plugin | |
147 | %{perl_vendorlib}/App/Monitoring/Plugin/CheckRaid.pm | |
148 | %{perl_vendorlib}/App/Monitoring/Plugin/CheckRaid |