![](https://habrastorage.org/getpro/habr/upload_files/bb9/080/ca7/bb9080ca78a31879f241a26710e9b99c.png)
Привет, Хабр!
Меня зовут Рустем, являюсь Senior DevOps Engineer в компании IBM, город Краков.
Недавно я рассказал, как можно задеплоить приложение в кластер Openshift в IBM Cloud, а сегодня я хотел бы рассказать, как за этим всем следить. Что же нам понадобится? Нам сегодня понадобится кластер в IBM Cloud и LogDNA для мониторинга и алертинга.
Давайте начнем с вводной, что же это за инструменты?
IBM Cloud
IBM Cloud — это набор услуг облачных вычислений для бизнеса, предлагаемых компанией информационных технологий IBM . Он объединяет платформу как услугу (PaaS) с инфраструктурой как услуга (IaaS). Платформа масштабируется и поддерживает как небольшие группы разработчиков и организации, так и крупные предприятия. Он глобально развернут в центрах обработки данных по всему миру. Основными конкурентами IBM на рынке облачных вычислений являются Amazon Web Services , Microsoft Azure и Google Cloud Platform.
LogDNA
LogDNA — это платформа наблюдения для управления вашими данными и выполнения действий с ними. Он принимает, обрабатывает и направляет данные журналов для обеспечения разработки и доставки приложений на уровне предприятия, обеспечения безопасности и соответствия требованиям.
LogDNA был воплощен в жизнь трехкратными соучредителями Крисом Нгуеном и Ли Лю и включен в зимнюю партию Y Combinator 2015 года. В 2018 году LogDNA заключила партнерское соглашение с технологическим гигантом IBM, чтобы стать единственным поставщиком журналов для IBM Cloud.
Распределенное ведение журналов с помощью LogDNA и OpenShift в IBM Cloud
Облачное приложение, основанное на микросервисах, содержит множество частей, которые пишут логи. Обычно хорошей практикой будет использовать службу сбора логов, которая может собирать все распределенные логи в одном месте. Существует множество решений для сбора и анализа логов, которые можно установить непосредственно в кластер Kubernetes или OpenShift, но тогда у вас появится дополнительное приложение, которое необходимо поддерживать, и еще одно, которому также требуется постоянное хранилище для хранения логов в течение определенного периода времени.
IBM Cloud предлагает «Службу ведения логов как услугу» в форме IBM Log Analysis с LogDNA. Он предлагает функции для фильтрации, поиска и сбора логов, алертинга и создания настраиваемых правил для мониторинга приложений и системных логов.
Время практики!
Шаг 1. Создадим службу LogDNA.
В браузере войдем в панель управления IBM Cloud.
В бургерном меню выберем «Observability».
![](https://habrastorage.org/getpro/habr/upload_files/d32/2d2/8ba/d322d28ba0e2747011cacba8d97a40a6.png)
Шаг 2. Создадим экземпляр «IBM Log Analysis с LogDNA».
Выберем «Logging» слева.
Нажмем «Create a logging instance».
![](https://habrastorage.org/getpro/habr/upload_files/0d7/26b/8da/0d726b8da944c4c961e6341cfea20f11.png)
Шаг 3. В следующем диалоговом окне:
Выберем регион, близкий к нашему кластеру OpenShift.
Оставим тарифный план «Lite», но можете обратить внимание на другие планы; это полнофункциональные планы. Но вам нужна платная учетная запись, чтобы использовать их. Мы будем использовать Lite для практики.
Прокрутим немного вниз.
Оставим имя службы и группу ресурсов «По умолчанию».
Нажимаем «Создать» в нижней части диалогового окна.
![](https://habrastorage.org/getpro/habr/upload_files/df3/852/dd4/df3852dd4668dfc2e6599877d57b9606.png)
Шаг 4. Нажмем на “Edit log sources”
![](https://habrastorage.org/getpro/habr/upload_files/b80/f8f/c7a/b80f8fc7a1338b95318ac295dbe6b0ae.png)
Шаг 5. Выберем вкладку «OpenShift». Скопируем и выполним следующие команды в IBM Cloud Shell:
![](https://habrastorage.org/getpro/habr/upload_files/e68/b8c/099/e68b8c0992b123382c26cdcf61891fb6.png)
Шаг 6. Давайте проверим, запущен ли агент логирования в нашем кластере.
Вводим команду в наш IBM CloudShell: oc get all -n ibm-observe
![](https://habrastorage.org/getpro/habr/upload_files/c40/eee/2ba/c40eee2ba879ec5c6af6c73f613e0ef9.png)
Шаг 7. Перейдем в наш LogDNA.
Вернемся в наш дэшборд IBM Cloud.
В бургерном меню выберем «Observability».
В меню ««Observability»» выберем «Logging».Ё
Нажмем «View LogDNA».
![](https://habrastorage.org/getpro/habr/upload_files/576/0c8/82e/5760c882e941928a1214da6a1c5d3930.png)
Шаг 8. Просмотрим наш дэшборд LogdNA.
Откроем выпадающее меню «All apps» и выберем поды, которые мы хотим промониторить.
![](https://habrastorage.org/getpro/habr/upload_files/24d/d00/c41/24dd00c4191a34b55d7c2dd52c284fde.png)
Шаг 9. Создадим правило алертинга, пусть наш сервис будет отправлять нам алерт, когда наше приложение отдает 500-е ошибки.
Введем в поисковое меню внизу следующее: response:(>=500 <600)
Как мы видим, таких ошибок еще не было зарегистрировано.
![](https://habrastorage.org/getpro/habr/upload_files/ca0/51d/f58/ca051df588f628802086d2230fedc899.png)
Теперь нажимаем на “Unsaved view” в левом верхнем углу и сохраняем наш “View” и выбираем “Save as a new view”.
![](https://habrastorage.org/getpro/habr/upload_files/f25/5d6/bd9/f255d6bd9b328d392aea2acd473da51f.png)
Даем название нашему “View” и категоризируем его как “Error” и сохраняем.
![](https://habrastorage.org/getpro/habr/upload_files/a2b/2d5/b32/a2b2d5b327a577fd954a65ab26baedc3.png)
Шаг 10. Создадим наш алерт. Нажмем на “Attach an alert”.
![](https://habrastorage.org/getpro/habr/upload_files/792/62f/8a8/79262f8a82ac1d6cd122dab1dc001053.png)
Выбираем “View-specific alert” и выбираем куда будем отправлять наш алерт (slack, email, sysdig, pagerduty или webhook для стороннего приложения).
![](https://habrastorage.org/getpro/habr/upload_files/32a/45a/450/32a45a4503182f719201f045156df4a1.png)
Будем слать наши алерты в Slack в канал “Operation team”.
Чтобы избежать аномалий, настроим алерт так, чтобы он реагировал на 5 ошибок подряд в течении одной минуты и вставим webhook нашего канала в слаке и сохраним.
![](https://habrastorage.org/getpro/habr/upload_files/7be/620/981/7be6209817df2f99a35f21d06f01608b.png)
Наш алерт сохранен и увидеть его можно в левом меню во вкладке “Errors”.
![](https://habrastorage.org/getpro/habr/upload_files/1ea/638/15d/1ea63815d935d1625eb1f30199d19fcf.png)
Готово! Мы подняли мониторинг в нашем кластере и настроили алертинг.
Уже сегодня в 20:00 в OTUS состоится открытое занятие, на котором попытаемся разобраться в контейнеризации и рассмотрим ее отличие от виртуализации. Также рассмотрим самый популярный инструмент по работе с контейнеризацией — docker. Регистрация — по ссылке.