Introduction to powerful system tool Sysdig command example
Sysdig is a monitoring tool that allows system administrators and developers to gain unprecedented insight into their system behavior. We can use the sysdig command to do a lot of cool things. If you have more interesting usage and want to add it to the following command example, please let us know!
1. Network
View the processes that consume the most network bandwidth:
- sysdig -c topprocs_net
The network transmission data of host 192.168.0.1 is displayed:
- as binary:
- sysdig -s2000 -X -c echo_fds fd.cip=192.168.0.1
- as ASCII:
- sysdig -s2000 -A -c echo_fds fd.cip=192.168.0.1
View the most connected server ports:
- in terms of established connections:
- sysdig -c fdcount_by fd.sport "evt.type=accept"
- in terms of total bytes:
- sysdig -c fdbytes_by fd.sport
View the most connected ip addresses on the client:
- in terms of established connections
- sysdig -c fdcount_by fd.cip "evt.type=accept"
- in terms of total bytes
- sysdig -c fdbytes_by fd.cip
List all access connections that are not accessing the apache service:
- sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
2. Container
View the list of containers running on the machine and their resource usage:
- sudo csysdig -vcontainers
View the process list of the container context:
- sudo csysdig -pc
View the CPU usage in the wordpress1 container:
- sudo sysdig -pc -c topprocs_cpu container.name=wordpress1
View the network bandwidth usage in the wordpress1 container:
- sudo sysdig -pc -c topprocs_net container.name=wordpress1
View the processes that use the most network bandwidth in the wordpress1 container:
- sudo sysdig -pc -c topprocs_net container.name=wordpress1
View the files that occupy the most I/O bytes in the wordpress1 container:
- sudo sysdig -pc -c topfiles_bytes container.name=wordpress1
View the ranking of network connections in the wordpress1 container:
- sudo sysdig -pc -c topconns container.name=wordpress1
Display the execution of all commands in the wordpress1 container:
- sudo sysdig -pc -c spy_users container.name=wordpress1
3. Application
View All HTTP requests on the machine:
- sudo sysdig -s 2000 -A -c echo_fds fd.port=80 and evt.buffer contains GET
View All SQL select queries on the machine:
- sudo sysdig -s 2000 -A -c echo_fds evt.buffer contains SELECT
- See queries made via apache to an external MySQL server happening in real time
- sysdig -s 2000 -A -c echo_fds fd.sip=192.168.30.5 and proc.name=apache2 and evt.buffer contains SELECT
4. Hard Disk I/O
View the process that uses the most disk bandwidth:
- sysdig -c topprocs_file
List processes that use a large number of file descriptors:
- sysdig -c fdcount_by proc.name "fd.type=file"
- See the top files in terms of read+write bytes
- sysdig -c topfiles_bytes
- Print the top files that apache has been reading from or writing to
- sysdig -c topfiles_bytes proc.name=httpd
- Basic opensnoop: snoop file opens as they occur
- sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
- See the top directories in terms of R+W disk activity
- sysdig -c fdbytes_by fd.directory "fd.type=file"
- See the top files in terms of R+W disk activity in the /tmp directory
- sysdig -c fdbytes_by fd.filename "fd.directory=/tmp/"
- Observe the I/O activity on all the files named 'passwd'
- sysdig -A -c echo_fds "fd.filename=passwd"
- Display I/O activity by FD type
- sysdig -c fdbytes_by fd.type
Process and CPU usage:
- See the top processes in terms of CPU usage
- sysdig -c topprocs_cpu
- See the top processes for CPU 0
- sysdig -c topprocs_cpu evt.cpu=0
- Observe the standard output of a process
- sysdig -s4096 -A -c stdout proc.name=cat
Performance and errors:
- See the files where most time has been spent
- sysdig -c topfiles_time
- See the files where apache spent most time
- sysdig -c topfiles_time proc.name=httpd
- See the top processes in terms of I/O errors
- sysdig -c topprocs_errors
- See the top files in terms of I/O errors
- sysdig -c topfiles_errors
- See all the failed disk I/O calls
- sysdig fd.type=file and evt.failed=true
- See all the failed file opens by httpd
- sysdig "proc.name=httpd and evt.type=open and evt.failed=true"
- See the system calls where most time has been spent
- sysdig -c topscalls_time
- See the top system calls returning errors
- sysdig -c topscalls "evt.failed=true"
- snoop failed file opens as they occur
- sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open and evt.failed=true
- Print the file I/O calls that have a latency greater than 1ms:
- sysdig -c fileslower 1
5. Security
- Show the directories that the user "root" visits
- sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
- Observe ssh activity
- sysdig -A -c echo_fds fd.name=/dev/ptmx and proc.name=sshd
- Show every file open that happens in /etc
- sysdig evt.type=open and fd.name contains /etc
- Show the ID of all the login shells that have launched the "tar" command
- sysdig -r file.scap -c list_login_shells tar
- Show all the commands executed by the login shell with the given ID
- sysdig -r trace.scap.gz -c spy_users proc.loginshellid=5459
Original article:Http://www.sysdig.org/wiki/sysdig-examples/