𝚔𝚟𝚊𝚙𝚜
зачем нужен куб, ты хотел сказать?
Евгений
а graphviz из чего генерит?
Там речь шла о проектировании выше. При проектировании описываешь на dot'е то, что нужно и генеришь в картинку
𝚔𝚟𝚊𝚙𝚜
тут еще такое было https://www.reddit.com/r/kubernetes/comments/ad3qpd/k8s_studio_new_interface/
Andrey
Я бы задумался стоит ли elasticsearch держать в k8s
По моему опыту - это хорошо, если посмотреть в исходники оператора. Чуть больше 30 гигов логов в день (пока).
Andrey
а ты его на отдельных нодах запускаешь?
Антиаффинити есть, но ноды персонально эластику не принадлежат
Andrey
AWS, gp2/500 гигов диск на под, 6 подов датанод, 5 шардов с репликой, 5 клиентских нод
Andrey
Пока чувствует себя отлично, в ближайшее время нагрузка будет увеличена раза минимум в два
Sergey
𝚔𝚟𝚊𝚙𝚜
@inish777 а собираешь чем?
𝚔𝚟𝚊𝚙𝚜
Andrey
👍
Сарказм?
𝚔𝚟𝚊𝚙𝚜
нет, я тоже им собираю
𝚔𝚟𝚊𝚙𝚜
прямо из /var/lib/docker/containers
Andrey
Я сначала хотел fluentd, но неудобно очень
Andrey
прямо из /var/lib/docker/containers
Я тоже, но скоро поменяю - хочу воткнуть ради эксперимента пару нод с containerd
Andrey
В блоге эластика пишут, что файлбит давно в CRI-формат умеет
𝚔𝚟𝚊𝚙𝚜
о, да?
𝚔𝚟𝚊𝚙𝚜
круто, но я пока все равно с докера не готов слезать
Andrey
о, да?
https://www.elastic.co/blog/brewing-in-beats-add-support-for-cri-logs-in-filebeat
Andrey
Я сначала хотел fluentd, но неудобно очень
Но все равно его юзаю для проектов, которые не в кластере, чтобы они писали логи хотя бы частично в эластик, а не в постгрес
Andrey
Прям из питонолибы туда критичные логи дублируются, работает отлично
𝚔𝚟𝚊𝚙𝚜
мы, если приложение срет много логов, обычно сайдкаром logstash запускаем
Andrey
А флюент?
В репах кубеней есть конфиг сразу на два формата
𝚔𝚟𝚊𝚙𝚜
в остальных случаях filebeat + add_kubernetes_metadata, с фильтром по неймспейсам вполне хватает
George
Мне просто флюент нравится больше
Andrey
Конфиг скинуть?
Andrey
мы, если приложение срет много логов, обычно сайдкаром logstash запускаем
У меня тут тяжелейшее легаси, которое изначально часть логов пишет в базу, так как аналитикам нужно + его переписанная с нуля реинкарнация, которую я сразу в кубеня пихнул
Andrey
Вот ту часть оно теперь в флуентд дублирует, как народ с комбинацией эластика/кибаны/редаша освоится, так отучу в базу писать. А там и в кубеня перетянем
Ivan
Up
Ivan
Да, есть. В input так Name tail Tag * Path /var/log/containers/*.log Output Name kafka Match * Brokers 10.209.100.89:9092 Topics kube-logs-fluentbit.nginx, _logging, ingress-nginx Topic_Key namespace_name Timestamp_Key @timestamp Я предпологаю, что, судя по документации, если в строке с логом будет {«namespace_name»: «ingress-nginx»} - то эта строка полетит в соответствующий топик, но нет, пока все сыпется в один, изначально настроенный kube-logs-fluentbit.nginx
Andrey
С кафкой в жизни дела не имел, но я так понял, что это заточенный на высокую доступность и производительность брокер сообщений
Andrey
С кучей нюансов, конечно
George
Я на вопрос не отвечу, но мне интересно - а зачем кафка для логов?
Чтобы их там хранить как во временном буфере
George
И в целом Кафка прекрасна. Хочешь добавить ещё консьюмеров логов - нет проблем
George
Наверняка обработку ? Ну, там очистку, обогащение - почему нет ?
Andrey
Чтобы их там хранить как во временном буфере
Я читал в какой-то статье на Хабре, что там как и в кролике - лучше консьюмить сразу
George
И проблем с производительностью нет при использовании в штатном сценарии
Andrey
От ИТ сумма ?
Вроде от тинькова
George
Что значит "консьюмить сразу"?
George
Кейсы разные есть, но никто не предлагает кафку использовать именно как хранилище
George
Возможна ситуация, когда тебе нужно оффсет переставить и перечитать данные за неделю назад
George
Легко
Andrey
Что значит "консьюмить сразу"?
До того, как записалось на диск, т.е. всегда должны быть готовые консьюмеры. Опять же, это что я понял из статьи, я кафку в глаза не видел
George
Просто иначе у тебя скорость падает...
Andrey
Ну да, об этом они и писали
George
Вопрос в том, какая она в итоге
Как спроектируешь - так и будет
Andrey
Как спроектируешь - так и будет
Это понятно. А вот допустим я для этого монгу использую или, прости Господи, таблицу в Постгресе. Из Кафки я выжму больше?
George
Постгрес упрется по скорости в wal
George
Mongo попросту не даёт гарантий на данные, плюс Кафка тупо быстрее
Andrey
Больше на доступность, с производительность там немножк сложно.
Правда, что с кафкой можно добиться exactly once семантики?
George
На эту тему были дебаты с коллегой
George
Мое мнение - на базе Кафки можно построить озвученную систему, но продюсеры и консюмеры должны быть написаны соответствующим образом
George
Типа дедупликация на выходе
Andrey
Вот у нас в проде кролик, он хорош, но с этим у нас проблемы. Вопрос такой - можно ли конкретно с кафкой добиться лучших результатов, которые организовать с кроликом сложнее?
Andrey
Я понимаю, что постановка вопроса вряд ли корректна, но вдруг однозначный ответ есть
George
Кафка сразу заточена на работу в распределенной среде
Gunslinger
https://content.pivotal.io/blog/understanding-when-to-use-rabbitmq-or-apache-kafka
Gunslinger
вот неплохая статья с юзкезами для обоих зверей
George
И можно даже топики реплицирована между разными кластерами
George
https://content.pivotal.io/blog/understanding-when-to-use-rabbitmq-or-apache-kafka
Честно, я не вижу ни одного преимущества у 🐰 на текущем этапе
George
Ну, если он совсем локальный, но тогда неясно, почему бы очередь поверх того же редиса не собрать
George
Просто Кафка "тяжелее". Ей и зукипер нужен ) и минимум три ноды (а в моем проекте - от 5)
George
Ну, и джава все-таки
Andrey
Премного благодарен. Просто реинкарнация уже на celery + rabbitmq, ,а критичный проект с легаси переводить с очередей в базе на брокер сообщений уже пора и походу делать это придется мне, поэтому хочется не обосраться с выбором инструмента.
George
Прежде чем шашкой махать
George
Ну, и удачи с новой имплементацией ))