我的架構如下:
為了避免netdata的metric API被直接呼叫
我先設置netdata.conf
[web]
allow connections from = localhost
然後配置nginx做proxy_pass以及basic authentication
upstream netdata {
# netdata server
server 127.0.0.1:19999;
keepalive 1024;
}
server {
listen 19998;
server_name my_netdata;
location / {
proxy_pass http://netdata;
auth_basic "Basic Authentication";
auth_basic_user_file /etc/nginx/.htpasswd;
}
}
我現在的問題點是,因為在prometheus設定targets時需要指定服務路徑
在同一個docker swarm網路下,我原本可以直接設定
static_configs:
- targets: ['netdata-container-name:19999']
只是我現在在netdata有設定限制ip
這樣我是否變成
只是這樣就會有問題,如果今天我的prometheus service進行update時,container改變導致ip也變更後,我又得手動更改netdata的ip白名單
想請問在能建立擋ip的情形下,有更好的處理方式嗎?