Sysdig 是一个超级系统工具,比 strace、tcpdump、lsof 加起来还强大。可用来捕获系统状态信息,保存数据并进行过滤和分析。使用 Lua 开发,提供命令行接口以及强大的交互界面。

使用示例:

网络

  • 查看占用网络带宽最多的进程

    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

Linux工具- Sysdig的更多相关文章

  1. 第2章 Linux系统安装(3)_SSH连接Linux工具:SecureCRT和WinSCP

    4. SSH连接Linux工具 4.1 Linux网卡配置 (1)临时配置: ifconfig eth0 192.168.32.100 //给eth0网卡指定IP,写在ROM里的,关机会丢失. (2) ...

  2. 发布《Linux工具快速教程》

    发布<Linux工具快速教程> 阶段性的完成了这本书开源书籍,发布出来给有需要的朋友,同时也欢迎更多的朋友加入进来,完善这本书: 本书Github地址:https://github.com ...

  3. Linux工具XFTP、Xshell(centos配置java环境 工具篇 总结一)

    ♣Xmanager5是什么? ♣安装XFTP ♣安装Xshell 1.Xmanager5(官网:https://www.netsarang.com/download/software.html)是全新 ...

  4. Linux工具参考篇(网摘)

    Linux工具参考篇 原文出处:[Linux Tools Quick Tutorial] 1. gdb 调试利器 2. ldd 查看程序依赖库 3. lsof 一切皆文件 4. ps 进程查看器 5. ...

  5. linux 工具学习网站

    推荐一个很不错的linux工具学习网站; 对于一个开发人员来说,我觉得掌握这些工具对于基于linux的应用开发来说事半功倍. http://linuxtools-rst.readthedocs.io/ ...

  6. Kali Linux 工具清单

    Kali Linux 工具清单 Information Gathering acccheck ace-voip Amap Automater bing-ip2hosts braa CaseFile C ...

  7. Linux工具[转]

    ref: https://github.com/linw7/Skill-Tree/blob/master/Linux%E5%B7%A5%E5%85%B7.md Linux工具 Linux下还是有很多超 ...

  8. 推荐两款远程管理Linux工具(基于Windows系统)

    推荐两款远程管理Linux工具(基于Windows系统) 1.Xshell 百度百科:Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows ...

  9. Linux工具快速教程

    看到一linux中常用工具使用教程,非常好.猛击下面的地址 github:https://github.com/me115/linuxtools_rst 在线文档:http://linuxtools- ...

随机推荐

  1. 用key管理可复用元素

    先看看不用key管理可复用元素的代码.Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染.这么做,除了使 Vue 变得非常快之外,还有一些有用的好处,那就是在切换input时不会清楚 ...

  2. python之scrapy模块logging日志

    1.知识点 """ logging : scrapy: settings中设置LOG_LEVEL="WARNING" settings中设置LOG_F ...

  3. requestLibrary API

    requestLibrary API Keyword Arguments Documentation Create Ntlm Session alias, url, auth, headers={}, ...

  4. java和delphi共用的des加密解密

    java: import antlr.StringUtils;import org.jeecgframework.core.util.StringUtil; import java.security. ...

  5. JavaScript(4)——CSS选择的艺术

    CSS选择的艺术 常用常见的选择器: 类选择器[ .class ],id选择器[ #id ],全局选择器[ * ],元素选择器[ element ] 根据层次关系定位: (1) element, el ...

  6. SVN 服务器 配置

    1.目录结构 2.用户分配 3.目录权限 4.linux下的SVN服务器 5.配置svnserver.conf 注意左边不要有空格 注意文件的权限 chmod -R 777 /opt/svn/blue ...

  7. C++中非数nan的定义与范例

    /* * C++中非数的定义 NaN :阶码的每个二进制位全为1  并且  尾数不为0: 无穷:阶码的每个二进制位全为1  并且  尾数为0:符号位为0,是正无穷, 符号位为1是负无穷.所以NaN.正 ...

  8. Micro LED 技术详谈

    一.显示技术的发展概况 1. 显示技术 顾名思义,是一种将反映客观外界事物的信息(光学的.电学的.声学的.化学等),经过变换处理,以适当形式(主要有图像.图形.数码.字符)加以显示.供人观看.分析.利 ...

  9. docker笔记(2)——docker镜像操作

    操作环境:mac OS 10.14.6 docker版本:10.03.1 终端:iterm2 3.3 时间:2019年8月 docker 镜像,是运行容器的模板,通过pull操作会向指定仓库获取镜像, ...

  10. 解析Health端点数据获取异常数据

    问题: 由于健康节点响应类型是Health类,并且由于需要执行的健康状态类不固定,返回的类型数据的字段不是固定的,所以使用了@JsonAngGetter 注解,照成了解析这个JSON 结构非常不方便. ...