|
1 | 1 | # CheckMK Wiseways UPS SNMP Plugin |
2 | 2 |
|
3 | | -A comprehensive CheckMK SNMP plugin for monitoring Wiseways UPS devices (6000VA, 10kVA and compatible models). |
4 | | - |
5 | | -## Overview |
6 | | - |
7 | | -This plugin provides complete monitoring of Wiseways UPS systems via SNMP with 18 specialized services covering every aspect of UPS operation: |
8 | | - |
9 | | -- **System Information**: Model, serial number, firmware versions, maintenance schedules |
10 | | -- **Battery Monitoring**: Individual services for charge, runtime, status, and alarms |
11 | | -- **Power Monitoring**: Separate services for input/output/bypass/battery voltages |
12 | | -- **Load Management**: Output load percentage, power consumption, and current monitoring |
13 | | -- **Frequency Stability**: Individual monitoring for input/output/bypass frequencies |
14 | | -- **Alarm System**: Comprehensive alarm detection and status reporting |
| 3 | +A CheckMK SNMP plugin for monitoring Wiseways UPS devices (6000VA, 10kVA and compatible models). |
15 | 4 |
|
16 | 5 | ## Features |
17 | 6 |
|
18 | | -- **18 Specialized Services**: Each monitoring aspect has its own dedicated service for granular control |
19 | | -- **Automatic Data Normalization**: Converts SNMP values to standard units (decivolts→volts, minutes→seconds) |
20 | | -- **Maintenance Monitoring**: Automatic warnings for expired maintenance and battery service schedules |
21 | | -- **Smart Graph Organization**: Unit-based grouping for combined overview graphs |
22 | | -- **Dynamic Thresholds**: Uses device configuration values as defaults when available |
23 | | -- **Enterprise & Standard MIB Support**: Works with both RFC 1628 standard UPS MIB and Wiseways enterprise OIDs (44782) |
| 7 | +- 19 specialized services for granular monitoring and alerting |
| 8 | +- Automatic unit conversion (decivolts→volts, minutes→seconds) |
| 9 | +- Dynamic thresholds from device configuration when available |
| 10 | +- Maintenance expiration warnings |
| 11 | +- Support for RFC 1628 UPS MIB and Wiseways enterprise OIDs (44782) |
| 12 | +- THS environmental sensor support (temperature/humidity) |
24 | 13 |
|
25 | 14 | ## Installation |
26 | 15 |
|
27 | | -### Standard Installation (Recommended) |
28 | | - |
29 | | -1. Download the latest MKP package from [GitHub Releases](https://github.com/oposs/cmk-oposs_wiseways_ups/releases) |
30 | | - |
31 | | -2. Install the MKP in CheckMK: |
32 | | - ```bash |
33 | | - cmk -P install oposs_wiseways_ups-<version>.mkp |
34 | | - ``` |
35 | | - |
36 | | -3. Run service discovery on your UPS hosts: |
37 | | - ```bash |
38 | | - cmk -II <hostname> |
39 | | - ``` |
| 16 | +### From MKP Package (Recommended) |
40 | 17 |
|
41 | | -### Manual Installation (Developers) |
| 18 | +```bash |
| 19 | +# Download from https://github.com/oposs/cmk-oposs_wiseways_ups/releases |
| 20 | +cmk -P install oposs_wiseways_ups-<version>.mkp |
| 21 | +cmk -II <hostname> |
| 22 | +``` |
42 | 23 |
|
43 | | -For development or manual installation: |
| 24 | +### Manual Installation |
44 | 25 |
|
45 | | -1. Copy the plugin files to your CheckMK site: |
46 | | - ```bash |
47 | | - cp -r local/* ~/local/ |
48 | | - ``` |
| 26 | +```bash |
| 27 | +cp -r local/* ~/local/ |
| 28 | +cmk -R |
| 29 | +cmk -II <hostname> |
| 30 | +``` |
49 | 31 |
|
50 | | -2. Reload CheckMK to recognize the new plugin: |
51 | | - ```bash |
52 | | - cmk -R |
53 | | - ``` |
54 | | - |
55 | | -3. Run service discovery on your UPS hosts: |
56 | | - ```bash |
57 | | - cmk -II <hostname> |
58 | | - ``` |
59 | | - |
60 | | -## Configuration |
61 | | - |
62 | | -### SNMP Setup |
63 | | - |
64 | | -Ensure your Wiseways UPS is accessible via SNMP: |
| 32 | +## SNMP Setup |
65 | 33 |
|
66 | 34 | 1. Configure SNMP community string on the UPS |
67 | 35 | 2. Add the UPS as a host in CheckMK with SNMP monitoring enabled |
68 | 36 | 3. Set the appropriate SNMP community in CheckMK host properties |
69 | 37 |
|
70 | | -### Service Discovery |
71 | | - |
72 | | -The plugin will automatically discover up to 18 services per UPS: |
73 | | - |
74 | | -#### Information Services |
75 | | -- **UPS System Info**: Model, serial, firmware, maintenance dates |
76 | | -- **UPS Battery Status**: Battery state and alarms (without charge/runtime) |
77 | | -- **UPS Power Status**: Power source, operational mode, line failures |
78 | | -- **UPS Alarm Status**: System-wide alarm monitoring |
79 | | - |
80 | | -#### Battery Monitoring Services |
81 | | -- **UPS Battery Charge**: Battery charge percentage |
82 | | -- **UPS Battery Runtime**: Remaining runtime in seconds |
83 | | -- **UPS Battery Voltage**: DC battery voltage |
84 | | -- **UPS Battery Current**: Charging/discharging current |
85 | | -- **UPS Battery Temperature**: Battery temperature monitoring |
86 | | - |
87 | | -#### Voltage Monitoring Services |
88 | | -- **UPS Input Voltage**: AC input voltage |
89 | | -- **UPS Output Voltage**: AC output voltage |
90 | | -- **UPS Bypass Voltage**: Bypass line voltage (when available) |
91 | | - |
92 | | -#### Frequency Monitoring Services |
93 | | -- **UPS Input Frequency**: Input frequency stability |
94 | | -- **UPS Output Frequency**: Output frequency stability |
95 | | -- **UPS Bypass Frequency**: Bypass frequency (when available) |
96 | | - |
97 | | -#### Load and Power Services |
98 | | -- **UPS Output Load**: Load percentage monitoring |
99 | | -- **UPS Output Power**: Power consumption in watts |
100 | | -- **UPS Output Current**: Output current monitoring |
101 | | - |
102 | | -### Threshold Configuration |
103 | | - |
104 | | -Configure monitoring thresholds in CheckMK under "Setup" > "Services" > "Service monitoring rules" > "OPOSS Wiseways UPS": |
105 | | - |
106 | | -All thresholds can be configured through a single unified ruleset that applies to all relevant services: |
107 | | - |
108 | | -#### Battery Thresholds |
109 | | -- **Battery Charge** (`battery_charge_lower`): Warning at 20%, Critical at 10% |
110 | | -- **Battery Runtime** (`battery_runtime_lower`): Warning at 10 minutes, Critical at 5 minutes |
111 | | -- **Battery Voltage** (`battery_voltage_lower`): Warning at 180V, Critical at 170V |
112 | | -- **Battery Temperature** (`temp_upper/temp_lower`): Warning at 40°C/10°C, Critical at 45°C/5°C |
113 | | - |
114 | | -#### Voltage Thresholds |
115 | | -- **Input Voltage** (`input_voltage_upper/lower`): Warning at 250V/210V, Critical at 260V/200V |
116 | | -- **Output Voltage** (`output_voltage_upper/lower`): Warning at 250V/210V, Critical at 260V/200V |
117 | | -- **Bypass Voltage** (`bypass_voltage_upper/lower`): Warning at 250V/210V, Critical at 260V/200V |
118 | | - |
119 | | -#### Frequency Thresholds |
120 | | -- **All Frequencies** (`frequency_upper/lower`): Warning at 51Hz/49Hz, Critical at 52Hz/48Hz |
121 | | - |
122 | | -#### Load and Power Thresholds |
123 | | -- **Output Load** (`load_upper`): Warning at 80%, Critical at 90% |
124 | | -- **Output Current** (`output_current_upper`): Configurable, no default |
125 | | -- **Output Power** (`power_upper`): Configurable, no default |
126 | | - |
127 | | -Note: The plugin uses device-reported configuration values as dynamic defaults when available (e.g., input voltage limits from the UPS configuration). |
128 | | - |
129 | | -## Metrics and Graphs |
130 | | - |
131 | | -### Graph Organization |
132 | | - |
133 | | -The plugin provides two types of graphs: |
134 | | - |
135 | | -#### Service-Specific Graphs |
136 | | -Each service displays its own dedicated graph with relevant metrics and thresholds. |
137 | | - |
138 | | -#### Combined Overview Graphs (Host Level) |
139 | | -These graphs combine metrics from multiple services for comparative analysis: |
140 | | - |
141 | | -1. **UPS All Voltages**: All voltages (input, output, bypass, battery) on one graph |
142 | | -2. **UPS AC Voltages**: AC voltages only (input, output, bypass) |
143 | | -3. **UPS Frequencies**: All frequencies (input, output, bypass) together |
144 | | -4. **UPS Currents**: Output and battery currents combined |
145 | | -5. **UPS Battery Time**: Runtime and time-on-battery metrics |
146 | | - |
147 | | -### Metric Units |
148 | | - |
149 | | -All metrics use base SI units for consistency: |
150 | | -- **Time**: seconds (converted from minutes in SNMP) |
151 | | -- **Voltage**: volts (converted from decivolts or string format) |
152 | | -- **Frequency**: hertz (converted from centihertz or string format) |
153 | | -- **Temperature**: degrees Celsius |
154 | | -- **Power**: watts |
155 | | -- **Current**: amperes |
156 | | -- **Charge**: percentage |
157 | | -- **Load**: percentage |
158 | | - |
159 | | -## Supported OIDs |
160 | | - |
161 | | -The plugin monitors both standard RFC 1628 UPS MIB OIDs and Wiseways enterprise-specific OIDs: |
162 | | - |
163 | | -### Standard MIB (.1.3.6.1.2.1.33) |
164 | | -- UPS identification and status |
165 | | -- Battery metrics |
166 | | -- Input/output electrical parameters |
167 | | -- Bypass parameters |
168 | | - |
169 | | -### Enterprise OIDs |
170 | | -- `.1.3.6.1.4.1.935` - Enhanced battery metrics |
171 | | -- `.1.3.6.1.4.1.44782` - Wiseways-specific high-precision values |
| 38 | +## Services and Thresholds |
| 39 | + |
| 40 | +Configure thresholds under "Setup" > "Services" > "Service monitoring rules" > "OPOSS Wiseways UPS". |
| 41 | + |
| 42 | +| Service | Description | Default Thresholds (Warn/Crit) | |
| 43 | +|---------|-------------|-------------------------------| |
| 44 | +| **UPS System Info** | Model, serial, firmware, maintenance dates | Warns on expired maintenance | |
| 45 | +| **UPS Battery Status** | Battery state and alarms | — | |
| 46 | +| **UPS Power Status** | Power source, mode, line failures | — | |
| 47 | +| **UPS Alarm Status** | System-wide alarm monitoring | — | |
| 48 | +| **UPS Battery Charge** | Battery charge % | Lower: 20%/10% | |
| 49 | +| **UPS Battery Runtime** | Remaining runtime | Lower: 10min/5min | |
| 50 | +| **UPS Battery Voltage** | DC battery voltage | Lower: 180V/170V | |
| 51 | +| **UPS Battery Current** | Charging/discharging current | — | |
| 52 | +| **UPS Battery Temperature** | Battery temperature | Upper: 40°C/45°C, Lower: 10°C/5°C | |
| 53 | +| **UPS Input Voltage** | AC input voltage | Upper: 250V/260V, Lower: 210V/200V | |
| 54 | +| **UPS Output Voltage** | AC output voltage | Upper: 250V/260V, Lower: 210V/200V | |
| 55 | +| **UPS Bypass Voltage** | Bypass line voltage | Upper: 250V/260V, Lower: 210V/200V | |
| 56 | +| **UPS Input Frequency** | Input frequency | Upper: 51Hz/52Hz, Lower: 49Hz/48Hz | |
| 57 | +| **UPS Output Frequency** | Output frequency | Upper: 51Hz/52Hz, Lower: 49Hz/48Hz | |
| 58 | +| **UPS Bypass Frequency** | Bypass frequency | Upper: 51Hz/52Hz, Lower: 49Hz/48Hz | |
| 59 | +| **UPS Output Load** | Load percentage | Upper: 80%/90% | |
| 60 | +| **UPS Output Power** | Power consumption (W) | — | |
| 61 | +| **UPS Output Current** | Output current (A) | — | |
| 62 | +| **UPS Environment** | THS sensor temp/humidity | Temp: 35°C/40°C (upper), 10°C/5°C (lower); Humidity: 70%/80% (upper), 20%/10% (lower) | |
| 63 | + |
| 64 | +Services marked "—" have no default thresholds but can be configured. Bypass and Environment services only appear when hardware is present. |
| 65 | + |
| 66 | +## Graphs |
| 67 | + |
| 68 | +Each service has its own graph. Additional combined graphs at host level: |
| 69 | + |
| 70 | +- **UPS All Voltages** / **UPS AC Voltages**: Compare voltage sources |
| 71 | +- **UPS Frequencies**: All frequencies together |
| 72 | +- **UPS Currents**: Output and battery currents |
| 73 | +- **UPS Battery Time**: Runtime and time-on-battery |
| 74 | +- **UPS Environment**: Temperature and humidity |
172 | 75 |
|
173 | 76 | ## Requirements |
174 | 77 |
|
175 | 78 | - CheckMK 2.3 or later |
176 | 79 | - SNMP v1/v2c access to the UPS |
177 | | -- Wiseways UPS with SNMP support (tested with 6000VA model) |
| 80 | +- Wiseways UPS with SNMP support |
178 | 81 |
|
179 | 82 | ## Troubleshooting |
180 | 83 |
|
181 | | -### No Services Discovered |
182 | | - |
183 | | -1. Verify SNMP connectivity: |
184 | | - ```bash |
185 | | - snmpwalk -v2c -c <community> <ups_ip> .1.3.6.1.2.1.33.1.1.5.0 |
186 | | - ``` |
187 | | - This should return a string containing "Wiseway3" for compatible devices. |
188 | | - |
189 | | -2. Check SNMP configuration in CheckMK host settings |
190 | | - |
191 | | -3. Ensure the UPS supports standard UPS MIB and/or Wiseways enterprise OIDs |
192 | | - |
193 | | -4. Run manual discovery: |
194 | | - ```bash |
195 | | - cmk -vvI --detect-plugins=oposs_wiseways_ups <hostname> |
196 | | - ``` |
| 84 | +**No services discovered:** |
| 85 | +```bash |
| 86 | +# Verify SNMP connectivity (should return string containing "Wiseway3") |
| 87 | +snmpwalk -v2c -c <community> <ups_ip> .1.3.6.1.2.1.33.1.1.5.0 |
197 | 88 |
|
198 | | -### Fewer Than 18 Services |
| 89 | +# Debug discovery |
| 90 | +cmk -vvI --detect-plugins=oposs_wiseways_ups <hostname> |
| 91 | +``` |
199 | 92 |
|
200 | | -Not all services may be discovered depending on UPS capabilities: |
201 | | -- Bypass services only appear if bypass voltage/frequency data is available |
202 | | -- Battery current may not be available on all models |
203 | | -- Some older models may not report all metrics |
| 93 | +**Fewer than 19 services:** Normal - bypass, environment, and some battery metrics only appear when supported by hardware. |
204 | 94 |
|
205 | | -### Incorrect Values |
206 | | - |
207 | | -- The plugin automatically converts enterprise string format values (e.g., "231.9") to floats |
208 | | -- Minutes are converted to seconds for all time-based metrics |
209 | | -- Special value -99998 indicates unavailable data and is handled gracefully |
210 | | - |
211 | | -### Missing Graphs |
212 | | - |
213 | | -- Individual service graphs appear with their respective services |
214 | | -- Combined overview graphs appear at the host level (not under specific services) |
215 | | -- This is the intended behavior for cross-service visualization |
| 95 | +**Incorrect values:** The plugin handles enterprise string formats and special value -99998 (unavailable data) automatically. |
216 | 96 |
|
217 | 97 | ## License |
218 | 98 |
|
219 | 99 | This plugin is provided as-is for monitoring Wiseways UPS devices in CheckMK environments. |
220 | | - |
221 | | -## Support |
222 | | - |
223 | | -For issues or feature requests, please refer to the project documentation or contact your system administrator. |
0 commit comments