HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //proc/thread-self/root/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