elleryq
9/14/2015 - 9:08 AM

check_load command generator

check_load command generator

#!/usr/bin/env python
# check_load is provied by nagios-plugins-basic
# The formula origin: 
#  * http://serverfault.com/questions/209566/what-warning-and-critical-values-to-use-for-check-load
import os
import sys
import multiprocessing


def main():
    cpu_count = multiprocessing.cpu_count()

    # warnings
    warnings = {
        "the_1_min_load_avg": cpu_count*8,
        "the_5_min_load_avg": cpu_count*5,
        "the_15_min_load_avg": cpu_count*2
    }

    # criticals
    criticals = {
        "the_1_min_load_avg": cpu_count*10,
        "the_5_min_load_avg": cpu_count*8,
        "the_15_min_load_avg": cpu_count*3
    }

    print(" ".join(
        ["/usr/lib/nagios/plugins/check_load",
         "-w {the_1_min_load_avg},{the_5_min_load_avg},{the_15_min_load_avg}".format(
             **warnings),
         "-c {the_1_min_load_avg},{the_5_min_load_avg},{the_15_min_load_avg}".format(
             **criticals)]))

if __name__ == "__main__":
    main()