百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

CentOS7下系统分析与排障利器sysdig简单介绍

qiyuwang 2024-11-03 16:30 30 浏览 0 评论

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 -clCategory: 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

相关推荐

基于Docker方式安装与部署Camunda流程引擎

1Camunda简介官网:https://docs.camunda.org/manual/7.19/installation/docker/Camunda是一个轻量级、开源且高度灵活的工作流和决策自...

宝塔Linux面板如何部署Java项目?(宝塔面板 linux)

通过宝塔面板部署Java还是很方便的,至少不需要自己输入tomcat之类的安装命令了。在部署java项目前,我还是先说下目前的系统环境,如果和我的系统环境不一样,导致部署不成功,那你可能需要去找其他资...

浪潮服务器如何用IPMI安装Linux系统

【注意事项】此处以浪潮服务器为例进行演示所需使用的软件:Chrome浏览器个人PC中需要预先安装java,推荐使用jdk-8u181-windows-x64.exe【操作步骤】1、在服务器的BIOS中...

Centos7环境Hadoop3集群搭建(hadoop集群环境搭建实验报告)

由于项目需要存储历史业务数据,经过评估数据量会达到100亿以上,在原有mongodb集群和ES集群基础上,需要搭建Hbase集群进行调研,所以首先总结一下Hadoop集群的搭建过程。一、三个节点的集群...

Hadoop高可用集群搭建及API调用(hadoop高可用原理)

NameNodeHA背景在Hadoop1中NameNode存在一个单点故障问题,如果NameNode所在的机器发生故障,整个集群就将不可用(Hadoop1中虽然有个SecorndaryNameNo...

使用Wordpress搭建一个属于自己的网站

现在开源的博客很多,但是考虑到wordpress对网站的seo做的很好,插件也多。并且全世界流量排名前1000万的网站有33.4%是用Wordpress搭建的!所以尝试用Wordpress搭建一个网站...

Centos 安装 Jenkins(centos 安装ssh)

1、Java安装查看系统是否已安装Javayumlistinstalled|grepjava...

Java教程:gitlab-使用入门(java中的git)

1导读本教程主要讲解了GitLab在项目的环境搭建和基本的使用,可以帮助大家在企业中能够自主搭建GitLab服务,并且可以GitLab中的组、权限、项目自主操作...

Dockerfile部署Java项目(docker部署java应用)

1、概述本文主要会简单介绍什么是Docker,什么是Dockerfile,如何安装Docker,Dockerfile如何编写,如何通过Dockerfile安装jar包并外置yaml文件以及如何通过do...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Java路径-02-Java环境配置(java环境搭建及配置教程)

1Window环境配置1.1下载...

35.Centos中安装python和web.py框架

文章目录前言1.Centos7python:2.Centos8python:3.进行下载web.py框架然后应用:4.安装好之后进行验证:5.总结:前言...

《我的世界》服务器搭建(我的世界服务器如何搭建)

1.CentOS7环境1.1更改YUM源#下载YUM源文件curl-o/etc/yum.repos.d/CentOS-Base.repohttps://mirrors.aliyun.com...

CentOS 7 升级 GCC 版本(centos7.4升级7.5)

1.GCC工具介绍GCC编译器:...

Linux安装Nginx详细教程(linux安装配置nginx)

环境准备1.因为Nginx依赖于gcc的编译环境,所以,需要安装编译环境来使Nginx能够编译起来。命令:yuminstallgcc-c++显示完毕,表示安装完成:2.Nginx的http模块需要...

取消回复欢迎 发表评论: