linux开源的性能监控工具_开源 linux性能监控 - CSDN
  • Linux在网络和系统监控方面有着非常强大的功能,并提供一系列跟踪这些系统和设备性能及提供趋势性能分析的解决方案。当出现某些问题时,即可报警。而某些工具可在报警时触发一些动作,这里,整理搜集了一些开源工具...
    导读
    
      Linux在网络和系统监控方面有着非常强大的功能,并提供一系列跟踪这些系统和设备性能及提供趋势性能分析的解决方案。当出现某些问题时,即可报警。而某些工具可在报警时触发一些动作,这里,整理搜集了一些开源工具,供童鞋们一起研究及帮助解决上述问题.
    工具1:“Cacti”

    Cacti是一个性能广泛的图表和趋势分析工具,可以用来跟踪并几乎可以绘制出任何可监测指标,描绘出图表。从硬盘的利用率到风扇的转速,在一个电脑管理系统中,只要是可以被监测的指标,Cacti都可以监测,并快速的转换成可视化的图表。
    7个杀手级的开源监测工具7个杀手级的开源监测工具

    工具2:“Nagios”

    Nagios是一个经典的老牌系统和网络监测工具。运行速度快,可靠,需要针对应用定制。Nagios对于初学者是一个挑战。但是它的极其复杂的配置正好也反应出它的强大,因为它几乎可以适用于任何监控任务。要说缺点的话就是不怎么耐看,但是其强劲的功能和可靠性弥补了这个缺点。
    7个杀手级的开源监测工具7个杀手级的开源监测工具

    工具3:“Icinga”

    Icinga 是一个正在重建的Nagios的分支,它提供了一个全面的监控和警报的框架,致力于设计一个像Nagios一样的开放和可扩展性的平台。但是和Nagios拥有不一样的Web界面。Icinga 1 和 Nagios非常的相近,不过Icinga 2就重写了。两个版本都能很好的兼容,而且,Nagios用户可以很轻松的转到Icinga 1平台。
    7个杀手级的开源监测工具7个杀手级的开源监测工具

    工具4:“NeDi”

    NeDi可能不如其他的工具一样闻名全世界,但它确是一个跟踪网络接入的一个强大的解决方案。它可以很流畅的运行网络基础设施和设备目录,保持对任何事件的跟踪。并且可以提供任意设备的当前地点,也包括历史地点。NeDi可以被用于定位被偷的,或者是丢失掉的设备,只要设备出现在网络上。它甚至可以在地图上显示所有已发现的节点。并且很清晰的告诉人们网络是怎么互联的到物理设备端口的。
    7个杀手级的开源监测工具7个杀手级的开源监测工具

    工具5:“Observium”

    Observium 综合了系统和网路监控,在性能趋势监测上有很好的表现,它支持静态和动态发现来确认服务器和网络设备,利用多种监测方法,可以监测任何可用的指标。Web界面非常的整洁,易用。就如我们看到的,Observium也可以在地图上显示任何被监测节点的实际地点。需要注意的是面板上关于活跃设备和警报的计数。
    7个杀手级的开源监测工具7个杀手级的开源监测工具

    工具6:“Zabbix”

    Zabbix 利用一系列的工具监测服务器和网络。Zabbix的监控代理支持大多数的操作系统,你可以被动的或者是使用外部检查,包括SNMP来监控主机和网络设备。你也会发现很多提醒和通知设施,和一个非常人性化的Web界面,适用于不同的面板,此外,Zabbix还拥有一些特殊的管理工具来监测Web应用和虚拟化的管理程序。Zabbix 还可以提供详细的互联图,以便于我们了解某些对象是怎么连接的。这些图是可以定制的,并且,图也可以以被监测的服务器和主机的分组形式被创建。
    7个杀手级的开源监测工具7个杀手级的开源监测工具

    工具7:“Ntop”

    Ntop是一个数据包嗅探工具。有一个整洁的Web界面,用来显示被监测网络的实时数据。即时的网络数据通过一个高级的绘图工具可以可视化。主机数据流和与之对应的主机通信信息可以被实时的进行可视化显示。
    7个杀手级的开源监测工具7个杀手级的开源监测工具

    本文转载自:http://www.linuxprobe.com/linux-detectiontools.html

    免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

    展开全文
  • 25个Linux性能监控工具

    2019-01-14 18:31:31
    一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具。在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其...

    一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具。在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其划分为两类,基于命令行的和提供图形化接口的。

    一、基于命令行的性能监控工具

    1.dstat - 多类型资源统计工具

    该命令整合了vmstatiostatifstat三种命令。同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况。通过不同颜色和区块布局的界面帮助你能够更加清晰容易的获取信息。它也支持将信息数据导出到cvs格式文件中,从而用其他应用程序打开,或者导入到数据库中。你可以用该命令来监控cpu,内存和网络状态随着时间的变化

    2.atop - 相比top更好的ASCII码体验

    这个使用ASCII码显示方式的命令行工具是一个显示所有进程活动的性能监控工具。它可以展示每日的系统日志以进行长期的进程活动分析,并高亮显示过载的系统使用资源。它包含了CPU,内存,交换空间,磁盘和网络层的度量指标。所有这些功能只需在终端运行atop即可。

    
     
    1. # atop

    当然你也可以使用交互界面来显示数据并进行排序。

    3.Nmon - 类Unix系统的性能监控

    Nmon是Nigel's Monitor缩写,它最早开发用来作为AIX的系统监控工具。如果使用在线模式,可以使用光标键在屏幕上操作实时显示在终端上的监控信息。使用捕捉模式能够将数据保存为CSV格式,方便进一步的处理和图形化展示。

    更多的信息参考我们的nmon性能监控文章

    4.slabtop - 显示内核slab缓存信息

    这个应用能够显示缓存分配器是如何管理Linux内核中缓存的不同类型的对象。这个命令类似于top命令,区别是它的重点是实时显示内核slab缓存信息。它能够显示按照不同排序条件来排序显示缓存列表。它同时也能够显示一个slab层信息的统计信息的题头。举例如下:

    
     
    1. # slabtop --sort=a
    2. # slabtop -s b
    3. # slabtop -s c
    4. # slabtop -s l
    5. # slabtop -s v
    6. # slabtop -s n
    7. # slabtop -s o

    更多信息参阅内核slab缓存文章

    5.sar - 性能监控和瓶颈检查

    sar 命令可以将操作系统上所选的累积活动计数器内容信息输出到标准输出上。其基于计数值和时间间隔参数的审计系统,会按照指定的时间间隔输出指定次数的监控信息。如果时间间隔参数为设置为0,那么sar命令将会显示系统从开机到当时时刻的平均统计信息。有用的命令如下:

    
     
    1. # sar -u 2 3
    2. # sar -u -f /var/log/sa/sa05
    3. # sar -P ALL 1 1
    4. # sar -r 1 3
    5. # sar -W 1 3

    6.Saidar - 简单的统计监控工具

    Saidar是一个简单轻量的系统信息监控工具。虽然它无法提供大多性能报表,但是它能够通过一个简单明了的方式显示最有用的系统运行状况数据。你可以很容易地看到运行时间、平均负载、CPU、内存、进程、磁盘和网络接口统计信息。

    
     
    1. Usage: saidar [-d delay] [-c] [-v] [-h]
    2.  
    3. -d 设置更新时间(秒)
    4. -c 彩色显示
    5. -v 显示版本号
    6. -h 显示本帮助

    7.top - 经典的Linux任务管理工具

    作为一个广为人知的Linux工具,top是大多数的类Unix操作系统任务管理器。它可以显示当前正在运行的进程的列表,用户可以按照不同的条件对该列表进行排序。它主要显示了系统进程对CPU和内存的使用状况。top可以快速检查是哪个或哪几个进程挂起了你的系统。你可以在这里看到top使用的例子。 你可以在终端输入top来运行它并进入到交互模式:

    
     
    1. 交互模式的一些快捷操作:
    2.  
    3. 全局命令: <回车/空格> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
    4. 统计区的命令: l, m, t, 1
    5. 任务区的命令:
    6. 外观: b, x, y, z 内容: c, f, H, o, S, u 大小: #, i, n 排序: <, >, F, O, R
    7. 色彩方案: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
    8. 窗口命令: -, _, =, +, A, a, G, g, w

    8.Sysdig - 系统进程的高级视图

    Sysdig是一个能够让系统管理员和开发人员以前所未有方式洞察其系统行为的监控工具。其开发团队希望改善系统级的监控方式,通过提供关于存储,进程,网络和内存子系统的统一有序以及粒度可见的方式来进行错误排查,并可以创建系统活动记录文件以便你可以在任何时间轻松分析。

    简单例子:

    
     
    1. # sysdig proc.name=vim
    2. # sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
    3. # sysdig evt.type=chdir and user.name=root
    4. # sysdig -l
    5. # sysdig -L
    6. # sysdig -c topprocs_net
    7. # sysdig -c fdcount_by fd.sport "evt.type=accept"
    8. # sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
    9. # sysdig -c topprocs_file
    10. # sysdig -c fdcount_by proc.name "fd.type=file"
    11. # sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
    12. # sysdig -c topprocs_cpu
    13. # sysdig -c topprocs_cpu evt.cpu=0
    14. # sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
    15. # sysdig evt.type=open and fd.name contains /etc

    更多信息 可以在 如何利用sysdig改善系统层次的监控和错误排查

     

    9.netstat - 显示开放的端口和连接

    它是Linux管理员使用来显示各种网络信息的工具,如查看什么端口开放和什么网络连接已经建立以及何种进程运行在该连接之上。同时它也显示了不同程序间打开的Unix套接字的信息。作为大多数Linux发行版本的一部分,netstat的许多命令在 netstat和它的不同输出中有详细的描述。最为常用的如下:

    
     
    1. $ netstat | head -20
    2. $ netstat -r
    3. $ netstat -rC
    4. $ netstat -i
    5. $ netstat -ie
    6. $ netstat -s
    7. $ netstat -g
    8. $ netstat -tapn

    10.tcpdump - 洞察网络封包

    tcpdump可以用来查看网络连接封包内容。它显示了传输过程中封包内容的各种信息。为了使得输出信息更为有用,它允许使用者通过不同的过滤器获取自己想要的信息。可以参照的例子如下:

    
     
    1. # tcpdump -i eth0 not port 22
    2. # tcpdump -c 10 -i eth0
    3. # tcpdump -ni eth0 -c 10 not port 22
    4. # tcpdump -w aloft.cap -s 0
    5. # tcpdump -r aloft.cap
    6. # tcpdump -i eth0 dst port 80

    你可以文章“在topdump和捕捉包”中找到详细描述。

    11.vmstat - 虚拟内存统计信息

    vmstat是虚拟内存(virtual memory statistics)的缩写,作为一个内存监控工具,它收集和显示关于内存进程终端分页I/O阻塞的概括信息。作为一个开源程序,它可以在大部分Linux发行版本中找到,包括Solaris和FreeBSD。它用来诊断大部分的内存性能问题和其他相关问题。

    M更多信息 参考 vmstat命令文章

    12.free - 内存统计信息

    free是另一个能够在终端中显示内存和交换空间使用的命令行工具。由于它的简易,它经常用于快速查看内存使用或者是应用于不同的脚本和应用程序中。在这里你可以看到这个小程序的许多应用。几乎所有的系统管理员日常都会用这个工具。:-)

    13.Htop - 更加友好的top

    Htop基本上是一个top改善版本,它能够以更加多彩的方式显示更多的统计信息,同时允许你采用不同的方式进行排序,它提供了一个用户友好的接口。

    你可以在文章“关于htop和top的比较”中找到更多的信息 。

    14.ss - 网络管理的现代替代品

    ssiproute2包的一部分。iproute2是用来替代一整套标准的Unix网络工具组件,它曾经用来完成网络接口配置,路由表和管理ARP表任务。ss工具用来记录套接字统计信息,它可以显示类似netstat一样的信息,同时也能显示更多TCP和状态信息。一些例子如下:

    
     
    1. # ss -tnap
    2. # ss -tnap6
    3. # ss -tnap
    4. # ss -s
    5. # ss -tn -o state established -p

    15.lsof - 列表显示打开的文件

    lsof命令,意为“list open files”, 用于在许多类Unix系统中显示所有打开的文件及打开它们的进程。在大部分Linux发行版和其他类Linux操作系统中系统管理员用它来检查不同的进程打开了哪些文件。

    
     
    1. # lsof +p process_id
    2. # lsof | less
    3. # lsof –u username
    4. # lsof /etc/passwd
    5. # lsof –i TCP:ftp
    6. # lsof –i TCP:80

    你可以找到 更多例子 在lsof 文章

    16.iftop - 类似top的了网络连接工具

    iftop是另一个基于网络信息的类似top的程序。它能够显示当前时刻按照带宽使用量或者上传或者下载量排序的网络连接状况。它同时提供了下载文件的预估完成时间。

    更多信息可以参考网络流量iftop文章

     

    17.iperf - 网络性能工具

    iperf是一个网络测试工具,能够创建TCPUDP数据连接并在网络上测量它们的传输性能。它支持调节关于时间,协议和缓冲等不同的参数。对于每一个测试,它会报告带宽,丢包和其他的一些参数。

    如果你想用使用这个工具,可以参考这篇文章: 如何安装和使用iperf

    18.Smem - 高级内存报表工具

    Smem是最先进的Linux命令行工具之一,它提供关于系统中已经使用的和共享的实际内存大小,试图提供一个更为可靠的当前内存使用数据。

    
     
    1. $ smem -m
    2. $ smem -m -p | grep firefox
    3. $ smem -u -p
    4. $ smem -w -p

    参考我们的文章:Smem更多的例子

    二、图形化或基于Web的性能工具

    19.Icinga - Nagios的社区分支版本

    Icinga是一个开源免费的网络监控程序,作为Nagios的分支,它继承了前者现有的大部分功能,同时基于这些功能又增加了社区用户要求已久的功能和补丁。

    更多信息请参考安装和配置lcinga文章

    20.Nagios - 最为流行的监控工具

    作为在Linux上使用最为广泛和最为流行的监控方案,它有一个守护程序用来收集不同进程和远程主机的信息,这些收集到的信息都通过功能强大的web界面进行呈现。

    你可以在文章“如何安装nagios”里面找到更多的信息

     

    21.Linux process explorer - Linux下的procexp

     

    Linux process explorer是一个Linux下的图形化进程浏览工具。它能够显示不同的进程信息,如进程数,TCP/IP连接和每一个进程的性能指标。作为Windowsprocexp在Linux的替代品,是由Sysinternals开发的,其目标是比topps提供更好用户体验。

    查看 linux process explorer 文章获取更多信息。

    22.Collectl - 性能监控工具

    你可以既可以通过交互的方式使用这个性能监控工具,也可以用它把报表写到磁盘上,并通过web服务器来访问。它以一种易读易管理的格式,显示了CPU,磁盘,内存,网络,网络文件系统,进程,slabs等统计信息。

    更多 关于Collectl的文章

    23.MRTG - 经典网络流量监控图形工具

    这是一个采用rrdtool的生成图形的流量监控工具。作为最早的提供图形化界面的流量监控工具,它被广泛应用在类Unix的操作系统中。查看我们关于如何使用MRTG的文章获取更多关于安装和配置的信息。

    24.Monit - 简单易用的监控工具

    Monit是一个用来监控进程系统加载文件系统目录文件等的开源的Linux工具。你能够让它自动化维护和修复,也能够在运行错误的情景下执行特定动作或者发邮件报告提醒系统管理员。如果你想要用这个工具,你可以查看如何使用Monit的文章

    25.Munin - 为服务器提供监控和提醒服务

    作为一个网络资源监控工具,Munin能够帮助分析资源趋势查看薄弱环节以及导致产生性能问题的原因。开发此软件的团队希望它能够易用和用户体验友好。该软件是用Perl开发的,并采用rrdtool来绘制图形,使用了web界面进行呈现。开发人员推广此应用时声称当前已有500多个监控插件可以“即插即用*”。

     

    参考:

    http://os.51cto.com/art/201412/460698_all.htm(25个工具,以上内容转自此篇文章)

    展开全文
  • 一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具。在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其...
     在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其划分为两类,基于命令行的和提供图形化接口的。
    

     

    一段时间以来,我们在网上向读者介绍了如何为Linux以及类Linux操作系统配置多种不同的性能监控工具。在这篇文章中我们将罗列一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其划分为两类,基于命令行的和提供图形化接口的。

    一、基于命令行的性能监控工具

    1.dstat - 多类型资源统计工具

    该命令整合了vmstatiostatifstat三种命令。同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况。通过不同颜色和区块布局的界面帮助你能够更加清晰容易的获取信息。它也支持将信息数据导出到cvs格式文件中,从而用其他应用程序打开,或者导入到数据库中。你可以用该命令来监控cpu,内存和网络状态随着时间的变化

    2.atop - 相比top更好的ASCII码体验

    这个使用ASCII码显示方式的命令行工具是一个显示所有进程活动的性能监控工具。它可以展示每日的系统日志以进行长期的进程活动分析,并高亮显示过载的系统使用资源。它包含了CPU,内存,交换空间,磁盘和网络层的度量指标。所有这些功能只需在终端运行atop即可。

    1. # atop

    当然你也可以使用交互界面来显示数据并进行排序。

    3.Nmon - 类Unix系统的性能监控

    Nmon是Nigel's Monitor缩写,它最早开发用来作为AIX的系统监控工具。如果使用在线模式,可以使用光标键在屏幕上操作实时显示在终端上的监控信息。使用捕捉模式能够将数据保存为CSV格式,方便进一步的处理和图形化展示。

    更多的信息参考我们的nmon性能监控文章

    4.slabtop - 显示内核slab缓存信息

    这个应用能够显示缓存分配器是如何管理Linux内核中缓存的不同类型的对象。这个命令类似于top命令,区别是它的重点是实时显示内核slab缓存信息。它能够显示按照不同排序条件来排序显示缓存列表。它同时也能够显示一个slab层信息的统计信息的题头。举例如下:

    1. # slabtop --sort=a
    2. # slabtop -s b
    3. # slabtop -s c
    4. # slabtop -s l
    5. # slabtop -s v
    6. # slabtop -s n
    7. # slabtop -s o

    更多信息参阅内核slab缓存文章

    5.sar - 性能监控和瓶颈检查

    sar 命令可以将操作系统上所选的累积活动计数器内容信息输出到标准输出上。其基于计数值和时间间隔参数的审计系统,会按照指定的时间间隔输出指定次数的监控信息。如果时间间隔参数为设置为0,那么sar命令将会显示系统从开机到当时时刻的平均统计信息。有用的命令如下:

    1. # sar -u 2 3
    2. # sar -u -f /var/log/sa/sa05
    3. # sar -P ALL 1 1
    4. # sar -r 1 3
    5. # sar -W 1 3

    6.Saidar - 简单的统计监控工具

    Saidar是一个简单轻量的系统信息监控工具。虽然它无法提供大多性能报表,但是它能够通过一个简单明了的方式显示最有用的系统运行状况数据。你可以很容易地看到运行时间、平均负载、CPU、内存、进程、磁盘和网络接口统计信息。

    1. Usage: saidar [-d delay] [-c] [-v] [-h]
    2.  
    3. -d 设置更新时间(秒)
    4. -c 彩色显示
    5. -v 显示版本号
    6. -h 显示本帮助

    7.top - 经典的Linux任务管理工具

    作为一个广为人知的Linux工具,top是大多数的类Unix操作系统任务管理器。它可以显示当前正在运行的进程的列表,用户可以按照不同的条件对该列表进行排序。它主要显示了系统进程对CPU和内存的使用状况。top可以快速检查是哪个或哪几个进程挂起了你的系统。你可以在这里看到top使用的例子。 你可以在终端输入top来运行它并进入到交互模式:

    1. 交互模式的一些快捷操作:
    2.  
    3. 全局命令: <回车/空格> ?, =, A, B, d, G, h, I, k, q, r, s, W, Z
    4. 统计区的命令: l, m, t, 1
    5. 任务区的命令:
    6. 外观: b, x, y, z 内容: c, f, H, o, S, u 大小: #, i, n 排序: <, >, F, O, R
    7. 色彩方案: <Ret>, a, B, b, H, M, q, S, T, w, z, 0 - 7
    8. 窗口命令: -, _, =, +, A, a, G, g, w

    8.Sysdig - 系统进程的高级视图

    Sysdig是一个能够让系统管理员和开发人员以前所未有方式洞察其系统行为的监控工具。其开发团队希望改善系统级的监控方式,通过提供关于存储,进程,网络和内存子系统的统一有序以及粒度可见的方式来进行错误排查,并可以创建系统活动记录文件以便你可以在任何时间轻松分析。

    简单例子:

    1. # sysdig proc.name=vim
    2. # sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
    3. # sysdig evt.type=chdir and user.name=root
    4. # sysdig -l
    5. # sysdig -L
    6. # sysdig -c topprocs_net
    7. # sysdig -c fdcount_by fd.sport "evt.type=accept"
    8. # sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
    9. # sysdig -c topprocs_file
    10. # sysdig -c fdcount_by proc.name "fd.type=file"
    11. # sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
    12. # sysdig -c topprocs_cpu
    13. # sysdig -c topprocs_cpu evt.cpu=0
    14. # sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
    15. # sysdig evt.type=open and fd.name contains /etc

    更多信息 可以在 如何利用sysdig改善系统层次的监控和错误排查

    9.netstat - 显示开放的端口和连接

    它是Linux管理员使用来显示各种网络信息的工具,如查看什么端口开放和什么网络连接已经建立以及何种进程运行在该连接之上。同时它也显示了不同程序间打开的Unix套接字的信息。作为大多数Linux发行版本的一部分,netstat的许多命令在 netstat和它的不同输出中有详细的描述。最为常用的如下:

    1. $ netstat | head -20
    2. $ netstat -r
    3. $ netstat -rC
    4. $ netstat -i
    5. $ netstat -ie
    6. $ netstat -s
    7. $ netstat -g
    8. $ netstat -tapn

    10.tcpdump - 洞察网络封包

    tcpdump可以用来查看网络连接封包内容。它显示了传输过程中封包内容的各种信息。为了使得输出信息更为有用,它允许使用者通过不同的过滤器获取自己想要的信息。可以参照的例子如下:

    1. # tcpdump -i eth0 not port 22
    2. # tcpdump -c 10 -i eth0
    3. # tcpdump -ni eth0 -c 10 not port 22
    4. # tcpdump -w aloft.cap -s 0
    5. # tcpdump -r aloft.cap
    6. # tcpdump -i eth0 dst port 80

    你可以文章“在topdump和捕捉包”中找到详细描述。

    11.vmstat - 虚拟内存统计信息

    vmstat是虚拟内存(virtual memory statistics)的缩写,作为一个内存监控工具,它收集和显示关于内存进程终端分页I/O阻塞的概括信息。作为一个开源程序,它可以在大部分Linux发行版本中找到,包括Solaris和FreeBSD。它用来诊断大部分的内存性能问题和其他相关问题。

    M更多信息 参考 vmstat命令文章

    12.free - 内存统计信息

    free是另一个能够在终端中显示内存和交换空间使用的命令行工具。由于它的简易,它经常用于快速查看内存使用或者是应用于不同的脚本和应用程序中。在这里你可以看到这个小程序的许多应用。几乎所有的系统管理员日常都会用这个工具。:-)

    13.Htop - 更加友好的top

    Htop基本上是一个top改善版本,它能够以更加多彩的方式显示更多的统计信息,同时允许你采用不同的方式进行排序,它提供了一个用户友好的接口。

    你可以在文章“关于htop和top的比较”中找到更多的信息

    14.ss - 网络管理的现代替代品

    ssiproute2包的一部分。iproute2是用来替代一整套标准的Unix网络工具组件,它曾经用来完成网络接口配置,路由表和管理ARP表任务。ss工具用来记录套接字统计信息,它可以显示类似netstat一样的信息,同时也能显示更多TCP和状态信息。一些例子如下:

    1. # ss -tnap
    2. # ss -tnap6
    3. # ss -tnap
    4. # ss -s
    5. # ss -tn -o state established -p

    15.lsof - 列表显示打开的文件

    lsof命令,意为“list open files”, 用于在许多类Unix系统中显示所有打开的文件及打开它们的进程。在大部分Linux发行版和其他类Linux操作系统中系统管理员用它来检查不同的进程打开了哪些文件。

    1. # lsof +p process_id
    2. # lsof | less
    3. # lsof –u username
    4. # lsof /etc/passwd
    5. # lsof –i TCP:ftp
    6. # lsof –i TCP:80

    你可以找到 更多例子lsof 文章

    16.iftop - 类似top的了网络连接工具

    iftop是另一个基于网络信息的类似top的程序。它能够显示当前时刻按照带宽使用量或者上传或者下载量排序的网络连接状况。它同时提供了下载文件的预估完成时间。

    更多信息可以参考网络流量iftop文章

    17.iperf - 网络性能工具

    iperf是一个网络测试工具,能够创建TCPUDP数据连接并在网络上测量它们的传输性能。它支持调节关于时间,协议和缓冲等不同的参数。对于每一个测试,它会报告带宽,丢包和其他的一些参数。

    如果你想用使用这个工具,可以参考这篇文章: 如何安装和使用iperf

    18.Smem - 高级内存报表工具

    Smem是最先进的Linux命令行工具之一,它提供关于系统中已经使用的和共享的实际内存大小,试图提供一个更为可靠的当前内存使用数据。

    1. $ smem -m
    2. $ smem -m -p | grep firefox
    3. $ smem -u -p
    4. $ smem -w -p

    参考我们的文章:Smem更多的例子

    二、图形化或基于Web的性能工具

    19.Icinga - Nagios的社区分支版本

    Icinga是一个开源免费的网络监控程序,作为Nagios的分支,它继承了前者现有的大部分功能,同时基于这些功能又增加了社区用户要求已久的功能和补丁。

    更多信息请参考安装和配置lcinga文章

    20.Nagios - 最为流行的监控工具

    作为在Linux上使用最为广泛和最为流行的监控方案,它有一个守护程序用来收集不同进程和远程主机的信息,这些收集到的信息都通过功能强大的web界面进行呈现。

    你可以在文章“如何安装nagios”里面找到更多的信息

    21.Linux process explorer - Linux下的procexp

    Linux process explorer是一个Linux下的图形化进程浏览工具。它能够显示不同的进程信息,如进程数,TCP/IP连接和每一个进程的性能指标。作为Windowsprocexp在Linux的替代品,是由Sysinternals开发的,其目标是比topps提供更好用户体验。

    查看 linux process explorer 文章获取更多信息。

    22.Collectl - 性能监控工具

    你可以既可以通过交互的方式使用这个性能监控工具,也可以用它把报表写到磁盘上,并通过web服务器来访问。它以一种易读易管理的格式,显示了CPU,磁盘,内存,网络,网络文件系统,进程,slabs等统计信息。

    更多 关于Collectl的文章

    23.MRTG - 经典网络流量监控图形工具

    这是一个采用rrdtool的生成图形的流量监控工具。作为最早的提供图形化界面的流量监控工具,它被广泛应用在类Unix的操作系统中。查看我们关于如何使用MRTG的文章获取更多关于安装和配置的信息。

    24.Monit - 简单易用的监控工具

    Monit是一个用来监控进程系统加载文件系统目录文件等的开源的Linux工具。你能够让它自动化维护和修复,也能够在运行错误的情景下执行特定动作或者发邮件报告提醒系统管理员。如果你想要用这个工具,你可以查看如何使用Monit的文章

    25.Munin - 为服务器提供监控和提醒服务

    作为一个网络资源监控工具,Munin能够帮助分析资源趋势和查看薄弱环节以及导致产生性能问题的原因。开发此软件的团队希望它能够易用和用户体验友好。该软件是用Perl开发的,并采用rrdtool来绘制图形,使用了web界面进行呈现。开发人员推广此应用时声称当前已有500多个监控插件可以“即插即用*”。

     

    更多信息可以在关于Munin的文章

    展开全文
  • 引言对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。基于此原因,我们已编写了...

    引言

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。

    基于此原因,我们已编写了最常使用的命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作。

    这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。

    这个命令行工具列表提供了足够的工具,您可以挑选适用于您的监控场景的工具。

    1.顶部 - Linux进程监控

    Linux Top 命令是一个性能监视程序,许多系统管理员经常使用它来监视Linux的性能,它可以在许多Linux / Unix 操作系统下使用。顶部命令用于减少有序列表中的所有正在运行和活动的实时进程,并定期更新它。它显示 CPU使用情况,内存使用情况,交换内存,缓存大小,缓冲区大小,进程PID,用户, 命令等等。它还显示高 内存 和 CPU 运行流程的利用。top命令对系统管理员来说非常有用,可以在需要时监视和采取正确的操作。让我们看看最高命令的实际效果。

    2.VmStat - 虚拟内存统计

    Linux VmStat 命令用于显示 虚拟内存, kernerl线程,磁盘, 系统进程, I / O块, 中断, CPU活动 等的统计信息。默认情况下,vmstat命令在Linux系统下不可用,您需要安装名为sysstat的软件包 ,其中包含vmstat程序。命令格式的常见用法是。

    nginx procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free inact active si so bi bo in cs us sy id wa st 1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0

    3.Lsof - 列出打开的文件

    许多Linux / Unix 系统中使用的Lsof命令 ,用于显示所有打开文件和进程的列表。包含的开放文件是 磁盘文件, 网络套接字,管道, 设备 和 进程。使用此命令的主要原因之一是无法卸载磁盘并显示正在使用或打开文件的错误。使用此命令,您可以轻松识别哪些文件正在使用中。这个命令最常用的格式是。

    nginx procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free inact active si so bi bo in cs us sy id wa st 1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0

    4.Tcpdump - 网络分组分析器

    Tcpdump 是使用最广泛的命令行 网络数据包分析器 或 数据包嗅探器 程序之一,用于捕获或过滤 通过网络在特定接口上接收或传输的TCP / IP数据包。它还提供了一个选项,可以将捕获的包保存在文件中供以后分析。tcpdump几乎可用于所有主要的Linux发行版。

    nginx tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648 22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648 22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

    5.Netstat - 网络统计

    Netstat 是一个命令行工具,用于监视 传入 和 传出网络 数据包统计信息以及接口统计信息。对于每个系统管理员来说,监视网络性能并排除网络相关问题是非常有用的工具。

    nginx Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:mysql *:* LISTEN tcp 0 0 *:sunrpc *:* LISTEN tcp 0 0 *:realm-rusd *:* LISTEN tcp 0 0 *:ftp *:* LISTEN tcp 0 0 localhost.localdomain:ipp *:* LISTEN tcp 0 0 localhost.localdomain:smtp *:* LISTEN tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAIT tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAIT tcp 0 0 *:http *:* LISTEN tcp 0 0 *:ssh *:* LISTEN tcp 0 0 *:https *:* LISTEN

    6.Htop - Linux进程监控

    Htop 是一款非常先进的交互式和实时Linux过程监控工具。这与Linux top命令非常相似, 但它具有一些丰富的功能,如 用户友好的界面来管理进程, 快捷键, 进程的垂直和水平视图 等等。Htop是第三方工具,不包含在Linux系统中,您需要使用YUM 包管理器工具进行安装 。有关安装的更多信息,请阅读我们的文章。

    7.Iotop - 监控Linux磁盘I / O

    Iotop 也与顶级命令 和 Htop程序非常相似 ,但它具有记帐功能来监视和显示实时的 磁盘I / O 和 进程。此工具对于查找进程的确切进程和高使用率磁盘读取/写入非常有用。

    8.Iostat - 输入/输出统计

    IoStat 是一个简单的工具,它将收集并显示系统 输入 和 输出 存储设备的统计信息。此工具通常用于跟踪存储设备性能问题,包括设备, 本地磁盘和 远程磁盘 (如 NFS)。

    ```nginx Linux 2.6.18-238.9.1.el5 (tecmint.com) 09/13/2012

    avg-cpu: %user %nice %system %iowait %steal %idle 2.60 3.65 1.04 4.29 0.00 88.42

    Device: tps Blkread/s Blkwrtn/s Blkread Blkwrtn cciss/c0d0 17.79 545.80 256.52 855159769 401914750 cciss/c0d0p1 0.00 0.00 0.00 5459 3518 cciss/c0d0p2 16.45 533.97 245.18 836631746 384153384 cciss/c0d0p3 0.63 5.58 3.97 8737650 6215544 cciss/c0d0p4 0.00 0.00 0.00 8 0 cciss/c0d0p5 0.63 3.79 5.03 5936778 7882528 cciss/c0d0p6 0.08 2.46 2.34 3847771 3659776 ```

    9.IPTraf - 实时IP局域网监控

    IPTraf 是一个针对Linux的基于控制台的开放式实时网络(IP LAN)监控工具。它收集各种信息,例如通过网络传输的IP流量监视器,包括TCP标记信息,ICMP详细信息,TCP / UDP流量故障,TCP连接数据包和通过计数。它还收集TCP,UDP,IP,ICMP,非IP,IP校验和错误,接口活动等通用和详细的接口统计信息。

    10.Psacct或Acct - 监控用户活动

    psacct或acct工具对于监视系统中的每个用户活动非常有用。这两个守护进程都在后台运行,并密切关注系统上每个用户的整体活动以及他们正在使用哪些资源。

    这些工具对系统管理员来说非常有用,可以跟踪每个用户的活动,比如他们正在做什么,他们发布了哪些命令,他们使用了多少资源,他们在系统上活跃多久等等。

    有关命令的安装和示例用法,请阅读有关使用psacct或acct监视用户活动的文章

    11.Monit - Linux进程和服务监控

    Monit 是一款免费的开源和基于Web的进程监督工具,可自动监控和管理系统进程,程序,文件,目录,权限,校验和和文件系统。

    它监控Apache,MySQL,Mail,FTP,ProFTP,Nginx,SSH等服务。系统状态可以从命令行查看或使用它自己的网络界面。

    12.NetHogs - 监控每个进程的网络带宽

    NetHogs 是一个开源的漂亮的小程序(类似于Linux的 顶级命令),可以在系统上保存每个进程网络活动的选项卡。它还可以跟踪每个程序或应用程序使用的实时网络流量带宽。

    13.iftop - 网络带宽监控

    iftop 是另一种基于终端的免费开源系统监控实用程序,可显示经过系统网络接口的经常更新的网络带宽利用率(源和目标主机)列表。iftop被考虑用于网络使用,对于CPU使用情况来说,' 最高 '会做什么。iftop是一个“ 顶级 ”家庭工具,用于监控选定的接口并在两台主机之间显示当前的带宽使用情况。

    14.Monitorix - 系统和网络监控

    Monitorix 是一个免费的轻量级实用程序,旨在尽可能多地在Linux / Unix 服务器上运行和监视系统和网络资源 。它内置了 HTTP Web服务器,可定期收集系统和网络信息并以图形形式显示。它监视系统负载平均和使用情况, 内存分配, 磁盘驱动器健康状况, 系统服务, 网络端口, 邮件统计信息 (Sendmail, Postfix, Dovecot等), MySQL统计信息 还有很多。它旨在监控整个系统的性能并帮助检测故障,瓶颈和异常活动等。

    15.Arpwatch - 以太网活动监视器

    Arpwatch 是一种旨在监视 Linux网络上以太网网络流量的地址解析(MAC 和 IP地址更改)的 程序。它不断监视以太网流量并生成IP 和 MAC 地址对更改的日志以及 网络上的时间戳。它还具有在添加或更改配对时向管理员发送电子邮件警报的功能。它在检测 网络中的ARP欺骗时非常有用 。

    16.Suricata - 网络安全监控

    Suricata 是一款 面向Linux, FreeBSD 和 Windows的高性能开源 网络安全 和 入侵检测和 预防监控系统。 它由非盈利性基金会OISF (开放信息安全基金会)设计和拥有 。

    17.VnStat PHP - 监控网络带宽

    VnStat PHP 是一个基于网络的前端应用程序,用于最流行的网络工具“ vnstat ”。 VnStat PHP 以良好的图形模式监视网络流量使用情况。它 以小时, 每日, 每月 和 全部总结 报告的形式显示总的 IN 和 OUT网络流量使用情况 。

    18.Nagios - 网络/服务器监控

    Nagios是领先的开源强大监控系统,使网络/系统管理员能够在影响主要业务流程之前识别并解决与服务器相关的问题。借助Nagios系统,管理员可以在单个窗口上监控远程Linux,Windows,交换机,路由器和打印机。它显示了严重警告,并指示您的网络/服务器中是否出现问题,从而间接地帮助您在发生修复过程之前开始修复过程。

    展开全文
  • 如果你想在性能监控市场上寻找一些不同的东西,选择一款开源工具是不错的选择之一。 在下面的博文中,我们收集了一些开源的APM工具,这些工具目前已经可以替代付费工具,大家可以看看它是否是你的最佳选择。 拥抱...
  • 20个常用Linux性能监控工具/命令 对于 Linux/Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具。这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因。这些监控命令足够你选择...
  • 开源运维监控产品*************************************************************************************************** Zabbix 推荐星级:★★★★★ Zabbix是一个基于WEB界面的提供分布式系统监控以及...
  • 商业版的性能监控平台确实强大,但是对于很多初创公司来说,一般不会选择昂贵的商业监控平台,更多的是选用开源的监控系统,比如Zabbix。但是无论多么强大的开源监控平台,基本都不能满足所有的监控需求,比如没有...
  • top命令是一个优秀的交互式实用工具,用于监视性能。它提供关于整体Linux性能的几个概要行,但是报告进程信息才是top真正的长处。可以广泛自定义进程显示,也可以添加字段,按照不同指标排序进程列表,甚至从top注销...
  • 2017年最优秀的七大开源网络监控工具 [日期:2017年6月14日] 来源:互联网 作者:小恩 对开源软件的需求持续增长,网络管理工具已经适应了这一浪潮。你不再需要为可能不是你所需的软件支付小额的费用,请留意下...
  • Github上排名前五的开源网络监控工具 维护网站正常运行是系统管理员最基本的任务之一,所以对系统进行监视,并保持网络的最佳运行状态至关重要。 在现代的网络中,有许多不同的方法来监视,网络监控工具专门用于监控...
  • 大多数 Linux 发行版都附带了大量的监控工具。这些工具提供了获取系统活动的相关指标。您可以使用这些工具来查找性能问题的可能原因。本文提到的是一些基本的命令,用于系统分析和服务器调试等,例如:找出系统瓶颈...
  • 有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如SUSE Linux 就有一个非常棒而且专业的工具YaST,KDE 的 KDE System Guard 同样很出色。  当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 G
  • 淘宝有一款开源监控工具orzdba,集成mysql和linux性能监控,功能很强大,可以很直观查看mysql和linux性能情况,而且使用非常简单  代码SVN地址:http://code.taobao.org/p/orzdba/src/trunk/ orzdba的安装...
  • GitHub Linux下网络监控工具总结 AderXCoding/system/tools/network_monitor本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处 对任何规模的业务来说, 网络监控工具都...
  • 如果问性能测试中最难的是哪部分,相信很多人会说“性能调优”。确实是这样,性能调优是一个非常复杂、技术含量很高的工作。涉及到的知识面很广。以我多年从业经验来看,在企业里,大多数的性能调优都是由开发架构师...
  • Monitorix最大的特点是简单,安装完系统,添加EPEL源,两条命令,就可以完成监控并且出图: yum install monitorix service monitorix start 然后输入http://IP:8080,就能看到监控,默认安装连用户严重都...
  • 服务器监控工具功能相当强大,无论何时何地,我们都可以了解到服务器的功能以及性能。服务器监控工具的使用,可以让我们清楚的知道用户可以打开我们的网站,且确保网速不慢。只有这样做,才能留住宝贵的用户,以免...
  • 在本文中,我们主要包括以下方面:命令行工具网络相关内容系统相关的监控工具日志监控工具基础设施监控工具监控和调试性能问题是一个艰巨的任务,但用对了正确的工具有时也是很容易的。下面是一些你可能听说过的工具...
1 2 3 4 5 ... 20
收藏数 32,600
精华内容 13,040
关键字:

linux开源的性能监控工具