Введение
Данный指南 показывает, как собрать и передать логи с кластера DigitalOcean Kubernetes (DOKS) в экземпляр DigitalOcean Managed OpenSearch с использованием AxoSyslog, скалярного процессора данных безопасности. following this guide, you’ll learn how to set up a robust logging system that captures and analyzes logs from your Kubernetes applications, making it easier to monitor, troubleshoot, and secure your infrastructure.
В этом руководстве вы будете использовать AxoSyslog для передачи логирующих данных кластера Kubernetes в OpenSearch.
Предварительные требования
Перед началом убедитесь, что у вас установлены следующие предварительные условия:
- Вам понадобится доступ к учетной записи DigitalOcean Cloud для создания и управления ресурсами Kubernetes и OpenSearch.
- Инструмент интерфейса командной строки DigitalOcean (CLI),
doctl
, должен быть установлен и настроен на вашем локальном компьютере. - Запущенный кластер Kubernetes DigitalOcean (DOKS).
- Менеджер пакетов Kubernetes, Helm, должен быть установлен для управления приложениями Kubernetes.
- Знание Kubernetes, Helm и управляемых услуг DigitalOcean.
Случай использования
Этот проект идеально подходит для сценариев, где вам требуется централизованное решение для ведения логов для мониторинга и анализа логов различных приложений, работающих в кластере Kubernetes. Независимо от того, управляете ли вы небольшим набором приложений или крупномасштабной инфраструктурой, сбор и пересылка логов в выделенный кластер OpenSearch помогает в:
- Система наблюдения за безопасностью: Обнаружение и оперативная реакция на Security Incidents путём анализа журналов в реальном времени.
- Устранение неполадок: быстро идентифицировать и устранить проблемы в ваших приложениях Kubernetes, получив доступ к детальным журналам.
- Соответствие требованиям регламентов: поддержание журнала событий для соответствия требованиям отрасльвых регламентов.
При интеграции AxoSyslog с DigitalOcean Managed OpenSearch вы можете эффективно обрабатывать и хранять большие объемы логов, что упрощает извлечение ценных Insights и поддержание здоровья и безопасности систем.
Шаг 1 – Создание кластера OpenSearch
В этом шаге вы настроите ключевую компоненту вашей системы отслеживания журналов – кластер OpenSearch. OpenSearch станет destiny для всех логов, которые вы собираете из вашего Kubernetes кластера. Вы создадите новый экземпляр OpenSearch в выбранном вами регионе на DigitalOcean, запустив следующую команду.
Замените lon1
на ваш выбор региона. Чтобы выбрать доступные размеры, посетите нашу документацию API.
Шаг 2 – Generate some random logs
Перед отправкой логов в OpenSearch вам необходимо создать несколько логов для работы. Если у вас еще нет приложения, генерирующего логи в вашем кластере Kubernetes, этот шаг показает, как установить генератор логов. Этот генератор логов будет выдавать непрерывный поток примерных логов, которые можно использовать для тестирования и демонстрации вашего канала логирования.
Сначала добавьте репозиторий гиперграммы для генератора логов Helm и установите генератор логов:
После этого установите генератор логов с помощью Helm:
Вы можете проверить, работает ли генератор логов, выводят ли они логи, которые он выдает:
Шаг 3 – Prepare AxoSyslog Collector for Installation
В этом шаге вы настроите AxoSyslog Collector, который отвечает за сбор логов из вашего кластера Kubernetes и их отправку в OpenSearch. Это включает предоставление правильных данных подключения для вашего кластера OpenSearch (имя хоста, пользователь и пароль).
Мы будем использовать helm
для установки AxoSyslog Collector и передавать пользовательские значения.
Для настройки сборщика AxoSyslog с правильным адресом, пользователем и паролем для вашей базы данных OpenSearch, следуйте этим шагам:
Автоматизированный скрипт
Для упрощения настройки вы можете использовать автоматизированный скрипт, который забирает необходимые данные подключения к OpenSearch и обновляет вашу конфигурационную файл AxoSyslog.
Сохраните следующий скрипт как update_axoflow_demo.sh
:
Перед запуском скрипта убедитесь, что у вас есть разрешение на выполнение скриптов:
Этот скрипт будет забирать необходимые данные из вашего счета DigitalOcean с использованием doctl
и соответственно обновлять ваш файл axoflow-demo.yaml
.
Ручные шаги для обновления axoflow-demo.yaml
Если вы предпочитаете настраивать ваш сборщик AxoSyslog Collector вручную, следуйте этим шагам:
Выполните следующийCOMMANDto extract the database ID for opensearch-doks
:
Чтобы получить имя хоста, имя пользователя и пароль, выполните соответствующие команды соответственно:
Теперь вам нужно вручную обновить файл axoflow-demo.yaml
:
Откройте ваш файл axoflow-demo.yaml
в текстовом редакторе и замените соответствующие поля полученными значениями:
Step 4 – Install AxoSyslog-collector
После завершения настройки下一步是向Kubernetes集群部署AxoSyslog Collector。这将使您可以收集并转发日志到OpenSearch。
Добавьте репозиторий AxoSyslog Helm и установите AxoSyslog Collector с использованием настраиваемого конфигурационного файла:
Чтобы убедиться, что логи отправляются на correct OpenSearch порт, обновите конфигурацию AxoSyslog Collector, обновив ваш configmap
:
В конечном итоге, удалите существующие pods, чтобы применить обновленную конфигурацию:
Заключение
Установка логического канала журналирования с DigitalOcean Kubernetes на OpenSearch с использованием AxoSyslog не только централизует ваши логи, но и улучшает возможности мониторинга, анализа и безопасности ваших приложений. Благодаря шагам, описанным в этой справочной статье, вы можете быстро установить эту решение, получив более глубокое понимание своего environment Kubernetes и обеспечивая, чтобы ваша инфраструктура оставалась устойчивой и соответствующей нормам.
Source:
https://www.digitalocean.com/community/tutorials/collect-and-forward-kubernetes-logs-to-opensearch