Процесс kdevtmpfsi использует ЦП на 100%, перезапуск при уничтожении

Шаблон на вашем logrotateникогда не будет соответствовать ни одному из именованных файлов с меткой времени. Вам нужно изменить его, чтобы соответствовать.

Попробуйте это:

/var/log/hive/*.log* {
    maxage 30
}

Посмотрите другие примеры

Посмотрите, как работают другие logrotateфайлы конфигурации:

$ grep 'var/log' /etc/logrotate.d/* | head
/etc/logrotate.d/aide:/var/log/aide/*.log {
/etc/logrotate.d/bootlog:/var/log/boot.log
/etc/logrotate.d/chrony:/var/log/chrony/*.log {
/etc/logrotate.d/cups:/var/log/cups/*_log {
/etc/logrotate.d/glusterfs:/var/log/glusterfs/*.log {
/etc/logrotate.d/glusterfs:/var/log/glusterfs/bricks/*.log {
/etc/logrotate.d/glusterfs:/var/log/glusterfs/samples/*.samp {
/etc/logrotate.d/iscsiuiolog:/var/log/iscsiuio.log {
/etc/logrotate.d/libvirtd:/var/log/libvirt/libvirtd.log {
/etc/logrotate.d/libvirtd.qemu:/var/log/libvirt/qemu/*.log {

постротация

Другой момент, который меня беспокоит, заключается в том, что вы пытаетесь использовать logrotateдля ротации файлов журналов некоторых других серверов, которые уже имеют ротацию файлов типа log4j. Обычно это рецепт катастрофы.

Например, вы имеете дело с Hive, который является частью Hadoop. Все службы Hadoop имеют свои собственные log4j.propertiesфайлы, подобные этому:

$ grep Back /etc/hadoop/conf/log4j.properties
#log4j.appender.DRFA.MaxBackupIndex=30
log4j.appender.RFAS.MaxBackupIndex=${hadoop.security.log.maxbackupindex}
log4j.appender.NNMETRICSRFA.MaxBackupIndex=1
log4j.appender.RFA.MaxBackupIndex=10
log4j.appender.RMSUMMARY.MaxBackupIndex=20

В таких случаях я прибегаю к такой "очистке":

/var/log/hive/* {
  ifempty
  size 0

postrotate
            /usr/bin/find /var/log/hive -name "*log*" -type f -mtime +29 -exec rm -f {} \;

endscript
}

Выполнение этого таким образом позволяет использовать команду findв любом правиле дней, которое вы хотите использовать.

Тестирование

Чтобы убедиться в этом, я использовал следующие приемы.

пример данных
$ for i in {01..31};do touch -t 07${i}1200 /var/log/hive/file${i}.log;done
пробный запуск
$ logrotate -v /etc/logrotate.d/hive |& tail -10
glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
renaming /var/log/hive/file31.log.1 to /var/log/hive/file31.log.2 (rotatecount 1, logstart 1, i 1),
old log /var/log/hive/file31.log.1 does not exist
renaming /var/log/hive/file31.log.0 to /var/log/hive/file31.log.1 (rotatecount 1, logstart 1, i 0),
old log /var/log/hive/file31.log.0 does not exist
log /var/log/hive/file31.log.2 doesn't exist -- won't try to dispose of it
renaming /var/log/hive/file31.log to /var/log/hive/file31.log.1
disposeName will be /var/log/hive/file31.log.1
running postrotate script
removing old log /var/log/hive/file31.log.1

ПРИМЕЧАНИЕ.:Можно безопасно удалить этот ifemptyи этот size 0. Я добавил их просто для работы с моими поддельными данными.

2
24.07.2020, 16:00
1 ответ

Очень похоже на крипто-майнер, описанный в https://stackoverflow.com/questions/59487096/kdevtmpfsi-how-to-find-and-delete-that-miner. Ваш экземпляр и все, что в нем, больше не заслуживает доверия и должен быть уничтожен.

1
18.03.2021, 23:17

Теги

Похожие вопросы