Нашите топ 10 инструменти за мрежова производителност на Linux

Всеки отделен мрежов администратор иска да гарантира, че работата на всичко, което управлява, е оптимална. Това е прост въпрос да поддържате потребителите доволни. В крайна сметка те са склонни да бъдат първите, които забелязват дори най-малкото влошаване на производителността. Така че, ако искате да можете да отговорите на всяка жалба за производителност, за която сте наясно с нея и работите по нейното коригиране, имате нужда от някои инструменти за производителност. Ако работите в магазин за Linux, тази публикация е за вас. Предстои да прегледаме някои от най-добрите инструменти за производителност на мрежата на Linux.

Ще започнем с накратко обсъждане на мониторинга на производителността на мрежата. Нашата цел не е да ви направим експерти по темата, а по-скоро да гарантираме, че всички сме на една и съща страница, докато изследваме различните налични инструменти. След това ще преминем направо към същината на въпроса и ще представим около десет различни Linux инструмента, които можете да използвате за наблюдение, управление и отстраняване на неизправности в работата на вашата мрежа.

Относно мониторинга и тестването на производителността на мрежата

Нещото с наблюдението и тестването на производителността на мрежата е, че изглежда, че всеки има своя собствена представа какво означава това. Например, често виждаме инструментите за наблюдение на мрежовата честотна лента да се наричат ​​мониторинг на производителността. Същото важи и за инструмента за анализ на трафика или сниферите на пакети. Това повдига следния въпрос: Какво представлява наблюдението и тестването на производителността на мрежата?

За целите на тази публикация, нека просто оставим този дебат настрана и приемем, че инструментите за наблюдение на производителността на мрежата са просто всеки инструмент, който може да се използва за измерване, оценка, отстраняване на неизправности или подобряване на производителността на мрежата. Използвайки такава всеобхватна дефиниция, ние ще можем да ви предложим най-добрия асортимент от инструменти и ще оставим на вас да изберете тези, които могат да ви помогнат с вашата конкретна ситуация или проблем.

Най-добрите инструменти за мрежова производителност за Linux

И така, ние съставихме този списък с някои от най-използваните Linux инструменти, които могат да се използват за тестване или наблюдение на различни показатели, свързани с производителността на мрежата. Те са налични в повечето дистрибуции на Linux. Всеки от тях е полезен за наблюдение и намиране на действителните причини за проблеми с производителността. Сред всички предложения по-долу, едно е почти сигурно, че отговаря на вашите специфични нужди.

1. Tcpdump

Tcpdump е оригиналният анализатор на пакети. Това е инструмент, който се използва за изхвърляне – оттук и името му – съдържанието на целия мрежов трафик към стандартния изход. Чрез магията на пренасочването и каналите, неговият изход може, разбира се, да бъде насочен към всеки файл или дори към друг процес. След първоначалното си пускане инструментът премина през някои подобрения и корекции на грешки, но по същество остава непроменен. Той е наличен в почти всяка дистрибуция на Linux и се превърна в де-факто стандарт за бърз инструмент за улавяне на пакети. Tcpdump използва библиотеката libpcap за действителното улавяне на пакети.

Един от недостатъците на инструмент като tcpdump е, че може да събира огромно количество данни. Толкова много, че може да е невъзможно да се намери точно това, което търси. За щастие, един от ключовете към силата и полезността на инструмента е възможността за прилагане на филтри, които ще ви позволят да посочите точно какъв трафик да улавяте. Можете също така да преведете изхода на командата към grep – друга обща помощна програма за командния ред – за по-нататъшно филтриране. Някой, който овладее tcpdump, grep и командната обвивка, може да го накара да улови точно правилния трафик за всяка задача за отстраняване на грешки.

Ето пример за използване на tcpdump:

# tcpdump -i eth0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648

22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648

22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

Със сигурност ще се съгласите, че подобен изход може да бъде малко загадъчен. Тук може да ви бъде полезен истински анализатор на мрежови протоколи.

  Как да стартирате Linux на iPad

2. Wireshark

Можете да мислите за Wireshark като tcpdump на стероиди, но всъщност това е много повече от това. Препратката в сниферите на пакети, тя се превърна в де-факто стандарт и повечето други инструменти се опитват да го емулират. Това обаче прави много повече от tcpdump. Той не само ще улови трафик. Това е анализатор на мрежовия трафик толкова, колкото е инструмент за улавяне на пакети. Той е толкова мощен, че много администратори използват други инструменти – като tcpdump – за улавяне на трафик към файл, след което го зареждат в Wireshark за анализ. Всъщност това е толкова често срещан начин за използване на Wireshark, че при стартиране ще бъдете подканени или да отворите съществуващ файл за заснемане, или да започнете да улавяте трафик. Друга сила на Wireshark са всички филтри, които включва, които ви позволяват да се съсредоточите върху точно данните, които ви интересуват.

Wireshark има стръмна крива на обучение, но си струва да научите. Това ще се окаже безценно отново и отново. И след като го научите, ще можете да го използвате навсякъде, тъй като е пренесен на почти всяка операционна система. И за да стане още по-добър, той е с отворен код и е достъпен безплатно.

3. Netstat

Един от проблемите с отстраняването на проблеми с TCP/IP свързаността идва от огромния брой връзки и услуги, които обикновено се изпълняват във всяка система. Netstat може да се използва за идентифициране на състоянието на всяка връзка и кой процес обслужва всяка една, като ви помага да стесните търсенето. Netstat, който е наличен във всяка дистрибуция на Linux, може бързо да предостави подробности за клиентските услуги и TCP/IP комуникациите. В най-основния си вид командата показва всички активни връзки на локалния компютър, както входящи, така и изходящи.

Netstat може също да показва портове за слушане на компютъра, където се изпълнява. Всъщност командата приема много опции. Въпреки това, наличните опции се различават между платформите и някои опции работят по различен начин на различните платформи. Например, опцията -b в Windows ще покаже името на изпълнимия файл, свързан с всяка връзка – процеса, обслужващ връзката – докато в Mac OS X или BSD се използва заедно с -i за показване на статистически данни в байтове по-скоро отколкото битове. Най-добрият начин да научите за всички налични параметри на вашата конкретна версия в Netstat е да я стартирате с -? опция за показване на помощния екран на инструмента. В Linux можете също да покажете Man страницата на Netstat, за да получите по същество същата информация.

Ето как изглежда типичната netstat команда и нейният изход:

# netstat -a | more

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

tcp 0 0 *:mysql *:* LISTEN

tcp 0 0 *:sunrpc *:* LISTEN

tcp 0 0 *:realm-rusd *:* LISTEN

tcp 0 0 *:ftp *:* LISTEN

tcp 0 0 localhost.localdomain:ipp *:* LISTEN

tcp 0 0 localhost.localdomain:smtp *:* LISTEN

tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAIT

tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAIT

tcp 0 0 *:http *:* LISTEN

tcp 0 0 *:ssh *:* LISTEN

tcp 0 0 *:https *:* LISTEN

4. IPTraf

IPTraf е конзолно базирана помощна програма за мрежова статистика за Linux. Можете да използвате инструмента за събиране на разнообразна информация като брой пакети и байтове на TCP връзки, статистика на интерфейса и индикатори за активност, разбивки на TCP или UDP трафик и брой пакети и байтове на LAN станция. Той разполага с монитор за IP трафик, който показва информация за IP трафика във вашата мрежа, включително информация за TCP флаг, брой пакети и байтове, ICMP подробности и типове OSPF пакети. С най-новата версия, датираща от 2005 г., това е донякъде остарял инструмент, но може да предостави много полезна информация, ако искате да научите как да го използвате.

Други характеристики на IPTraf включват обща и подробна статистика на интерфейса, показваща броя на IP, TCP, UDP, ICMP, не-IP и други IP пакети, грешки в контролната сума на IP, активността на интерфейса, броя на размера на пакета. Той също така може да се похвали с монитор на TCP и UDP услуги, показващ броя на входящите и изходящите пакети за общи портове на TCP и UDP приложения. Освен това, вграден модул за LAN статистика открива активни хостове и показва статистика, показваща активността на техните данни. И накрая, инструментът също има TCP, UDP и други филтри за показване на протоколи, което ви позволява да преглеждате само трафика, който ви интересува.

  Как да използвате командата ar на Linux за създаване на статични библиотеки

Инструментът, който предлага операция, управлявана от менюта на цял екран, ще се справи с повечето видове мрежови интерфейси и използва вградения необработен интерфейс на сокет на ядрото на Linux. Това позволява да се използва в широк спектър от поддържани мрежови карти.

5. Нагиос

Nagios е различен от предишните инструменти по това, че е пълноценно решение за наблюдение на мрежата, а не инструмент за тестване или оценка на производителността. Предлага се в две различни версии, безплатната Nagios Core с отворен код и платената Nagios XI. И двете споделят един и същ основен двигател, но приликата спира дотук. Nagios Core е система за мониторинг с отворен код, която работи на Linux. Системата е напълно модулна с действителната система за наблюдение в основата си. Двигателят е допълнен от десетки налични плъгини, които могат да бъдат изтеглени, за да добавят функционалност към системата. Всеки плъгин добавя някои функции към ядрото.

Запазвайки този модулен подход, потребителският интерфейс на инструмента също е модулен и няколко различни, разработени от общността опции, също са достъпни за изтегляне. Ядрото на Nagios, плъгините и потребителският интерфейс се комбинират, за да направят цялостна система за наблюдение. Това, разбира се, може да означава, че настройката на Nagios Core не е за хора със слаби сърца.

Що се отнася до Nagios XI, той е търговски продукт, базиран на същия основен двигател. Това обаче е цялостно самостоятелно решение за наблюдение. Няма нужда да го сглобявате от различни части. Продуктът е насочен към широка аудитория от малки фирми до големи корпорации. Както бихте предположили, той е много по-прост за инсталиране и конфигуриране от Nagios Core, отчасти благодарение на съветника за конфигурация и механизма за автоматично откриване. Основният недостатък на Nagios XI е неговата цена, която започва от около $2 000 за лиценз от 100 възела.

СВЪРЗАНО ЧЕТЕНЕ: SolarWinds NPM срещу Nagios

6. Обсервиум

Observium е друга всеобхватна платформа за наблюдение. Той поддържа широка гама от типове устройства, платформи и операционни системи, включително, наред с други, Cisco, Windows, Linux, HP, Juniper, Dell, FreeBSD, Brocade, Netscaler, NetApp. Съмнявам се, че можете да намерите свързано в мрежа устройство, което не се поддържа. Основният фокус на инструмента е осигуряването на красив, интуитивен и прост, но мощен потребителски интерфейс, визуално изобразяващ здравето и състоянието на вашата мрежа.

Въпреки че мнозина мислят за Observium като инструмент за наблюдение на честотната лента, той може да предложи много повече. Например, той разполага със счетоводна система, която ще измерва общата месечна употреба на честотната лента в 95-ия персентил или в общия брой прехвърлени байтове. Той също така има функция за предупреждение с дефинирани от потребителя прагове. Освен това Observium се интегрира с други системи и може да извлича тяхната информация и да я показва в интерфейса си.

Observium трябва да се настрои и почти се конфигурира чрез процеса на автоматично откриване. Въпреки че изглежда няма раздел за изтегляне на уебсайта на Observium, има подробни инструкции за инсталиране на няколко Linux дистрибуции, които включват връзките за получаване на правилния пакет за всяка дистрибуция. Инструкциите са много подробни, така че намирането и инсталирането на софтуера трябва да бъде лесно.

Този продукт се предлага в две версии. Има общността Observium, която е достъпна безплатно за всеки. Тази версия получава актуализации и нови функции два пъти годишно. Има и Observium Professional, който има допълнителни функции и идва с ежедневни актуализации.

7. Айсинга

Icinga е още една платформа за наблюдение на мрежата с отворен код. Инструментът е снабден с прост и изчистен потребителски интерфейс и набор от функции, който се конкурира с някои търговски продукти. Подобно на повечето системи за наблюдение на честотната лента, Icinga използва предимно SNMP за събиране на данни за употреба от устройства. Въпреки това, една от областите, където инструментът се откроява, е използването на плъгини. Има много разработени от общността плъгини за изпълнение на различни задачи за наблюдение на производителността и разширяване на функционалността на продукта. И ако не можете да намерите подходящия плъгин за вашите нужди, можете сами да напишете такъв и да го допринесете за общността.

  Как да играете Nintendo DS игри на Linux с DesmuME

Сигнализирането и известяването са две от най-добрите функции на Icinga. Сигналите са напълно конфигурируеми по отношение на това какво ги задейства и как се предават. Инструментът също така разполага с сегментирано предупреждение. С тази функция можете да изпращате някои сигнали до някои потребители и други сигнали до различни хора. Това е страхотна функция, когато имате различни системи, управлявани от различни групи. Можете например да изпратите всички сигнали, свързани със сървъра, до екипа за администриране на сървъра и всички сигнали, свързани с работа в мрежа, да бъдат изпратени до екипа за поддръжка на мрежата.

8. Zabbix

Zabbix е друг безплатен инструмент за наблюдение на производителността на мрежата с отворен код. Има изключително професионален външен вид и усещане, подобно на това, което бихте очаквали от търговски продукт. Добрият външен вид на потребителския му интерфейс обаче не е единственото му предимство. Продуктът може да се похвали и с впечатляващ набор от функции. Платформата може да наблюдава повечето свързани към мрежата устройства в допълнение към мрежовото оборудване. Това е идеална опция за наблюдение на производителността на цялата ви инфраструктура.

Zabbix използва SNMP, както и интерфейса за наблюдение на интелигентната платформа (IMPI) за устройства за наблюдение. Можете да използвате софтуера за наблюдение на честотната лента, използването на процесора и паметта на устройството, общото здраве и производителност на устройството, както и промени в конфигурацията. Продуктът също така разполага с впечатляваща и напълно адаптивна система за предупреждение. Той не само ще изпраща известия по имейл или SMS, но също така може да изпълнява локални скриптове, които могат да се използват, например, за автоматично отстраняване на някои проблеми.

9. Кактуси

Публикация за инструменти за мрежова производителност на Linux не би била пълна без споменаване на Cacti, безплатен и пълен инструмент за мониторинг на мрежовата производителност с отворен код. Той съществува от около петнадесет години и въпреки че може да не е най-сложният инструмент, той все още е активно разработен — с най-новата версия само на месец — и върши работата доста ефективно. Основните му компоненти са бърз полер, усъвършенствани графични шаблони и множество методи за събиране на данни. Cacti разполага с контрол на достъпа на потребителите, вграден директно в продукта, а продуктът също така може да се похвали с лесен за използване, макар и старинен уеб-базиран потребителски интерфейс. Инструментът се мащабира много добре от най-малките инсталации на единично устройство до сложни мрежи с много различни WAN сайтове.

Cacti, който в основата си е преден край на RRDtools, използва SNMP за извличане на данни, които съхранява в SQL база данни. Той е написан на PHP и може да бъде модифициран според вашите нужди. Една от най-силните характеристики на продукта е използването на шаблони. Има вградени шаблони, например за рутери на Cisco, които вече включват повечето елементи, които може да искате да наблюдавате на такива устройства. Но има не само шаблони за устройства, има и шаблони за графики. Заедно шаблоните правят конфигурирането на софтуера много по-лесно. Можете също така да създадете свои собствени персонализирани шаблони, ако подходящи вече не са налични. Също така, много шаблони, специфични за устройството, могат да бъдат изтеглени от уебсайтовете на доставчиците на устройства и няколко управлявани от общността форуми Cacti ги предлагат за изтегляне.

10. Мунин

Munin е още един GUI преден край на RRDtools, написан е на Perl и е лицензиран под GPL. Това е добър инструмент за наблюдение на производителността на мрежи, системи, приложения и услуги. Работи на всички подобни на Unix операционни системи и разполага с отлична система от плъгини с около 500 различни плъгини, налични за наблюдение на почти всичко, което искате във вашата мрежа.

Munin представя цялата информация, която събира в графики на уеб интерфейс, но основната му сила е как разчита на сравнителен анализ, за ​​да се опита да идентифицира какво се е променило, за да причини влошаване на производителността. Налична е система за уведомяване за изпращане на съобщения до администратора, когато има грешка или когато грешката бъде разрешена.