#!/usr/bin/bash

function set-threshold() {
  local host=$1; shift
  local service=$1; shift
  local warn=$1; shift
  local crit=$1; shift

  if naglive "$host" "$service" > /dev/null; then
    echo "[$(date +%s)] CHANGE_CUSTOM_SVC_VAR;$host;$service;_WARNING;$warn" >> /var/spool/nagios/cmd/nagios.cmd
    echo "[$(date +%s)] CHANGE_CUSTOM_SVC_VAR;$host;$service;_CRITICAL;$crit" >> /var/spool/nagios/cmd/nagios.cmd
  fi
}

host=$1

[[ -z $host ]] && exit 1

if [[ $MODE == HARD ]]; then
  zservice stop nagios
  awk -v NAME="$host" '{if (substr($0,1,10) == "host_name=" && substr($0,11) == NAME) A=1; else if ($0 == "}") A=0; if (A == 1 && substr($0,1,2) == "__") next ; print $0 ; }' < /var/spool/nagios/retention.dat > /var/spool/nagios/retention.dat.new &&
    chown --reference=/var/spool/nagios/retention.dat /var/spool/nagios/retention.dat.new &&
    mv /var/spool/nagios/retention.dat{.new,}
  zservice start nagios
  exit 0
fi

nagset-threshold $host CHARGE-CPU 75 95
nagset-threshold $host CHARGE-MEM 75 95
nagset-threshold $host CHARGE-DISQUE 80 90
nagset-threshold $host CHARGE-DISQUE-DONNEES 96 98
nagset-threshold $host CHARGE-MEMSWAP 30 50
nagset-threshold $host TEMPERATURE-CPU 20:60 15:80
nagset-threshold $host ETAT-VENTI 800:4500 100:5000

