Использование услуги ELK из облака Swisscom извне

Мы хотели бы воспользоваться услугой ELK, предоставляемой облаком Swisscom. Поскольку приложения, которые мы хотим регистрировать, не размещаются в 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.

См. Администрирование экземпляров службы с помощью Service Connector. Это плагин CF CLI, разработанный Swisscom.

После создания экземпляра службы вам в конечном итоге потребуется администрировать службу. Например, вам может понадобиться создать таблицы данных в базе данных или сделать резервную копию / восстановить ваши данные. Для этих случаев использования мы создали сервисный коннектор плагина Cloud Foundry CLI, который является локальным прокси-приложением, с помощью которого вы можете подключаться к экземплярам службы с помощью предпочитаемых локально установленных инструментов.

пример для веб-интерфейса Kibana.

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

Вы также можете получить доступ к Elasticsearch со своего рабочего стола и использовать API для вставки или запроса документов.

Стек ELK состоит из трех компонентов:

  • Эластичный поиск - хранение, индекс
  • Logstash - получать и обрабатывать сообщения журнала (такие как syslog, JSON, текст)
  • Kibana - веб-интерфейс для поиска и визуализации

Как написано @Fydor, вы не можете получить доступ к конечным точкам обслуживания ELK извне. Это также проблема, если вы хотите получить доступ к журналам ваших CF-приложений. Вы не всегда хотите использовать служебный разъем Swisscom для доступа к Kibana.

Таким образом, обычно вы развертываете небольшое прокси-приложение. У Swisscom есть образец для этого.

В качестве альтернативы есть возможность использовать прокси-приложение, такое как Swisscom Kibana Proxy, чтобы сделать вашу панель Kibana общедоступной.

Поскольку Elastic Search использует интерфейс REST, вы можете использовать прокси-сервер для публикации конечной точки Elastic Search. В конце концов, вы также должны воспользоваться возможностью ввести некоторые меры безопасности в прокси-приложение.

Уже существует много каркасов ведения журналов, которые напрямую поддерживают пересылку в Elastic Search.

Если вам нужно интегрироваться в существующие решения для ведения журналов (например, Syslog, текстовые журналы, ...), тогда вы можете использовать logstash.

Поскольку Cloud Foundry в настоящее время поддерживает только публикацию конечных точек HTTP и HTTPS, вы не можете использовать предоставленный для этого экземпляр Swisscom, но должны развернуть свой собственный экземпляр и настроить его для использования опубликованной конечной точки Elastic Search.

Другие вопросы по тегам