北京SEO

linux系统故障检查神器Sysdig安装使用说明

2019/10/10/17:46:29  阅读:2008  来源:谷歌SEO算法  标签: 夫唯SEO视频教程

Sysdig是一款分源的、在Linux上实施系统监控和排除故障的工具,本文我们来讨论一下Sysdig安装及如何使用.

Sysdig 在操作系统层面进行监听,并将系统调用及系统事 件等系统活动捕获下来,这使得它看起来极像面向系统的 tcpdump 或 Wireshark,如果你打算对系统中的异常故障进行排查,那么 Sysdig 将成为你解决问题得心应手的利器.

在 Linux 上,可使用以下命令来安装 Sysdig:

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

这将把 Sysdig 安装到 rpm 或 deb 系的 Linux 系统.

捕获系统活动,实时捕获,结果打印到标准输出:sysdig

将捕获结果保存到文件 system.scap,方便稍后分析:sysdig -w system.scap

捕获指定的事件数 200 并保存到文件:sysdig -n 200 -w system.scap

读取已捕获的文件:sysdig -r system.scap

捕获结果解释

  1. (1)(2)(3)(4)(5)(6)(7)(8)
  2. 110:54:50.4624639560sysdig(29043)>sysdigeventevent_type=1event_data=0
  3. 210:54:50.4626031100sysdig(29043)>sysdigeventevent_type=1event_data=0
  4. 310:54:50.4627295650sysdig(29043)>sysdigeventevent_type=1event_data=0
  5. 410:54:50.4628595210sysdig(29043)>sysdigeventevent_type=1event_data=0
  6. 510:54:50.4632063170sysdig(29043)>switchnext=0pgft_maj=0pgft_min=1790vm_size=35748vm_rss=7164vm_swap=0
  7. 610:54:50.4642468350<NA>(0)>switchnext=7pgft_maj=0pgft_min=0vm_size=0vm_rss=0vm_swap=0
  8. 710:54:50.4642497072<NA>(0)>switchnext=8374pgft_maj=0pgft_min=0vm_size=0vm_rss=0vm_swap=0
  9. 810:54:50.4642559400<NA>(7)>switchnext=0pgft_maj=0pgft_min=0vm_size=0vm_rss=0vm_swap=0
  10. 910:54:50.4642642562<NA>(8374)>switchnext=0pgft_maj=0pgft_min=0vm_size=0vm_rss=0vm_swap=0
  11. 1010:54:50.4643581132<NA>(0)>switchnext=854(mlnet)pgft_maj=0pgft_min=0vm_size=0vm_rss=0vm_swap=0
  12. 1110:54:50.4643700992mlnet(854)<pollres=0fds=
  13. 1210:54:50.4643781932mlnet(854)>pollfds=timeout=5
  14. 1310:54:50.4643854002mlnet(854)>switchnext=0pgft_maj=216pgft_min=3386vm_size=162608vm_rss=12196vm_swap=2716
  15. 1410:54:50.4649505410<NA>(0)>switchnext=1105(memcached)pgft_maj=0pgft_min=0vm_size=0vm_rss=0vm_swap=0
  16. 1510:54:50.4649546920memcached(1105)<epoll_waitres=0
  17. 1610:54:50.4649760070memcached(1105)>epoll_waitmaxevents=32--phpfensi.com
  18. 1710:54:50.4649840300memcached(1105)>switchnext=0pgft_maj=3pgft_min=247vm_size=327412vm_rss=1860vm_swap=468
  19. 1810:54:50.4652566872<NA>(0)>switchnext=2181(plugin-containe)pgft_maj=0pgft_min=0vm_size=0vm_rss=0vm_swap=0
  20. 1910:54:50.4652614652plugin-containe(2181)<pollres=0fds=
  21. 2010:54:50.4652976922plugin-containe(2181)>getrlimitresource=3(RLIMIT_STACK)

通过 Sysdig 捕获的结果如上所示,每列的意思分别为:

  1. 事件编号
  2. 时间戳
  3. CPU编号
  4. 进程名
  5. 线程ID
  6. 事件方向,>为进入事件,<为退出事件
  7. 事件类型,比如open、read等
  8. 事件参数列表

过滤捕获结果

在默认情况下,Sysdig 捕获的信息非常多,要从中找到我们感兴趣的信息,这就需要类似 grep 的过滤功能.

按字段类别进行过滤:sysdig -r system.scap proc.name=sysdig

这条命令过滤出进程名为 sysdig 的系统事件,结果为:

  1. 110:54:50.4624639560sysdig(29043)>sysdigeventevent_type=1event_data=0
  2. 210:54:50.4626031100sysdig(29043)>sysdigeventevent_type=1event_data=0
  3. 310:54:50.4627295650sysdig(29043)>sysdigeventevent_type=1event_data=0
  4. 410:54:50.4628595210sysdig(29043)>sysdigeventevent_type=1event_data=0
  5. 510:54:50.4632063170sysdig(29043)>switchnext=0pgft_maj=0pgft_min=1790vm_size=35748vm_rss=7164vm_swap=0

Sysdig 提供包括 fd、process、evt、user、group、syslog 等字段类别,可通过 sysdig -l 查询.

除 = 外,Sysdig 的过滤表达式还支持 !=、<、<=、>、>= 及 contains 等比较操作符.

同时,也可以使用 and、or、not 等布尔操作符,例如:

  1. sysdig-rsystem.scapproc.name=sysdigandevt.type=switch
  2. Chisels

在 Sysdig 中,chisels 是通过 Lua 编写的脚本,可以用来扩展 Sysdig 的过滤功能,比如我们想看读写磁盘文件最频繁的进程,可以使用 topprocs_file 这个 chisels:

sysdig -c topprocs_file

结果为:

  1. BytesProcess
  2. ------------------------------
  3. 448.36KBmozStorage
  4. 220.38KBperl
  5. 1.69KBtmux
  6. 1.62KBsh
  7. 1.59KBXorg
  8. 1.30KBurxvtd

更多 chisels,可通过 sysdig -cl 了解,当然,如果你熟悉 Lua,那么也可以编写自己的 chisels.

广告内容

linux系统故障检查神器Sysdig安装使用说明 linux系统故障检查神器Sysdig安装使用说明 linux系统故障检查神器Sysdig安装使用说明

相关阅读

热门评论

小潘seo 小潘seo

重庆小潘seo博客和你一起学习SEO知识,共同分享SEO优化~

总篇数165

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法