журналы kafka растут слишком высоко

#linux #logging #apache-kafka

#linux #ведение журнала #apache-kafka

Вопрос:

Я вижу kafka logs , что они быстро растут и заполняют файловую систему.

Как я могу изменить настройки для kafka, чтобы записывать меньше журналов и часто вращать эти журналы.

расположение файлов — /opt/kafka/kafka_2.12-2.2.2/logs и их размер —

 5.9G    server.log.2020-11-24-14
5.9G    server.log.2020-11-24-15
5.9G    server.log.2020-11-24-16
5.7G    server.log.2020-11-24-17
 

примеры журналов из приведенного выше файла.

 [2020-11-24 14:59:59,999] WARN Exception when following the leader (org.apache.zookeeper.server.quorum.Learner)
java.io.IOException: No space left on device
        at java.io.FileOutputStream.writeBytes(Native Method)
        at java.io.FileOutputStream.write(FileOutputStream.java:326)
        at org.apache.zookeeper.common.AtomicFileOutputStream.write(AtomicFileOutputStream.java:74)
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
        at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
        at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
        at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
        at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
        at java.io.BufferedWriter.flush(BufferedWriter.java:254)
        at org.apache.zookeeper.server.quorum.QuorumPeer.writeLongToFile(QuorumPeer.java:1391)
        at org.apache.zookeeper.server.quorum.QuorumPeer.setCurrentEpoch(QuorumPeer.java:1426)
        at org.apache.zookeeper.server.quorum.Learner.syncWithLeader(Learner.java:454)
        at org.apache.zookeeper.server.quorum.Follower.followLeader(Follower.java:83)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:981)
[2020-11-24 14:59:59,999] INFO shutdown called (org.apache.zookeeper.server.quorum.Learner)
java.lang.Exception: shutdown Follower
        at org.apache.zookeeper.server.quorum.Follower.shutdown(Follower.java:169)
        at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:985)
[2020-11-24 14:59:59,999] INFO Shutting down (org.apache.zookeeper.server.quorum.FollowerZooKeeperServer)
[2020-11-24 14:59:59,999] INFO LOOKING (org.apache.zookeeper.server.quorum.QuorumPeer)
[2020-11-24 14:59:59,999] INFO New election. My id =  1, proposed zxid=0x1000001d2 (org.apache.zookeeper.server.quorum.FastLeaderElection)
[2020-11-24 14:59:59,999] INFO Notification: 1 (message format version), 1 (n.leader), 0x1000001d2 (n.zxid), 0x2 (n.round), LOOKING (n.state), 1 (n.sid), 0x1 (n.peerEpoch) LOOKING (my state) (org.apache.zookeeper.server.quorum.FastLeaderElection)
 

он также записывает в /opt/kafka/kafka_2.12-2.2.2/kafka.log .

 [2020-12-05 16:51:10,109] INFO [GroupMetadataManager brokerId=1] Finished loading offsets and group metadata from __consumer_offsets-30 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-12-05 16:51:10,109] INFO [GroupMetadataManager brokerId=1] Finished loading offsets and group metadata from __consumer_offsets-36 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-12-05 16:51:10,109] INFO [GroupMetadataManager brokerId=1] Finished loading offsets and group metadata from __consumer_offsets-42 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-12-05 16:51:10,110] INFO [GroupMetadataManager brokerId=1] Finished loading offsets and group metadata from __consumer_offsets-48 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-12-05 17:01:09,528] INFO [GroupMetadataManager brokerId=1] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-12-05 17:11:09,528] INFO [GroupMetadataManager brokerId=1] Removed 0 expired offsets in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
 

kafka используется для эластичного стека.

ниже приведена запись из server.properties файла.

 # A comma seperated list of directories under which to store log files
log.dirs=/var/log/kafka
 

у него есть файлы журналов в виде

 /var/log/kafka
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 heartbeat-1
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 __consumer_offsets-12
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 auditbeat-0
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 apm-2
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 __consumer_offsets-28
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 filebeat-2
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 __consumer_offsets-38
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 __consumer_offsets-44
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 __consumer_offsets-6
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 __consumer_offsets-16
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 metricbeat-0
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 __consumer_offsets-22
drwxr-xr-x 2 kafka users 4.0K Dec  5 16:51 __consumer_offsets-32
-rw-r--r-- 1 kafka users  747 Dec  5 18:02 recovery-point-offset-checkpoint
-rw-r--r-- 1 kafka users    4 Dec  5 18:02 log-start-offset-checkpoint
-rw-r--r-- 1 kafka users  749 Dec  5 18:03 replication-offset-checkpoint
 

DEBUG в файлах в path не включены журналы уровня /opt/kafka/kafka_2.12-2.2.2/config .

Как я могу убедиться, что он не создает такие файлы hugh /opt/kafka/kafka_2.12-2.2.2/logs , а также как я могу регулярно поворачивать их со сжатием.

Спасибо,

Ответ №1:

log.dirs это фактическое хранилище брокера, а не журналы процессов, поэтому оно не должно находиться в /var/log других журналах процессов

Почти 6 ГБ в день не является необоснованным, но вы можете изменить файл log4j.properties, чтобы сохранить только около 1 или 2 дней с момента добавления файла

Как правило, как и в любой задаче администрирования Linux, у вас будут отдельные дисковые тома для /var/log хранения вашей ОС и любые выделенные диски для данных сервера — скажем, монтирование в /kafka

Комментарии:

1. Привет @Onecricket, спасибо за ваш ответ. В каких журналах хранятся /opt/kafka/kafka_2.12-2.2.2/logs и как я могу часто их сжимать.