广告
返回顶部
首页 > 资讯 > 操作系统 >如何使用sysdig监控和排除Linux系统服务器故障
  • 628
分享到

如何使用sysdig监控和排除Linux系统服务器故障

2023-06-13 00:06:53 628人浏览 独家记忆
摘要

这篇文章主要讲解了“如何使用sysdig监控和排除linux系统服务器故障”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用sysdig监控和排除Linux系统服务器故障”吧!当你需要追

这篇文章主要讲解了“如何使用sysdig监控和排除linux系统服务器故障”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用sysdig监控和排除Linux系统服务器故障”吧!

当你需要追踪某个进程产生和接收的系统调用时,首先浮现在你脑海中的是什么?你可能会想到strace,那么你是对的。你会使用什么样的命令行工具来监控原始网络通信呢?如果你想到了tcpdump,你又作出了一个极佳的选择。而如果你碰到必须追踪打开的文件(在Unix意义上:一切皆文件)的需求,可能你会使用lsof。

strace、tcpdump以及lsof,确实是些伟大的工具,它们应该成为每个系统管理员工具集之中的一部分,而这也正是你为什么应该爱上sysdig的原因。它是一个强大的开源工具,用于系统级别的勘察和排障,它的创建者在介绍它时称之为“strace+tcpdump+lsof+上面点缀着lua樱桃的绝妙酱汁”。抛开幽默不说,sysdig的最棒特性之一在于,它不仅能分析Linux系统的“现场”状态,也能将该状态保存为转储文件以供离线检查。更重要的是,你可以自定义sysdig的行为,或者甚至通过内建的(你也可以自己编写)名为凿子(chisel)的小脚本增强其功能。单独的凿子可以以脚本指定的各种风格分析sysdig捕获的事件流。
在本教程中,我们将探索sysdig的安装及其基本用法,在Linux上实施系统监控和排障。
安装Sysdig

对于本教程,由于为了简便、缩短安装流程以及版本的不可知,我们将选择使用官方网站提供的自动化安装过程。在自动化过程中,安装脚本会自动检测操作系统并安装必需的依赖包。

以root身份运行以下命令来从官方apt/yum仓库安装sysdig:   

代码如下:

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

  如何使用sysdig监控和排除Linux系统服务器故障

    安装完成后,我们可以通过以下方法调用sysdig来感受一下它:   

代码如下:

# sysdig

我们的屏幕将马上被系统上发生的所有事件填满,对于这些信息,不便于我们做更多操作。要进一步处理,我们可以运行:   

代码如下:

# sysdig -cl | less

来查看可用的凿子列表。
如何使用sysdig监控和排除Linux系统服务器故障

默认有以下类目可用,各个类目中分布有多个内建的凿子。

  •     CPU Usage:CPU使用量
        Errors:错误
        I/O
        Logs:日志
        Misc:混杂
        Net:网络
        PerfORMance:性能
        Security:安全
        System State:系统状态

要显示指定凿子上的信息(包括详细的命令行用法),运行以下命令:   

代码如下:

# sysdig -cl [凿子名称]

例如,我们可以检查“网络”类目下关于spy_port凿子的信息:   

代码如下:

# sysdig -i spy_port


如何使用sysdig监控和排除Linux系统服务器故障

    凿子可以通过过滤器(可同时应用于实时数据和记录文件)组合,以获取更多有用的输出。

过滤器遵从“类.字段”结构。例如:

  •     fd.cip:客户端IP地址。
        evt.dir:事件方向,可以是&lsquo;>&rsquo;用于进入事件,或&lsquo;<&rsquo;用于退出事件。

完整的过滤器列表可以通过以下命令显示:   

代码如下:

# sysdig -l

在本教程剩余部分,我将演示几个sysdig的使用案例。
Sysdig实例: 服务器性能排障

假定你的服务器发生了性能问题(如,没有回应,或者重大的回应延迟)。你可以使用瓶颈凿子来显示当前10个最慢系统调用的列表。

使用以下命令在存活服务器上进行实时检查。“-c”标识,后跟凿子名称告诉sysdig运行指定的凿子。   

代码如下:

# sysdig -c bottlenecks

或者,你可以离线对服务器实施性能分析。在此种情况下,你可以保存完整的sysdig记录到文件,然后像下面这样针对记录运行瓶颈凿子。

首先,保存sysdige记录(使用Ctrl+c来停止收集):  

代码如下:

# sysdig -w trace.scap

收集完记录后,你可以运行以下命令来检查捕获间隔中最慢的系统调用:  

代码如下:

# sysdig -r trace.scap -c bottlenecks

如何使用sysdig监控和排除Linux系统服务器故障

你需要关注栏#2,#3和#4,这些分别表示执行时间、进程名和PID。
Sysdig实例: 监控交互用户活动

假定你作为系统管理员想要监控系统中交互的用户活动(如,用户在命令行输入了什么命令,以及用户去了什么目录),这时spy_user凿子就派上用场了。

让我们首先通过一些额外选项来收集一个sysdig记录。   

代码如下:

# sysdig -s 4096 -z -w /mnt/sysdig/$(hostname).scap.gz

  •     “-s 4096”告诉sysdig每个事件捕获4096字节。
        “-z” (与“-w”一起使用)为记录文件启用压缩。
        “-w ”保存sysdig记录到指定的文件。

在上面的例子中,我们自定义了基于每个主机的压缩的记录文件的名称。记住,你可以在任何时候按下Ctrl+c来打断sysdig的执行。

在我们收集到了合理数量的数据后,我们可以通过运行以下命令来查看每个用户的交互活动:   

代码如下:

# sysdig -r /mnt/sysdig/debian.scap.gz -c spy_users

如何使用sysdig监控和排除Linux系统服务器故障

    上面输出的第一栏表示与指定用户的活动相关进程的PID。

如果你想要定位一个指定的用户,以及只监控该用户的活动又怎么样呢?你可以通过用户名对spy_users凿子的结果进行过滤:   

代码如下:

# sysdig -r /mnt/sysdig/debian.scap.gz -c spy_users "user.name=xmodulo"

如何使用sysdig监控和排除Linux系统服务器故障

    Sysdig实例: 监控文件I/O

我们可以使用“-p”标识来自定义sysdig记录的输出格式,并指定双引号括起来的想要的字段(如用户名、进程名,以及文件或套接口名称)。在本例中,我们将创建一个记录文件,该文件将只包含在家目录中的写入事件(我们今后可以使用“sysdig -r writetrace.scap.gz”来检测该文件)。   

代码如下:

# sysdig -p "%user.name %proc.name %fd.name" "evt.type=write and fd.name contains /home/" -z -w writetrace.scap.gz

  如何使用sysdig监控和排除Linux系统服务器故障

    Sysdig实例: 监控网络I/O

作为服务器排障的一部分,你可能想要监听网络通信,此工作通常由tcpdump做。对于sysdig,可以很容易进行通信嗅探,其风格更为对用户友好。

例如,你可以检查由特定IP地址,特定进程(如apache2)提供的数据(ASCII编码格式):   

代码如下:

# sysdig -s 4096 -A -c echo_fds fd.cip=192.168.0.100 -r /mnt/sysdig/debian.scap.gz proc.name=apache2

如果你想要监控原生数据传输(二进制格式),请把“-A”替换为“-X”:  

代码如下:

# sysdig -s 4096 -X -c echo_fds fd.cip=192.168.0.100 -r /mnt/sysdig/debian.scap.gz proc.name=apache2

感谢各位的阅读,以上就是“如何使用sysdig监控和排除Linux系统服务器故障”的内容了,经过本文的学习后,相信大家对如何使用sysdig监控和排除Linux系统服务器故障这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: 如何使用sysdig监控和排除Linux系统服务器故障

本文链接: https://www.lsjlt.com/news/263837.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用sysdig监控和排除Linux系统服务器故障
    这篇文章主要讲解了“如何使用sysdig监控和排除Linux系统服务器故障”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用sysdig监控和排除Linux系统服务器故障”吧!当你需要追...
    99+
    2023-06-13
  • Linux中如何进行NFS服务器故障排除
    今天就跟大家聊聊有关Linux中如何进行NFS服务器故障排除,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Red Hat Enterprise Linux 5.0服务器中,如果NF...
    99+
    2023-06-17
  • 如何通过Systemd和Crontab在Linux系统中自动化服务器监控
    要在Linux系统中自动化服务器监控,可以结合使用Systemd和Crontab两种工具。1. 使用Systemd进行监控脚本的管理...
    99+
    2023-10-09
    Linux
  • 在Ubuntu 16.04上如何安装和使用服务器监控报警系统Shinken
    这篇文章给大家分享的是有关在Ubuntu 16.04上如何安装和使用服务器监控报警系统Shinken的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Shinken 是一个用 Python 实现的开源的主机和网络监控...
    99+
    2023-06-16
  • Linux服务器故障与安全性:如何健康管理系统
    要健康管理Linux服务器的系统,您可以采取以下措施以减少故障和提高安全性:1. 定期更新和升级系统:及时安装最新的补丁和安全更新,...
    99+
    2023-10-10
    Linux
  • 监控软件Nagios的服务器端如何在Linux系统上进行安装和配置
    本篇内容主要讲解“监控软件Nagios的服务器端如何在Linux系统上进行安装和配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“监控软件Nagios的服务器端如何在Linux系统上进行安装和配...
    99+
    2023-06-12
  • 如何使用Ganglia对Linux网格和集群服务器进行实时监控
    本篇内容介绍了“如何使用Ganglia对Linux网格和集群服务器进行实时监控”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!从系统管理员接手...
    99+
    2023-06-16
  • 如何实现Linux服务器硬件运行状态及故障邮件提醒的监控脚本
    小编给大家分享一下如何实现Linux服务器硬件运行状态及故障邮件提醒的监控脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!监控硬件运行状况shell 监控cpu...
    99+
    2023-06-09
  • 如何使用Python脚本在Linux服务器上进行网络监控
    如何使用Python脚本在Linux服务器上进行网络监控引言:随着科技的发展和互联网的普及,网络已经成为人们生活和工作不可或缺的一部分。然而,网络的稳定性和安全性一直是重要的关注点。为了确保服务器的正常运行,网络监控是必不可少的。本文将介绍...
    99+
    2023-10-22
    Python Linux 脚本 网络监控
  • Linux服务器上如何使用Gmail的免费SMTP服务发送监控通知
    这篇文章主要介绍“Linux服务器上如何使用Gmail的免费SMTP服务发送监控通知”,在日常操作中,相信很多人在Linux服务器上如何使用Gmail的免费SMTP服务发送监控通知问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-13
  • 阿里云服务器内存使用率如何监控和优化
    阿里云服务器内存使用率是一个重要的性能指标,它直接关系到服务器的运行效率和稳定性。本文将详细说明如何监控阿里云服务器内存使用率,以及如何通过优化来提高服务器的性能。 一、阿里云服务器内存使用率的监控阿里云服务器提供了多种方式来监控内存使用率...
    99+
    2023-11-15
    阿里 使用率 内存
  • Linux服务器中如何使用加密文件系统
    这期内容当中小编将会给大家带来有关Linux服务器中如何使用加密文件系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建一个 AWS access key(access key ID 和 secret ...
    99+
    2023-06-13
  • 如何在阿里云服务器上安装和使用Linux操作系统
    阿里云服务器是一种基于云计算技术的虚拟服务器,提供了灵活、安全、稳定的计算资源。在使用阿里云服务器时,用户需要选择适合自己的操作系统,并安装所需的应用程序。本文将介绍如何在阿里云服务器上安装和使用Linux操作系统,并通过具体的示例来演示...
    99+
    2023-12-31
    阿里 器上 操作系统
  • Linux系统下如何查看服务器的带宽和网络使用情况
    要在Linux系统下查看服务器的带宽和网络使用情况,可以使用一些命令行工具和系统工具来获取相关信息。下面将介绍几种常用的方法。 使用ifconfig命令 ifconfig命令可以用来查看网络接口的配...
    99+
    2023-10-20
    服务器 linux 网络
  • 如何使用http_load来给Linux系统的服务器做压力测试
    这篇文章主要讲解了“如何使用http_load来给Linux系统的服务器做压力测试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用http_load来给Linux系统的服务器做压力测试...
    99+
    2023-06-12
  • 在Linux系统中使用Apache服务器时,如何处理ASP文件?
    Apache服务器是一种非常流行的Web服务器软件,它是开源的,可以在Linux系统上运行。然而,如果你想在Apache服务器上运行ASP文件,你需要进行一些额外的设置。 ASP是一种动态网页技术,它使用VBScript或JScript作...
    99+
    2023-11-09
    linux apache 文件
  • Linux系统如何查看服务器带宽及网络使用情况?
    要查看Linux服务器的带宽和网络使用情况,可以使用以下命令和工具: ifconfig命令:ifconfig命令用于显示和配置网络接口信息,包括带宽和网络使用情况。 使用以下命令查看所有网络接口的信息: ifconfig 该命令将显示每个网...
    99+
    2023-08-31
    服务器 linux 网络 运维 apache microsoft
  • Linux系统如何查看服务器带宽及网络使用情况
    文章目录 前言  linux查看服务器带宽具体方法  一、使用speedtest-cli命令查看下载和上传最大流量值  二、查看网卡、网络的详情   1.查看服务器网络端口   2.ethtool命令查看宽带大小   三、nl...
    99+
    2023-08-19
    linux 服务器 网络 宽带 运维
  • Apache服务器上的关键字搜索:如何使用ASP和Linux系统进行优化?
    Apache服务器是一款流行的Web服务器软件,它支持多种操作系统,包括Linux和Windows。在许多Web应用程序中,关键字搜索功能是至关重要的。在本文中,我们将介绍如何使用ASP和Linux系统来优化Apache服务器上的关键字搜...
    99+
    2023-09-03
    关键字 apache linux
  • 如何在Linux系统上使用转发服务器处理邮件通信
    这篇文章主要介绍“如何在Linux系统上使用转发服务器处理邮件通信”,在日常操作中,相信很多人在如何在Linux系统上使用转发服务器处理邮件通信问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在Linux系...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作