2012-08-08 76 views
0

說明:傳輸實時網絡日誌從一個EC2實例到另一個EC2實例

  • 我有一個可執行的JAR文件部署到一個EC2實例可以手動運行在80端口偵聽代理業務
  • 我有另一個EC2實例一個Spring應用程序,其命中第三方服務器上的網站

這兩臺機器之間的連接:

春天的應用程序設置即B告訴第三方服務器打開一個網站,並使用A作爲代理,這導致生成網絡調用的日誌A. A

我想要做的是:對於我發送的每個請求B到第三方服務器我想正在上生成的網絡日誌被轉移到B

我的嘗試:

  1. 一種方法是在一個旋轉的日誌,並寫信給S3,然後應用從S3中挑選它並將它們處理爲
  2. ssh到A並grep日誌文件,但是這會停止JA R鍵收聽新的業務和它卡住

我在尋找:

的實時解決方案,只要日誌出現在AI希望他們不停止在被移植到B它的監聽作業

+0

「實時」輸入日誌事件到您的Splunk索引中有特定的含義,這是不是。請不要濫用標準術語。 – EJP 2012-10-11 07:02:37

回答

0

我不確定你運行的是哪個操作系統,但是如果你運行的是nix變種,你可以安裝syslog-ng而不是syslog或rsyslog,它可以記錄本地和外部事件。在這種情況下,我將設置一箇中央日誌記錄服務器,它監聽來自服務器a和服務器b的日誌。

另一種選擇是syslog-ng不是您要查找的內容,您可以在服務器上安裝splunk,並從要集中記錄的每臺服務器上的splunk記錄中選擇日誌。

希望這會有所幫助。

0

正如凱文提到的,您可以在EC2實例上設置Splunk索引器,並使用它來聚合來自A和B以及任何其他來源的日誌集合,然後使用Splunk搜索語言搜索此日誌數據在「接近實時」的情況下,將不同系統中的事件關聯起來,創建自定義儀表板,設置主動警報等。

http://www.splunk.com/

至於機制,從您的系統中得到這個數據到Splunk的索引:

1)使用Splunk的通用轉發到監控日誌輸出,並將其轉發給您的Splunk索引,http://www.splunk.com/download/universalforwarder

2)當你的系統是基於Java的,SplunkJavaLogging有log4j的/的logback/JDK追加程序,你可以無縫線到您的日誌記錄配置轉發事件記錄到您的Splunk索引:https://github.com/damiendallimore/SplunkJavaLogging

3)使用Splunk的Java SDK中,http://dev.splunk.com/view/java-sdk/SP-CAAAECN,通過HTTP REST或原始TCP