国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

kubernetes--分析容器系統(tǒng)調(diào)用:Sysdig

這篇具有很好參考價(jià)值的文章主要介紹了kubernetes--分析容器系統(tǒng)調(diào)用:Sysdig。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

Sysdig介紹:

sysdig工作流程

安裝Sysdig

sysdig常用參數(shù):

sysdig過濾:

sysdig之Chisels(工具箱):

其他常用命令


Sysdig介紹:

?????? Sysdig是一個(gè)非常強(qiáng)大的系統(tǒng)監(jiān)控分析和故障排查工具。匯聚strace+tcpdump+iftop+lsof工具功能為一身。

?????? sysdig除了能獲取系統(tǒng)資源利用率、進(jìn)程、網(wǎng)絡(luò)連接、系統(tǒng)調(diào)等信息,還具備了很強(qiáng)的分析能力,例如:

?????? 1.按照CPU使用率對(duì)進(jìn)程排序

?????? 2.按照數(shù)據(jù)包對(duì)進(jìn)程排序

?????? 3.打開最多文件描述符進(jìn)程

?????? 4.查看進(jìn)程打開了哪些文件

?????? 5.查看進(jìn)程HTTP請求報(bào)文

?????? 6.查看機(jī)器上容器列表及資源使用情況

項(xiàng)目地址:https://github.com/draios/sysdig

文檔:https://github.com/draios/sysdig/wiki

sysdig工作流程

sysdig通過內(nèi)核的驅(qū)動(dòng)模塊注冊系統(tǒng)調(diào)用hook,這樣當(dāng)有系統(tǒng)調(diào)用發(fā)生和完成的時(shí)候,它會(huì)把系統(tǒng)調(diào)用信息拷貝到特定的bugger,然后用戶態(tài)組件對(duì)數(shù)據(jù)信息處理(解壓、解析、過濾等,)并最終通過sysdig命令行和用戶進(jìn)行交互

kubernetes--分析容器系統(tǒng)調(diào)用:Sysdig

在內(nèi)核中加入了模塊,通過該模塊獲取了系統(tǒng)調(diào)用的信息,該模塊類似與攔截器,當(dāng)有系統(tǒng)調(diào)用時(shí),就會(huì)把系統(tǒng)調(diào)用所涉及的信息捕捉,用戶層面的模塊會(huì)對(duì)該數(shù)據(jù)就行解析過濾。

安裝Sysdig

先升級(jí)下內(nèi)核

【】yum -y install kernel-3.10.0-1160.el7.x86_64

【】yum -y install kernel-devel-3.10.0-1160.el7.x86_64

【】awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

【】grub2-set-default 0

自動(dòng)安裝

curl -s https://download.sysdig.com/stable/install-sysdig | sudo bash

上面是一個(gè)shell 腳本,會(huì)識(shí)別常用的linux發(fā)行版本,并根據(jù)對(duì)應(yīng)的版本配置源,最后是安裝sysdig包。在redhat/centos上首先會(huì)配置的是epel ,配置該源的目的是安裝dkms包;然后會(huì)配置draios源,通過該源可以安裝sysdig包。最后在裝sysdig包之前還會(huì)先安裝kernel-devel包。

手動(dòng)安裝

默認(rèn)源里少個(gè)依賴需要repo源

【】rpm --import https://download.sysdig.com/DRAIOS-GPG-KEY.public

?

【】curl -s -o /etc/yum.repos.d/draios.repo https://download.sysdig.com/stable/rpm/draios.repo

【】yum install epel-release -y

【】yum install sysdig -y

【】yum -y install kernel-devel-$(uname -r)

kubernetes--分析容器系統(tǒng)調(diào)用:Sysdig?

【】/usr/bin/sysdig-probe-loader # 加載驅(qū)動(dòng)模塊

kubernetes--分析容器系統(tǒng)調(diào)用:Sysdig

?

執(zhí)行sysdig命令,實(shí)時(shí)輸出大量系統(tǒng)調(diào)用。

示例:59509 23:59:19.023099531 0 kubelet (1738) < epoll_ctl

格式:%evt.num %evt.outputtime %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.info

? evt.num 遞增的事件號(hào)

? evt.time 事件發(fā)生的時(shí)間

? evt.cpu 事件被捕獲時(shí)所在的 CPU,也就是系統(tǒng)調(diào)用是在哪個(gè) CPU 執(zhí)行的

? proc.name 生成事件的進(jìn)程名字

? thread.tid 線程的 id,如果是單線程的程序,這也是進(jìn)程的 pid

? evt.dir 事件的方向(direction),> 代表進(jìn)入事件,< 代表退出事件

? evt.type 事件的名稱,比如 openstat等,一般是系統(tǒng)調(diào)用

? evt.args 事件的參數(shù)。如果是系統(tǒng)調(diào)用,這些對(duì)應(yīng)著系統(tǒng)調(diào)用的參數(shù)

自定義格式輸出:sysdig -p "user:%user.name time:%evt.time proc_name:%proc.name"

sysdig -l列出支持字段

sysdig常用參數(shù):

sysdig命令直接執(zhí)行后顯示的是個(gè)進(jìn)程對(duì)linux的系統(tǒng)調(diào)用

? -l, --list:列出可用于過濾和輸出的字段

? -M <num_seconds> :多少秒后停止收集

? -p <output_format>, --print=<output_format> :指定打印事件時(shí)使用的格式

??? ? 使用-pc-pcontainer 容器友好的格式

??? ? 使用-pk-pkubernetes k8s友好的格式

? -c <chiselname> <chiselargs>:指定內(nèi)置工具,可直接完成具體的數(shù)據(jù)聚合、分析工作

? -w <filename>:保存到文件中

? -r <filename>:從文件中讀取

sysdig過濾:

? fd:根據(jù)文件描述符過濾,比如 fd 標(biāo)號(hào)(fd.num)、fd 名字(fd.name

? process:根據(jù)進(jìn)程信息過濾,比如進(jìn)程 idproc.id)、進(jìn)程名(proc.name

? evt:根據(jù)事件信息過濾,比如事件編號(hào)、事件名

? user:根據(jù)用戶信息過濾,比如用戶 id、用戶名、用戶 home 目錄

? syslog:根據(jù)系統(tǒng)日志過濾,比如日志的嚴(yán)重程度、日志的內(nèi)容

? container:根據(jù)容器信息過濾,比如容器ID、容器名稱、容器鏡像

示列:

1、查看一個(gè)進(jìn)程的系統(tǒng)調(diào)用

【】sysdig proc.name=kubelet

2、查看建立TCP連接的事件

【】sysdig evt.type=accept

3、查看/etc目錄下打開的文件描述符

【】sysdig fd.name contains /etc

4、查看容器的系統(tǒng)調(diào)用

【】docker run -d --name=web --image=nginx

【】sysdig -M 10 container.name=web

注:還支持運(yùn)算操作符,=、!=、>=、>、<、<=、contains、in 、exists、and、or、not

被黑后可用觀察資源占用大的節(jié)點(diǎn),通過sysdig對(duì)容器逐個(gè)分析

sysdig之Chisels(工具箱):

Chisels:實(shí)用的工具箱,一組預(yù)定義的功能集合,用來分析特定的場景。

sysdig –cl 列出所有Chisels,以下是一些常用的:

? topprocs_cpu:輸出按照 CPU 使用率排序的進(jìn)程列表,例如sysdig -c

? topprocs_net:輸出進(jìn)程使用網(wǎng)絡(luò)TOP

? topprocs_file:進(jìn)程讀寫磁盤文件TOP

? topfiles_bytes:讀寫磁盤文件TOP

? netstat:列出網(wǎng)絡(luò)的連接情況

網(wǎng)絡(luò)

# 查看使用網(wǎng)絡(luò)的進(jìn)程TOP

sysdig -c topprocs_net

# 查看建立連接的端口10秒內(nèi)

sysdig -c fdcount_by fd.sport "evt.type=accept" -M 10

# 查看建立連接的端口10秒內(nèi)

sysdig -c fdbytes_by fd.sport

# 查看建立連接的IP10秒內(nèi)

sysdig -c fdcount_by fd.cip "evt.type=accept" -M 10

# 查看建立連接的IP

sysdig -c fdbytes_by fd.cip

硬盤

# 查看進(jìn)程磁盤I/O讀寫

sysdig -c topprocs_file

# 查看進(jìn)程打開的文件描述符數(shù)量

sysdig -c fdcount_by proc.name "fd.type=file" -M 10

# 查看讀寫磁盤文件

sysdig -c topfiles_bytes

sysdig -c topfiles_bytes proc.name=etcd

# 查看/tmp目錄讀寫磁盤活動(dòng)文件

sysdig -c fdbytes_by fd.filename "fd.directory=/tmp/"

CPU

# 查看CPU使用率TOP

sysdig -c topprocs_cpu

# 查看容器CPU使用率TOP

sysdig -pc -c topprocs_cpu container.name=web

sysdig -pc -c topprocs_cpu container.id=web

容器

# 查看機(jī)器上容器列表及資源使用情況

csysdig –vcontainers

# 查看容器資源使用TOP? CPU? net? file

sysdig -c topcontainers_cpu/topcontainers_net/topcontainers_file

其他常用命令

csysdig #圖形化所有進(jìn)程

sysdig -c netstat? #查看所有網(wǎng)絡(luò)連接

sysdig -c ps??? #類似于os命令

sysdif -c lsof???? #查看所有打開的文件文章來源地址http://www.zghlxwxcb.cn/news/detail-452973.html

到了這里,關(guān)于kubernetes--分析容器系統(tǒng)調(diào)用:Sysdig的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 在Kubernetes上部署和管理容器化存儲(chǔ)系統(tǒng)

    Kubernetes是一款容器編排系統(tǒng),它可以幫助用戶快速部署、擴(kuò)展和管理復(fù)雜的容器化應(yīng)用。容器化存儲(chǔ)系統(tǒng)則是一種存儲(chǔ)方式,它將數(shù)據(jù)存儲(chǔ)在容器中,并可以在容器之間進(jìn)行移動(dòng)和共享。Kubernetes可以通過容器化存儲(chǔ)系統(tǒng)來實(shí)現(xiàn)數(shù)據(jù)的持久化,從而保證應(yīng)用的可靠性和高可用

    2024年02月08日
    瀏覽(14)
  • 【基于容器的部署、擴(kuò)展和管理】3.1 容器編排系統(tǒng)和Kubernetes集群的構(gòu)建

    【基于容器的部署、擴(kuò)展和管理】3.1 容器編排系統(tǒng)和Kubernetes集群的構(gòu)建

    往期回顧: 第一章:【云原生概念和技術(shù)】 第二章:【容器化應(yīng)用程序設(shè)計(jì)和開發(fā)】 基于容器的部署、擴(kuò)展和管理是一種現(xiàn)代軟件開發(fā)和部署的方式,它提供了快速、可重復(fù)、可移植的開發(fā)和部署流程,同時(shí)也簡化了應(yīng)用程序的擴(kuò)展和管理。 在基于容器的部署中,應(yīng)用程序

    2024年02月08日
    瀏覽(53)
  • 【云原生-深入理解 Kubernetes 系列 3】深入理解容器進(jìn)程的文件系統(tǒng)

    【云原生-深入理解 Kubernetes 系列 3】深入理解容器進(jìn)程的文件系統(tǒng)

    【云原生-深入理解Kubernetes-1】容器的本質(zhì)是進(jìn)程 【云原生-深入理解Kubernetes-2】容器 Linux Cgroups 限制 大家好,我是秋意零。 ?? CSDN作者主頁 ?? 博客主頁 ?? 簡介 ?? 普通本科生在讀 在校期間參與眾多計(jì)算機(jī)相關(guān)比賽,如:?? “省賽”、“國賽” ,斬獲多項(xiàng)獎(jiǎng)項(xiàng)榮譽(yù)證書

    2024年02月06日
    瀏覽(52)
  • 【Linux 內(nèi)核源碼分析筆記】系統(tǒng)調(diào)用

    【Linux 內(nèi)核源碼分析筆記】系統(tǒng)調(diào)用

    在Linux內(nèi)核中,系統(tǒng)調(diào)用是用戶空間程序與內(nèi)核之間的接口,它允許用戶空間程序請求內(nèi)核執(zhí)行特權(quán)操作或訪問受保護(hù)的內(nèi)核資源。系統(tǒng)調(diào)用提供了一種安全可控的方式,使用戶程序能夠利用內(nèi)核功能而不直接訪問底層硬件。 系統(tǒng)調(diào)用: 通過系統(tǒng)調(diào)用,用戶程序可以請求內(nèi)核

    2024年02月03日
    瀏覽(30)
  • 拋棄對(duì)外依賴,OpenEular(歐拉)操作系統(tǒng)為企業(yè)搭建獨(dú)立的K8S集群環(huán)境! 容器編排平臺(tái)丨Kubernetes 丨自主可控的云計(jì)算系統(tǒng)丨容器化技術(shù)丨 新一代云計(jì)算基礎(chǔ)設(shè)施丨分布式應(yīng)用部署和管理

    拋棄對(duì)外依賴,OpenEular(歐拉)操作系統(tǒng)為企業(yè)搭建獨(dú)立的K8S集群環(huán)境! 容器編排平臺(tái)丨Kubernetes 丨自主可控的云計(jì)算系統(tǒng)丨容器化技術(shù)丨 新一代云計(jì)算基礎(chǔ)設(shè)施丨分布式應(yīng)用部署和管理

    需要提前準(zhǔn)備好OpenEular操作系統(tǒng)虛擬機(jī)3臺(tái),本文使用模板機(jī)創(chuàng)建。 如今,隨著云計(jì)算、大數(shù)據(jù)、人工智能等技術(shù)的快速發(fā)展,越來越多的企業(yè)開始使用容器化技術(shù)來提高開發(fā)和交付速度。而Kubernetes則成為了最受歡迎的容器編排平臺(tái)之一。然而,許多企業(yè)往往將Kubernetes部署在

    2024年02月11日
    瀏覽(35)
  • 《Linux內(nèi)核源碼分析》(2)進(jìn)程原理及系統(tǒng)調(diào)用

    《Linux內(nèi)核源碼分析》(2)進(jìn)程原理及系統(tǒng)調(diào)用

    操作系統(tǒng)的作用 :作為硬件的使用層,提供使用硬件資源的能力, 進(jìn)程的作用 :作為操作系統(tǒng)使用層,提供使用操作系統(tǒng)抽象出的資源層的能力 進(jìn)程、線程和程序的區(qū)別 :進(jìn)程指計(jì)算機(jī)中已運(yùn)行的程序。進(jìn)程本身不是基本的運(yùn)行單位,而是線程的容器。 程序本身只是指令

    2024年02月07日
    瀏覽(35)
  • 1670_MIT 6.828 xv6中增加系統(tǒng)調(diào)用的實(shí)現(xiàn)與分析

    1670_MIT 6.828 xv6中增加系統(tǒng)調(diào)用的實(shí)現(xiàn)與分析

    ???????? 全部學(xué)習(xí)匯總: GreyZhang/g_unix: some basic learning about unix operating system. (github.com) ???????? 操作系統(tǒng)的任務(wù)調(diào)度切換,在xv6中其實(shí)是基于中斷的方式來進(jìn)行觸發(fā)的。 ???????? 在ttap處理的部分,調(diào)用了一個(gè)trap處理的C語言接口。 ???????? 也就是上面的接口。

    2023年04月11日
    瀏覽(15)
  • 【kubernetes系列】kubernetes之initcontainer初始化容器

    【kubernetes系列】kubernetes之initcontainer初始化容器

    Init Container就是用來做初始化工作的容器,可以是一個(gè)或者多個(gè),如果有多個(gè)的話,這些容器會(huì)按定義的順序依次執(zhí)行,只有所有的Init Container執(zhí)行完后,主容器才會(huì)被啟動(dòng)。我們知道一個(gè)Pod里面的所有容器是共享數(shù)據(jù)卷和網(wǎng)絡(luò)命名空間的,所以Init Container里面產(chǎn)生的數(shù)據(jù)可以

    2024年02月12日
    瀏覽(25)
  • 【云原生】Kubernetes臨時(shí)容器

    特性狀態(tài): Kubernetes v1.25 [stable] 本頁面概述了臨時(shí)容器:一種特殊的容器,該容器在現(xiàn)有 Pod 中臨時(shí)運(yùn)行,以便完成用戶發(fā)起的操作,例如故障排查。 你會(huì)使用臨時(shí)容器來檢查服務(wù),而不是用它來構(gòu)建應(yīng)用程序 Pod 是 Kubernetes 應(yīng)用程序的基本構(gòu)建塊。 由于 Pod 是一次性且可替

    2024年02月15日
    瀏覽(56)
  • 【容器編排】初識(shí) Kubernetes

    【容器編排】初識(shí) Kubernetes

    目錄 1.簡介 2.為什么需要 k8s 3.k8s 能做什么? 4.k8s 不是什么? 1.簡介 摘取官網(wǎng): 概述 | Kubernetes ????????Kubernetes 這個(gè)名字源于希臘語,意為 舵手 或 飛行員 。k8s 這個(gè)縮寫是因?yàn)?k 和 s 之間有八個(gè)字符的關(guān)系。 Google 在 2014 年開源了 Kubernetes 項(xiàng)目。 Kubernetes 建立在 Google 大規(guī)模

    2024年02月14日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包