Dit bericht is oorspronkelijk gepubliceerd op de blog van Server Density, een infrastructuurmonitoringbedrijf dat zich in 2018 bij StackPath heeft aangesloten.
Het is hard werken om Linux-prestatieproblemen te monitoren en te debuggen, maar het is eenvoudiger met de juiste tools op het juiste moment. Daarom hebben we besloten om de meest uitgebreide lijst van Linux-monitoringtools op internet te maken.
Om u te helpen de juiste tool te vinden, hebben we de meer dan 80 tools in deze lijst onderverdeeld in vijf categorieën:
- Command Line Tools
- Desktop Monitoring Tools
- Infrastructure Monitoring Tools
- Log Monitoring Tools
- Network Monitoring Tools
Command Line Tools
Top
Dit is een klein hulpprogramma dat voorafgeïnstalleerd op veel unix-systemen. Wanneer u een overzicht wilt van alle processen of threads die op het systeem draaien: top is een goed hulpmiddel. Sorteer processen op verschillende criteria – waarvan CPU de standaard is.
htop
Htop is in wezen een verbeterde versie van top. Het is eenvoudiger om op processen te sorteren. Het is visueel eenvoudiger te begrijpen en heeft ingebouwde opdrachten voor veelvoorkomende dingen die je zou willen doen. Plus het is volledig interactief.
atop
Atop monitort alle processen net als top en htop, maar in tegenstelling tot top en htop heeft het dagelijkse logging van de processen voor lange termijn analyse. Het toont ook het verbruik van hulpbronnen door alle processen.
apachetop
achetop monitort de algehele prestaties van uw apache webserver. Het is grotendeels gebaseerd op mytop. Het toont het huidige aantal gelezen, geschreven en het totale aantal verwerkte verzoeken.
ftptop
ftptop geeft u basisinformatie over alle huidige ftp-verbindingen met uw server, zoals het totale aantal sessies, hoeveel er uploaden en downloaden en wie de client is.
mytop
mytop is een handige tool voor het monitoren van threads en de prestaties van mysql. Het geeft je een live kijkje in de database en welke query’s er in realtime worden verwerkt.
powertop
powertop helpt je bij het diagnosticeren van problemen die te maken hebben met stroomverbruik en energiebeheer. Het kan u ook helpen te experimenteren met energiebeheerinstellingen om de meest efficiënte instellingen voor uw server te bereiken. U wisselt van tabblad met de tab-toets.
iotop
iotop controleert de informatie over het I/O-gebruik en geeft u daar een top-achtige interface voor. Het toont kolommen voor lezen en schrijven en elke rij vertegenwoordigt een proces. Het toont ook het percentage tijd dat het proces besteed aan swappen en wachten op I/O.
Desktop Monitoring
ntopng
ntopng is de volgende generatie van ntop en het gereedschap biedt een grafische gebruikersinterface via de browser voor netwerkmonitoring. Het kan dingen doen zoals: hosts geolokaliseren, netwerkverkeer ophalen en de distributie van ip-verkeer laten zien en analyseren.
iftop
iftop is vergelijkbaar met top, maar in plaats van voornamelijk te controleren op cpu-gebruik luistert het naar netwerkverkeer op geselecteerde netwerkinterfaces en toont het een tabel met het huidige gebruik. Het kan handig zijn voor het beantwoorden van vragen als “Waarom is mijn internetverbinding in hemelsnaam zo traag?!”.
jnettop
jnettop visualiseert netwerkverkeer op vrijwel dezelfde manier als iftop dat doet. Het ondersteunt ook aanpasbare tekstuitvoer en een machinevriendelijke modus om verdere analyse te ondersteunen.
bandwidthd
BandwidthD houdt het gebruik van TCP/IP-netwerksubnetten bij en visualiseert dat in de browser door een html-pagina te bouwen met grafieken in png. Er is een database-gestuurd systeem dat zoeken, filteren, meerdere sensoren en aangepaste rapporten ondersteunt.
EtherApe
EtherApe geeft het netwerkverkeer grafisch weer, hoe spraakzamer hoe groter het knooppunt. Het vangt live verkeer op of kan het uit een tcpdump lezen. De weergave kan ook worden verfijnd met behulp van een netwerkfilter met pcap syntax.
ethtool
ethtool wordt gebruikt voor het weergeven en wijzigen van enkele parameters van de netwerkinterfacecontrollers. Het kan ook worden gebruikt om een diagnose te stellen bij Ethernet-apparaten en om meer statistische gegevens van de apparaten te verkrijgen.
NetHogs
NetHogs splitst het netwerkverkeer op per protocol of per subnet. Het groepeert vervolgens per proces. Dus als er een piek in het netwerkverkeer is, kun je NetHogs opstarten en zien welk proces de oorzaak is.
iptraf
iptraf verzamelt een verscheidenheid aan meetgegevens, zoals het aantal pakketten en bytes van TCP-verbindingen, interfacestatistieken en activiteitsindicatoren, TCP/UDP-verkeeruitsplitsingen en het aantal pakketten en bytes van stations.
ngrep
ngrep is grep, maar dan voor de netwerklaag. Het is pcap-bewust en maakt het mogelijk om uitgebreide reguliere of hexadecimale expressies op te geven om te vergelijken met pakketten van .
MRTG
MRTG is oorspronkelijk ontwikkeld om routerverkeer te monitoren, maar nu kan het ook andere netwerkgerelateerde zaken monitoren. Het verzamelt meestal elke vijf minuten en genereert dan een html-pagina. Het kan ook waarschuwingsmails versturen.
bmon
Bmon bewaakt en helpt bij het debuggen van netwerken. Het registreert netwerkgerelateerde statistieken en presenteert deze op een mensvriendelijke manier. U kunt ook met bmon werken via curses of via scripting.
traceroute
Traceroute is een ingebouwd hulpprogramma voor het weergeven van de route en het meten van de vertraging van pakketten over een netwerk.
IPTState
IPTState stelt u in staat om te zien waar het verkeer dat uw iptables passeert heen gaat en dat vervolgens te sorteren op verschillende criteria zoals u dat wilt. Met de tool kunt u ook statussen uit de tabel verwijderen.
darkstat
Darkstat registreert netwerkverkeer en berekent statistieken over het gebruik. De rapporten worden geserveerd via een eenvoudige HTTP-server en bieden een mooie grafische gebruikersinterface van de grafieken.
vnStat
vnStat is een netwerkverkeersmonitor die gebruikmaakt van statistieken die door de kernel worden geleverd, wat zorgt voor een licht gebruik van systeembronnen. De verzamelde statistieken blijven bewaard gedurende systeem reboots. Het heeft kleurenopties voor de artistieke sysadmins.
netstat
Netstat is een ingebouwd hulpprogramma dat TCP-netwerkverbindingen, routeringstabellen en een aantal netwerkinterfaces weergeeft. Het wordt gebruikt om problemen in het netwerk op te sporen.
ss
In plaats van netstat te gebruiken, is het echter beter om ss te gebruiken. Het ss commando is in staat om meer informatie te tonen dan netstat en is zelfs sneller. Als u een samenvatting van de statistieken wilt, kunt u het commando ss -s
gebruiken.
nmap
Nmap stelt u in staat om uw server te scannen op open poorten of om te detecteren welk OS wordt gebruikt. Maar u kunt dit ook gebruiken voor SQL-injectie kwetsbaarheden, netwerk ontdekking en andere middelen met betrekking tot penetratie testen.
MTR
MTR combineert de functionaliteit van traceroute en de ping tool in een enkele netwerk diagnostische tool. Wanneer het gereedschap wordt gebruikt, beperkt het het aantal hops dat individuele pakketten moeten afleggen, terwijl het ook luistert naar de afloop ervan. Dit wordt vervolgens elke seconde herhaald.
tcpdump
tcpdump geeft een beschrijving van de inhoud van het pakket dat het zojuist heeft opgevangen en dat overeenkomt met de expressie die u in het commando hebt opgegeven. U kunt deze gegevens ook opslaan voor verdere analyse.
Justniffer
Justniffer is een tcp packet sniffer. U kunt kiezen of u met deze sniffer gegevens op laag niveau of op hoog niveau wilt verzamelen. Je kunt er ook logs mee genereren op een aanpasbare manier. U kunt bijvoorbeeld de toegangslog van Apache nabootsen.
Infrastructuur Monitoring
Server Dichtheid
Onze server monitoring tool! Het heeft een webinterface waarmee u waarschuwingen kunt instellen en grafieken kunt bekijken voor alle systeem- en netwerkstatistieken. U kunt ook de bewaking van websites instellen, ongeacht of deze actief of niet actief zijn. Met Server Density kunt u rechten voor gebruikers instellen en u kunt uw monitoring uitbreiden met onze plugin-infrastructuur of api. De service ondersteunt al Nagios-plugins.
OpenNMS
OpenNMS heeft vier belangrijke functionele gebieden: eventbeheer en meldingen; discovery en provisioning; service monitoring en gegevensverzameling. Het is zo ontworpen dat het kan worden aangepast om in verschillende netwerkomgevingen te werken.
SysUsage
SysUsage bewaakt uw systeem continu via Sar en andere systeemcommando’s. Het maakt ook meldingen mogelijk om u te waarschuwen zodra een drempel wordt bereikt. SysUsage zelf kan worden uitgevoerd vanaf een gecentraliseerde plaats waar ook alle verzamelde statistieken worden opgeslagen. Het heeft een webinterface waar u alle statistieken kunt bekijken.
brainypdm
brainypdm is een gegevensbeheer- en monitoringtool die de mogelijkheid heeft om gegevens van nagios of een andere generieke bron te verzamelen om grafieken te maken. Het is cross-platform, heeft aangepaste grafieken en is webgebaseerd.
PCP
PCP heeft de mogelijkheid om metrics van meerdere hosts te verzamelen en doet dit efficiënt. Het heeft ook een plugin-framework, zodat je het specifieke statistieken kunt laten verzamelen die voor jou belangrijk zijn. Je kunt toegang krijgen tot de grafiekgegevens via een webinterface of een GUI. Goed voor het monitoren van grote systemen.
KDE system guard
Dit hulpprogramma is zowel een systeemmonitor als een taakbeheerder. Je kunt serverstatistieken van meerdere machines bekijken via het werkblad en als een proces moet worden gedood of als je een proces moet starten, kan dat worden gedaan binnen KDE system guard.
Munin
Munin is zowel een netwerk- als een systeemmonitoringtool die waarschuwingen geeft als metrics een bepaalde drempel overschrijden. Het gebruikt RRDtool om de grafieken te maken en het heeft een webinterface om deze grafieken weer te geven. De nadruk ligt op plug-and-play mogelijkheden met een aantal beschikbare plugins.
Nagios
Nagios is een systeem- en netwerkmonitoringtool waarmee u uw vele servers kunt monitoren. Het biedt ondersteuning voor waarschuwingen wanneer er iets misgaat. Er zijn ook veel plug-ins voor geschreven.
Zenoss
Zenoss biedt een webinterface waarmee u alle systeem- en netwerkstatistieken kunt controleren. Bovendien ontdekt het netwerkbronnen en wijzigingen in netwerkconfiguraties. Het heeft waarschuwingen waarop u actie kunt ondernemen en het ondersteunt de Nagios-plugins.
Cacti
(En een voor geluk!) Cacti is een oplossing voor netwerkgrafieken die gebruikmaakt van de gegevensopslag RRDtool. Het stelt een gebruiker in staat om services op vooraf bepaalde intervallen te pollen en het resultaat in grafieken weer te geven. Cacti kan worden uitgebreid om een bron naar keuze te monitoren via shellscripts.
Zabbix
Zabbix is een open source oplossing voor infrastructuurmonitoring. Het kan de meeste databases gebruiken om de monitoring statistieken in op te slaan. De Core is geschreven in C en heeft een frontend in PHP. Als u niet graag een agent installeert, is Zabbix misschien een optie voor u.
nmon
nmon geeft de gegevens op het scherm weer of slaat ze op in een door komma’s gescheiden bestand. U kunt CPU, geheugen, netwerk, bestandssystemen en topprocessen weergeven. De gegevens kunnen ook worden toegevoegd aan een RRD-database voor verdere analyse.
conky
Conky monitort een overvloed aan verschillende OS-statistieken. Het heeft ondersteuning voor IMAP en POP3 en zelfs ondersteuning voor veel populaire muziekspelers! Voor de handige persoon is het uit te breiden met je eigen scripts of programma’s met behulp van Lua.
Glances
Glances monitort je systeem en heeft als doel een maximale hoeveelheid informatie te presenteren in een minimale hoeveelheid ruimte. Het kan in een client/server-modus werken en ook op afstand worden bewaakt. Het heeft ook een webinterface.
saidar
Saidar is een heel klein hulpprogramma dat u basisinformatie geeft over uw systeembronnen. Het toont een volledig scherm van de standaard systeembronnen. De nadruk voor saidar ligt op zo eenvoudig mogelijk.
RRDtool
RRDtool is een tool dat is ontwikkeld om met round-robin databases of RRD om te gaan. RRD is bedoeld voor het verwerken van tijdreeksgegevens zoals CPU belasting, temperaturen enz. Met deze tool kunnen RRD-gegevens in een grafisch formaat worden geëxtraheerd.
monit
Monit kan zowel waarschuwingen versturen als services herstarten als ze in de problemen komen. Het is mogelijk om elk type controle uit te voeren waarvoor je een script zou kunnen schrijven met monit en het heeft een web-gebruikersinterface om je ogen te verlichten.
Linux procesverkenner
Linux procesverkenner is verwant aan de activity monitor voor OSX of het Windows equivalent. Het is bedoeld om bruikbaarder te zijn dan top of ps. U kunt elk proces bekijken en zien hoeveel geheugen of CPU het gebruikt.
df
df is een afkorting van disk free en is een vooraf geïnstalleerd programma op alle unix-systemen dat wordt gebruikt om de hoeveelheid beschikbare schijfruimte weer te geven voor bestandssystemen waartoe de gebruiker toegang heeft.
discus
Discus lijkt op df, maar wil df verbeteren door het mooier te maken met kleuren, grafieken en slimme formattering van getallen.
xosview
xosview is een klassiek systeem monitoring tool en het geeft u een eenvoudig overzicht van alle verschillende onderdelen van het inclusief IRQ.
Dstat
Dstat is bedoeld als vervanging voor vmstat, iostat, netstat en ifstat. Het stelt je in staat om al je systeembronnen in real-time te bekijken. De gegevens kunnen vervolgens worden geëxporteerd naar csv. Het belangrijkste is dat dstat plugins toestaat en dus kan worden uitgebreid naar gebieden die de mensheid nog niet kent.
Net-SNMP
SNMP is het protocol ‘simple network management protocol’ en de Net-SNMP tool suite helpt je nauwkeurige informatie over je servers te verzamelen met behulp van dit protocol.
incron
Incron stelt je in staat een directory boom te monitoren en vervolgens actie te ondernemen op die veranderingen. Als u bestanden naar directory ‘b’ zou willen kopiëren zodra er nieuwe bestanden in directory ‘a’ zijn verschenen, is dat precies wat incron doet.
monitorix
Monitorix is een lichtgewicht systeemmonitoring tool. Het helpt je bij het monitoren van een enkele machine en geeft je een schat aan metriek. Het heeft ook een ingebouwde HTTP-server om grafieken te bekijken en een rapportagemechanisme voor alle statistieken.
vmstat
vmstat of virtual memory statistics is een klein ingebouwd hulpprogramma dat het geheugen in de machine controleert en een samenvatting hiervan weergeeft.
uptime
Dit kleine commando geeft u snel informatie over hoe lang de machine al draait, hoeveel gebruikers er op dit moment zijn ingelogd en de gemiddelde systeembelasting van de afgelopen 1, 5 en 15 minuten.
mpstat
mpstat is een ingebouwd hulpprogramma dat het cpu-gebruik in de gaten houdt. De meest gebruikte opdracht is mpstat -P ALL
die je het gebruik van alle cores geeft. U kunt ook een intervalupdate van het CPU-gebruik krijgen.
pmap
pmap is een ingebouwd hulpprogramma dat de geheugenkaart van een proces rapporteert. U kunt dit commando gebruiken om de oorzaken van geheugenknelpunten te achterhalen.
ps
Het commando ps geeft u een overzicht van alle huidige processen. U kunt eenvoudig alle processen selecteren met het commando ps -A
sar
sar is een onderdeel van het sysstat-pakket en helpt u bij het verzamelen, rapporteren en opslaan van verschillende systeemmetriek. Met verschillende commando’s geeft het je onder andere CPU-, geheugen- en I/O-gebruik.
collectl
Gelijk aan sar collectl verzamelt collectl prestatiegegevens voor je machine. Standaard toont het CPU-, netwerk- en schijfstatistieken, maar het verzamelt nog veel meer. Het verschil met sar is dat collectl in staat is om tijden onder de 1 seconde te verwerken, het kan direct in een plotting tool worden ingevoerd en collectl monitort processen uitgebreider.
iostat
iostat is ook onderdeel van het sysstat pakket. Dit commando wordt gebruikt om de input/output van het systeem te controleren. De rapporten zelf kunnen worden gebruikt om systeemconfiguraties te wijzigen om de input/output-belasting beter te verdelen tussen de harde schijven in uw machine.
free
Dit is een ingebouwde opdracht die de totale hoeveelheid vrij en gebruikt fysiek geheugen op uw machine weergeeft. Het geeft ook de buffers weer die op dat moment door de kernel worden gebruikt.
Proc-bestandssysteem
Het proc-bestandssysteem geeft u een kijkje in de kernelstatistieken. Uit deze statistieken kunt u gedetailleerde informatie halen over de verschillende hardware-apparaten op uw machine. Bekijk de volledige lijst van de proc bestand statistieken
GKrellM
GKrellm is een gui applicatie die de status van uw hardware zoals CPU, hoofdgeheugen, harde schijven, netwerk interfaces en vele andere dingen in de gaten houdt. Het kan ook een mail reader naar keuze monitoren en starten.
Gnome system monitor
Gnome system monitor is een basis tool voor systeemmonitoring met functies voor het bekijken van procesafhankelijkheden vanuit een boomstructuur, het doden of uitschakelen van processen en grafieken van alle serverstatistieken.
Log Monitoring Tools
GoAccess
GoAccess is een realtime web log analyzer die het toegangslogboek van apache, nginx of amazon cloudfront analyseert. Het is ook mogelijk om de gegevens te exporteren naar HTML, JSON of CSV. Het geeft je algemene statistieken, top bezoekers, 404’s, geolocatie en vele andere zaken.
Logwatch
Logwatch is een log analyse systeem. Het analyseert de logs van uw systeem en maakt een rapport met een analyse van de gebieden die u opgeeft. Het kan je dagelijkse rapporten geven met korte overzichten van de activiteiten die op je computer plaatsvinden.
Swatch
Net als Logwatch controleert Swatch je logs, maar in plaats van rapporten te geven, zoekt het naar reguliere expressies en waarschuwt het je via e-mail of de console als er een overeenkomst is. Het kan bijvoorbeeld worden gebruikt voor het detecteren van indringers.
MultiTail
MultiTail helpt je om logbestanden in meerdere vensters te monitoren. U kunt twee of meer van deze logbestanden samenvoegen tot één.
Netwerk monitoring
acct of psacct
acct of psacct (afhankelijk van of je apt-get of yum gebruikt) laat je alle commando’s monitoren die een gebruiker uitvoert in het systeem inclusief CPU en geheugen tijd. Eenmaal geïnstalleerd krijg je dat overzicht met het commando ‘sa’.
whowatch
Gelijk aan acct monitort deze tool gebruikers op je systeem en kun je in real time zien welke commando’s en processen ze gebruiken. Het geeft u een boomstructuur van alle processen, zodat u precies kunt zien wat er gebeurt.
strace
strace wordt gebruikt om te diagnosticeren, debuggen en interacties tussen processen te controleren. Het meest gebruikelijke is dat strace een lijst afdrukt van systeemaanroepen die door het programma worden gedaan, wat nuttig is als het programma zich niet gedraagt zoals verwacht.
DTrace
DTrace is de grote broer van strace. Het patcht dynamisch live lopende instructies met instrumentatiecode. Hiermee kun je diepgaande prestatieanalyses uitvoeren en problemen oplossen. Het is echter niet voor de zwakkeren onder ons, aangezien er een boek uit 1200 over dit onderwerp is geschreven.
webmin
Webmin is een webgebaseerde tool voor systeembeheer. U hoeft niet langer handmatig unix-configuratiebestanden te bewerken en kunt het systeem indien nodig op afstand beheren. Het heeft een aantal monitoringmodules die u eraan kunt koppelen.
stat
Stat is een ingebouwd hulpmiddel voor het weergeven van statusinformatie van bestanden en bestandssystemen. Het geeft u informatie zoals wanneer het bestand is gewijzigd, benaderd of veranderd.
ifconfig
ifconfig is een ingebouwd hulpprogramma dat wordt gebruikt om de netwerkinterfaces te configureren. Achter de schermen gebruiken netwerk monitor tools ifconfig om het in promiscuous mode te zetten om alle pakketten op te vangen. U kunt dit zelf doen met ifconfig eth0 promisc
en terugkeren naar de normale modus met
.ifconfig eth0 -promisc
ulimit
ulimit is een ingebouwd hulpprogramma dat systeembronnen controleert en een limiet aanhoudt zodat een van de gecontroleerde bronnen niet over de schreef gaat. Bijvoorbeeld het maken van een fork-bom waar een goed geconfigureerde ulimit op zijn plaats is, zou helemaal prima zijn.
cpulimit
CPUlimit is een klein hulpprogramma dat het CPU-gebruik van een proces in de gaten houdt en vervolgens beperkt. Het is vooral handig om batch jobs niet te veel CPU cycles te laten verbruiken.
lshw
lshw is een klein ingebouwd tooltje dat gedetailleerde informatie over de hardware configuratie van de machine haalt. Het kan alles weergeven, van CPU-versie en -snelheid tot de configuratie van het moederbord.
w
W is een ingebouwd commando dat informatie weergeeft over de gebruikers die momenteel de machine gebruiken en hun processen.
lsof
lsof is een ingebouwd hulpprogramma dat u een lijst geeft van alle open bestanden en netwerkverbindingen. Van daaruit kun je de lijst beperken tot bestanden die zijn geopend door processen, op basis van de procesnaam, door een specifieke gebruiker of misschien alle processen doden die bij een specifieke gebruiker horen.
Bedankt voor uw suggesties. Het is een vergissing van onze kant dat we terug moeten gaan en alle rubrieken opnieuw moeten nummeren. In het licht daarvan is hier een korte sectie aan het eind voor enkele van de Linux monitoring tools die door u worden aanbevolen:
collectd
Collectd is een Unix daemon die al uw monitoring statistieken verzamelt. Het maakt gebruik van een modulair ontwerp en plugins om elke niche in de monitoring in te vullen. Op deze manier blijft collectd zo licht en aanpasbaar mogelijk.
Observium
Observium is een auto-discoverend netwerk monitoring platform dat een breed scala aan hardware platforms en besturingssystemen ondersteunt. Observium richt zich op het bieden van een mooie en krachtige maar toch eenvoudige en intuïtieve interface voor de gezondheid en status van uw netwerk.
Nload
Het is een command line tool dat de netwerkdoorvoer controleert. Het is handig omdat het het inkomende en uitgaande verkeer visualiseert met behulp van twee grafieken en een aantal extra nuttige gegevens zoals de totale hoeveelheid overgedragen gegevens. U kunt het installeren met
yum install nload
of
sudo apt-get install nload
SmokePing
SmokePing houdt de netwerk latenties van uw netwerk bij en het visualiseert ze ook. Er is een breed scala aan latency measurement plugins ontwikkeld voor SmokePing. Als een GUI belangrijk voor je is, is er een ontwikkeling gaande om dat te realiseren.
MobaXterm
Als je dag in dag uit in een Windows omgeving werkt. Dan voelt u zich misschien beperkt door de terminal die Windows biedt. MobaXterm komt u te hulp en stelt u in staat om veel van de terminal commando’s te gebruiken die gebruikelijk zijn in Linux. Dit zal u enorm helpen in uw monitoring behoeften!
Shinken monitoring
Shinken is een monitoring framework dat een totale herschrijving is van Nagios in python. Het heeft als doel de flexibiliteit en het beheer van een grote omgeving te verbeteren. Terwijl u nog steeds al uw Nagios configuratie en plugins behoudt.