您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    运用Sysdig监测你的容器
    时间:2021-08-16 08:02 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    运用Sysdig监测你的容器

    【51CTO.com快译】您的容器眼下在做什么?您知道吗?它们运转如何?哪些系统调用和事情与部署的微效劳有关?假设您不知道,那就有点落后了。

    别担忧,有一些工具可以协助我们开掘细节,那样您就能轻松取得所需的每个信息。Sysdig 就是这样一种工具。按照设计,sysdig直接从Linux 内核(而不是/proc)搜集系统调用和事情,并(自行)执行strace、tcpdump、htop、iftop、lsof和Wireshark所做的任务。换句话说,您只需运用一种工具,而不是六种。更棒的是,自2015年以来,Sysdig就看法到容器。因此,当您需求为Linux上的那些微效劳扫除缺点时,Sysdig可提供支持。虽然Sysdig是个命令行工具,但它确实包含ncurses用户界面,使得查看这些信息更容易。

    我会引见在所选择的效劳器操作系统Ubuntu Server 20.04上安装和运用Sysdig。当然,Sysdig可以安装在基于Debian或Red Hat的发行版上。要完成这项任务,您需求运转中的Ubuntu Server实例,以及拥有sudo权限的用户。您还需求容器运转时引擎(以便可以部署和监测容器)。我将运用Docker引擎和WordPress部署环境停止演示。

    安装Sysdig

    我们要做的第一件事是安装Sysdig。为此,登录进入到您的Ubuntu效劳器,执行以下命令:

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

    这应该会安装一切依赖项以及最新版本的 Sysdig。

    部署WordPress Docker容器

    不妨部署一个WordPress Docker容器,那样我们就有对象可以监测了。这比部署一次性容器要复杂一点,但有必要知道如何部署。

    首先,运用以下命令拉出MariaDB容器:

    sudo docker pull mariadb 

    接上去,运用以下命令创立将寄存WordPress数据(用于耐久存储)的必要文件夹:

    sudo mkdir /opt/wordpress 

    sudo mkdir -p /opt/wordpress/database 

    sudo mkdir -p /opt/wordpress/html 

    创立MariaDB容器:

    docker run -e MYSQL_ROOT_PASSWORD=PWORD1 -e MYSQL_USER=wpuser -e MYSQL_PASSWORD=PWORD2 -e MYSQL_DATABASE=wordpress_db -v /opt/wordpress/database:/var/lib/mysql --name wordpressdb -d mariadb 

    其中PWORD1和PWORD2是不重复的强密码。

    运用以下命令拉取最新版本的WordPress:

    docker pull wordpress:latest 

    部署WordPress容器:

    docker run -e WORDPRESS_DB_USER=wpuser -e WORDPRESS_DB_PASSWORD=PWORD2 -e WORDPRESS_DB_NAME=wordpress_db -p 8081:80 -v /opt/wordpress/html:/var/www/html --link wordpressdb:mysql --name wpcontainer -d wordpress 

    其中“PWORD 2”是您在之前的docker run命令中为wpuser设置的密码。

    您如今可以将阅读器指向:8081(其中SERVER是托管效劳器的IP地址),并完成WordPress安装。

    如何运用Sysdig?

    如今我们有了要监测的对象,不妨看看如何运用Sysdig。我偏爱运用ncurses命令行界面,因此我们将运用csysdig,而不是运用sysdig命令。

    首先,不妨运用以下命令列出以后运转的容器:

    sudo csysdig -vcontainers 

    假设您部署的独一容器用于WordPress站点,应该会看到两个容器在运转:

    WordPress

    mariadb

    列出的内容还将通知您每个容器运用的CPU数量、关联进程的数量、线程、虚拟内存、驻留内存、文件、所运用的引擎以及容器 ID。所以,我们曾经看到了运用Sysdig的价值。

    想参加该视图,请运用[Ctrl]+键盘快捷键。

    不妨取得更多信息。想查看与容器关联的每个进程,执行以下命令:

    sudo csysdig -pc 

    这将列出(针对所发现的每个进程):

    PID(进程ID)

    PPID(父进程ID)

    VPID(虚拟进程ID)

    CPU(容器运用的CPU)

    USER(启动容器的用户)

    虚拟内存

    RES(分配的驻留内存)

    文件(容器运用的文件)

    Net(容器运用的总的网络I/O)

    容器(容器称号)

    命令(容器运用的命令)

    上述命令的成绩在于,能够提供过多的信息。比如说,您只想查看与某一个容器(本文中名为wpress的容器)有关的信息。为此,您可以执行以下命令:

    sudo sysdig -pc -c topprocs_cpu container.name=wpcontainer 

    从上述命令您会看到以下信息被列出来:

    CPU%

    Process

    Host_pid

    Container_pid

    Container.name

    也许您需求查看某个容器的网络I/O。再次以我们的例子为例,执行:

    sudo sysdig -pc -c topprocs_net container.name=wpcontainer 

    或许

    sudo sysdig -pc -c topprocs_net container.name=wordpressdb 

    上述命令会列出:

    字节

    进程

    Host_pid

    Container_pid

    container.name

    关于上述命令要知道的一点是,只要存在实践的网络流量,您才会看到数据。

    假设您想查看与面向WordPress容器的I/O有关的文件该如何是好?为此,执行命令:

    sudo sysdig -pc -c topfiles_bytes container.name=wpcontainer 

    这是只要文件被运用,才会显示输入的另一个命令

    您能够还想运用csysdig切换视图。查看以上命令之一时,按F2即可翻开现有的csysdig视图的菜单(图1)。

    运用Sysdig监测你的容器

    图1:csysdig视图的菜单允许改动视图

    您应该会看到以下对象的以容器为中心的视图:容器、容器错误、K8S控制器、K8S部署环境和K8S命名空间等。

    但是不要以为您得先记住必要的参数和选项才能执行csysdig命令。实践上,您只需执行:

    sudo csysdig 

    一旦命令运转,按键盘上的F2来选择所需的视图。这样一来,极容易运用该命令(而不必记住可用的选项和参数选项符)。

    结语

    Sysdig和csysdig是功用弱小的工具,可以协助您从终端窗口监测容器部署环境,并扫除缺点。安装和运用很复杂。想了解更多关于csysdig的功用,执行命令:

    man csysdig 

    或许

    man sysdig 

    原文标题:Monitor Your Containers with Sysdig,作者:Jack Wallen

    【51CTO译稿,协作站点转载请注明原文译者和出处为51CTO.com】

    【编辑引荐】

    10秒!GitHub工程团队转移到Codespaces,开发环境「即开即用」

    益博睿全球商业信息效劳处置方案中国上线 用实时与深度数据照亮出海航程

    微效劳架构中必须知道的几个名词

    Chrome 阅读器 Dev 94 开发者工具现已支持中文

    2021年可用于人工智能开发的言语有哪些?

    (责任编辑:admin)