前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sysdig命令参考手册

sysdig命令参考手册

原创
作者头像
用户10638239
发布2024-03-27 11:38:55
4810
发布2024-03-27 11:38:55
举报
文章被收录于专栏:LlinuxLlinux

六-r < filename >

-c < chiselname > < chiselargs >

指定打印事件时使用的格式。

-p < output_format>, --print=< output_format>,

使用-pc或-pcontainer 容器友好的格式,

使用-pk或-pkubernetes k8s友好的格式多少秒后停止收集。

-M < num_seconds >

列出可用于过滤和输出的字段。

-L, --list

抓取给定端口的数据交换

spy_port

抓取给定ip的数据交换

spy_ip

输出文件的读写数据,可以提供某个文件名作为参数

spy_file

列出网络连接情况

netsata

输出进程读写数据

echo_fds

fdcount_by 按照建立连接书对进程排序

fdcount_by 按照建立连接书对进程排序

按照网络使用情况对进程排序

topprocs_net

输出按照cpu使用率排序

topprocs_cpu

输出所有的http请求

httplog

说明

事件的参数。如果为系统调用,则对应系统调用的参数

evt.args

事件的名称,比如open、stat等,一般为系统调用

evt.type

evt.dir

thread.tid 线程id,单线程则为进程id

thread.tid 线程id,单线程则为进程id

生成事件的进程名字

proc.name

evt.num 递增的事件号

evt.cpu 事件被捕获时所在cpu

evt.cpu 事件被捕获时所在cpu

evt.time 事件发生的时间

evt.time 事件发生的时间

事件 说明

事件 说明

事件 说明

evt.num 递增的事件号

evt.num 递增的事件号

这个 SYSDIG 快速参考备忘清单显示了常用命令和配置使用清单,

注意事项:此命令需要依赖kernel-devel,且最好为系统自带的大版本,如:contso7 3.10.x,否则需要自己编译处理依赖。

一 命令安装

二 常用参数

参数

说明

-L, --list

列出可用于过滤和输出的字段。

-M < num_seconds >

多少秒后停止收集。

-p < output_format>, --print=< output_format>, 使用-pc或-pcontainer 容器友好的格式, 使用-pk或-pkubernetes k8s友好的格式

指定打印事件时使用的格式。

-c < chiselname > < chiselargs >

指定内置工具,可直接完成具体的数据聚合、分析工作。

-C 5

每个文件不超过5M

-W 10

保留不超过10个文件

-G 60

每个文件只保留一分钟内的系统活动

-w dump.pcap || -w < filename >

保存到文件 ,特定格式,要用sysdig打开。

-e 1000

每个文件只有1000个事件

-z

参数对保存的内容进行压缩

-A --print-ascii

把buffer中数据按照ASCII格式打印,方便阅读

-x --print-hex

把buffer中数据按照十六进制打印

-X --printhex-ascii

把buffer中数据同时按照ASCII格式和十六进制打印

-s 1024

捕获buffer的数据大小,默认为80,设置过大,文件会很大

-N

不用把端口号转成可读名字

-r < filename >

从文件读取

三 输出含义

事件

说明

evt.num

递增的事件号

evt.time

事件发生的时间

evt.cpu

事件被捕获时所在cpu

proc.name

生成事件的进程名字

thread.tid

线程id,单线程则为进程id

evt.dir

事件方向(direction), > 代表进入事件, < 代表退出事件

evt.type

事件的名称,比如open、stat等,一般为系统调用

evt.args

事件的参数。如果为系统调用,则对应系统调用的参数

四 chisels常用工具

事件

说明

httplog

输出所有的http请求

topprocs_cpu

输出按照cpu使用率排序

topprocs_net

按照网络使用情况对进程排序

fdcount_by

按照建立连接书对进程排序

echo_fds

输出进程读写数据

netsata

列出网络连接情况

spy_file

输出文件的读写数据,可以提供某个文件名作为参数

spy_ip

抓取给定ip的数据交换

spy_port

抓取给定端口的数据交换

五 命令帮助

六 IO

七 网络

八 进程

九 常用

9.1 采集分析

采集数据示例:

59509 23:59:19.023099531 0 kubelet (1738) < epoll_ctl

采集数据格式:

%evt.num %evt.outputtime %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.info

字段说明:

evt.num: 递增的事件号。

evt.time: 事件发生的时间。

evt.cpu: 事件被捕获时所在的 CPU,也就是系统调用是在哪个 CPU 执行的。

proc.name: 生成事件的进程名字。

thread.tid: 线程的 id,如果是单线程的程序,这也是进程的 pid。

evt.dir: 事件的方向(direction),> 代表进入事件,< 代表退出事件。

evt.type: 事件的名称,比如 open、stat等,一般是系统调用。

evt.args: 事件的参数。如果是系统调用,这些对应着系统调用的参数

9.2 采集系统调用事件。

65611 05:29:20.772919597 1 sshd (22944.22944) > write fd=3(<4t>192.168.130.1:58986->192.168.130.147:22) size=4148

第一列(65611):事件编号,从1开始记录。

第二列(05:29:20.772919597):时间。

第三列(1):进程当前工作所在的cpu编号,从0开始。

第四列(sshd):进程名称。

第五列(22944.22944) :括号里是线程id,两个数值相同说明就一个线程。

第六列( > ): 进入事件,<代表退出事件。

第七列(write):事件名称。

第八列:事件信息,fd=3 是指打开的文件描述符是3,这里就是建立了一条TCP链接。

9.3 自定义过滤条件采集数据,对系统调用的事件编号和cpu进行采集1秒。

9.4 示例

sysdig常用过滤目标:

fd:根据文件描述符过滤,比如 fd 标号(fd.num)、fd 名字(fd.name)

process:根据进程信息过滤,比如进程 id(proc.id)、进程名(proc.name)

evt:根据事件信息过滤,比如事件编号、事件名

user:根据用户信息过滤,比如用户 id、用户名、用户 home 目录

syslog:根据系统日志过滤,比如日志的严重程度、日志的内容

container:根据容器信息过滤,比如容器ID、容器名称、容器镜像

支持运算操作符:

=、!=、>=、>、<、<=、contains、in 、exists、and、or、not

9.5 查看某进程系统调用事件

9.5.1 查看kubelet进程的系统调用。

9.5.2 查看nginx进程的系统调用。

9.6 查看建立TCP连接事件

tcp三次握手时,有个标识是accept。

9.7 查看某目录下打开的文件描述符

9.7.1 查看/etc/当前目录下打开的文件描述符。

9.7.2 查看/etc/目录下所有目录打开的文件描述符。

9.8 Chisels工具

Chisels是个实用的工具箱,一组预定义的功能集合,用来分析特定的场景。

sysdig –cl 列出所有Chisels,常用的如下:

topprocs_cpu:输出按照 CPU 使用率排序的进程列表

topprocs_net:输出进程使用网络TOP

topprocs_file:进程读写磁盘文件TOP

topfiles_bytes:读写磁盘文件TOP

netstat:列出网络的连接情况

9.8.1 网络类

9.8.2 硬盘类

9.8.3 cpu类

9.8.4 容器类

9.9 示例

1.查看当前系统cpu使用占比最高的进程。

2.查看网络。

3.查看哪些进程在磁盘读写。

4.查看哪些文件在磁盘读写。

5.查看端口被链接的数量。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 命令安装
  • 二 常用参数
  • 三 输出含义
  • 四 chisels常用工具
  • 五 命令帮助
  • 六 IO
  • 七 网络
  • 八 进程
  • 九 常用
    • 9.1 采集分析
      • 9.2 采集系统调用事件。
        • 9.3 自定义过滤条件采集数据,对系统调用的事件编号和cpu进行采集1秒。
          • 9.4 示例
            • 9.5 查看某进程系统调用事件
              • 9.5.1 查看kubelet进程的系统调用。
              • 9.5.2 查看nginx进程的系统调用。
            • 9.6 查看建立TCP连接事件
              • 9.7 查看某目录下打开的文件描述符
                • 9.7.1 查看/etc/当前目录下打开的文件描述符。
                • 9.7.2 查看/etc/目录下所有目录打开的文件描述符。
              • 9.8 Chisels工具
                • 9.8.1 网络类
                • 9.8.2 硬盘类
                • 9.8.3 cpu类
                • 9.8.4 容器类
              • 9.9 示例
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档