HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //lib64/nagios/plugins/check_a2_omni_pxe_https_check.sh
#!/bin/bash
#
# Jira: SYSENG-24777
#
# A script with a basic HTTPS check that runs on omni server and checks each of the PXE servers if they're working properly
#

_pxe_servers="omni-pxe-sf omni-pxe-az omni-pxe-nl omni-pxe-sg"
icinga_out="/tmp/pxe_check_out.txt"

for _pxe in ${_pxe_servers}; do
  _output=$(curl --connect-timeout 5 --max-time 5 -sX POST https://"${_pxe}".a2hosting.com/create -H 'Content-Type: application/json' -d '{"filename": "xx-xx-xx-xx-xx-xx", "uri": "http://mirror.a2hosting.com", "kernel": "/almalinux8/vmlinuz", "initrd": "/almalinux8/initrd.img", "method": "/almalinux/8/BaseOS/x86_64/kickstart/", "ks": "https://omni-prov.a2hosting.com//almalinux8/bmd/man.ks", "pxetemplate": "TEMPLATE", "token": "token-token-token-token", "host_id": "9999", "omni_host": "omni.a2hosting.com"}' | jq -r .success)

  if [[ "${_output}" == 1 ]]; then
    echo "${_pxe} - PXE server (HTTPS) is working properly"
  else
    echo "${_pxe} - PXE server (HTTPS) is NOT working!"
    
  fi
done > ${icinga_out}

if grep -q  "NOT working" ${icinga_out}; then
  echo "check_a2_omni_pxe_https_check - $(grep "NOT working" ${icinga_out} | sed ':a;N;$!ba;s/\n/ | /g')"
  exit 2
else 
  echo "check_a2_omni_pxe_https_check - $(grep "is working" ${icinga_out} | sed ':a;N;$!ba;s/\n/ | /g')"
  exit 0
fi