![License](https://img.shields.io/github/license/patvdv/check_health.svg) ![Code](https://img.shields.io/badge/Code-Shell-green.svg) [![Release](https://img.shields.io/github/release/patvdv/check_health.svg)](https://github.com/patvdv/check_health/releases)

QList

# Health checker for UNIX/Linux Health checker for UNIX/Linux is a small framework of monitoring scripts. It is meant to be used for low latency & low frequency checks, it is easy to extend where necessary (plugins) and it can be integrated with other toolsets. ## Requirements * *ksh88/ksh93* (mksh/pdksh will work also but YMMV) * some disk space for storing logs & event files * system dependent tools/utilities (see individual health checks) * UNIX *cron* or other scheduler * execute as user *root* only ## Downloads See the [Releases](https://github.com/patvdv/check_health/releases) page. ## Installation ### HP-UX Install the core bundle: swinstall -x mount_all_filesystems=false -s /tmp/hc-hpux-.sd \* Install the HP-UX plugin bundle: swinstall -x mount_all_filesystems=false -s /tmp/hc-hpux-platform-.sd \* ### Linux Install the core bundle: yum localinstall hc-linux-.noarch.rpm dpkg --install hc-linux-.noarch.rpm zypper install hc-linux-.noarch.rpm pacman -U hc-linux--any.pkg.tar.xz Install the Linux OS plugins bundle: yum localinstall hc-linux-platform-.noarch.rpm dpkg --install hc-linux-platform-.noarch.rpm zypper install hc-linux-platform-.noarch.rpm pacman -U hc-linux-platform--any.pkg.tar.xz ### AIX Install the core bundle: installp -Xap -d hc-aix-.bff all Install the AIX OS plugins bundle: installp -Xap -d hc-aix-platform- all ### Clusterware/Exadata Install the core bundle: yum localinstall hc-linux-.noarch.rpm Install Clusterware/Exadata Linux plugin bundle(s): yum localinstall hc-clusterware-platform-.noarch.rpm yum localinstall hc-exadata-platform-.noarch.rpm ### Serviceguard Install the core bundle: swinstall -x mount_all_filesystems=false -s /tmp/hc-hpux-.sd \* yum localinstall hc-linux-.noarch.rpm Install Serviceguard plugin bundle(s): swinstall -x mount_all_filesystems=false -s /tmp/hc-serviceguard-platform-.sd \* yum localinstall hc-serviceguard-platform-.noarch.rpm ### Miscellaneous Additionally, there may be bundles for display or notification plugins, e.g.: * hc-display-csv * hc-display-init * hc-display-json * hc-display-terse * hc-notify-eif * hc-notify-sms * hc-notify-slack ## Configure & deploy An Ansible role is available at: https://github.com/patvdv/kudos.check_health ## Execute (examples) * **Listing** available health checks: ``` /opt/hc/bin/check_health.sh --list ``` * **Running** a single health check: ``` /opt/hc/bin/check_health.sh --hc=check_hpux_ioscan --run ``` * **Running** multiple health checks (at once): ``` /opt/hc/bin/check_health.sh --hc=check_hpux_ioscan,check_hpux_ovpa_status --run ``` * **Running** a single health check with a custom configuration file: ``` /opt/hc/bin/check_health.sh --hc=check_hpux_ioscan --config-file=/etc/opt/hc/check_hpux_ioscan_new.conf --run ``` * **Showing** information on a health check: ``` /opt/hc/bin/check_health.sh --hc=check_hpux_ioscan --show ``` * **Enabling/disabling** a health check: ``` /opt/hc/bin/check_health.sh --hc=check_hpux_ioscan --check /opt/hc/bin/check_health.sh --hc=check_hpux_ioscan --disable /opt/hc/bin/check_health.sh --hc=check_hpux_ioscan --enable ``` * **Reporting** on failed health checks: ``` /opt/hc/bin/check_health.sh --report /opt/hc/bin/check_health.sh --report --last /opt/hc/bin/check_health.sh --report --today /opt/hc/bin/check_health.sh --report --newer=20180101 /opt/hc/bin/check_health.sh --report --id=20160704154001 --detail ``` * **Alerting** on failed health checks: ``` /opt/hc/bin/check_health.sh --hc=check_hpux_root_crontab --run --notify=mail --mail-to="alert@acme.com" /opt/hc/bin/check_health.sh --hc=check_linux_fs_usage --run --notify=slack" ``` ## References ### Documentation More documentation can be found at ### Logo The logo was kindly provided by *Komiser Back*.