2016-03-07 20 views
0

Sentry需要一個值它安裝的位置:SENTRY_URL_PREFIX。問題是我想通過兩個不同的lan將錯誤記錄到安裝中。如何將來自2個不同Lans的錯誤記錄到一個哨兵服務器

可以說,運行哨兵的服務器有一個ip 192.168.1.110.0.0.1,我想從192.168.1.210.0.0.2中記錄錯誤。

哨兵服務器(機器)和需要進行日誌記錄的機器之間的連接很好,但我需要在哨兵中「切換」一個url-prefix設置,以便它與其中一個工作:If我將SENTRY_URL_PREFIX設置爲http://10.0.0.1它可以工作,並且能夠接收來自該LAN的日誌,但是來自其他LAN的所有請求都出錯了(例如,前端的http請求直接獲取http 400結果),當然還有其他方法。

詳情: 我運行在泊塢窗哨兵8.1.2https://hub.docker.com/_/sentry/

有趣的是,我在changelog

SENTRY_URL_PREFIX閱讀本已被棄用,並移動到system.url前綴在config.yml裏面,或者它可以在運行時配置。

第一次啓動哨兵似乎仍然要求提供前綴;改變前綴似乎對連接起作用,所以對我來說,它看起來像是重疊。這可能是在幕後,這是溝通上述system.url-prefix,所以這個設置是問題,但我不知道。

有誰知道如何在兩個地址上運行一臺服務器? 主要問題當然是發送錯誤,但只有一個ip才能看到web界面並不重要。

回答

0

雖然我不確定它應該如何工作,但我無法獲取任何日誌到服務器,然後在調用中使用不同的system.url-prefix

從twitter和哨兵組我收集它確實需要接口的正確主機,而它不應該真的打破其他東西。不知道如何解開它。

對我來說,解決方案只是爲了解決從一個角度安裝的哨兵。因爲我們需要單獨的NIC,所以我們通過在設置前使用一個簡單的nginx反向代理來實現這一點,並讓它設置主機頭。我用了一個默認https://hub.docker.com/_/nginx/形象,而這個配置:

events { 
    worker_connections 1024; ## Default: 1024 
} 

http{ 
    server { 
     listen  80; 

     location/{ 
      proxy_pass      http://$internalip-sentry-knows; 
      proxy_redirect     http://$internalip-sentry-knows $externalip-we-use; 
      proxy_set_header Host   $internalip-sentry-knows; 
      proxy_set_header X-Real-IP  $remote_addr ; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     } 
    } 
} 

端口暴露在兩個網卡,所以這個聽我們希望同時使用不會忽略,並且proxys它很好的和容易哨兵。

聲明:界面說到SENTRY_URL_PREFIX但這已棄用,所以我使用system.url-prefix,但在我的答案中的所有實際目的,它們是可互換的。這可能是人誰不知道混亂的根源發生的事情正是:)

參考文獻:
* twitter conversation with Matt from sentry
* Groups response from David from sentry

相關問題