Grafana Loki in kubernetes. Intro.

Первое видео из серии «Как запустить Loki в k8s»

План на дальнейшие видео.

Что мы должны получить в итоге.

Если вы видите loki в первый раз, рекомендую посмотреть вот это видео: https://www.youtube.com/watch?v=vkdNY8QaCug

Getting metrics from logs in Elasticsearch

Мне по работе надо получать события когда в логах приложений (логи у нас попадают в elasticsearch) появляются определённые сообщения. Zabbix умеет делать запросы по http. Но у нас Victoriametrics (ибн Prometheus) и хотелось бы, что бы alertmanager генерировал алерты. Но для того, что бы он смог это сделать, нужно что бы соответствующая метрика появилась в victoriametrics. Грубо говоря, нужно что бы Prometheus (или что на него похожее — vmagent) обратился к elasticsearch с определённым запросом и создал метрику. Но он зараза такое не умеет :(.

Да, можно попросить программеров, что бы они сделали нужную нам метрику у приложения. Но это хорошо когда программеры рядом и идут на встречу. Если их нет или это какое то старое приложение то ФСЁ — приплыли и рядом с victoriametrics надо ставить zabbix или что то такое…

Я честно искал приложение, которое может посылать необходимые мне запросы в elasticsearch и генерить метрики Prometheus. Но не нашёл. Возможно я плохо искал?

Вобщем мне надоело искать и я вспомнил, что нормальный сисадмин должен уметь писать вспомогательные утилиты. Я же типа нормальный сисадмин? 🙂

Заодно решил подучить go. Учить язык надо на каком то живом задании. Собственно вот, задание:

  • Приложение должно уметь посылать запросы в elasticsearch и генерировать метрики в формате Prometheus.
  • Это должен быть контейнер.
  • Должна быть горизонтальная масштабируемость. Запросов ожидается много.
  • Мы должны легко жить в kubernetes.

Итого. Программисты, не бейте меня ногами. Вы такого не написали, а мне очень надо. Поэтому родилась вот такая утилита: https://github.com/BigKAA/metrics-from-logs

Это первая версия, написанная по быстрому, на коленке. Там ещё много чего надо дописывать. Научится нормально работать с Redis и много ещё чего.

Mikrotik & Huawei E8372h-320

Переезжаю жить на дачу. Ремонт это такое… из дома выселяют 🙁

Работа у меня удалённая. Везде удалённая. Забыл как серверные выглядят 🙂 . Поэтому интернет нужен. Забежал в ближайший DNS купил свисток Huawey E8372h-320. Планировал его подключить к Mikrotik Hap AC2.

Хорошо, что заранее начал готовить оборудование :). Включаю свисток в микротик, а интерфейс LTE то потухнет, то погаснет. Абидна панимаэш!

Полистал интернет. Оказалось известная фишка 6-й прошивки микротика. Давно я не брал в руки Mikrotik. Забыл, что он особенный 🙂. Народ рекомендует загрузить 7-ю девелоперскую версию. Послушал я народ, загрузил 7-ку и LTE завелось. Ну да ладно, Hap на 7-й прошивке только лето проработает, осенью вольётся обратно в домашнюю сетку ко своим стабильным братьям.

Ремонт — это не действие. Это состояние.

«Вы вошли в ремонт, это не значит, что кто-то что-то начал. Вы вышли из ремонта, это не значит, что кто-то что-то сделал.» М.М. Жванецкий.

Вошел в состояние капитального ремонта квартиры. По оптимистическим прогнозам всё это действие займёт месяца три.

Рабочую станцию закрываю и перехожу работать на ноутбук. Поэтому новых видео не будет до окончания ремонта.

Almalinux и kubernetes

Almalinux — ответ на телодвижения с CentOS компаний RedHat и IBM. Решил проверить, как на этом дистре живет kubernetes.

Kubespray декларирует поддержку Almalinux:

Решил перевести домашний кластер кубера на этот дистрибутив. Скажу сразу, master ветка не завелась. Откатил kubespray на branch release-2.16. устанавливал k8s версии 1.21.1.

Если использовать минимальную установку, придется доставить пару пакетов, которые отсутствую по умолчанию.

Система завелась с полпинка.

Будем тестировать.