Appearance
Настройка журналирования Apache Cassandra в Syslog и подсистему ЖУРНАЛЛИСТ
Apache Cassandra использует logback для ведения журналов. Прямой отправки в syslog «из коробки» нет, поэтому интеграция с подсистемой ЖУРНАЛЛИСТ выполняется через:
- отправку логов в syslog через logback (SyslogAppender), или
- запись в файл с последующей передачей через системный syslog (rsyslog / syslog-ng)
Общая схема
Cassandra:
- генерирует логи (системные, операции, репликация, ошибки)
- logback отправляет их в syslog или файл
- syslog пересылает сообщения в ЖУРНАЛЛИСТ
Где настраивается логирование
Файл конфигурации:
bash
$CASSANDRA_HOME/conf/logback.xmlВариант 1. Прямая отправка в syslog (через logback)
Добавление SyslogAppender
xml
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>localhost</syslogHost>
<port>514</port>
<facility>LOCAL0</facility>
<suffixPattern>%date [%thread] %-5level %logger - %msg%n</suffixPattern>
</appender>Подключение аппендера
xml
<root level="INFO">
<appender-ref ref="SYSLOG"/>
</root>Перезапуск Cassandra
bash
systemctl restart cassandraВариант 2. Через файл (рекомендуется для production)
Настройка logback
Пример:
xml
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/var/log/cassandra/system.log</file>
</appender>Настройка rsyslog (imfile)
bash
# /etc/rsyslog.d/cassandra.conf
input(type="imfile"
File="/var/log/cassandra/*.log"
Tag="cassandra"
Facility="local0")Пересылка в ЖУРНАЛЛИСТ
bash
local0.* @@journalist-server:514Перезапуск
bash
systemctl restart rsyslogsyslog-ng (альтернатива)
bash
source s_cassandra {
file("/var/log/cassandra/*.log");
};
destination d_journalist {
tcp("journalist-server" port(514));
};
log {
source(s_cassandra);
destination(d_journalist);
};Проверка
- Проверить локальные логи:
bash
tail -f /var/log/cassandra/system.log- Проверить работу Cassandra:
- запуск/остановка узла
- операции записи/чтения
- ошибки
- Убедиться, что события появляются в ЖУРНАЛЛИСТ
Какие события попадают
- запуск и остановка узлов
- ошибки репликации
- проблемы согласованности
- сетевые ошибки
- GC и производительность
- события кластера
Рекомендации
- использовать отдельный facility (local0–local7)
- ограничивать уровень логирования (INFO/WARN)
- использовать TCP для передачи
- использовать файловый вариант + rsyslog для production
Особенности Cassandra
- распределенная архитектура
- большое количество событий
- высокая нагрузка при включении debug
Когда использовать syslog
Рекомендуется:
- при централизованном мониторинге
- для анализа состояния кластера
- для корреляции с другими системами
Краткий вывод
Apache Cassandra интегрируется с подсистемой ЖУРНАЛЛИСТ через logback и системный syslog. Это позволяет включить события распределенной базы данных в единую систему наблюдаемости, анализа и автоматизации.