В демонстрации консула есть проверки на использование диска и использование памяти. Consul - Alert, если диск заполнен
http://demo.consul.io/ui/#/ams2/nodes/ams2-server-1
Как вы могли бы написать конфигурацию, чтобы сделать то, что демо-шоу? Предупреждение при 10% и критических эрах на 5%?
Вот что я пытаюсь
{
"check": {
"name": "Disk Util",
"script": "disk_util=$(df -k | grep '/dev/sda1' | awk '{print $5}' | sed 's/[^0-9]*//g') | if [ $disk_util > 90 ] ; then echo 'Disk /dev/sda above 90% full' && exit 1; elif [ $disk_util > 80 ] ; then echo 'Disk /dev/sda above 80%' && exit 3; else exit 0; fi",
"interval": "2m"
}
}
Вот тот же сценарий, но более читаемым человеком
disk_util=$(df -k | grep '/dev/sda1' | awk '{print $5}' | sed 's/[^0-9]*//g') |
if [ $disk_util > 90 ]
then echo 'Disk /dev/sda above 90% full' && exit 1
elif [ $disk_util > 80 ]
then echo 'Disk /dev/sda above 80%' && exit 3
else exit 0; fi
Похоже, что проверка работает, но он не печатает из любой текст. Как я могу проверить, что это работает, и распечатать вывод?
Я пытаюсь выяснить случаи использования для консула, сам. Глядя на то, что другие делают с ним за пределами простого обнаружения сервисов, или как сделать сервисное открытие более надежным. Интересно, почему ваш вопрос только что был опущен? Возможно, потому что это вопрос, который лучше подходит для ServerFault? Независимо от того, я тоже хотел бы знать 1) если это действительный подход и 2) почему вывод не показан. Хммм. –
Это скорее работает, если вы вызываете скрипт оболочки из файловой системы вместо того, чтобы пытаться инкапсулировать все это внутри структуры проверки «JSON». Потому что команды 'exit' работают лучше. Постскриптум Новый URL-адрес: https://demo.consul.io/ui/#/ams2/nodes/consul-server-ams2-1 – MarkHu