2016-06-10 19 views
2

我們希望使用Swisscom雲提供的ELK服務。由於我們要記錄的應用程序不是由Swisscom託管的,而是在外部,我們希望從外部連接到ELK服務。這可能嗎?或者,ELK服務僅適用於Swisscom雲託管的應用程序?使用來自外部Swisscom雲的ELK服務

回答

2

當你創建和綁定ELK服務,您將收到的連接字符串和憑據這樣

$ cf env $APP 
Getting env variables for app $APP in org $ORC/space $SPACE as $USER... 
OK 

System-Provided: 
{ 
"VCAP_SERVICES": { 
    "elk": [ 
    { 
    "credentials": { 
    "elasticSearchHost": "9zz2ulprvgzlepa5.service.consul", 
    "elasticSearchPassword": "$PASSWORD", 
    "elasticSearchPort": 48783, 
    "elasticSearchUsername": "$USERNAME", 
    "kibanaPassword": "$PASSWORD", 
    "kibanaUrl": "http://xjcv9zh0jer2s44q.service.consul:59664", 
    "kibanaUsername": "$USERNAME", 
    "logstashHost": "gew5qn71sxcz49gd.service.consul", 
    "logstashPort": 46611, 
    "syslog": "syslog://uew5qn71sxcz49gd.service.consul:46611" 
    }, 
    "label": "elk", 
    "name": "example-so", 
    "plan": "small", 
    "provider": null, 
    "syslog_drain_url": "syslog://gew5qn71sxcz49gd.service.consul:46611", 
    "tags": [] 
    } 
    ], 

你無法到達的地址*。來自外部的service.consul(DNS僅在Swisscom Cloud中可用)。您只能從您的應用程序中訪問這些地址(在Cloud Foundry容器中運行)。

有一種解決方法,但我建議只爲開發目的

您可以從本地桌面創建隧道到Elasticsearch或Kibana Web界面。

參見Administrating Service Instances with Service Connector。這是Swisscom開發的CF CLI插件。

創建服務實例後,您最終需要管理服務 。例如,您可能需要在數據庫中創建數據表 或備份/恢復數據。對於這些用例,我們創建了Cloud Foundry CLI插件服務連接器,這是一個 本地代理應用程序,通過它您可以使用您首選的本地安裝工具連接到您的服務 實例。

Kibana web界面的示例。

cf service-connector 80 xjcv9zh0jer2s44q.service.consul:59664 

您還可以從桌面訪問Elasticsearch並使用API​​插入或查詢文檔。

1

麋鹿棧有三個組成部分:

  • 彈性搜索 - 存儲,索引
  • Logstash - 接收和處理的日誌信息(如系統日誌,JSON,文本)
  • Kibana - Web UI來搜索並可視化

正如@Fydor所寫,您無法從外部訪問ELK的服務端點。如果您想訪問您的CF託管應用程序的日誌,這也是一個問題。您並不總是希望使用Swisscom的服務連接器訪問Kibana。

因此通常會部署一個小型代理應用程序。 Swisscom有一個樣本。

或者有使用代理應用程序像 Swisscom Kibana Proxy,讓您的Kibana儀表板公開 可用的方法可行。

由於Elastic Search使用REST界面,因此可以使用代理髮布Elastic Search端點。最終,您還應該抓住機會,將一些安全措施加入代理應用程序中。

已經有很多日誌框架,它們直接支持轉發到Elastic Search。

如果您需要集成到現有的日誌解決方案(如Syslog,文本日誌等),那麼您可能需要使用logstash。

由於Cloud Foundry目前僅支持發佈HTTP和HTTPS端點,因此您不能使用Swisscom爲其提供的實例,但必須部署自己的實例並將其配置爲使用已發佈的彈性搜索端點。

相關問題