CentOS7下系统分析与排障利器sysdig简单介绍
sysdig是一个强大的开源工具,用于系统级别的分析,探测和排障,它的创建者在介绍它时称之为“strace+tcpdump+lsof+上面点缀着lua樱桃的绝妙酱汁”。抛开幽默不说,sysdig的最棒特性之一在于,它不仅能分析Linux系统的“现场”状态,也能将该状态保存为转储文件以供离线检查
sysdig - the definitive system and process troubleshooting tool sysdig is a tool for system troubleshooting, analysis and exploration. It can be used to capture, filter and decode system calls and other OS events. sysdig can be both used to inspect live systems, or to generate trace files that can be analyzed at a later stage. sysdig includes a powerul filtering language, has customizable output, and can be extended through Lua scripts, called chisels.
1、sysdig的安装
系统版本信息如下
[root@VM_Server ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@VM_Server ~]# uname -r
3.10.0-957.el7.x86_64
[root@VM_Server ~]#
1)在线安装
先配置好yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i "s/keepcache=0/keepcache=1/g" /etc/yum.conf
sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.conf
脚本安装sysdig
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash
2)离线安装
rpm -Uvh zlib-devel-1.2.7-18.el7.x86_64.rpm
rpm -Uvh elfutils-*.rpm
rpm -Uvh dkms-2.8.1-4.20200214git5ca628c.el7.noarch.rpm
rpm -ivh sysdig-0.26.7-x86_64.rpm
2、sysdig的使用
1、sysdig -cl (--list-chisels)列出可用的默认类目
默认有以下几类
[root@VM_Server ~]# sysdig -cl
Category: Application 应用
Category: CPU Usage CPU使用量
Category: Errors 错误
Category: I/O
Category: Logs 日志
Category: Misc
Category: Net 网络
Category: Performance 性能
Category: Security 安全
Category: System State 系统状态
Category: Tracers
2、使用-i查看具体的信息
Use the -i flag to get detailed information about a specific chisel
[root@VM_Server ~]# sysdig -i topprocs_file
Category: I/O
-------------
topprocs_file Top processes by R+W disk bytes
Shows the top processes in terms of total (in+out) bytes to disk. This chisel i
s compatible with containers using the sysdig -pc or -pcontainer argument, othe
rwise no container information will be shown.
Args:
(None)
3、用法举例
1)监控交互用户活动用法举例
作为系统管理员想要监控系统中交互的用户活动(如,用户在命令行输入了什么命令,以及用户去了什么目录),这时可以用spy_user “-z” (与“-w”一起使用)为记录文件启用压缩
-z, --compress Used with -w, enables compression for trace files
“-w ”保存sysdig记录到指定的文件
-w, --write=Write the captured events to.
-r, --read=Read the events from.
mkdir -p /log/sysdig/
sysdig -z -w /log/sysdig/spy_users.sysdigcap.gz -c spy_users
例如yuanfan这个用户登录SSH后执行了如下命令
sysdig -c spy_users可以监控到这个用户的操作命令
-r, --read=Read the events from.
sysdig -r /log/sysdig/spy_users.sysdigcap.gz -c spy_users
2)查看占用网络带宽最多的进程
sysdig -c topprocs_net
3)查看R+W读写量最大的文件
sysdig -c topfiles_bytes
4)查看CPU占用量最大的进程
sysdig -c topprocs_cpu
4、总结
sysdig是一个非常强大的工具,本文篇幅有限,其它具体用法可以参考如下几个链接或者自行查阅官方文档
1)https://www.oschina.net/p/sysdig
2)http://www.361way.com/linux-sysdig/4912.html
3)https://github.com/draios/sysdig/wiki/sysdig-user-guide
- RFID Hacking②:PM3入门指南
- HDU 1575 Tr A(矩阵快速幂)
- Python之内置函数
- Python中的logger和handler到底是个什么鬼
- 1570. [POJ3461]乌力波
- biztalk rosettanet 自定义 pip code
- Python之线程
- 3555: [Ctsc2014]企鹅QQ
- 【实战】RFID Hacking(1):看我如何突破门禁潜入FreeBuf大本营
- P2885 [USACO07NOV]电话线Telephone Wire
- 实战-Fluxion与wifi热点伪造、钓鱼、中间人攻击、wifi破解
- 【下载】PyTorch实现的神经网络翻译框架——机器翻译工具包 nmtpytorch
- P2605 [ZJOI2010]基站选址
- MYSQL之索引原理与慢查询优化
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法