Всем привет.
Имею n-цать серверов без внешних ip, один из них с внешним ip. Хочу их мониторить.
Подумал что можно сделать такое решение.
Сервера без ip - буду называть childN (например child1, child4 и т.д.).
Cервер с внешним ip - буду называть его dady1. У dady1 в /etc/hosts перечислены все childN.
И на сервере dady1 такой конфиг nginx'a :
server {
listen 80;
server_name dady1;
location / {
proxy_pass http://127.0.0.1:9100;
}
location /child1 {
proxy_pass http://child1:9100/;
}
location /child1 {
proxy_pass http://child2:9100/;
}
# и так далее
}
И такой думаю: ха-ха проблема решена, все круто.
Но prometheus отказывается понимать в своем конфиге http url, вот варианты что я пробовал:
- targets: ['http://dady1:80/child2']
- targets: ['dady1:80/child2']
В документации ничего не нашел, поискал в гугле - тоже ничего, максимум что можно - это настроить auth_basic авторизацию собсно она мне не нужна.
Есть еще вариант пробросить iptables'ом каждый child, но это не оч красиво и сложнее автоматизируется (в моем случае puppet'ом). И потом когда я захочу добавить новых mysql_exporter,snmp_exporter это все будет занимать доп порт, ужасное решение имхо.
Посоветуйте что делать?
Спасибо!