[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-kubernetes-kak-organizovat-monitoring-i-logirovanie-v-kubernetes":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},881,"kak-organizovat-monitoring-i-logirovanie-v-kubernetes",26,"kubernetes","Kubernetes","☸️","Как организовать мониторинг и логирование в Kubernetes?","Мониторинг и логирование в Kubernetes строятся на стеке Prometheus + Grafana (метрики) и ELK\u002FEFK (логи). Для Spring Boot приложений интеграция осуществляется через Actuator и Micrometer.\n\n### Мониторинг: Prometheus + Grafana\n\nPrometheus — система мониторинга, собирающая метрики по pull-модели (опрашивает `\u002Fmetrics` эндпоинты). Grafana — платформа визуализации дашбордов.\n\nДля Spring Boot приложений:\n\n1. Подключить зависимости:\n```xml\n\u003Cdependency>\n    \u003CgroupId>org.springframework.boot\u003C\u002FgroupId>\n    \u003CartifactId>spring-boot-starter-actuator\u003C\u002FartifactId>\n\u003C\u002Fdependency>\n\u003Cdependency>\n    \u003CgroupId>io.micrometer\u003C\u002FgroupId>\n    \u003CartifactId>micrometer-registry-prometheus\u003C\u002FartifactId>\n\u003C\u002Fdependency>\n```\n\n2. Настроить `application.yml`:\n```yaml\nmanagement:\n  endpoints:\n    web:\n      exposure:\n        include: health,info,prometheus\n  metrics:\n    export:\n      prometheus:\n        enabled: true\n    tags:\n      application: my-spring-app\n```\n\n3. Добавить аннотации для автоматического обнаружения Prometheus:\n```yaml\nmetadata:\n  annotations:\n    prometheus.io\u002Fscrape: \"true\"\n    prometheus.io\u002Fport: \"8080\"\n    prometheus.io\u002Fpath: \"\u002Factuator\u002Fprometheus\"\n```\n\n### Доступные метрики\n\n| Категория | Примеры |\n|---|---|\n| JVM | Heap memory, GC, threads, class loading |\n| HTTP | Количество запросов, время ответа, коды ошибок |\n| Connection pool | Активные соединения HikariCP, ожидающие запросы |\n| Кастомные | Бизнес-метрики через Micrometer API |\n\n### Логирование: ELK Stack\n\nELK Stack (Elasticsearch + Logstash + Kibana) — стандарт для централизованного логирования:\n\n1. Приложения пишут логи в stdout\u002Fstderr\n2. Container Runtime сохраняет логи на ноде\n3. DaemonSet с Fluent Bit \u002F Fluentd на каждой ноде собирает логи и отправляет в Elasticsearch\n4. Разработчики ищут и анализируют логи через Kibana\n\n### Рекомендации для Java-приложений\n\n- Писать логи в stdout\u002Fstderr, а не в файлы\n- Использовать JSON-формат для структурированного логирования:\n\n```xml\n\u003C!-- logback-spring.xml -->\n\u003Cappender name=\"STDOUT\" class=\"ch.qos.logback.core.ConsoleAppender\">\n    \u003Cencoder class=\"net.logstash.logback.encoder.LogstashEncoder\"\u002F>\n\u003C\u002Fappender>\n```\n\n- Добавлять в логи идентификаторы: traceId, spanId, podName, namespace\n- Настроить уровни логирования через ConfigMap, чтобы менять их без пересборки\n\n### Общая архитектура\n\n```\nSpring Boot App ──metrics──> Prometheus ──> Grafana (дашборды)\n      │                          │\n      │                    Alertmanager (оповещения)\n      │\n      └──logs (stdout)──> Fluent Bit ──> Elasticsearch ──> Kibana\n```\n\n### Команды для логов\n\n```bash\n# Логи Pod'а\nkubectl logs my-pod -n production\n\n# Стримить логи нескольких Pod'ов (с помощью label selector)\nkubectl logs -l app=my-spring-app -f -n production\n\n# Использовать stern (удобная утилита для мультиподовых логов)\nstern my-spring-app -n production\n```\n\n> **На собеседовании:** нужно знать стек Prometheus + Grafana для метрик и ELK для логов. Для Spring Boot — Actuator + Micrometer. Частая ошибка — не знать, что логи должны идти в stdout, а не в файлы, и забыть про JSON-формат логов.","","senior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Как организовать мониторинг и логирование в Kubernetes? — Gymterview","Мониторинг и логирование в Kubernetes строятся на стеке Prometheus + Grafana (метрики) и ELK\u002FEFK (логи). Для Spring Boot приложений интеграция осуществляется че","Мониторинг и логирование в Kubernetes строятся на стеке Prometheus + Grafana (метрики) и ELK\u002FEFK (логи). Для Spring Boot",[7,13],"Мониторинг и логирование в Kubernetes строятся на стеке Prometheus + Grafana (метрики) и ELK\u002FEFK (логи). Для Spring Boot приложений интеграция осуществляется через Actuator и Micrometer.",true]