diff options
Diffstat (limited to 'plugins/check_swap.c')
-rw-r--r-- | plugins/check_swap.c | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/plugins/check_swap.c b/plugins/check_swap.c index cb95949a..dbf53a00 100644 --- a/plugins/check_swap.c +++ b/plugins/check_swap.c | |||
@@ -90,6 +90,14 @@ int main(int argc, char **argv) { | |||
90 | exit(STATE_UNKNOWN); | 90 | exit(STATE_UNKNOWN); |
91 | } | 91 | } |
92 | 92 | ||
93 | if (verbose) { | ||
94 | printf("Swap retrieval result:\n" | ||
95 | "\tFree: %llu\n" | ||
96 | "\tUsed: %llu\n" | ||
97 | "\tTotal: %llu\n", | ||
98 | data.metrics.free, data.metrics.used, data.metrics.total); | ||
99 | } | ||
100 | |||
93 | double percent_used; | 101 | double percent_used; |
94 | mp_check overall = mp_check_init(); | 102 | mp_check overall = mp_check_init(); |
95 | if (config.output_format_is_set) { | 103 | if (config.output_format_is_set) { |
@@ -164,7 +172,8 @@ int main(int argc, char **argv) { | |||
164 | } | 172 | } |
165 | 173 | ||
166 | if (config.warn_is_set) { | 174 | if (config.warn_is_set) { |
167 | if ((config.warn.is_percentage && (percent_used >= (100 - (double)config.warn.value))) || config.warn.value >= data.metrics.free) { | 175 | if ((config.warn.is_percentage && (percent_used >= (100 - (double)config.warn.value))) || |
176 | config.warn.value >= data.metrics.free) { | ||
168 | sc1 = mp_set_subcheck_state(sc1, STATE_WARNING); | 177 | sc1 = mp_set_subcheck_state(sc1, STATE_WARNING); |
169 | } | 178 | } |
170 | } | 179 | } |
@@ -174,13 +183,14 @@ int main(int argc, char **argv) { | |||
174 | } | 183 | } |
175 | 184 | ||
176 | if (config.crit_is_set) { | 185 | if (config.crit_is_set) { |
177 | if ((config.crit.is_percentage && (percent_used >= (100 - (double)config.crit.value))) || config.crit.value >= data.metrics.free) { | 186 | if ((config.crit.is_percentage && (percent_used >= (100 - (double)config.crit.value))) || |
187 | config.crit.value >= data.metrics.free) { | ||
178 | sc1 = mp_set_subcheck_state(sc1, STATE_CRITICAL); | 188 | sc1 = mp_set_subcheck_state(sc1, STATE_CRITICAL); |
179 | } | 189 | } |
180 | } | 190 | } |
181 | 191 | ||
182 | xasprintf(&sc1.output, _("%g%% free (%lluMiB out of %lluMiB)"), (100 - percent_used), data.metrics.free >> 20, | 192 | xasprintf(&sc1.output, _("%g%% free (%lluMiB out of %lluMiB)"), (100 - percent_used), |
183 | data.metrics.total >> 20); | 193 | data.metrics.free >> 20, data.metrics.total >> 20); |
184 | 194 | ||
185 | overall.summary = "Swap"; | 195 | overall.summary = "Swap"; |
186 | mp_add_subcheck_to_check(&overall, sc1); | 196 | mp_add_subcheck_to_check(&overall, sc1); |
@@ -193,7 +203,9 @@ int check_swap(float free_swap_mb, float total_swap_mb, swap_config config) { | |||
193 | return config.no_swap_state; | 203 | return config.no_swap_state; |
194 | } | 204 | } |
195 | 205 | ||
196 | uint64_t free_swap = (uint64_t)(free_swap_mb * (1024 * 1024)); /* Convert back to bytes as warn and crit specified in bytes */ | 206 | uint64_t free_swap = |
207 | (uint64_t)(free_swap_mb * | ||
208 | (1024 * 1024)); /* Convert back to bytes as warn and crit specified in bytes */ | ||
197 | 209 | ||
198 | if (!config.crit.is_percentage && config.crit.value >= free_swap) { | 210 | if (!config.crit.is_percentage && config.crit.value >= free_swap) { |
199 | return STATE_CRITICAL; | 211 | return STATE_CRITICAL; |
@@ -202,13 +214,16 @@ int check_swap(float free_swap_mb, float total_swap_mb, swap_config config) { | |||
202 | return STATE_WARNING; | 214 | return STATE_WARNING; |
203 | } | 215 | } |
204 | 216 | ||
205 | uint64_t usage_percentage = (uint64_t)((total_swap_mb - free_swap_mb) / total_swap_mb) * HUNDRED_PERCENT; | 217 | uint64_t usage_percentage = |
218 | (uint64_t)((total_swap_mb - free_swap_mb) / total_swap_mb) * HUNDRED_PERCENT; | ||
206 | 219 | ||
207 | if (config.crit.is_percentage && config.crit.value != 0 && usage_percentage >= (HUNDRED_PERCENT - config.crit.value)) { | 220 | if (config.crit.is_percentage && config.crit.value != 0 && |
221 | usage_percentage >= (HUNDRED_PERCENT - config.crit.value)) { | ||
208 | return STATE_CRITICAL; | 222 | return STATE_CRITICAL; |
209 | } | 223 | } |
210 | 224 | ||
211 | if (config.warn.is_percentage && config.warn.value != 0 && usage_percentage >= (HUNDRED_PERCENT - config.warn.value)) { | 225 | if (config.warn.is_percentage && config.warn.value != 0 && |
226 | usage_percentage >= (HUNDRED_PERCENT - config.warn.value)) { | ||
212 | return STATE_WARNING; | 227 | return STATE_WARNING; |
213 | } | 228 | } |
214 | 229 | ||