Логирование — один из трех столпов observability в распределенных системах. Мы видим, как растут популярные продукты с открытым исходным кодом (например, ELK-стек) и зрелые коммерческие продукты (например, Splunk) для ведения логирования в больших масштабах. Однако в такой сложной системе, как Kubernetes, логирование остается серьезной проблемой. Она усугубляется с ростом данных и широким внедрением контейнерной системы.
В этой статье мы рассмотрим различные типы логов Kubernetes, необходимые для observability, а также подходы к сбору, объединению и анализу этих логов в Kubernetes. Затем мы представим решение с открытым исходным кодом, использующее fluentd и fluentbit, чтобы упростить ведение логов.