]>
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} | |
cca08017 ER |
6 | Version: 3.2.4 |
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 |
cca08017 | 11 | # Source0-md5: f82c5dff2ac048c071f164979afbca82 |
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 | |
a4cec8c3 | 32 | Conflicts: nagios-nrpe < 2.15-5 |
33a1c413 ER |
33 | BuildArch: noarch |
34 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
35 | ||
36 | %define _sysconfdir /etc/nagios/plugins | |
3745f267 | 37 | %define nrpeddir /etc/nagios/nrpe.d |
33a1c413 ER |
38 | %define plugindir %{_prefix}/lib/nagios/plugins |
39 | ||
40 | %description | |
1d167ca8 ER |
41 | This plugin chekcs Check all RAID volumes (hardware and software) that |
42 | can be identified. | |
33a1c413 | 43 | |
67c765ab | 44 | Supports: |
94679d3f | 45 | - AIX software RAID via lsvg |
bba37da2 ER |
46 | - Adaptec AAC RAID via aaccli or afacli or arcconf |
47 | - Areca SATA RAID Support | |
48 | - HP Smart Array (MSA1500) via serial line | |
94679d3f ER |
49 | - HP Smart Array Controllers and MSA Controllers via hpacucli (see |
50 | hapacucli readme) | |
bba37da2 ER |
51 | - HP/Compaq Smart Array via cciss_vol_status (hpsa supported too) |
52 | - LSI Logic MegaRAID SAS series via MegaCli | |
53 | - LSI MegaRaid via lsraid | |
94679d3f ER |
54 | - Linux 3ware SATA RAID via tw_cli |
55 | - Linux DPT/I2O hardware RAID controllers via /proc/scsi/dpt_i2o | |
56 | - Linux GDTH hardware RAID controllers via /proc/scsi/gdth | |
bba37da2 | 57 | - Linux LSI MegaRaid hardware RAID via /proc/megaraid |
94679d3f ER |
58 | - Linux LSI MegaRaid hardware RAID via CmdTool2 |
59 | - Linux LSI MegaRaid hardware RAID via megarc | |
94679d3f | 60 | - Linux MPT hardware RAID via mpt-status |
bba37da2 | 61 | - Linux MegaIDE hardware RAID controllers via /proc/megaide |
94679d3f | 62 | - Linux software RAID (md) via /proc/mdstat |
bba37da2 | 63 | - SAS2IRCU support |
94679d3f ER |
64 | - Serveraid IPS via ipssend |
65 | - Solaris software RAID via metastat | |
67c765ab | 66 | |
33a1c413 | 67 | %prep |
59ac65dd ER |
68 | %setup -qc |
69 | mv nagios-plugin-check_raid-*/* . | |
c1a6298c | 70 | |
04e7eccc ER |
71 | %build |
72 | ver=$(./%{plugin}.pl -V) | |
73 | test "$(echo "$ver" | awk '{print $NF}')" = %{version} | |
c1a6298c | 74 | |
33a1c413 ER |
75 | %install |
76 | rm -rf $RPM_BUILD_ROOT | |
3745f267 | 77 | install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{nrpeddir},%{plugindir}} |
eb3c08b9 ER |
78 | install -p %{plugin}.pl $RPM_BUILD_ROOT%{plugindir}/%{plugin} |
79 | cp -p %{plugin}.cfg $RPM_BUILD_ROOT%{_sysconfdir}/%{plugin}.cfg | |
3745f267 | 80 | touch $RPM_BUILD_ROOT%{nrpeddir}/%{plugin}.cfg |
33a1c413 ER |
81 | |
82 | %clean | |
83 | rm -rf $RPM_BUILD_ROOT | |
84 | ||
70176926 | 85 | %post |
59ac65dd ER |
86 | # setup sudo rules: |
87 | # - on first install | |
88 | # - if separate config file is used | |
89 | grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers && confd=1 | |
90 | ||
91 | if [ "$1" = 1 -o "$confd" = 1 ]; then | |
70176926 ER |
92 | # setup sudo rules on first install |
93 | %{plugindir}/%{plugin} -S || : | |
94 | fi | |
95 | ||
96 | %postun | |
97 | if [ "$1" = 0 ]; then | |
98 | # remove all sudo rules related to us | |
99 | %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers | |
100 | fi | |
101 | ||
59ac65dd ER |
102 | %triggerpostun -- %{name} < 3.1.1-0.2, sudo < 1:1.8.7-2 |
103 | if grep -q '^#includedir /etc/sudoers\.d' /etc/sudoers; then | |
104 | # setup sudo rules on first install | |
105 | %{plugindir}/%{plugin} -S || : | |
106 | fi | |
107 | # remove CHECK_RAID rules from /etc/sudoers if separate config is in place | |
108 | if [ -e /etc/sudoers.d/check_raid ]; then | |
109 | %{__sed} -i -e '/CHECK_RAID/d' /etc/sudoers | |
110 | fi | |
111 | ||
3745f267 ER |
112 | %triggerin -- nagios-nrpe |
113 | %nagios_nrpe -a %{plugin} -f %{_sysconfdir}/%{plugin}.cfg | |
114 | ||
115 | %triggerun -- nagios-nrpe | |
116 | %nagios_nrpe -d %{plugin} -f %{_sysconfdir}/%{plugin}.cfg | |
117 | ||
33a1c413 ER |
118 | %files |
119 | %defattr(644,root,root,755) | |
34952916 | 120 | %attr(640,root,nagios) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{plugin}.cfg |
33a1c413 | 121 | %attr(755,root,root) %{plugindir}/%{plugin} |
3745f267 | 122 | %ghost %{nrpeddir}/%{plugin}.cfg |