Как лучше всего настроить несколько проверок HTTP для хоста?
Я знаю, что есть такой метод "применения":
apply Service "http" for (http_vhost => config in host.vars.vhosts) {
...
}
Но мне также нужно значение http_uri ?!
Как это сделать через обычные файлы конфигурации И как это сделать через Директор? Где и как мне нужно изменить шаблон, чтобы получить несколько HTTP-проверок, связанных с определенным хостом?
Директором я не пользуюсь, но могу рассказать, как я это делаю в обычном коде. В принципе, я бы создал некоторый dict / list, как вы сказали (в разных масштабах). Там вы должны поместить туда переменные - те, которые вы хотите изменить (например, URL).
Итак, вы определяете переменную со своими данными. Он может находиться под хостом, или вы можете создать его в глобальной области.
globals.http_urls = [ "/uril1", "/url2" ]
или
object Host "testhost" {
host.address = 123.123.123.123
vars.http_urls = [ "/url1", "/url2" ]
}
тогда вы можете перебирать эту переменную
apply Service "http-url" for (url in globals.http_url) {
command = http
# ... other http check variables ...
vars.http_url = url
# ... other variables ...
assign where host.name == "testhost"
}
вы также можете перебирать словарь, это работает так:
globals.testdict = {
"server1" : "testdict",
"server2" : "testweb",
etc..
}
просто используйте ключ => значение формат для определения
apply Service "http-url" for (server => url in globals.testdict) {
command = http
display_name = "http check " + server
vars.http_url = url
.. etc
assign where host.name == testserver
}