Що перше, що ви перевіряєте, коли недоторканий сервер Unix починає берсерк?


10

Тож у вас є цей акуратно налаштований сервер Unix, і він дуже швидкий, і працює набухає, і все чудово протягом місяців, і раптом всі види дивних помилок починають з'являтися для різноманітних різних сервісів, і жоден з них не має великого сенсу самостійно , набагато менше разом.

Які дешеві речі слід перевірити, як тільки ви потрапите на сеанс ssh до машини?

Мене особливо цікавлять історії з травмами, які висвітлюють неочевидні команди та рідкісні ситуації, але я здогадуюсь, що очевидне змінюється від людини до людини, тому ми можемо просто перелічити їх усі вільно.

Відповіді:


19

Перше замовлення: чи чуйне?

Якщо ви не можете увійти, виникають більші проблеми. Це, як правило, випускається у двох варіантах: збій обладнання та програмне забезпечення. Обидва потенційно катастрофічні. Щоб запобігти помилкам DFA, спочатку перевірте загальний стан апаратного забезпечення - зазвичай достатньо простого огляду.

Другий порядок: Чи впорядковані системи системи в доброму стані та стані?

Перевірте "Золоту тріаду" систем:

  • Достатньо часу для процесора вільне для обробки
  • Достатньо місця на диску є вільним для зберігання
  • Достатня кількість пам'яті вільна для робочих навантажень

В останні кілька десятиліть тріада перетворилася на "квадроцикл", який включає комунікації (мережа):

  • Зв'язок функціональний, чуйний та має потужність

Третій порядок: яка гострота питання?

Які програми чи послуги впливають? У порядку зменшення тяжкості вона системна (загальносистемна), кластерна (група програм) чи ізольована (конкретна програма)? Кластери програм, як правило, активізуються через те, що конкретна основна послуга не спрацьовує або не відповідає. Системні проблеми іноді пов'язані з цим (думаю, конфлікти DNS або IP), але зазвичай ключовим є знати, де їх шукати.

Четвертий порядок: чи діагностичні засоби надають корисні дані, що стосуються питання? Тепер, коли у вас є інформація про стан здоров'я системи (другий порядок) та які її частини виникають проблеми (третій порядок), це повинно полегшити звуження, де проблема.

Повідомлення про помилки або файли журналу повинні бути загальною точкою маршруту в цій дорозі.

Проблеми з процесором:

  • лоадав
  • верх
  • стрижка

Проблеми з диском / випуски IO:

  • df
  • дю
  • lsof
  • іостат
  • vmstat

Проблеми з пам'яттю:

  • безкоштовно

Проблеми з підключенням:

  • пінг
  • маршрут (і арп, і рапр та друзі)
  • iptables, ipchains, ipfw (для тих, хто BSD там)
  • traceroute або mtr
  • хости, nslookup або копати
  • netstat

Найпоширеніша скарга (яку я чую):

Електронна пошта не доставляється досить швидко (більше хвилини від відправки до отримання одержувачем) або електронна пошта відхиляє мою спробу надсилання. Зазвичай це зводиться до обмежувача швидкості в Postfix, який починається під час шторму спаму, що впливає на здатність приймати внутрішню доставку.

Приклад із реального життя:

Однак це не завжди так. Один раз проблема не зникала незалежно від перезавантаження служби; тож через 3 хвилини настав час почати оглядатися. Процесор був зайнятий, але нижче 100%, але навантаження зросла до 15 на коробці всього з 2 ядрами і загрожувала підвищитись. Верхня команда виявила, що поштова система перевантажена разом із поштовим сканером, але ніяких дочірніх процесів amavis не було видно. Це була підказка - команда чергової пошти (mailq) показала приблизно 150+ недоставлених повідомлень, понад 80% яких були спамом, за останні 20 хвилин Швидке пристосування до зниження обмежувача швидкості (що знизило рівень споживання шторму спаму) при одночасному збільшенні кількості дочірніх процесів сканування електронної пошти (щоб допомогти обробити відставання) з подальшим перезапуском служби вирішило проблему, і система змогла щоб завершити поставки за короткий час.

Причина проблеми полягала в тому, що батьківський процес Amavis загрожував мертвим процесом, а дочірні процеси в кінцевому підсумку всі пройшли свій шлях (вони припиняються після стількох сканувань, щоб запобігти витоку пам'яті). Тому в Postfix з'явилися SMTP-процеси, які намагалися зв’язатися ... з повітрям ... для того, щоб зробити потрібне спам / вірус. У дистрибутиві, який я використовував, були застарілі пакети, які ніколи не оновлюватимуться; оскільки встановлення було замінено через рік, я вручну "переоцінив" установку на останню версію, яка включала кілька виправлень помилок. З тих пір у мене не було такої ж проблеми.


5

зазвичай "хто" супроводжує "останній"

купа проблем на машинах, якими я керував, були через дуже розгублене визначення "недоторканою" - часто хтось щось робив :)


4

Ну, я почну.

Це один раз мене покусало, я витратив години на те, щоб пробувати тисячі різних речей, відключивши послуги тут і там, перезавантажившись тощо. У чому проблема Зовсім не вистачає місця на диску.

Отже, ось перше, що я набираю під час налагодження раптово проблемного сервера:

df -h

Я ніколи цього не забуваю. Це просто заощадило мені багато марних зусиль. Думав, я поділюсь.




1

Перевірка dmesg на наявність будь-яких помилок - я зазвичай починаю з а dmesg | tail, тому що ймовірно, що все ще йде не так, і сервер все ще намагається робити все, що спричиняє помилку.


0

Перше, що я перевіряю, - це "зверху" (чи є якісь дивні процеси; ті, які зависають в пам'яті чи час процесора.)

Якщо там нічого не з'явиться, я перевірю "хто", щоб побачити, чи хтось ще не може на моїй машині чомусь.

Можливо, файлова система вимкнулася; зверніться до дзвінка до "cat / etc / mtab", а потім "fstab", щоб переконатися, що все завантажиться правильно під час завантаження.

Перевірте час роботи, щоб переконатися, що кількість користувачів у коробці є розумним (має бути лише ви), а потім прогляньте через var / log / auth.log, щоб побачити, чи там щось не так.

Це уловлювачі. Залежно від помилок, які кидає ваша скринька, можливо, вам доведеться вивчити конкретні процеси, які спричиняють проблеми.


0

top df -h та ЗАВЖДИ перевіряйте / var / log, щоб переконатися, що розділ не заповнений. Це кілька разів спричинило на мене загальний танець.


0

df -ha

перевірити, чи жорсткі диски заповнені, а хтось не отримав попереджень

htop або top

для перевірки пам’яті та використання процесора недостатньо високо.

Крім того, якщо вікно не відповідає, я заходжу в клієнт vm-ware і перевіряю звідти cpu / ram.


0

Запускати щось на зразок (at) sar на хості майже обов’язково. Корисність можливості отримання історичних знімків процесора, мережі, пам’яті та дискового вводу / виводу (серед інших) не може бути занижена.

Багато разів мені вдавалося діагностувати помилку, вивчивши, що робив господар протягом останніх 24 годин, і побачила, коли все починається не так.


0

У Linux я зазвичай перевіряю dmesg та / var / log / messages або / var / log / syslog. dmesg вкаже, якщо це раптова помилка обладнання; в системних журналах з’явиться дуже багато інших проблем.


0

Я думаю, що перше, що я роблю, - це перевірка місця на диску (як вже згадували інші). Якщо прості перевірки не виявляють "загальної" проблеми, тоді я буду досліджувати далі.

Одне, що мені подобається робити, - це зробити знімок системи. Я можу поздоровитись, щоб шукати що-небудь, що потрапило мені в очі.

lsof > /tmp/lsof.tmp &
ps auxfw > /tmp/ps.tmp &
netstat -anp > /tmp/netstat.tmp &

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.