Статьи

rsyslogd сильно вантажить процесор (rsyslogd High cpu usage)

Rsyslog є покращеною версією демона syslogd і з назви зрозуміло, що він займається збором зведеної інформації про стан системних демонів з подальшим записом в файли Rsyslog є покращеною версією демона syslogd і з назви зрозуміло, що він займається збором зведеної інформації про стан системних демонів з подальшим записом в файли. Буває rsyslogd довго займає процесор від 20% і вище.

Деяким допомагає переустановка або оновлення rsyslogd, а в деяких випадках rsyslogd воліють видаляти з наступною заміною на інший демон збору системної інформації, але в корені все це проблеми не вирішує!

Про видалення rsyslogd і мови бути не може имхо його видалення позбавить нас можливості збору і аналізу інформації про стан системи! Хоча в будь-якому випадку з вище перерахованих заходів нам не завадить оновлення і оновлюватися ми будемо з оригінального сховища до самої свіжої і актуальної версії (поточна 7.2.6):

cd / etc /yum.repos.d / wget http: // rpms.adiscon.com /rsyslogall.repo vi rsyslogall.repo # add this line in section "[rsyslog-v7-stable]" if use yum-priorities priority = 1 sh-4.1 # yum clean all Loaded plugins: downloadonly, fastestmirror, priorities Cleaning repos: atomic base epel extras nginx rsyslog-v7-stable updates Cleaning up Everything Cleaning up list of fastest mirrors sh-4.1 # yum update Loaded plugins: downloadonly, fastestmirror, priorities Determining fastest mirrors epel / metalink | 18 kB 00:00 * atomic: www7.atomicorp.com * base: centos-mirror.rbc.ru * epel: fedora-mirror01.rbc.ru * extras: centos-mirror.rbc.ru * updates: centos-mirror. rbc.ru atomic | 1.9 kB 00:00 atomic / primary_db | 520 kB 00:01 base | 3.7 kB 00:00 base / primary_db | 4.4 MB 00:03 epel | 4.2 kB 00:00 epel / primary_db | 5.0 MB 00:04 extras | 3.5 kB 00:00 extras / primary_db | 19 kB 00:00 nginx | 1.3 kB 00:00 nginx / primary | 5.2 kB 00:00 nginx 37/37 rsyslog-v7-stable | 2.5 kB 00:00 rsyslog-v7-stable / primary_db | 55 kB 00:00 updates | 3.5 kB 00:00 updates / primary_db | 1.4 MB 00:01 239 packages excluded due to repository priority protections Setting up Update Process Resolving Dependencies -> Running transaction check ---> Package rsyslog.x86_64 0: 5.8.10- 6.el6 will be updated ---> Package rsyslog.x86_64 0: 7.2.6- 3.el6 will be an update -> Processing Dependency: liblognorm.so.0 () (64bit) for package: rsyslog-7.2.6- 3 .el6.x86_64 -> Processing Dependency: libjson.so.0 () (64bit) for package: rsyslog-7.2.6- 3.el 6 .x86_64 -> Processing Dependency: libestr.so.0 () (64bit) for package: rsyslog-7.2. 6 3.el 6 .x86_64 -> Processing Dependency: libee.so.0 () (64bit) for package: rsyslog-7.2.6- 3.el6. x86_64 -> Running transaction check ---> Package json-c.x86_64 0: 0.9 -4 .el6 will be installed ---> Package libee.x86_64 0: 0.4.1- 1.el6 will be installed --- > Package libestr.x86_64 0: 0.1.5- 1.el6 will be installed ---> Package liblognorm.x86_64 0: 0.3.6- 1.el6 will be installed -> Finished Dependency Resolution Dependencies Resolved ===== ================================================== ========================= Package Arch Version Repository Size ==================== ================================================== ========== Updating: rsyslog x86_64 7.2.6- 3.el6 rsyslog-v7-stable 768 k Installing for dependencies: json-c x86_64 0.9 -4 .el6 rsyslog-v7-stable 36 k libee x86_64 0.4.1- 1.el6 rsyslog-v7-stable 21 k libestr x86_64 0.1.5- 1.el6 rsyslog-v7-stable 7.9 k liblognorm x86_64 0.3.6- 1.el6 rsyslog-v7-stable 26 k Transaction Summary == ================================================== ============================ Install 4 Package (s) Upgrade 1 Package (s) Total downlo ad size: 860 k Is this ok [y / N]: y Downloading Packages: (1/5): json-c- 0.9 -4 .el6.x86_64.rpm | 36 kB 00:00 (2/5): libee-0.4.1- 1.el6.x86_64.rpm | 21 kB 00:00 (3/5): libestr-0.1.5- 1.el6.x86_64.rpm | 7.9 kB 00:00 (4/5): liblognorm-0.3.6- 1.el6.x86_64.rpm | 26 kB 00:00 (5/5): rsyslog-7.2.6- 3.el6.x86_64.rpm | 768 kB 00:02 --------------------------------------------- ----------------------------------- Total 222 kB / s | 860 kB 00:03 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing: libestr-0.1.5- 1.el6.x86_64 1/6 Installing: libee-0.4.1- 1.el6.x86_64 2/6 Installing: liblognorm -0.3.6- 1.el6.x86_64 3/6 Installing: json-c- 0.9 -4 .el6.x86_64 4/6 Updating: rsyslog-7.2.6- 3.el6.x86_64 5/6 warning: / etc / sysconfig / rsyslog created as / etc / sysconfig /rsyslog.rpmnew Cleanup: rsyslog-5.8.10- 6.el6.x86_64 6/6 Verifying: libee-0.4.1- 1.el6.x86_64 1/6 Verifying: json-c - 0.9 -4 .el6.x86_64 2/6 Verifying: libestr-0.1.5- 1.el6.x86_64 3/6 Verifying: rsyslog-7.2.6- 3.el6.x86_64 4/6 Verifying: liblognorm-0.3.6 - 1.el6.x86_64 5/6 Verifying: rsyslog-5.8.10- 6.el6.x86_64 6/6 Dependency Installed: json-c.x86_64 0: 0.9 -4 .el6 libee.x86_64 0: 0.4.1- 1 .el6 libestr.x86_64 0: 0.1.5- 1.el6 liblognorm.x86_64 0: 0.3.6- 1.el6 Updated: rsyslog.x86_64 0: 7.2.6- 3.el6 Complete! sh-4.1 # service rsyslog stop Shutting down system logger: [OK] sh-4.1 # service rsyslog start Starting system logger: rsyslogd: error: option -c is no longer supported - igno red [OK] vi / etc / sysconfig / rsyslog #SYSLOGD_OPTIONS = "- c5" service rsyslog restart

Отже ... Обновилися з версії 5.8.10 до 7.2.6 �� що? Допомогло? Нефига не допомогло! rsyslogd продовжує пожирати час CPU ...

Значить тепер йдемо в / var / log і моніторимо файли, дивимося на розмір файлів журналу і ось воно ... - / var / log / messages займає більше 15 ГБ!; (Чекаємо ще 5-10 хв, перевіряємо, і тепер / var / log / messages вже важить більше 16 ГБ! Читати його не намагаємося имхо зависнемо!

Видаляємо rm / var / log / messages перезапускаємо сісьлог service rsyslog restart і відразу ж читаємо less / var / log / messages:

Apr 5 5:45:04 myhost kernel: [FW SYN DROP]: IN = eth0 OUT = MAC = 00: 50: 56: a8 7 8: f9: 00: 04: 23: b7: d0: d2: 08: 00 SRC = 80.89.192.62 DST = 93.170.129.132 LEN = 48 TOS = 0x00 PREC = 0x20 TTL = 116 ID = 31712 DF PROTO = TCP SPT = 55251 DPT = 80 WINDOW = 8192 RES = 0x00 S YN URGP = 0 ... ............ Apr 5 6:22:08 myhost kernel: [FW SYN DROP]: IN = eth0 OUT = MAC = 00: 50: 56: a8 7 8: f9: 00: 04: 23: b7: d0: d2: 08: 00 SRC = 95.32.239.199 DST = 93.170.129.132 LEN = 48 TOS = 0x0 0 PREC = 0x00 TTL = 119 ID = 6373 DF PROTO = TCP SPT = 24617 DPT = 80 WINDOW = 65535 RES = 0x00 SYN URGP = 0

В 5:45:04, тобто за 1 сек., я нарахував 100-300 і більше SYN-пакетів, а це вже явна ознака присутності SYN-Флудерастам. Відрубавши 80.89.192.62 на арену вийшов 95.32.239.199, який був менш активний, але теж з ознаками аномальність.

Незважаючи на те, що система обмежувала одночасні SYN-підключення та містила ряд інших антіДДОС налаштувань, вузьким місцем виявилося логирование перевищення ліміту на одночасні SYN-підключення з одного ІП, а отже звідси і підвищене споживання ресурсів CPU демоном rsyslogd, якому доводилося за одну секунду реєструвати 200-300 і більше подій.

Звідси висновок: або вимкнути реєстрацію подій про перевищення ліміту на одночасні SYN-підключення або ж частіше аналізувати події, а також вживати своєчасних і адекватних заходів.

Але як завжди є одне "АЛЕ" - відключення логування перевищення ліміту на одночасні SYN-підключення не дозволить виявити легітимні ІП пошукових роботів, які можуть регулярно змінюватися! Тобто для діапазонів ІП належать пошуковим роботам ми знімаємо будь-які обмеження або ставимо м'якші обмеження, а їх ІП (діапазони) можуть змінюватися або доповнюватися!


про автора

Ще статті автора


? що?
Допомогло?

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

Как оформить диск малыш от рождения до года из фото и видео
Оформить диск "Малыш от рождения до года" из фото и видео можно совершенно разными способами! Кто-то для достижения данной цели идет на шоу-таланты, кто-то пользуется услугами профессионалов, а кто-то