随着互联网行业的不断发展,各类监控工具多得不可胜数。这儿列举网上最全的监控工具。让你可以拥有超过80种方法来管理你的机器。在本文中,我们主要包括以下方面:
监控和调试性能问题是一个繁重的任务,但用对了正确的工具有时也是很容易的。下边是一些你可能据说过的工具,也有可能没有据说过——何不快点开始试试?
八大系统监控工具1.top
这是一个被预装在许多UNIX系统中的小工具。当你想要查看在系统中运行的进程或线程时:top是一个挺好的工具。你可以对这种进程以不同的方法进行排序,默认是以CPU进行排序的。
2.htop
htop实质上是top的一个提高版本。它更容易对进程排序。它看上去上更容易理解,而且早已内建了许多通用操作。它也是完全交互式的。
3.atop
atop和top,htop十分相像,它也能监控所有进程,但不同于top和htop的是,它可以按日记录进程的日志供之后剖析。它也能显示所有进程的资源消耗。它就会高亮显示已然达到临界负载的资源。
4.apachetop
apachetop会监控apache网路服务器的整体性能。它主要是基于mytop。它会显示当前的读取进程、写入进程的数目以及恳求进程的总量。
5.ftptop
ftptop给你提供了当前所有联接到ftp服务器的基本信息,如会话总量,正在上传和下载的顾客端数目以及顾客端是谁。
6.mytop
mytop是一个很简练的工具,用于监控mysql的线程和性能。它能让你实时查看数据库以及正在处理什么查询。
7.powertop
powertop可以帮助你确诊与电量消耗和电源管理相关的问题。它也可以帮你进行电源管理设置,以实现对你服务器最有效的配置。你可以使用tab键切换选项卡。
8.iotop
iotop用于检测I/O的使用情况,并为你提供了一个类似top的界面来显示。它按列显示读和写的速度,每行代表一个进程。当发生交换或I/O等待时,它会显示进程消耗时间的比率。
与网路相关的监控9.ntopng
ntopng是ntop的升级版,它提供了一个能通过浏览器进行网路监控的图形用户界面。它还有其他用途,如:地理定位主机,显示网路流量和ip流量分布并能进行剖析。
10.iftop
iftop类似于topRAR FOR LINUX,但它主要不是检测cpu的使用率而是窃听所选择网路插口的流量,并以表格的方式显示当前的使用量。像“为什么我的网速那么慢呢?!”这样的问题它可以直接回答。
11.jnettop
jnettop以相同的方法来检测网路流量但比iftop更形象。它还支持自定义的文本输出,并能以友好的交互方法来深度剖析日志。
12.bandwidthd
BandwidthD可以跟踪TCP/IP网路子网的使用情况,并能在浏览器中通过png图片形象化地建立一个HTML页面。它有一个数据库系统,支持搜索、过滤,多传感和自定义报表。
13.EtherApe
EtherApe以图形化显示网路流量,可以支持更多的节点。它可以捕获实时流量信息,也可以从tcpdump进行读取。也可以使用pcap格式的网路过滤器来显示特定信息。
14.ethtool
ethtool用于显示和更改网路插口控制器的一些参数。它也可以拿来确诊以太网设备,并获得更多的统计数据。
15.NetHogs
NetHogs打破了网路流量按合同或子网进行统计的惯例,它以进程来分组。所以,当网路流量激增时,你可以使用NetHogs查看是由那个进程引起的。
16.iptraf
iptraf搜集的各类指标,如TCP联接数据包和字节数,端口统计和活动指标,TCP/UDP通讯故障,站内数据包和字节数。
17.ngrep
ngrep就是网路层的grep。它使用pcap,容许通过指定扩充正则表达式或十六补码表达式来匹配数据包。
18.MRTG
MRTG最初被开发来监控路由器的流量,但如今它也还能监控网路相关的东西。它每五分钟搜集一次,之后形成一个HTML页面。它还具有发送短信报案的能力。
19.bmon
bmon能监控并帮助你调试网路。它能捕获网路相关的统计数据,并以友好的方法进行展示。你还可以与bmon通过脚本进行交互。
20.traceroute
traceroute是一个外置工具,能显示路由和检测数据包在网路中的延后。
21.IPTState
IPTState可以让你观察流量是怎样通过iptables,并通过你指定的条件来进行排序。该工具还容许你从iptables的表中删掉状态信息。
22.darkstat
darkstat能捕获网路流量并估算使用情况的统计数据。该报告保存在一个简单的HTTP服务器中,它为你提供了一个极其棒的图形用户界面。
23.vnStat
vnStat是一个网路流量监控工具,它的数据统计是由内核进行提供的,其消耗的系统资源十分少。系统重新启动后,它搜集的数据依然存在。有艺术感的系统管理员可以使用它的颜色选项。
24.netstat
netstat是一个外置的工具,它能显示TCP网路联接,路由表和网路插口数目,被拿来在网路中查找问题。
25.ss
比起netstat,使用ss更好。ss命令才能显示的信息比netstat更多,也更快。假如你想查看统计结果的总信息,你可以使用命令ss-s。
26.nmap
Nmap可以扫描你服务器开放的端口而且可以检查正在使用那个操作系统。但你也可以将其用于SQL注入漏洞、网络发觉和渗透测试相关的其他用途。
27.MTR
MTR将traceroute和ping的功能结合到了一个网路确诊工具上。当使用该工具时,它会限制单个数据包的跳数,之后监视它们的到期时抵达的位置。之后每秒进行重复。
28.Tcpdump
Tcpdump将根据你在命令行手指定的表达式输出匹配捕获到的数据包的信息。你还可以将此数据保存并进一步剖析。
29.Justniffer
Justniffer是tcp数据包嗅探器。使用此嗅探器你可以选择搜集低级别的数据还是高级别的数据。它也可以让你以自定义方法生成日志。例如模仿Apache的访问日志。
与系统有关的监控30.nmon
nmon将数据输出到屏幕上的linux系统常用软件,或将其保存在一个以冒号分隔的文件中。你可以查看CPU,显存,网路,文件系统,前列进程。数据也可以被添加到RRD数据库中用于进一步剖析。
31.conky
Conky能监视好多的操作系统数据。它支持IMAP和POP3,甚至许多流行的音乐播放器!出于便捷不同的人,你可以使用自己的Lua脚本或程序来进行扩充。
32.Glances
使用Glances监控你的系统,其致力使用最小的空间为你呈现最多的信息。它可以在顾客端/服务器端模式下运行,也有远程监控的能力。它也有一个Web界面。
33.saidar
Saidar是一个十分小的工具,为你提供有关系统资源的基础信息。它将系统资源在全屏进行显示。重点是saidar会尽可能的简化。
34.RRDtool
RRDtool是拿来处理RRD数据库的工具。RRDtool致力处理时间序列数据,如CPU负载,气温等。该工具提供了一种方式来提取RRD数据并以图形界面显示。
35.monit
倘若出现故障时,monit有发送警报以及重新启动服务的功能。它可以对各类数据进行检测,你可以为monit写一个脚本,它有一个Web用户界面来分担你耳朵的压力。
36.Linuxprocessexplorer
Linuxprocessexplorer是类似OSX或Windows的活动监视器。它比top或ps的使用范围更广。你可以查看每位进程的显存消耗以及CPU的使用情况。
37.df
df是diskfree的简写,它是所有UNIX系统预装的程序,拿来显示用户有访问权限的文件系统的可用c盘空间。
38.discus
discus类似于df,它的目的是通过使用更吸引人的特点,如颜色,图形和数字来对df进行改进。
39.xosview
xosview是一款精典的系统监控工具,它给你提供包括IRQ在内的各个不同部份的简单总览。
40.Dstat
dstat致力取代vmstat,iostat,netstat和ifstat。它可以让你查实时查看所有的系统资源。这种数据可以导入为CSV。最重要的是dstat准许使用插件linux系统常用软件,因而其可以扩充到更多领域。
41.Net-SNMP
SNMP即“简单网路管理合同”,Net-SNMP工具套件使用该合同可帮助你搜集服务器的确切信息。
42.incron
incron容许你监控一个目录树,之后对这种变化采取举措。假如你想在目录‘a’中出现新文件时,将其复制到目录‘b’,这正是incron能做的。
43.monitorix
Monitorix是轻量级的系统监控工具。它可以帮助你监控单独一台机器,并为你提供丰富的指标。它也有一个外置的HTTP服务器,来查看图表和所有指标的报告。
44.vmstat
vmstat(virtualmemorystatistics)是一个大型外置工具,能监控和显示机器的显存。
45.uptime
这个小程序能快速显示你机器运行了多久,目前有多少用户登入和系统过去1分钟,5分钟和15分钟的平均负载。
46.mpstat
mpstat是一个外置的工具,能监视cpu的使用情况。最常见的使用方式是mpstat-PALL,它给你提供cpu的使用情况。你也可以间歇性地更新cpu的使用情况。
47.pmap
pmap是一个外置的工具,报告一个进程的显存映射。你可以使用这个命令来找出造成显存困局的诱因。
48.ps
该命令将给你当前所有进程的概述。你可以使用ps-A命令查看所有进程。
49.sar
sar是sysstat包的一部份,可以帮助你搜集、报告和保存不同系统的指标。使用不同的参数,它会给你提供CPU、内存和I/O使用情况及其他东西。
50.collectl
类似于sar,collectl搜集你机器的性能指标。默认情况下,显示cpu、网络和c盘统计数据,但它实际搜集了好多信息。与sar不同的是,collectl才能处理比秒更小的单位,它可以被直接送入绘图工具而且collectl的监控过程更广泛。
51.iostat
iostat也是sysstat包的一部份。此命令用于监控系统的输入/输出。其报告可以拿来进行系统调优,以更好地调节你机器上硬碟的输入/输出负载。
52.free
这是一个外置的命令,用于显示你机器上可用的显存大小以及已使用的显存大小。它还可以显示某时刻内核所使用的缓冲区大小。
53./proc文件系统
proc文件系统可以让你查看内核的统计信息。从这种统计数据可以得到你机器上不同硬件设备的详尽信息。瞧瞧这个proc文件统计的完整列表。
54.GKrellM
GKrellm是一个图形应用程序,拿来监控你硬件的状态信息,像CPU,显存,硬碟,网路插口以及其他的。它也可以监视并启动你所选择的电邮阅读器。
55.Gnome系统监控器
Gnome系统监控器是一个基本的系统监控工具,其能通过一个树形结构来查看进程的依赖关系,能杀害进程及调整进程优先级,能够以图表方式显示所有服务器的指标。
日志监控工具56.GoAccess
GoAccess是一个实时的网路日志剖析器,它能剖析apache,nginx和amazoncloudfront的访问日志。它也可以将数据输出成HTML,JSON或CSV格式。它会给你一个基本的统计信息、访问量、404页面,访客位置和其他东西。
57.Logwatch
Logwatch是一个日志剖析系统。它通过剖析系统的日志,并为你所指定的部份创建一个剖析报告。它每晚给你一个报告,便于让你耗费更少的时间来剖析日志。
58.Swatch
像Logwatch一样,Swatch也监控你的日志,但不是给你一个报告,它会匹配你定义的正则表达式,当匹配到后会通过短信或控制台通知你。它可用于测量入侵者。
59.MultiTail
MultiTail可帮助你在多个窗口之下监控日志文件。你可以将这种日志文件合并到一个窗口。它可以通过正则表达式的帮助,使用不同的颜色来显示日志文件以便捷你阅读。
系统工具60.acctorpsacct
acct称作psacct(取决于假如你使用apt-get还是yum)可以监控所有用户执行的命令,包括CPU时间和显存占用。一旦安装完成后你可以使用命令sa来查看统计。
61.whowatch
类似acct,这个工具监控系统上所有的用户,并容许你实时查看她们正在执行的命令及运行的进程。它将所有进程以树形结构输出,这样你就可以清楚地看见究竟发生了哪些。
62.strace
strace被用于确诊、调试和监控程序之间的互相调用过程。最常见的做法是用strace复印系统调用的程序列表,其可以看出程序是否像预期那样被执行了。
63.DTrace
DTrace可以说是strace的大婶。它动态地跟踪与测量代码实时运行的指令。它容许你深入剖析其性能和确诊故障。并且,它并不简单,关于这个话题有1200本书之多。
64.webmin
Webmin是一个基于Web的系统管理工具。它不须要自动编辑UNIX配置文件深度linux,可以让你远程管理系统。它有一对监控模块用于联接它。
65.stat
Stat是一个外置的工具,用于显示文件和文件系统的状态信息。它会显示文件何时被更改、访问或修改。
66.ifconfig
ifconfig是一个外置的工具,用于配置网路插口。大多数网路监控工具背后都使用ifconfig将网卡设置成混乱模式来捕获所有的数据包。你可以自动执行ifconfigeth0promisc步入混乱模式,使用ifconfigeth0-promisc返回正常模式。
67.ulimit
ulimit是一个外置的工具,可监控系统资源,并可以限制任何监控资源不得超标。例如做一个fork炸弹,假如使用ulimit正确配置了将完全不受影响。
68.cpulimit
CPULimit是一个小工具,用于监控并限制进程对CPU的使用率。其非常可以用于将批处理作业对CPU的使用率保持在一定范围。
69.lshw
lshw是一个小的外置工具,能提取关于本机硬件配置的详尽信息。它可以输出CPU版本和显卡配置。
70.w
w是一个外置命令,用于显示当前登入用户的信息及她们所运行的进程。
71.lsof
lsof是一个外置的工具,可让你列举所有打开的文件和网路联接。从哪里你可以看见文件是由那个进程打开的,基于进程名可找到其特定的用户,或杀害属于某个用户的所有进程。
基础构架监控工具72.ServerDensity
我们的服务器监控工具它有一个web界面,使你可以进行报案设置并可以通过图表来查看所有系统的网路指标。你还可以设置监控的网站,无论是否在线。ServerDensity容许你设置用户的权限,你可以按照我们的插件或api来扩充你的监控。该服务早已支持Nagios的插件了。
73.OpenNMS
OpenNMS主要有四个功能区:风波管理和通知;发觉和配置;服务监控和数据搜集。其设计为可被在多种网路环境中订制。
74.SysUsage
SysUsage通过Sar和其他系统命令持续监控你的系统。一旦达到阀值它也可以进行报案通知。SysUsage本身也可以搜集所有的统计信息并储存在一个地方。它有一个Web界面可以让你查看所有的统计数据。
75.brainypdm
brainypdm是一个数据管理和监控工具,它能搜集来自nagios或其它常规来源的数据并以图表显示。它是跨平台的,其基于Web并可自定义图形。
76.PCP
PCP可以搜集来自多个主机的指标,但是效率很高。它也有一个插件框架,所以你可以让它搜集对你很重要的指标。你可以通过任何一个Web界面或GUI访问图形数据。它比较适宜小型监控系统。
77.KDE系统守护
这个工具既是一个系统监控器也是一个任务管理器。你可以通过工作表来查看多台机器的服务指标,假如须要杀害一个进程或则你须要启动一个进程,它可以在KDE系统守护中来完成。
78.Munin
Munin既是一个网路也是系统监控工具,当一个指标超出给定的阀值时它会提供报案机制。它运用RRDtool创建图表,但是它也有Web界面来显示这种图表。它更指出的是即插即用的功能而且有许多可用的插件。
79.Nagios
Nagios是系统和网路监控工具,可帮助你监控多台服务器。当发生错误时它也有报案功能。它的平台也有好多的插件。
80.Zenoss
Zenoss提供了一个Web界面,使你可以监控所有的系统及网路指标。据悉,它能手动发觉网路资源和更改网路配置。而且会提醒你采取行动,它也支持Nagios的插件。
81.Cacti
(和上一个一样!)Cacti是一个网路图形解决方案,其使用RRDtool进行数据储存。它容许用户在预定的时间间隔进行投票服务并将结果以图形显示。Cacti可以通过shell脚本扩充来监控你所选择的来源。
82.Zabbix
Zabbix是一个开源的基础设施监控解决方案。它使用了许多数据库来储存监控统计信息。其核心是用C语言编撰,并在后端中使用PHP。假如你不喜欢安装代理端,Zabbix可能是一个最好选择。
附加部份
谢谢您的建议。这是我们的一个附加部份,因为我们须要重新编排所有的标题,鉴于此,这是在最后的一个简略部份,按照您的建议添加的一些Linux监控工具:
83.collectd
Collectd是一个Unix守护进程,拿来搜集所有的监控数据。它采用了模块化设计并使用插件来弥补一些缺陷。这样能使collectd保持轻量级并可进行订制。
84.Observium
Observium是一个手动发觉网路的监控平台,支持大量硬件平台和操作系统。Observium专注于提供一个优美、功能强悍、简单直观的界面来显示网路的健康和状态。
85.Nload
这是一个命令行工具来监控网路的吞吐量。它很整洁,由于它使用两个图表和其他一些类似传输的数据总数这样的有用数据来对进出站流量进行可视化。你可以使用如下方式安装它:
yum install nload
或则
sudo apt-get install nload
86.SmokePing
SmokePing可以跟踪你网路延后,并对她们进行可视化。有各类为SmokePing开发的延后检测插件。假如图形用户界面对你来说十分重要,如今有一个正在开发中的插件来实现此功能。
87.MobaXterm
假如你整天在windows环境下工作。你可能会认为Windows下终端窗口的限制。MobaXterm正是由此而至的,它容许你使用多个一般出现在Linux中的命令。这将会极大地帮助你在监控方面的需求!
88.Shinkenmonitoring
Shinken是一个监控框架,其是采用python对Nagios进行了完全重画。它的目的是提高灵活性和管理更大环境。但仍保持所有的nagios配置和插件。
via:
作者:JonathanSundqvist译者:strugglingyouth校对:wxy
本文由LCTT原创编译,Linux中国荣誉推出