Toplam Sayfa Görüntüleme Sayısı

8 Eylül 2017 Cuma

Sysdig

Selamlar; 
Bu paylaşımda "Sysdig" isimli sistem izleme (system monitoring) yazılımından bahsedeceğim. Sysdig çeşitli kategoriler altında bilgi verme özelliğine sahip güçlü bir araç, paylaşımın ilerleyen kısımlarında bu katergoriler ve kullanımı ile ilgili örnekler vereceğim. Konuyu dağıtmadan hızlıca "sysdig" kurulumuna başlayalım. NOT: Kurulum ortamı olarak Ubuntu 16.04 LTS sürüm kullanılmıştır. sysdig web adresinden sysdig hakkında daha fazla bilgi alınabilir (Fedora türevleri redhat-centos kurulum ve rpm hakkında). Paylaşımlarım da  ağırlıklı olarak Debian ve Ubuntu tercih ediyorum, yakın zamanda Centos kurulumlarınada değineceğim.Sysdig "mikisoft windows,Linux (debian&fedora),OSX (Mac) ve Docker container  gibi farklı ortamlara kurulabilmekte) sysdig.org adresinden kurulum yönergeleri ve farklı dağıtımlara ait paketlere ulaşılmakta. 

Sysdig kurulum adımları;
1-)Hızlı Kurulum

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

2-)Apt-get ile Kurulum

curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -
curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list
apt-get update
apt-get -y install linux-headers-$(uname -r)
apt-get -y install sysdig

3-)Paket ile Kurulumu

Kurulum paketlerine (deb/rpm/windows) packages adresinden ulaşabilirsiniz.
Debian ve Ubuntu için "dpkg -i paket-adı"
Fedora ve türevleri için "rpm -ivh paket-adı" komutları ile,tabiki bağımlılıkları 
çözmeniz kaydıyla kurulum yapabilirsiniz. 
Kurulumu tamamladığımıza göre, sysdig ile sunucumuzu izleyebiliriz.Anlatımın başında bahsettiğim kategori ve bunlara ait alt kırılım log kesitlerini örneklerle bu kısımda yapmaya başlayalım.

Aşağıdaki komut ile kategori/komut listesine ulaşılmakta
sudo sysdig -cl
Kategori/Komut hakkında ayrıntılı bilgi için;
sudo sysdig -i (httplog|httptop)
---------------------Kategori/Komut--------------------------------------------
Category: Application
---------------------
httplog         HTTP requests log
httptop         Top HTTP requests
memcachelog     memcached requests log

Category: CPU Usage
-------------------
spectrogram     Visualize OS latency in real time.
subsecoffset    Visualize subsecond offset execution time.
topcontainers_cpu
                Top containers by CPU usage
topprocs_cpu    Top processes by CPU usage

Category: Errors
----------------
topcontainers_error
                Top containers by number of errors
topfiles_errors Top files by number of errors
topprocs_errors top processes by number of errors

Category: I/O
-------------
echo_fds        Print the data read and written by processes.
fdbytes_by      I/O bytes, aggregated by an arbitrary filter field
fdcount_by      FD count, aggregated by an arbitrary filter field
fdtime_by       FD time group by
iobytes         Sum of I/O bytes on any type of FD
iobytes_file    Sum of file I/O bytes
spy_file        Echo any read/write made by any process to all files. Optionall
                y, you can provide the name of one file to only intercept reads
                /writes to that file.
stderr          Print stderr of processes
stdin           Print stdin of processes
stdout          Print stdout of processes
topcontainers_file
                Top containers by R+W disk bytes
topfiles_bytes  Top files by R+W bytes
topfiles_time   Top files by time
topprocs_file   Top processes by R+W disk bytes

Category: Logs
--------------
spy_logs        Echo any write made by any process to a log file. Optionally, e
                xport the events around each log message to file.
spy_syslog      Print every message written to syslog. Optionally, export the e
                vents around each syslog message to file.

Category: Misc
--------------
around          Export to file the events around the time range where the given
                 filter matches.

Category: Net
-------------
iobytes_net     Show total network I/O bytes
spy_ip          Show the data exchanged with the given IP address
spy_port        Show the data exchanged using the given IP port number
topconns        Top network connections by total bytes
topcontainers_net
                Top containers by network I/O
topports_server Top TCP/UDP server ports by R+W bytes
topprocs_net    Top processes by network I/O

Category: Performance
---------------------
bottlenecks     Slowest system calls
fileslower      Trace slow file I/O
netlower        Trace slow network I/0
proc_exec_time  Show process execution time
scallslower     Trace slow syscalls
topscalls       Top system calls by number of calls
topscalls_time  Top system calls by time

Category: Security
------------------
list_login_shells
                List the login shell IDs
shellshock_detect
                print shellshock attacks
spy_users       Display interactive user activity

Category: System State
----------------------
lscontainers    List the running containers
lsof            List (and optionally filter) the open file descriptors.
netstat         List (and optionally filter) network connections.
ps              List (and optionally filter) the machine processes.

Category: Tracers
-----------------
tracers_2_statsd
                Export spans duration as statds metrics.

Use the -i flag to get detailed information about a specific chisel
Kısa bir mola.

Category: Application

sudo su
sysdig -c httplog
Bu örnekte tomcat üzerinde koşan "postgresql studio" uygulamasına oturum açtım ve sysdig ile bu oturum ile ilgili logları listeledim.Bu arada ilerleyen zamanlarda postgresql ile ilgili bir paylaşım yapmayı planlamaktayım.Acil ihitiyacı olanlar için; https://hub.docker.com/r/mehmetocal79/ubuntu/ ubuntu 16.04 LTS base imaj üzerine utf8 postgresql-9.6 docker imajı yukarıdaki adresten pull edebilirsiniz.Docker kullanımı hakkında bilgi için ;
Docker Container
Category: CPU Usage

sudo su
sysdig -c topprocs_cpu
Docker container çalıştırıyorsanız ve bu containerlerin cpu kullanımlarını görmek istersek;
sysdig -c
topcontainers_cpu
Category: Errors

sysdig -c topprocs_errors
Category: I/O

sysdig -c topprocs_file
 Category: Logs

sysdig -c spy_logs
Category: Net

sysdig -c spy_port 5432
sysdig -c topports_server
sysdig -c spy_ip 172.18.0.20
Category: Performance

sysdig -c netlower 0
sysdig -c fileslower 0
Category: Security

Bu örnekte aynı sunucu üzerinde iki ssh oturumu açtım,(root ve mocal),root
root kullanıcı oturumunda aşağıdaki komutu çalıştıyorum ve mocal oturumunda
birkaç komut çalıştıracağım.
sysdig -c spy_users
 
mocal oturumunda çalıştırdığım komutlar.
Category: System State
sysdig -c lscontainers
Csysdig
Sysdig aracının grafik arayüzü, htop benzeri bir ekrana sahip kullanıcı dostu.
csysdig
Sysdig hakkında olabildiğince basit bilgiler vermeye çalıştım.Uygulamanın çok daha fazla özelliği bulunmakta "man sysdig" komutu ile daha ayrıntılı log ve monitoring komutları oluşturabilirsiniz.
Bu paylaşımında sonuna geldik,başka bir paylaşımda görüşmek üzere.Pentagram ile veda ediyorum.
Mehmet ÖCAL 2017
iletişim:mehmetocal79@gmail.com

Hiç yorum yok: