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