Swisscom クラウドが提供する ELK サービスを利用したいと考えています。ログに記録するアプリケーションは Swisscom ではなく外部でホストされているため、外部から ELK サービスに接続したいと考えています。これはまったく可能ですか?それとも、ELK サービスは、Swisscom クラウドでホストされているアプリでのみ利用できますか?
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 インターフェイスへのトンネルを作成できます。
サービス コネクタを使用したサービス インスタンスの管理を参照してください。これは、Swisscom によって開発された CF CLI プラグインです。
サービス インスタンスを作成したら、最終的にサービスを管理する必要があります。たとえば、データベースにデータ テーブルを作成したり、データをバックアップ/復元したりする必要がある場合があります。これらのユース ケースのために、Cloud Foundry CLI プラグイン サービス コネクタを作成しました。これは、ローカルにインストールされた優先ツールを使用してサービス インスタンスに接続できるローカル プロキシ アプリです。
Kibana Web インターフェイスの例。
cf service-connector 80 xjcv9zh0jer2s44q.service.consul:59664
また、デスクトップから Elasticsearch にアクセスし、API を使用してドキュメントを挿入またはクエリすることもできます。