ћерион Ќетворкс

6 минут чтени€

¬ производственной среде даже минимальное врем€ просто€ недопустимо. Ёто может привести к потере доходов и, что хуже всего, репутации. „тобы отладить возможные сценарии, которые привод€т к простою, развертываютс€ разные системы регистрации событий и мониторинга.

Ёто помогает экономить средства и своевременно вы€вл€ть проблемы, которые могут возникнуть в будущем.

ќбучайс€ в Merion Academy

ѕройди курс по
сетевым технологи€м

Ќачать
¬ насто€щее врем€ большинство организаций, вне зависимости от размера, так или иначе использует принципы и инструменты DevOps. Ќаиболее попул€рны контейнеры и Kubernetes. » мониторинг такой системы проводитс€ очень эффективно с помощью Prometheus. Ќо там, где Prometheus отстает Ц узка€ часть. ќна не обеспечивает централизованную систему логировани€, и именно здесь на сцену выходит Loki.

„то такое Grafana Loki?

Grafana Loki - система агрегации логов с нескольких источников, запущенна€ компанией Grafana в 2018 году и выпущенна€ под лицензией Apache 2.0. –азработки системы были вдохновлены Prometheus. ќн широко используетс€ с поставщиками облачных технологий и такими инструментами, как Prometheus и Grafana.

Loki аналогичен стеку ELK/EFK, но его проще настроить и использовать, и предлагает лучшие функциональными возможност€ми. Loki не индексирует содержимое журнала, а индексирует метки времени и набор меток дл€ потока журнала. Ёто делает индекс меньше, что упрощает операции и в конечном итоге снижает стоимость.


ѕреимущества Loki

Ќиже приведены преимущества использовани€ Loki в стеке:

  • Ѕлагодар€ индексации только метаданных, Loki очень экономичен. ¬ыполнение индексов дл€ полнотекстовой обработки требует большей оперативной пам€ти, котора€ стоит дорогой. ’ранение журналов на объектах хранени€, как S3, также уменьшает себестоимость.
  • ќн поддерживает использование нескольких источников с использованием tenantID, поэтому данные из каждого ресурса хран€тс€ отдельно.
  • Loki можно запускать локально дл€ небольших операций или легко масштабировать по горизонтали дл€ крупномасштабных операций.
  • ќн использует динамический стиль дл€ обеспечени€ согласованности кворума дл€ операций чтени€ и записи.
  • ѕо умолчанию он настроен на создание 3 реплик журналов дл€ защиты от сбоев процессов и внезапных выходов с места потери журналов. ƒа, это повлечет за собой дополнительные расходы, но не такие высокие Ц целостность данных более критична.
  • Ћегко интегрируетс€ с такими попул€рными инструментам, как Kubernetes, Prometheus и визуализаци€ в Grafana.

јрхитектура Loki

Grafana Loki

јрхитектура Loki состоит из трех компонентов - Promtail, Loki и Grafana.

Promtail - это агент, который должен быть установлен на каждом узле, на котором выполн€ютс€ приложени€ или службы. ќсновной об€занностью Promtail €вл€етс€ обнаружение цели, прикрепление меток к потокам подов, и сохранение этих логов в экземпл€ры Loki. јгент promtail передает журналы из локальной файловой системы на центральный сервер Loki. ѕосле этого можно выполнить обратный запрос журналов с помощью Grafana.


—ценарии использовани€ Loki

Ќиже приведены попул€рные сценарии использовани€ системы ведени€ журнала, подобных Loki.

  • Ѕизнес-аналитика: Ёто, пожалуй, самый распространЄнный пример использовани€, создание действенного понимани€ на основе данных журнала всегда может быть очень полезным. Loki может помочь в понимании данных журнала и даст возможность создавать новые стратегии дл€ роста бизнеса. Ќапример, с помощью данных журнала организации можно узнать коэффициенты эффективности рекламного канала.
  • ћониторинг: Prometheus часто используетс€ дл€ мониторинга в разных отрасл€х. Ќо вы можете многое идентифицировать, отслежива€ свои журналы с помощью таких инструментов, как Loki. ќна, просматрива€ журналы и отправл€€ предупреждени€ после превышени€ порога, поможет вам отслеживать частоту ошибок на вашем веб-сайте.
  • ќтладка и устранение неполадок: Loki может помочь команде DevOps быстро находить ответ на такие вопросы, как когда произошел сбой приложени€, причина его сбо€, его последний статус перед сбоем и т.д.
  •  ибербезопасность: «а последние несколько лет число кибератак на порталы электронной коммерции увеличиваетс€ в геометрической прогрессии. — помощью Loki можно выполнить проверку журналов, чтобы вы€вить любые угрозы, проблемы или вредоносные действи€, происход€щие в системе вашей организации. ≈сли взлом был успешным, Loki мог бы быть полезным дл€ криминалистов, чтобы детально пон€ть, что происходило в системе. Ёто поможет им отследить хакеров.
  • —облюдение норм: ƒл€ соблюдени€ отраслевых норм организации должны вести журналы аудита до 7 лет. ћестные власти могут провер€ть журналы в любое врем€. Loki может безопасно хранить ваши журналы аудита.

”становка Loki и Promtail

ƒалее покажем, как установить и визуализировать журналы на Grafana. ¬ этой демонстрации мы используем общую конфигурацию, котора€ будет собирать журналы из /var/log/* log.

ѕерейдите на страницу релизов Loki на Github, прокрутите вниз до Assets. «десь вы найдете несколько пакетов Loki и Promtail. «агрузите пакет Loki в соответствии с используемой системой. Ќе устанавливайте пакеты cli или canary Loki. я загружаю loki-linux-amd64.zip и promtail-linux-amd64.zip дл€ моей системы Ubuntu.

ѕосле завершени€ загрузки разархивируйте файлы Loki и Promtail и поместите их в единый каталог.

ls

“еперь загрузите общий файл конфигурации Loki и Promtail.

wget ls

„тобы запустить Loki, выполните приведенную ниже команду с файлом конфигурации Loki. Ёто приведет к запуску Loki и отображению журналов Loki в терминале.

loki-linux-amd64  loki-local-config.yaml  promtail-linux-amd64  promtail-local-config.yaml
promtail-local-config.yaml

„тобы запустить Promtail, выполните приведенную ниже команду с файлом конфигурации Promtail. Promtail должен получить журналы в Loki.

./loki-linux-amd64 -config.file=loki-local-config.yaml
./loki-linux-amd64 -config.file=loki-local-config.yaml

¬изуализаци€ логов с помощью Loki и Grafana

Grafana обеспечивает встроенную поддержку Loki. Loki уже присутствует в источниках данных √рафаны.

Ўаг 1. ѕерейдите к разделу  онфигурации Grafana и нажмите кнопку Data Sources (»сточники данных).

»сточники данных

Ўаг 2. ¬ окне источников данных можно выполнить поиск источника по имени или типу.

ѕоиск

Ўаг 3. ¬ведите в строку поиска слово Loki. Ётот источник данных уже присутствует в Grafana. Ќажмите кнопку Select (¬ыбрать).

Loki

Ўаг 4. ¬ведите им€, которое вы хотите дать источнику данных, и поместите http://localhost:3100 (измените его на IP-адрес сервера, если Loki работает на сервере, отличном от Grafana) в строку URL. ѕорт прописываем потому, что мы запустили Loki на порту 3100.

Name

Ќажмите кнопку Save and Test внизу. ≈сли настройка Loki выполнена правильно, по€витс€ следующее сообщение в зеленом поле.

Test

Ўаг 5.Ќажмите на вкладку Explore (ќбзор) на левой части панели. ¬ыберите Loki в раскрывающемс€ списке выбора источника данных. “еперь неплохо было бы визуализировать активность журналов Grafana. ƒл€ этого необходимо добавить запрос {filename = "/var/log/grafana/grafana.log "} в строку обозревател€ журналов. «еленые полосы ниже представл€ют собой записи событий в файле журнала.

Explore

ћожно выбрать временной диапазон, дл€ которого визуализаци€ должна отображатьс€ на панели мониторинга, а также задать интервал обновлени€ запроса. „тобы просмотреть более подробную информацию о событии, прокрутите вниз и щелкните по одной из записей журнала, она выведет всю имеющуюс€ информацию, св€занные с данным событием.

Log

«аключение

–аспределенна€ система состоит из множества приложений или микросервисов, каждый из которых генерирует тыс€чи событий. Ќужен экономичный способ сбора журналов, их хранени€ и последующего использовани€. Loki - идеальное решение дл€ таких случаев. ‘актически, за счет интеграции Loki в производственную среду, затраты на ведение журналов и мониторинг можно сократить до 75%.


 ажетс€, ћарион запуталс€ в сет€х, пока пыталс€ в них разобратьс€!

≈му нужна тво€ помощь! ѕомоги решить задачу, чтобы спасти принцессу

ћаршрутизатор состоит из многих внутренних компонентов.  акой компонент хранит копию файла конфигурации?

 ака€ особенность поддерживает высокую пропускную способность в коммутируемых сет€х, объедин€€ несколько каналов в один?

 акой уровень модели OSI требуетс€ дл€ конфигурировани€ соединени€ между устройствами в различных виртуальных локальных сет€х?

“ы помог ћариону спасти принцессу!

«а это он дарит тебе дополнительные 15% скидки на курс по сет€м!

ѕолучить

”пс, кажетс€ промах. ѕопробуй в следующий раз!

x