热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sysdig_linuxsysdig系统监控神器

sysdig介绍:当需要追踪某个进程产生和接收的系统调用时,你可能会想到strace。你会使用什么样的命令行工具来监控原始网络通信呢?如果

sysdig介绍:

当需要追踪某个进程产生和接收的系统调用时,你可能会想到strace。你会使用什么样的命令行工具来监控原始网络通信呢?如果你想到了tcpdump。而如果你碰到必须追踪打开的文件的需求,可能你会使用lsof。strace、tcpdump和lsof确实是必备的工具,而这也正是你为什么应该使用sysdig的原因。它是一个强大的开源工具,用于系统级别的勘察和排障,它的创建者在介绍它时称之“strace+tcpdump+lsof+上面点缀着lua樱桃的绝妙酱汁”。抛开幽默不说,sysdig的最棒特性之一在于,它不仅能分析Linux系统的“现场”状态,也能将该状态保存为转储文件以供离线检查。更重要的是,你可以自定义sysdig的行为,或者甚至通过内建的(你也可以自己编写)名为凿子(chisel)的小脚本增强其功能。单独的凿子可以以脚本指定的各种风格分析sysdig捕获的事件流。

sysdig安装:

sudo curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash         note:网络不是很稳定,可以多试几次

sysdig选项:

sysdig是一个工具箱,包含很多工具,同时选项比较多,这里只选择一些常用的,其余的读者可以自行man sysdig或sysdig -l等来学习;

sysdig  -s 指定缓存达到多少字节时保存到磁盘,也就是一行只保留多少字节。

sysdig  -w  file.scap 把追踪到的数据保存在文件  注意 文件只能用 sysdig命令 才能查看。

sysdig  -r file.scap   阅读保存的数据文件。

sysdig  -cl  列出可以使用的 chisel,chisel 名为凿子 是一种分析脚本,sysdig自带的,也可以自己创建。

sysdig -c chiselName  指定使用 chiselName的脚本来分析数据。

sysdig  -A    (--print-ascii)   表示只打印数据中的文本部分 ,人可以直接读取的部分。

sysdig  -b     (--print-base64) 已base64的格式打印数据,这个对于需要把数据给别的工具分析比较有用。

默认情况下 sysdig会把捕捉到的事件 按照下面的格式打印:

%evt.num(事件的序号),%evt.time(事件发生的时间)  %evt.cpu(cpu的序号) %evt.type(事件的名称)  %evt.info   %proc.name(进程名称) %evt.dir    %thread.tid

sysdig -l 可以查看 一个域的用法  比如  sysdig -l fd 。

sysdig使用示例:

查看所有本机发出的以get方式请求的http请求

sysdig -s 2000  -A -c echo_fds fd.port=80 and evt.buffer contains GET

查看磁盘io排名

sysdig -c topprocs_file

查看进程占用的网络带宽占比

sysdig -c topprocs_net

查看读写活跃的文件目录排名

sysdig -c fdbytes_by fd.directory "fd.type=file"

查看cpu使用排名

sysdig -c topproces_cpu

获取机器的所有数据流,并将数据存储在文件中

sysdig -s 4096 -w file.scap



推荐阅读
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文讨论了在iOS平台中的Metal框架中,对于if语句中的判断条件的限制和处理方式。作者提到了在Metal shader中,判断条件不能写得太长太复杂,否则可能导致程序停留或没有响应。作者还分享了自己的经验,建议在CPU端进行处理,以避免出现问题。 ... [详细]
  • 技嘉秀高端B450主板:不再支持第七代APU,性价比高且兼容锐龙一代和二代
    在台北电脑展上,技嘉展示了一款高端的B450主板,型号为“b450 aorus pro wi-fi”。该主板具有10+1相供电、散热片覆盖的供电区域和芯片组,以及两个m.2插槽和背部IO挡板。虽然不支持第七代APU bristol ridge,但它兼容锐龙一代和二代,且具有较高的性价比。该主板还配备了音频声卡、Wi-Fi无线网卡等功能,是一款性能出色且设计精良的主板。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了go接口相关的知识,希望对你有一定的参考价值。一、接口是什么接口提供了一种方式来 说明 对象的行为 ... [详细]
  • 加密、解密、揭秘
    谈PHP中信息加密技术同样是一道面试答错的问题,面试官问我非对称加密算法中有哪些经典的算法?当时我愣了一下,因为我把非对称加密与单项散列加 ... [详细]
  • cocos2dx-lua使用UIListView制作二级折叠菜单
    折叠菜单,用过jqueryaccordion的同学都知道是啥玩艺儿~,图片效果就是介样:cocos2dx不带有此控件,因此我们动手来实现一个。原理很简单,展开的时候往listview里i ... [详细]
  • Server Installation for Jitsi Meet
    2019独角兽企业重金招聘Python工程师标准ServerInstallationforJitsiMeetThisdescribesconfiguringaserverji ... [详细]
author-avatar
raz4150266
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有