diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..373a539 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +check_cpu_pools +check_ent_pools +check_entitlement diff --git a/INSTALL b/INSTALL index bb4acee..5e390ca 100644 --- a/INSTALL +++ b/INSTALL @@ -19,10 +19,10 @@ The binaries do not need root permission, all run fine with any unprivileged use Binaries ======== -The included binaries were built on AIX 5.3 TL12 with xlC 8.0.0.26 and were tested -on AIX 5.3 TL12, AIX 6.1 and AIX 7.1. They are included for convenience, but there +The included binaries were built on AIX 6.1 TL9 with xlC 12.1.0.21 and were tested +on AIX 6.1, AIX 7.1 and AIX 7.2. They are included for convenience, but there is no guarantee that they work on all AIX systems. -To compile own binaries please do a "make clean; make"! +To compile your own binaries please do a "make clean; make"! Tested compilers ================ @@ -39,7 +39,7 @@ gcc 4.8.2 (from perzl.org) was tested on AIX 5.3 TL12, 6.1 TL7 and 7.1 TL2. Operating systems ================= -The monitors will compile and run on AIX 5.3 TL6 or higher, AIX 6.1 and AIX 7.1 +The monitors will compile and run on AIX 5.3 TL6 or higher, AIX 6.1, AIX 7.1 and AIX 7.2 The perfstat pool API is not present in earlier versions and there are also hardware dependencies (see below). @@ -49,7 +49,7 @@ The monitor can be compiled on any AIX hardware which runs a supported AIX versi It might be possible, that the monitor won't run because of PowerVM restrictions or LPAR settings. See README for details -The monitor will run on Power5 or newer CPUs (tested on Power6 and 7). +The monitor will run on Power5 or newer CPUs (tested on Power6, 7 and 8). 2 types of LPARs are supported: - shared processor LPAR diff --git a/README b/README index 47be9e6..2cd71d4 100644 --- a/README +++ b/README @@ -8,7 +8,7 @@ See command line option --help for details about all options! LPAR prerequisites ================== -The monitor runs on Power5/6/7 hardware with shared processor LPARs or +The monitor runs on Power5/6/7/8/9 hardware with shared processor LPARs or dedicated donating LPARs. $ lparstat -i|grep -E "Type|Mode" @@ -158,8 +158,8 @@ Example for check_ent_pools: ENT_POOLS OK ent_used=0.43(OK) ent=0.50 ent_max=2 vcpu_busy=21.45%(OK) pool_id=11 pool_size=9 \ pool_used=1.28(OK) pool_free=7.71(OK) syspool_size=16 syspool_used=3.47(OK) syspool_free=12.53(OK) \ -|ent_used=0.43;ent=0.50;ent_max=2;vcpu_busy=21.45;pool_id=11;pool_size=9;pool_used=1.28;pool_free=7.71;\ -syspool_size=16;syspool_used=3.47;syspool_free=12.53 +|ent_used=0.43 ent=0.50 ent_max=2 vcpu_busy=21.45 pool_id=11 pool_size=9 pool_used=1.28 pool_free=7.71 \ +syspool_size=16 syspool_used=3.47 syspool_free=12.53 ent_used : used entitlement of the LPAR ent : Entitled capacity of LPAR (lparstat -i|grep "Entitled Capacity" ) diff --git a/check_cpu_pools.c b/check_cpu_pools.c index a84a3e1..5309ec7 100644 --- a/check_cpu_pools.c +++ b/check_cpu_pools.c @@ -13,10 +13,10 @@ */ const char *progname = "check_cpu_pools"; const char *program_name = "check_cpu_pools"; -const char *copyright = "2014"; -const char *email = "armink.nagios@gmail.com"; -const char *name = "Armin K"; -const char *version = "1.2"; +const char *copyright = "2014,2019"; +const char *email = "megabreit@googlemail.com"; +const char *name = "Armin Kunaschik"; +const char *version = "1.3"; #include #include @@ -926,7 +926,7 @@ int main(int argc, char* argv[]) } - printf("CPU_POOLS %s pool_id=%d pool_size=%d pool_used=%.2f(%s) pool_free=%.2f(%s) syspool_size=%llu syspool_used=%.2f(%s) syspool_free=%.2f(%s) |pool_id=%d;pool_size=%d;pool_used=%.2f;pool_free=%.2f;syspool_size=%llu;syspool_used=%.2f;syspool_free=%.2f\n", + printf("CPU_POOLS %s pool_id=%d pool_size=%d pool_used=%.2f(%s) pool_free=%.2f(%s) syspool_size=%llu syspool_used=%.2f(%s) syspool_free=%.2f(%s) |pool_id=%d pool_size=%d pool_used=%.2f pool_free=%.2f syspool_size=%llu syspool_used=%.2f syspool_free=%.2f\n", states[ent_pool_state], pool_id, phys_cpus_pool, diff --git a/check_ent_pools.c b/check_ent_pools.c index b56fee4..b56d5c1 100644 --- a/check_ent_pools.c +++ b/check_ent_pools.c @@ -12,10 +12,10 @@ */ const char *progname = "check_ent_pools"; const char *program_name = "check_ent_pools"; -const char *copyright = "2014"; -const char *email = "armink.nagios@gmail.com"; -const char *name = "Armin K"; -const char *version = "1.2"; +const char *copyright = "2014,2019"; +const char *email = "megabreit@googlemail.com"; +const char *name = "Armin Kunaschik"; +const char *version = "1.3"; #include #include @@ -1155,7 +1155,7 @@ int main(int argc, char* argv[]) } - printf("ENT_POOLS %s ent_used=%.2f(%s) ent=%.2f ent_max=%d vcpu_busy=%.2f%%(%s) pool_id=%d pool_size=%d pool_used=%.2f(%s) pool_free=%.2f(%s) syspool_size=%llu syspool_used=%.2f(%s) syspool_free=%.2f(%s) |ent_used=%.2f;ent=%.2f;ent_max=%d;vcpu_busy=%.2f;pool_id=%d;pool_size=%d;pool_used=%.2f;pool_free=%.2f;syspool_size=%llu;syspool_used=%.2f;syspool_free=%.2f\n", + printf("ENT_POOLS %s ent_used=%.2f(%s) ent=%.2f ent_max=%d vcpu_busy=%.2f%%(%s) pool_id=%d pool_size=%d pool_used=%.2f(%s) pool_free=%.2f(%s) syspool_size=%llu syspool_used=%.2f(%s) syspool_free=%.2f(%s) |ent_used=%.2f ent=%.2f ent_max=%d vcpu_busy=%.2f pool_id=%d pool_size=%d pool_used=%.2f pool_free=%.2f syspool_size=%llu syspool_used=%.2f syspool_free=%.2f\n", states[ent_pool_state], phys_proc_consumed, states[ent_state], diff --git a/check_entitlement.c b/check_entitlement.c index 1ae427e..a811ed5 100644 --- a/check_entitlement.c +++ b/check_entitlement.c @@ -14,10 +14,10 @@ */ const char *progname = "check_entitlement"; const char *program_name = "check_entitlement"; -const char *copyright = "2014"; -const char *email = "armink.nagios@gmail.com"; -const char *name = "Armin K"; -const char *version = "1.2"; +const char *copyright = "2014,2019"; +const char *email = "megabreit@googlemail.com"; +const char *name = "Armin Kunaschik"; +const char *version = "1.3"; #include #include @@ -644,7 +644,7 @@ int main(int argc, char* argv[]) } - printf("ENTITLEMENT %s ent_used=%.2f(%s) ent=%.2f ent_max=%d vcpu_busy=%.2f%%(%s) |ent_used=%.2f;ent=%.2f;ent_max=%d,vcpu_busy=%.2f\n", + printf("ENTITLEMENT %s ent_used=%.2f(%s) ent=%.2f ent_max=%d vcpu_busy=%.2f%%(%s) |ent_used=%.2f ent=%.2f ent_max=%d vcpu_busy=%.2f\n", states[ent_pool_state], phys_proc_consumed, states[ent_state],