проверка работоспособности консула с использованием скрипта не выполняется

#consul

#consul

Вопрос:

на моем сервере consul и других узлах я добавил 3 проверки на загрузку процессора, использование памяти и использование жесткого диска. Я не знаю, почему они терпят неудачу во время проверки. что я делаю не так.

 {
  "retry_join": [
    "172.20.20.31"
  ],
  "data_dir": "/tmp/consul",
  "client_addr": "0.0.0.0",
  "checks": [
    {
      "id": "check_cpu_utilization",
      "name": "CPU Utilization",
      "script": "/vagrant/provision/hc/cpu_utilization.sh",
      "interval": "10s"
    },
    {
      "id": "check_mem_utilization",
      "name": "MEM Utilization",
      "script": "/vagrant/provision/hc/mem_utilization.sh",
      "interval": "10s"
    },
    {
      "id": "check_hdd_utilization",
      "name": "HDD Utilization",
      "script": "/vagrant/provision/hc/hdd_utilization.sh",
      "interval": "10s"
    }
  ]
}
  

и если я проверю файл конфигурации consul.

 consul validate common.json                             
Config validation failed: Error parsing common.json: 3 errors occurred:
    * invalid config key checks[0].script
    * invalid config key checks[1].script
    * invalid config key checks[2].script
  

моя версия consul 1.8.3

Ответ №1:

Правильный способ определения проверок скрипта — использовать args параметр в определении проверки.

 {
    "id": "check_cpu_utilization",
    "name": "CPU Utilization",
    "args": ["/vagrant/provision/hc/cpu_utilization.sh"],
    "interval": "10s"
}
  

Примеры на странице Проверки определений также показывают использование args поля.