Много често в ежедневната ни работа се налага да проверяваме натоварването на услуги. Нерядко наблюдаваме случаи на завишено потребление, като например високо CPU натоварване, конкретен процес, който изразходва повече RAM, генериране на повече трафик, проблеми с изпращането на мейли и други. В такива моменти трябва да направим диагностика на използваните ресурси. Днес ще Ви предложа 5 „секси“ команди, с които да направите това.
Запознайте се отблизо с Невен, CTO на СуперХостинг.БГ, в рубриката ни #MeetTheSupers: За числата и сървърите в запознанство с Паулина и Невен.
В следващите редове ще опиша реални ситуации, в които аз използвам тези инструменти. Детайлните за всички параметри, които командите поддържат, и в какви ситуации могат да се използват – може да откриете в документациите ми. Там подробно е описано всичко.
Истинската сила на тези команди е в това колко бързо могат да Ви ориентират какво се случва със системата. Те няма да решат проблема вместо Вас, но ще Ви дадат нужната яснота, за да действате уверено. Следващия път, когато видите високо натоварване или странно мрежово поведение – просто извадете този арсенал и атакувайте проблема.
1. btop – мощен инструмент за общ поглед върху натоварването
Колко често Ви се налага да проверявате използваните ресурси на сървъра, като CPU, мрежа, RAM, и да скролвате между различни табове с отделни софтуери? А кога за последно се опитвахте да „нарежете“ прозорците на терминала с различни инструменти, за да видите какво се случва в реално време? Няма нужда от това! С btop
можете да разгледате основните ресурси само с една команда. Всичко е на едно място – лесно, достъпно и най-важното – подредено.
2. tcpdump – любимият ми инструмент за debug на мрежови проблеми
Tcpdump е може би най-ценният инструмент за диагностика на проблеми с достъп до услуги. Той поддържа възможност за експорт във файл и преглеждане с Wireshark (за по-сложни случаи). Много е удобен, ако искате да проверите в реално време дали има наложени firewall рестрикции върху трафика, дали даден сървис отговаря на заявки и др.
Пример с филтриране само на SMTP трафик към порт 25:
tcpdump -nnn -i any port 25
Ето как се вижда трафикът към memcache на порт 10101 без да се включват пакетите от/към 127.0.0.1:
tcpdump -nnn -i any port 10101 and host not 127.0.0.1
3. iostat – семпъл, но ефективен за следене на дискови операции
Не се заблуждавайте от семплия изход на командата – за бързо и ефективно следене на дисковите операции iostat
върши перфектна работа. С опции като показване на разширени статистики (-x
) и в комбинация с цикличност на определен интервал (например всяка секунда), можете буквално веднага да разберете дали дисковият масив е причината за забавянето на сървъра.
4. Swaks – Swiss Army Knife for SMTP
Един инструмент, който мога да опиша само с една дума: безценен. Най-често го използвам, когато трябва да правя множество тестове на различни SMTP настройки на мейл сървър. След всяка промяна искам да видя как това ще се отрази на изпращането на писма. С помощта на Swaks задавам параметрите и изпращането става въпрос на натискане на един бутон – директно от локалния терминал или от някой сървър.
5. vi/vim – универсалният текстов редактор
Ако досега описвах обективно софтуери, които могат да допълнят арсенала на всеки системен администратор, последната позиция запазих за любимия ми текстов редактор. Спорът за най-добрия текстов редактор е безпредметен, защото изборът трябва да бъде направен спрямо нуждите и възможностите на потребителя. Затова субективно бих препоръчал на всеки поне да разгледа възможностите на vim. Въпреки стръмната крива на обучение за нови потребители и безброй мемета за начина, по който се излиза от него, vim остава един от най-универсалните текстови редактори за Linux-базирани дистрибуции. С възможност за редица персонализации и плъгини, той дори се използва като IDE от много разработчици.
Например за бързо рекурсивно заместване на текст в целия файл, докато го редактираме използвам:
:%s/oldtext/newtext/g
Изключително полезно, когато се налага да заменим име на хост, променлива или порт в конфигурационен файл.
Разбира се, командите тук са само върхът на айсберга – разгледайте man страниците за всяка, за да отключите пълния им потенциал.
Това са моите топ 5 команди, които винаги са ми под ръка при диагностика на проблеми. Те не са вълшебни пръчки, но са безценни, когато трябва бързо да локализирате източника на проблема. А най-хубавото? Всички са вече на разположение на почти всяка Linux машина – само трябва да им дадете шанс!
Абонирайте се за СуперБлога, за да получавате полезно и експертно познание от света на уеб хостинг услугите, касаещо Вашия сайт и дигитално присъствие.