超级系统工具Sysdig,比 strace、tcpdump、lsof 加起来还强大

可以用sysdig命令做很多很酷的事情

网络

  • 查看占用网络带宽最多的进程 sysdig -c topprocs_net
  • 显示主机192.168.0.1的网络传输数据 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
  • 查看连接最多的服务器端口 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
  • 查看客户端连接最多的ip 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
  • 列出所有不是访问apache服务的访问连接 sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"

容器

  • 查看机器上运行的容器列表及其资源使用情况 sudo csysdig -vcontainers
  • 查看容器上下文的进程列表 sudo csysdig -pc
  • 查看运行在wordpress1容器里CPU的使用率 sudo sysdig -pc -c topprocs_cpu container.name=wordpress1
  • 查看运行在wordpress1容器里网络带宽的使用率 sudo sysdig -pc -c topprocs_net container.name=wordpress1
  • 查看在wordpress1容器里使用网络带宽最多的进程 sudo sysdig -pc -c topprocs_net container.name=wordpress1
  • 查看在wordpress1 容器里占用 I/O 字节最多的文件 sudo sysdig -pc -c topfiles_bytes container.name=wordpress1
  • 查看在wordpress1 容器里网络连接的排名情况 sudo sysdig -pc -c topconns container.name=wordpress1
  • 显示wordpress1容器里所有命令执行的情况 sudo sysdig -pc -c spy_users container.name=wordpress1

应用

  • 查看机器所有的HTTP请求 sudo sysdig -s 2000 -A -c echo_fds fd.port=80 and evt.buffer contains GET
  • 查看机器所有的SQL select查询 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

硬盘 I/O

  • 查看使用硬盘带宽最多的进程 sysdig -c topprocs_file
  • 列出使用大量文件描述符的进程 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

进程和CPU使用率

  • 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

性能和错误

  • 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

安全

  • 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

原文链接:http://www.sysdig.org/wiki/sysdig-examples/ 网摘文章,如有不妥,请联系我们!

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2015-10-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT笔记

记一次8小时惊心动魄的服务器+网站升级

写在前面,这篇文章服务器升级后然并没有找到论坛Discuz和博客Typecho异常所在,捯饬了半天最终选择升级和重装,成功解决。有些时候感觉真的没必要追究问题所...

47280
来自专栏Java后端技术

Python学习的路上,Anaconda送你一双遮天神翼

​  最近在学习python,发现在本地搭建python环境的时候,要是想要同时搭建不同python版本的环境,就比较麻烦,很容易就出现冲突了,很是头疼。然后光...

10520
来自专栏做全栈攻城狮

利用mono实现ASP.NET跨平台和nginx负载均衡

作为.net程序员大部分接触的是windows服务器。因为作为微软原生的操作系统对.net的支持性是最好的。

19530
来自专栏数据和云

深入内核:监听器的工作原理与故障诊断分析

熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 在Oracle的官方文档《Oracle Database PerformanceT...

47570
来自专栏Urahara Blog

Equation Group泄漏工具简单试用与MS17-010漏洞利用

20630
来自专栏CSDN技术头条

Schemaless架构(二):Uber基于MySQL的Trip数据库

ber的Schemaless数据库是从2014年10月开始启用的,这是一个基于MySQL的数据库,本文就来探究一下它的架构。本文是系列文章的第二部分;第一部分是...

26870
来自专栏伪君子的梦呓

在 VMware workstation 安装 CentOS 虚拟机

23830
来自专栏云计算教程系列

如何在Debian 8上发布Booktype书籍

Booktype是一个专门用于制作书籍的内容管理系统,包括您可以掌握的真实,美观的书籍。

9500
来自专栏JadePeng的技术博客

Docker+Jenkins持续集成环境(2)使用docker+jenkins构建nodejs前端项目

前文使用Docker搭建Jenkins+Docker持续集成环境我们已经搭建了基于docker+jenkins的持续集成环境,并构建了基于maven的项目。这一...

67670
来自专栏不忘初心

基于zookeeper的daemon框架方案——支持容灾和心跳监控

在线上项目中,很多时候需要起一个daemon做守护进程,用于不停地或以一定间隔地执行工作,比如每隔20s把内存中的数据做快照写磁盘。

23250

扫码关注云+社区

领取腾讯云代金券