Sysdig: hulpmiddel om het Linux-systeem te bewaken

Er zijn verschillende tools ontwikkeld om ons te helpen beheerde computers op een veel completere manier te beheren en dit is van vitaal belang omdat het ons in staat stelt veel meer directe controle te hebben en in realtime de ware status van elk systeem te kennen.

Bij het beheren van Linux-omgevingen hebben we een praktische en eenvoudige tool die ons helpt het systeem te analyseren en dit is Sysdig.

Deze keer zal Solvetic analyseren hoe Sysdig op Ubuntu 17.04 Server moet worden geïnstalleerd en gebruikt, maar deze applicatie zal een grote hulp zijn voor elke Linux-distro om te gebruiken.

Wat is SysdigSysdig is een open source-toepassing die een scan op systeemniveau uitvoert, waardoor het de status van het systeem en de activiteit van een draaiende Linux-instantie kan vastleggen om de verkregen gegevens later op te slaan, te filteren en te analyseren.

Sysdig is geschreven in Lua en bevat een opdrachtregelinterface en een krachtige interactieve gebruikersinterface, csysdig, die in de terminal kan worden uitgevoerd. We hebben momenteel beheerprogramma's zoals:
Strace: Ontdek de oproepen en signalen van het systeem naar een proces.

  • Tcpdump: Monitoring van netwerkverkeer.
  • Netstat: Bewaking van netwerkverbindingen.
  • Htop: Realtime procesbewaking.
  • lftop: Realtime bewaking van netwerkbandbreedte.
  • Lsof: Het maakt het mogelijk om te visualiseren welke bestanden door welk proces worden geopend.

Met sysdig hebben we al deze tools en nog veel meer geïntegreerd, met een eenvoudig programma en rekenend op containerondersteuning.

Sysdig-functiesEnkele van de meest opvallende kenmerken van Sysdig zijn:

  • Het is snel, stabiel en gemakkelijk te gebruiken met uitgebreide documentatie.
  • Bevat native ondersteuning voor containertechnologieën, waaronder Docker, LXC en meer.
  • Het is programmeerbaar in Lua; biedt beitels (lichtgewicht Lua-scripts) om vastgelegde systeemgebeurtenissen te verwerken.
  • Ondersteunt uitvoerfiltering.
  • Ondersteunt systeem- en applicatie-tracking.
  • Het kan worden geïntegreerd met Ansible, Pupe en Logstash.
  • Maakt geavanceerde logboekanalyse mogelijk.
  • Het heeft functies voor analyse van Linux-serveraanvallen (forensisch onderzoek) voor ethische hackers en nog veel meer.

1. Installeer Sysdig op Linux

Stap 1
Om Sysdig op Ubuntu 17.04 Server te installeren, zullen we een van de volgende opdrachten uitvoeren die alle vereisten zullen verifiëren; als alles correct is, zal het het pakket downloaden en installeren vanuit de Draios APT / YUM-repository:

 curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

VERGROTEN

Stap 2
Zodra het installatieproces is voltooid, zien we het volgende:

VERGROTEN

2. Sysdig gebruiken op Linux

Stap 1
Nadat u het hebt geïnstalleerd, moet u sysdig als root uitvoeren, omdat het toegang vereist tot kritieke gebieden zoals het / dev / sysdig * bestandssysteem en automatisch de sysdig-probe kernelmodule moet laden, zullen we het volgende uitvoeren:

 sudo sysdig

VERGROTEN

Stap 2
Daar kunnen we een reeks kleine complexe gegevens zien, als we een veel eenvoudiger beeld willen krijgen, zullen we gebruik moeten maken van de csysdig-interface. Wij voeren het volgende uit:

 sudo csysdig
Stap 3
Het resultaat zal het volgende zijn. We kunnen de gegevens op een veel meer georganiseerde manier bekijken. Het is belangrijk om te verduidelijken dat het doel is om de opdracht sysdig te gebruiken om het ware potentieel van de tool te krijgen.

VERGROTEN

3. Begrijp Sysdig-filters en -parameters op Linux


In één oogopslag konden we zien dat de gegevens die door sudo sysdig ze zijn complex en moeilijk te begrijpen, maar op zich zijn het minimale Lua-scripts voor het onderzoeken van de stroom van sysdig-gebeurtenissen en dus voor het uitvoeren van nuttige probleemoplossingsacties voor het systeem in het algemeen.

Stap 1
Door de volgende opdracht uit te voeren, kunnen we de beschikbare filters zien:

 sudo sysdig -cl

VERGROTEN

Stap 2
Daar kunnen we de verschillende beschikbare categorieën zien met hun respectievelijke opties. Als u meer wilt weten over een bepaald filter, gebruiken we de indicator -I:

 sudo sysdig -i topprocs_cpu

VERGROTEN

Stap 3
Sysdig-filters voegen meer details toe aan het type uitvoer dat we kunnen verkrijgen uit gebeurtenisstromen, waardoor we de uitvoer kunnen aanpassen. Een eenvoudig en algemeen filter is een basiscontrole "class.field = value". Om een ​​lijst met beschikbare veldklassen, velden en hun beschrijvingen te zien, voeren we het volgende uit:

 sudo sysdig -l

VERGROTEN

4. Linux-systeemmonitorbestand maken

Stap 1
Om de sysdig-uitvoer naar een bestand te dumpen voor latere analyse, moeten we de parameter . gebruiken -w en het zal mogelijk zijn om het trace dump-bestand te lezen met de parameter -R.

De optie -s wordt gebruikt om het aantal bytes aan gegevens op te geven dat moet worden vastgelegd voor elke systeemgebeurtenis. In dit geval filteren we gebeurtenissen voor het mongod-proces.

Stap 2
We kunnen bijvoorbeeld het volgende uitvoeren:

 sudo sysdig -s 10 -w trace.scap
Stap 3
Voor uw analyse voeren we het volgende uit:
 sudo sysdig -r trace.scap proc.name = mongod

5. Linux-processen bewaken


Als we alle processen van het systeem willen opsommen, zullen we het volgende uitvoeren:
 sudo sysdig -c ps

VERGROTEN

We kunnen een volledig overzicht zien met PID, gebruiker, geheugengebruik, enz.

6. Bewaak processen op CPU-gebruik in Linux


Met Sysdig is het mogelijk om processen te monitoren op percentage van het CPU-gebruik, hiervoor voeren we het volgende uit:
 sudo sysdig -c topprocs_cpu

VERGROTEN

7. Bewaak netwerkverbindingen en I / O-apparaten in Linux

Stap 1
Met Sysdig kunnen we alle netwerkverbindingen bewaken door het volgende uit te voeren:

 sudo sysdig -c netstat

VERGROTEN

Stap 2
We kunnen alle adressen, het gebruikte protocol, de status en PID zien. Met de volgende opdracht kunnen we de bovenste netwerkverbindingen weergeven met een bepaald aantal bytes:

 sudo sysdig -c topconns
Stap 3
We kunnen ook de belangrijkste processen per netwerk I / OS weergeven met de volgende opdracht:
 sudo sysdig -c topprocs_net

8. Monitor I / O-bestandssystemen op Linux

Stap 1
Het is mogelijk om de gegevens die door processen in het systeem zijn gelezen en geschreven, uit te geven met behulp van de volgende regel:

 sudo sysdig -c echo_fds

VERGROTEN

Stap 2
Om de hoofdprocessen op schijfbytes (lezen en schrijven) op te sommen, gebruiken we de volgende regel:

 sudo sysdig -c topprocs_file

VERGROTEN

9. Prestatieproblemen op Linux oplossen


Sysdig biedt ons de mogelijkheid om systeemaanroepfouten (bottlenecks) te monitoren met de uitvoering van het volgende commando:
 sudo sysdig -c knelpunten

VERGROTEN

Opmerkingom de resultaten te zien, moeten we de volgende toetsen gebruiken om het proces te voltooien.

Ctrl + C

10. Ontdek trage netwerken in Linux


Met het volgende commando is het mogelijk om te analyseren welk netwerk I/O-apparaat traag is in het systeem:
 sudo sysdig -c netlower

11. Bewaak HTTP-query's op Linux

Stap 1
Als we een HTTP-server zoals Apache of Nginx in het systeem hebben, kunnen we het verzoeklogboek van de server doorzoeken met de volgende opdracht:

 sudo sysdig -c httplog
Stap 2
Of als we de query's willen visualiseren, zullen we uitvoeren:
 sudo sysdig -c httptop

12. Shells-implementatie en gebruikersinteractiviteit in Linux

Stap 1
Met de volgende opdracht kunnen we alle login-shell-ID's zien:

 sudo sysdig -c list_login_shells
Stap 2
Om de activiteit van de gebruikers te zien, voeren we het volgende uit:
 sudo sysdig -c spy_users

13. Sysdig-hulp op Linux op Linux


Ten slotte hebben we toegang tot de sysdig-help door een van de volgende opdrachten uit te voeren:
 man sysdig man csysdig 

VERGROTEN

Op deze manier wordt sysdig een functioneel alternatief als het gaat om het beheren, bewaken en veel preciezere controle houden over verschillende aspecten van het systeem.

wave wave wave wave wave