zabbix自動發現實現批量監控docker狀態
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# cat /usr/local/zabbix/scripts/docker_low_discovery.sh
#!/bin/bash
#Fucation:docker low-level discovery docker() {
port=($( sudo docker ps -a| grep - v "CONTAINER ID" | awk '{print $NF}' ))
printf '{\n'
printf '\t"data":[\n'
for key in ${!port[@]}
do
if [[ "${#port[@]}" -gt 1 && "${key}" - ne "$((${#port[@]}-1))" ]]; then
printf '\t {\n'
printf "\t\t\t\"{#CONTAINERNAME}\":\"${port[${key}]}\"},\n" else [[ "${key}" - eq "((${#port[@]}-1))" ]]
printf '\t {\n'
printf "\t\t\t\"{#CONTAINERNAME}\":\"${port[${key}]}\"}\n"
fi
done
printf '\t ]\n'
printf
|