标签 监控 下的文章

cpustat 是 Linux 下一个强大的系统性能测量程序,它用 Go 编程语言 编写。它通过使用 “用于分析任意系统的性能的方法(USE)”,以有效的方式显示 CPU 利用率和饱和度。

它高频率对系统中运行的每个进程进行取样,然后以较低的频率汇总这些样本。例如,它能够每 200ms 测量一次每个进程,然后每 5 秒汇总这些样本,包括某些度量的最小/平均/最大值(min/avg/max)。

推荐阅读: 监控 Linux 性能的 20 个命令行工具

cpustat 能用两种方式输出数据:定时汇总的纯文本列表和每个取样的彩色滚动面板。

如何在 Linux 中安装 cpustat

为了使用 cpustat,你的 Linux 系统中必须安装有 Go 语言(GoLang),如果你还没有安装它,点击下面的链接逐步安装 GoLang:

安装完 Go 以后,输入下面的 go get 命令安装 cpustat,这个命令会将 cpustat 二进制文件安装到你的 GOBIN 变量(所指的路径):

# go get github.com/uber-common/cpustat

如何在 Linux 中使用 cpustat

安装过程完成后,如果你不是以 root 用户控制系统,像下面这样使用 sudo 命令获取 root 权限运行 cpustat,否则会出现下面显示的错误信息:

$ $GOBIN/cpustat
This program uses the netlink taskstats interface, so it must be run as root.

注意:想要像你系统中已经安装的其它 Go 程序那样运行 cpustat,你需要把 GOBIN 变量添加到 PATH 环境变量。打开下面的链接学习如何在 Linux 中设置 PATH 变量。

cpustat 是这样工作的:在每个时间间隔查询 /proc 目录获取当前进程 ID 列表,然后:

  • 对于每个 PID,读取 /proc/pid/stat,然后计算和前一个样本的差别。
  • 如果是一个新的 PID,读取 /proc/pid/cmdline
  • 对于每个 PID,发送 netlink 消息获取 taskstat,计算和前一个样本的差别。
  • 读取 /proc/stat 获取总的系统统计信息。

根据获取所有这些统计信息所花费的时间,会调整每个休息间隔。另外,通过每次取样之间实际经过的时间,每个样本也会记录它用于测量的时间。这可用于计算 cpustat 自身的延迟。

当不带任何参数运行时,cpustat 默认会显示以下信息:样本间隔:200ms;汇总间隔:2s(10 个样本);显示前 10 个进程;用户过滤器:all;pid 过滤器:all。正如下面截图所示:

$ sudo $GOBIN/cpustat 

cpustat - 监控 Linux CPU 使用

cpustat – 监控 Linux CPU 使用

在上面的输出中,之前显示的系统范围的度量字段意义如下:

  • usr - 用户模式运行时间占 CPU 百分比的 min/avg/max 值。
  • sys - 系统模式运行时间占 CPU 百分比的 min/avg/max 值。
  • nice - 用户模式低优先级运行时间占 CPU 百分比的 min/avg/max 值。
  • idle - 用户模式空闲时间占 CPU 百分比的 min/avg/max 值。
  • iowait - 等待磁盘 IO 的 min/avg/max 延迟时间。
  • prun - 处于可运行状态的 min/avg/max 进程数量(同“平均负载”一样)。
  • pblock - 被磁盘 IO 阻塞的 min/avg/max 进程数量。
  • pstat - 在本次汇总间隔里启动的进程/线程数目。

同样还是上面的输出,对于一个进程,不同列的意思分别是:

  • name - 从 /proc/pid/stat/proc/pid/cmdline 获取的进程名称。
  • pid - 进程 ID,也被用作 “tgid” (线程组 ID)。
  • min - 该 pid 的用户模式+系统模式时间的最小样本,取自 /proc/pid/stat。比率是 CPU 的百分比。
  • max - 该 pid 的用户模式+系统模式时间的最大样本,取自 /proc/pid/stat
  • usr - 在汇总期间该 pid 的平均用户模式运行时间,取自 /proc/pid/stat
  • sys - 在汇总期间该 pid 的平均系统模式运行时间,取自 /proc/pid/stat
  • nice - 表示该进程的当前 “nice” 值,取自 /proc/pid/stat。值越高表示越好(nicer)。
  • runq - 进程和它所有线程可运行但等待运行的时间,通过 netlink 取自 taskstats。比率是 CPU 的百分比。
  • iow - 进程和它所有线程被磁盘 IO 阻塞的时间,通过 netlink 取自 taskstats。比率是 CPU 的百分比,对整个汇总间隔平均。
  • swap - 进程和它所有线程等待被换入(swap in)的时间,通过 netlink 取自 taskstats。Scale 是 CPU 的百分比,对整个汇总间隔平均。
  • vcx 和 icx - 在汇总间隔期间进程和它的所有线程自动上下文切换总的次数,通过 netlink 取自 taskstats。
  • rss - 从 /proc/pid/stat 获取的当前 RSS 值。它是指该进程正在使用的内存数量。
  • ctime - 在汇总间隔期间等待子进程退出的用户模式+系统模式 CPU 时间总和,取自 /proc/pid/stat。 注意长时间运行的子进程可能导致混淆这个值,因为只有在子进程退出后才会报告时间。但是,这对于计算高频 cron 任务以及 CPU 时间经常被多个子进程使用的健康检查非常有帮助。
  • thrd - 汇总间隔最后线程的数目,取自 /proc/pid/stat
  • sam - 在这个汇总间隔期间该进程的样本数目。最近启动或退出的进程可能看起来比汇总间隔的样本数目少。

下面的命令显示了系统中运行的前 10 个 root 用户进程:

$ sudo $GOBIN/cpustat -u root

查找 root 用户正在运行的进程

查找 root 用户正在运行的进程

要想用更好看的终端模式显示输出,像下面这样用 -t 选项:

$ sudo $GOBIN/cpustat -u root -t

root 用户正在运行的进程

root 用户正在运行的进程

要查看前 x 个进程(默认是 10),你可以使用 -n 选项,下面的命令显示了系统中 正在运行的前 20 个进程

$ sudo $GOBIN/cpustat -n 20 

你也可以像下面这样使用 -cpuprofile 选项将 CPU 信息写到文件,然后用 cat 命令查看文件:

$ sudo $GOBIN/cpustat -cpuprofile cpuprof.txt
$ cat cpuprof.txt

要显示帮助信息,像下面这样使用 -h 选项:

$ sudo $GOBIN/cpustat -h

可以从 cpustat 的 Github 仓库:https://github.com/uber-common/cpustat 查阅其它资料。

就是这些!在这篇文章中,我们向你展示了如何安装和使用 cpustat,Linux 下的一个有用的系统性能测量工具。通过下面的评论框和我们分享你的想法吧。


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S(Free and Open-Source Software) 爱好者,一个 Linux 系统管理员、web 开发员,现在也是 TecMint 的内容创建者,他喜欢和电脑一起工作,他相信知识共享。


via: http://www.tecmint.com/cpustat-monitors-cpu-utilization-by-processes-in-linux/

作者:Aaron Kili 译者:ictlyh 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

pyDash 是一个轻量且基于 web 的 Linux 性能监测工具,它是用 Python 和 Django 加上 Chart.js 来写的。经测试,在下面这些主流 Linux 发行版上可运行:CentOS、Fedora、Ubuntu、Debian、Raspbian 以及 Pidora 。

你可以使用这个工具来监视你的 Linux 个人电脑/服务器资源,比如 CPU、内存、网络统计,包括在线用户的进程以及更多。仪表盘完全由主要的 Python 发行版本所提供的 Python 库开发,因此它的依赖关系很少,你不需要安装许多包或库来运行它。

在这篇文章中,我将展示如何安装 pyDash 来监测 Linux 服务器性能。

如何在 Linux 系统下安装 pyDash

1、首先,像下面这样安装需要的软件包 gitPython pip

-------------- 在 Debian/Ubuntu 上 --------------
$ sudo apt-get install git python-pip
-------------- 在 CentOS/RHEL 上 --------------
# yum install epel-release
# yum install git python-pip
-------------- 在 Fedora 22+ 上 --------------
# dnf install git python-pip

2、如果安装好了 git 和 Python pip,那么接下来,像下面这样安装 virtualenv,它有助于处理针对 Python 项目的依赖关系:

# pip install virtualenv
或
$ sudo pip install virtualenv

3、现在,像下面这样使用 git 命令,把 pyDash 仓库克隆到 home 目录中:

# git clone https://github.com/k3oni/pydash.git
# cd pydash

4、下一步,使用下面的 virtualenv 命令为项目创建一个叫做 pydashtest 虚拟环境:

$ virtualenv pydashtest #give a name for your virtual environment like pydashtest

Create Virtual Environment

创建虚拟环境

重要:请注意,上面的屏幕截图中,虚拟环境的 bin 目录被高亮显示,你的可能和这不一样,取决于你把 pyDash 目录克隆到什么位置。

5、创建好虚拟环境(pydashtest)以后,你需要在使用前像下面这样激活它:

$ source /home/aaronkilik/pydash/pydashtest/bin/activate

Active Virtual Environment

激活虚拟环境

从上面的屏幕截图中,你可以注意到,提示字符串 1(PS1)已经发生改变,这表明虚拟环境已经被激活,而且可以开始使用。

6、现在,安装 pydash 项目 requirements;如何你好奇的话,可以使用 cat 命令查看 requirements.txt 的内容,然后像下面所示那样进行安装:

$ cat requirements.txt
$ pip install -r requirements.txt

7、现在,进入 pydash 目录,里面包含一个名为 settings.py 的文件,也可直接运行下面的命令打开这个文件,然后把 SECRET_KEY 改为一个特定值:

$ vi pydash/settings.py

Set Secret Key

设置密匙

保存文件然后退出。

8、之后,运行下面的命令来创建一个项目数据库和安装 Django 的身份验证系统,并创建一个项目的超级用户:

$ python manage.py syncdb

根据你的情况回答下面的问题:

Would you like to create one now? (yes/no): yes
Username (leave blank to use 'root'): admin
Email address: [email protected]
Password: ###########
Password (again): ############

Create Project Database

创建项目数据库

9、这个时候,一切都设置好了,然后,运行下面的命令来启用 Django 开发服务器:

$ python manage.py runserver

10、接下来,打开你的 web 浏览器,输入网址:http://127.0.0.1:8000/ 进入 web 控制台登录界面,输入你在第 8 步中创建数据库和安装 Django 身份验证系统时创建的超级用户名和密码,然后点击登录。

pyDash Login Interface

pyDash 登录界面

11、登录到 pydash 主页面以后,你将会可以看到监测系统的基本信息,包括 CPU、内存和硬盘使用量以及系统平均负载。

向下滚动便可查看更多部分的信息。

pyDash Server Performance Overview

pydash 服务器性能概述

12、下一个屏幕截图显示的是一段 pydash 的跟踪界面,包括 IP 地址、互联网流量、硬盘读/写、在线用户以及 netstats 。

pyDash Network Overview

pyDash 网络概述

13、下一个 pydash 主页面的截图显示了一部分系统中被监视的活跃进程。

pyDash Active Linux Processes

pyDash 监视活跃 Linux 进程

如果想了解更多信息,请在 GitHub 上查看 pydash:https://github.com/k3oni/pydash

这就是全部内容了。在这篇文章中,我们展示了在 Linux 中如何安装 pyDash 并测试它的主要特性。如果你有什么想法,可以通过下面的反馈部分联系我们;如果你知道任何有用或类似的工具,也可以在评论中告知我们。


作者简介:

我叫 Ravi Saive,是 TecMint 的原创作者,是一个喜欢在网上分享技巧和知识的计算机极客和 Linux Guru。我的大多数服务器都运行在 Linux 开源平台上。请关注我:TwitterFacebook 以及 Google+


via: http://www.tecmint.com/pydash-a-web-based-linux-performance-monitoring-tool/

作者:Ravi Saive 译者:ucasFL 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 网络监视和调试工具,它能抓取网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的带宽监视和网速估测工具。

它能使用各种输入模块读取输入,并以各种输出模式显示输出,包括交互式文本用户界面和用于脚本编写的可编程文本输出。

推荐阅读: 一大波你可能不知道的 Linux 网络工具

在 Linux 上安装 bmon 带宽监视工具

几乎所有 Linux 发行版的默认仓库中都有 bmon 软件包,可以从默认包管理器中轻松安装,但可用的版本可能比较旧。

$ sudo yum install bmon      [On RHEL/CentOS/Fedora]
$ sudo dnf install bmon      [On Fedora 22+]
$ sudo apt-get install bmon  [On Debian/Ubuntu/Mint]

另外,你也可以从 https://pkgs.org/download/bmon 获取对应你 Linux 发行版的 .rpm.deb 软件包。

如果你想要最新版本(例如版本 4.0)的 bmon,你需要通过下面的命令从源码构建。

在 CentOS、RHEL 和 Fedora 中

$ git clone https://github.com/tgraf/bmon.git
$ cd bmon
$ sudo yum install make libconfuse-devel libnl3-devel libnl-route3-devel ncurses-devel
$ sudo ./autogen.sh
$ sudo./configure
$ sudo make
$ sudo make install

在 Debian、Ubuntu 和 Linux Mint 中

$ git clone https://github.com/tgraf/bmon.git
$ cd bmon
$ sudo apt-get install build-essential make libconfuse-dev libnl-3-dev libnl-route-3-dev libncurses-dev pkg-config dh-autoreconf
$ sudo ./autogen.sh
$ sudo ./configure
$ sudo make
$ sudo make install

如何在 Linux 中使用 bmon 带宽监视工具

通过以下命令运行它(初学者说明:RX 表示每秒接收数据,TX 表示每秒发送数据):

$ bmon

bmon - Linux 带宽监视

d 键可以查看更详细的带宽使用情况的图形化统计信息,参考下面的截图。

bmon - Detailed Bandwidth Statistics

Shift + ? 可以查看快速指南。再次按 Shift + ? 可以退出(指南)界面。

bmon - 快速指南

bmon – 快速指南

通过 UpDown 箭头键可以查看特定网卡的统计信息。但是,要监视一个特定的网卡,你也可以像下面这样作为命令行参数指定。

推荐阅读: 监控 Linux 性能的 13 个工具

选项 -p 指定了要显示的网卡,在下面的例子中,我们会监视网卡 enp1s0

$ bmon -p enp1s0

bmon - 监控以太网带宽

bmon – 监控以太网带宽

要查看每秒位数而不是每秒字节数,可以像下面这样使用 -b 选项:

$ bmon -bp enp1s0

我们也可以像下面这样按秒指定刷新间隔时间:

$ bmon -r 5 -p enp1s0

如何使用 bmon 的输入模块

bmon 有很多能提供网卡统计数据的输入模块,其中包括:

  1. netlink - 使用 Netlink 协议从内核中收集网卡和流量控制统计信息。这是默认的输入模块。
  2. proc - 从 /proc/net/dev 文件读取网卡统计信息。它被认为是传统界面,且提供了向后兼容性。它是 Netlink 接口不可用时的备用模块。
  3. dummy - 这是用于调试和测试的可编程输入模块。
  4. null - 停用数据收集。

要查看关于某个模块的其余信息,可以像下面这样使用 help 选项调用它:

$ bmon -i netlink:help

下面的命令将启用 proc 输入模块运行 bmon:

$ bmon -i proc -p enp1s0

如何使用 bmon 输出模块

bmon 也使用输出模块显示或者导出上面输入模块收集的统计数据,输出模块包括:

  1. curses - 这是一个交互式的文本用户界面,它提供实时的网上估计以及每个属性的图形化表示。这是默认的输出模块。
  2. ascii - 这是用于用户查看的简单可编程文本输出。它能显示网卡列表、详细计数以及图形到控制台。当 curses 库不可用时这是默认的备选输出模块。
  3. format - 这是完全脚本化的输出模式,供其它程序使用 - 意味着我们可以在后面的脚本和程序中使用它的输出值进行分析。
  4. null - 停用输出。

像下面这样通过 help 选项获取更多的模块信息。

$ bmon -o curses:help

下面的命令会用 ascii 输出模式运行 bmon:

$ bmon -p enp1s0 -o ascii  

bmon - Ascii 输出模式

bmon – Ascii 输出模式

我们也可以用 format 输出模式,然后在脚本或者其它程序中使用获取的值:

$ bmon -p enp1s0 -o format

bmon - Format 输出模式

bmon – Format 输出模式

想要其它的使用信息、选项和事例,可以阅读 bmon 的 man 手册:

$ man bmon 

访问 bmon 的 Github 仓库:https://github.com/tgraf/bmon

就是这些,在不同场景下尝试 bmon 的多个功能吧,别忘了在下面的评论部分和我们分享你的想法。


作者简介:

Aaron Kili 是一个 Linux 和 F.O.S.S 爱好者、Linux 系统管理员、网络开发人员,现在也是 TecMint 的内容创作者,他喜欢和电脑一起工作,坚信共享知识。


via: http://www.tecmint.com/bmon-network-bandwidth-monitoring-debugging-linux/

作者:Aaron Kili 译者:ictlyh 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

CoreFreq 是一个用于英特尔 64 位处理器的 CPU 监控程序,并且支持 Atom、Core2、Nehalem、SandyBridge 及以上、还有 AMD 0F 家族。

它的核心建立在内核模块上,用于从每个 CPU 核心检索内部性能计数器,并且与收集数据的守护进程一起工作,一个小型控制台客户端连接到该守护程序并显示收集的数据。

CoreFreq CPU Monitoring

它提供了高精度的重新捕获 CPU 数据的基础工作:

  1. 核心频率和比率;SpeedStep(EIST)、Turbo Boost、超线程(HTT)以及 基本时钟 Base Clock
  2. 性能计数器结合 时间戳计数器 Time Stamp Counter (TSC)、 非停机核心周期 Unhalted Core Cycles (UCC)、 非停机引用周期 Unhalted Reference Cycles (URC)。
  3. 每周期或每秒的指令数:IPS、IPC 或 CPI。
  4. CPU C 状态: C0 C1 C3 C6 C7 - C1E - C1、C3 的自动/ 非降级 UnDemotion
  5. 带有 Tjunction Max 的 DTS 温度、 热监测 Thermal Monitoring TM1、TM2 状态。
  6. 包括用于自举的高速缓存和应用程序 CPU 拓扑图。
  7. 处理器特性、品牌、架构字符串。

注意:此工具更适用于 Linux 专家用户和经验丰富的系统管理员,但新手用户可以逐步学习如何使用它。

CoreFreq 如何工作

它通过调用一个 Linux 内核模块实现,它使用了:

  1. 汇编代码保持尽可能接近性能计数器读数。
  2. 按每个 CPU 影响的 slab 数据内存加上高分辨率定时器。
  3. 支持 CPU 暂停/恢复和 CPU 热插拔。
  4. 使用共享内存来保护内核免受来自用户空间程序的损害。
  5. 使用原子级同步的线程来消除互斥和死锁。

如何在 Linux 中安装 CoreFreq

要安装 CoreFreq,你首先需要安装依赖程序(开发工具)来编译并从源码构建程序。

$ sudo yum group install 'Development Tools'           [On CentOS/RHEL]
$ sudo dnf  group install 'Development Tools'          [On Fedora 22+ Versions]
# sudo apt-get install dkms git libpthread-stubs0-dev  [On Debian/Ubuntu] 

接下来克隆 Github 上 CoreFreq 源码,进入下载文件夹并编译构建程序:

$ git clone https://github.com/cyring/CoreFreq.git
$ cd CoreFreq
$ make 

Build CoreFreq Program

构建 CoreFreq 程序

注意:Arch Linux 用户可以从 AUR 中安装 corefreq-git

现在运行以下命令从本地目录加载 Linux 内核模块,接着运行守护程序:

$ sudo insmod corefreqk.ko
$ sudo ./corefreqd

接着使用普通用户启动客户端。

$ ./corefreq-cli

CoreFreq Linux CPU Monitoring

CoreFreq Linux CPU 监控

在上面的界面中,你可以使用这些快捷键:

  1. 使用 F2 显示屏幕顶部显示的使用菜单。
  2. 使用 箭头移动菜单选项卡。
  3. 使用 箭头选择菜单项,然后单击回车。
  4. 使用 F4 关闭程序。
  5. 使用 h 打开快速参考。

要查看所有的使用选项,请输入以下命令:

$ ./corefreq-cli -h

CoreFreq 选项:

CoreFreq.  Copyright (C) 2015-2017 CYRIL INGENIERIE
usage:  corefreq-cli [-option <arguments>]
-t  Show Top (default)
-d  Show Dashboard
arguments: <left> <top> <marginWidth> <marginHeight>
-c  Monitor Counters
-i  Monitor Instructions
-s  Print System Information
-M  Print Memory Controller
-m  Print Topology
-u  Print CPUID
-k  Print Kernel
-h  Print out this message
Exit status:
0   if OK,
1   if problems,
>1  if serious trouble.
Report bugs to labs[at]cyring.fr

要打印内核的信息,运行:

$ ./corefreq-cli -k

打印 CPU 细节信息:

$ ./corefreq-cli -u

你也可以实时监控 CPU 指令:

$ ./corefreq-cli -i

如下启用计数器追踪:

$ ./corefreq-cli -c

有关更多信息和用法,请访问 CoreFreq 的 Github 仓库:https://github.com/cyring/CoreFreq

在本文中,我们评估了一个强大的 CPU 监控工具,这对于 Linux 专家或经验丰富的系统管理员来说可能比新手用户更有用。

通过下面的评论栏与我们分享你对这个工具或任何相关的想法。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/corefreq-linux-cpu-monitoring-tool/

作者:Aaron Kili 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

 title=

这些 DevOps 日志记录和监控工具是重塑云计算趋势的一部分 -- 在《开放云指南》中了解更多。

在云中,开源工具和应用程序使 DevOps 提高了很多效率,对于日志记录和监视解决方案尤其如此。监控云平台、应用程序和组件以及处理和分析日志,对于确保高可用性、高性能、低延迟等至关重要。事实上,RightScale 最近的云状态调查报告中说,最常见的云优化的行为中,45% 的大公司和中小型企业关注的是监控。

然而,专有的记录和监控解决方案是昂贵的。更糟的是,它们通常捆绑更昂贵的管理服务产品。

现在进入强大的开放日志和监控解决方案的新浪潮。其中一些聚焦于有针对性的任务,例如容器集群的监控和性能分析,而其他作为整体监控和警报工具包,它们能够进行多维度的数据收集和查询。

Linux 基金会最近发布 《开放云指南:当前趋势和开源项目》 Guide to the Open Cloud: Current Trends and Open Source Projects 这篇报告。这是第三份年度报告,全面地介绍了开放云计算的状态,包括为 DevOps 社区的日志记录和监控的部分。该报告现在已经可以下载,它对研究进行了汇总和分析,阐述了容器、监控等的发展趋势在如何重塑云计算。该报告提供了对当今开放云环境很重要的分类项目的描述和链接。需要特别注意的是,DevOps 已经成为云中应用交付和维护的最有效方法。

在这里的一系列帖子中,我们按照类别从指南中列出了这些项目,并提供了该类别整体发展情况的见解。下面,你将看到一些用于记录和监视的重要 DevOps 工具集合,它们所带来的影响,以及它们的 GitHub 链接,这些都是从《开放云指南》中收集而来的:

日志记录和监控

Fluentd

Fluentd 是一个用于统一日志记录层的开源数据收集器,由 Treasure Data 贡献。它将数据结构化为 JSON,以统一处理日志数据的所有方面:在多个源和目标之间收集、过滤、缓冲和输出日志。

Heapster

Heapster 是 Kubernetes 的一个容器集群监控和性能分析工具。它本身支持 Kubernetes 和 CoreOS,并且经过调整可以在 OpenShift 上运行。它还支持可插拔的存储后端:使用 Grafana 的 InfluxDB、Google Cloud Monitoring、Google Cloud Logging、Hawkular、Riemann 和 Kafka。

Logstash

Logstash 是 Elastic 的开源数据管道,用于帮助处理来自各种系统的日志和其他事件数据。它的插件可以连接到各种源和大规模流数据到中央分析系统。

Prometheus

Prometheus 是一个开源的系统监控和警报工具包,最初由 SoundCloud 构建,现在是 Linux 基金会的云计算基础项目。它适用于以机器为中心和微服务架构,并支持多维度数据收集和查询。

Weave Scope

Weave Scope 是 Weaveworks 的开源工具,用于实时监控分布式应用程序及其容器。它与 Kubernetes 和 AWS ECS 集成。

要了解更多关于开源云计算的趋势,查看顶级开源云计算项目的完整列表。现在下载 Linux 基金会的《开放云指南》报告!


via: https://www.linux.com/news/open-cloud-report/2016/5-devops-tools-logging-and-monitoring

作者:SAM DEAN 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

rtop 是一个基于 SSH 的直接的交互式远程系统监控工具,它收集并显示重要的系统性能指标,如 CPU、磁盘、内存和网络指标。

它用 Go 语言编写,不需要在要监视的服务器上安装任何额外的程序,除了 SSH 服务器和登录凭据。

rtop 基本上是通过启动 SSH 会话和在远程服务器上执行某些命令来收集各种系统性能信息。

一旦 SSH 会话建立,它每隔几秒(默认情况下为 5 秒)刷新来自远程服务器收集的信息,类似于 Linux 中的所有其它类似 top 的使用程序(如 htop)

安装要求:

要安装 rtop 确保你已经在 Linux 中安装了 Go(GoLang)1.2 或更高版本,否则请点击下面的链接根据步骤安装 GoLang:

如何在 Linux 系统中安装 rtop

如果你已经安装了 Go,运行下面的命令构建 rtop:

$ go get github.com/rapidloop/rtop

命令完成后 rtop 可执行程序会保存在 $GOPATH/bin 或者 $GOBIN 中。

Build rtop in Linux

在 Linux 中构建 rtop

注意:使用 rtop 不需要任何运行时环境或配置。

如何在 Linux 系统中使用 rtop

尝试不用任何标志或参数运行 rtop, 会显示如下信息:

$ $GOBIN/rtop

示例输出:

rtop 1.0 - (c) 2015 RapidLoop - MIT Licensed - http://rtop-monitor.org
rtop monitors server statistics over an ssh connection
Usage: rtop [-i private-key-file] [user@]host[:port] [interval]
-i private-key-file
PEM-encoded private key file to use (default: ~/.ssh/id_rsa if present)
[user@]host[:port]
the SSH server to connect to, with optional username and port
interval
refresh interval in seconds (default: 5)

现在让我们用 rtop 监控远程 Linux 服务器,默认每 5 秒刷新收集到的信息:

$ $GOBIN/rtop [email protected] 

rtop - Monitor Remote Linux Server

rtop – 监控远程 Linux 主机

命令会每隔 10 秒刷新系统性能指标:

$ $GOBIN/rtop [email protected] 10

rtop 同样可以使用 ssh-agent、密钥或者密码授权连接。

总结一下,rtop 是一个简单易用的远程服务器监控工具,它使用非常少且直白的选项。你可以阅读服务器中其他监控系统的命令行工具来提高你的 Linux 性能监控技能。

最后,在下面的评论栏中留下你的任何问题和想法。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux SysAdmin 和 web 开发人员,目前是 TecMint 的内容创建者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/rtop-monitor-remote-linux-server-over-ssh/

作者:Aaron Kili 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出