我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用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系统服务器故障这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

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

Linux中如何进行NFS服务器故障排除

今天就跟大家聊聊有关Linux中如何进行NFS服务器故障排除,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在Red Hat Enterprise Linux 5.0服务器中,如果NF
2023-06-17

Cacti系统如何监控网络设备和服务器

Cacti是一个基于RRDTool的网络图形监控工具,可以用来监控网络设备和服务器的性能和运行状态。以下是使用Cacti监控网络设备和服务器的步骤:安装Cacti服务器:首先需要在一台服务器上安装Cacti软件,并配置好Web服务器(如Ap
Cacti系统如何监控网络设备和服务器
2024-03-11

如何通过Systemd和Crontab在Linux系统中自动化服务器监控

要在Linux系统中自动化服务器监控,可以结合使用Systemd和Crontab两种工具。1. 使用Systemd进行监控脚本的管理和自动化启动:- 创建一个监控脚本,例如monitor.sh,里面包含服务器监控的命令和逻辑。- 创建一个S
2023-10-09

在Ubuntu 16.04上如何安装和使用服务器监控报警系统Shinken

这篇文章给大家分享的是有关在Ubuntu 16.04上如何安装和使用服务器监控报警系统Shinken的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Shinken 是一个用 Python 实现的开源的主机和网络监控
2023-06-16

服务器内存故障排除:如何诊断和修复服务器内存问题

服务器内存故障是常见的问题,可能导致系统崩溃、数据丢失等严重后果。本文介绍了服务器内存故障的诊断和修复方法,帮助您快速解决内存问题,保证服务器稳定运行。
服务器内存故障排除:如何诊断和修复服务器内存问题
2024-02-12

如何在Cacti系统中监控服务器资源利用率

在Cacti系统中监控服务器资源利用率,通常需要安装Cacti插件或者使用Cacti自带的模板进行监控配置。以下是一个基本的步骤:安装Cacti系统:首先需要安装Cacti系统,可以在官方网站上下载安装包,并按照官方文档的指导进行安装。配置
如何在Cacti系统中监控服务器资源利用率
2024-04-09

如何使用Ganglia对Linux网格和集群服务器进行实时监控

本篇内容介绍了“如何使用Ganglia对Linux网格和集群服务器进行实时监控”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!从系统管理员接手
2023-06-16

监控软件Nagios的服务器端如何在Linux系统上进行安装和配置

本篇内容主要讲解“监控软件Nagios的服务器端如何在Linux系统上进行安装和配置”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“监控软件Nagios的服务器端如何在Linux系统上进行安装和配
2023-06-12

Linux推送服务的消息推送如何与监控和警报系统集成

Linux推送服务可以与监控和警报系统集成,以便将系统状态信息、警报和通知推送给相关人员。以下是一些集成方法:使用Zabbix或Nagios等监控系统:这些监控系统可以配置为在系统状态达到某个阈值时发送警报通知。你可以将Linux推送服务与
Linux推送服务的消息推送如何与监控和警报系统集成
2024-08-22

Linux服务器故障与安全性:如何健康管理系统

要健康管理Linux服务器的系统,您可以采取以下措施以减少故障和提高安全性:1. 定期更新和升级系统:及时安装最新的补丁和安全更新,以修复已知漏洞和强化系统安全性。2. 定期备份数据:创建定期备份计划,确保重要数据的安全性和可恢复性。3.
2023-10-10

Linux服务器故障与安全性:如何健康管理系统

Linux服务器故障与安全性:健康管理系统本指南概述了维护Linux服务器健康和安全性的综合策略。它涵盖:监控工具和日志分析,用于持续监控系统指标和检测潜在问题。防火墙配置、软件补丁和用户管理等安全加固措施。故障时的故障诊断、系统备份和故障转移机制。定期审核、自动化任务、灾难恢复计划和安全教育等最佳实践。通过实施这些措施,系统管理员可以确保服务器的可靠性和可用性,防止故障,检测威胁并最大限度地减少其影响。
Linux服务器故障与安全性:如何健康管理系统
2024-04-10

SUSE系统中如何实现多台服务器的集中管理和监控

在SUSE系统中,可以使用SUSE Manager来实现多台服务器的集中管理和监控。SUSE Manager是一个企业级的基础设施管理工具,可以帮助管理员轻松地管理和监控大型的服务器环境。使用SUSE Manager,管理员可以集中管理所
SUSE系统中如何实现多台服务器的集中管理和监控
2024-04-09

阿里云服务器内存使用率如何监控和优化

阿里云服务器内存使用率是一个重要的性能指标,它直接关系到服务器的运行效率和稳定性。本文将详细说明如何监控阿里云服务器内存使用率,以及如何通过优化来提高服务器的性能。一、阿里云服务器内存使用率的监控阿里云服务器提供了多种方式来监控内存使用率。首先,可以通过阿里云的云监控工具来实时监控服务器的内存使用情况。在云监控的
阿里云服务器内存使用率如何监控和优化
2023-11-15

如何使用Python脚本在Linux服务器上进行网络监控

如何使用Python脚本在Linux服务器上进行网络监控引言:随着科技的发展和互联网的普及,网络已经成为人们生活和工作不可或缺的一部分。然而,网络的稳定性和安全性一直是重要的关注点。为了确保服务器的正常运行,网络监控是必不可少的。本文将介绍
2023-10-22

Linux服务器上如何使用Gmail的免费SMTP服务发送监控通知

这篇文章主要介绍“Linux服务器上如何使用Gmail的免费SMTP服务发送监控通知”,在日常操作中,相信很多人在Linux服务器上如何使用Gmail的免费SMTP服务发送监控通知问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法
2023-06-13

编程热搜

目录