linux后台系统

  • 监控系统

  • [荐] 分布式跟踪系统 Zipkin

    Zipkin 是 Twitter 的一个开源项目,允许开发者收集 Twitter 各个服务上的监控数据,并提供查询接口。 该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测...更多Zipkin信息

    最新新闻: Zipkin —— Twitter 的开源项目用于监控服务响应 2012年06月09日

  • [荐] 系统监控和统计工具 collectd

    collectd是一个守护(daemon)进程,用来收集系统性能和提供各种存储方式来存储不同值的机制。比如以RRD 文件形式。 当系统运行和存储信息的时候,Collectd会周期性统计系统的相关统计信息。那些信息可以用来找到当...更多collectd信息

    最新新闻: collectd 5.5.0 发布,系统监控和统计工具 2015年05月29日

  • [荐] 监控系统 Opserver

    Opserver 是 Stack Exchange(大名鼎鼎的 Stack Overflow 是其子站)的轻量级监控系统,基于 asp.net MVC 框架,可监控: servers SQL clusters/instances redis elastic search exception logs haproxy...更多Opserver信息

    最新新闻: Opserver —— Stack Exchange 开源的监控系统 2013年10月16日

  • [荐] 数据完整性监控工具 Tripwire

    当服务器遭到黑客攻击时,在多数情况下,黑客可能对系统文件等等一些重要的文件进行修改。对此,我们用Tripwire建立数据完整性监测系统。虽然 它不能抵御黑客攻击以及黑客对一些重要文件的修改,但是可以监测文件...更多Tripwire信息

    最新新闻: Tripwire 2.4.2.2 发布,数据完整性监控工具 2011年11月23日

  • [荐] Java 监控解决方案 Apache Sirona

    Apache Sirona 为 Java 应用程序提供了一个简单但可扩展的监控解决方案。更多Apache Sirona信息

    最新新闻: Apache Sirona —— Java 应用监控解决方案 2014年07月01日

  • [荐] Linux 监控系统 Linux-dash

    Linux-dash 是一个低开销 Linux 服务器监控系统,基于 Web 的监控界面。Linux-dash 的界面提供了一个详细的概述您的服务器的所有重要方面,包括内存和磁盘使用情况,网络,安装软件,用户,运行的流程。所有信息被组织...更多Linux-dash信息

    最新新闻: Linux-dash 1.5 发布,Linux 服务器监控系统 2015年02月09日

  • [荐] 服务器自动化任务解决方案 Huginn

    Huginn 是雅虎开发的一个系统,可以帮你执行自动化的在线任务。可以阅读网页,关注事件,并采取相应操作。Huginn 通过一个直观的事件流图来展示各种操作和事件。通过在你自己的服务器上的管道加上IFTTT,你就能知道...更多Huginn信息

    最新新闻: Huginn —— 来自雅虎的系统监控解决方案 2013年03月15日

  • [荐] JVM 监控工具 jvmtop

    jvmtop 是一个轻量级的控制台程序用来监控机器上运行的所有 Java 虚拟机。类似 Linux 下的 top 命令,显示了 JVM 很多内部信息,诸如内存之类的。 JvmTop 0.4.1 alpha   amd64  8 cpus, Linux 2.6.32-27, load...更多jvmtop信息

    最新新闻: jvmtop —— 类似 top 的 JVM 监控工具 2013年05月27日

  • [荐] Tomcat的管理和监控 PSI Probe

    PSI Probe 是一个 Lambda Probe 的后续版本,主要是为了替换 Tomcat 自带的管理器,可方便的管理和监控 Tomcat 实例。 主要特性: Requests: Monitor traffic in real-time, even on a per-application basis. S...更多PSI Probe信息

  • [荐] 开源监控系统 OpenTSDB

    开源监控系统OpenTSDB,用hbase存储所有的时序(无须 采样)来构建一个分布式、可伸缩的时间序列数据库。它支持秒级数据采集所有metrics,支持永久存储,可以做容量规划,并很容易的接入到现有的报警系 统里。Ope...更多OpenTSDB信息

    • [荐] 监控系统 Nagios

      Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等 Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统...更多Nagios信息

      最新新闻: Nagios Core 4.1.0rc2 发布,企业级监控系统 2015年07月18日

    • [荐] 分布式系统监视 zabbix

      zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题...更多zabbix信息

      最新新闻: Zabbix 2.0.18,2.2.13 和 3.0.3 发布 2016年05月19日

    • [荐] 网络流量监测图形分析工具 Cacti

      Cacti 在英文中的意思是仙人掌的意思,Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它通过snmpget来获取数据,使用 RRDtool绘画图形,而且你完全可以不需要了解RRDtool复杂的参数。它...更多Cacti信息

      最新新闻: Cacti 0.8.8e 发布,网络流量检测图形分析工具 2015年07月19日

    • [荐] 开源视频监控系统 ZoneMinder

      ZoneMinder的作者是因為家中的車庫被竊,因而產生設計監控保全的念頭。 ZoneMinder使用了Linux Server,PHP,MySQL加上幾支攝影機,就可以使用web介面監控重要場所。當異常事件發生時,你就可以收到e-mail或簡訊通知...更多ZoneMinder信息

      最新新闻: ZoneMinder 1.25 发布,视频监控系统 2011年09月01日

    • [荐] 系统监控工具 MRTG

      MRTG(Multi Router Traffic Grapher)是一套可用来绘出网络流量图的软件,由瑞士奥尔滕的Tobias Oetiker与Dave Rand所开发,此软件以GPL授权。 下面是网卡流量监控图 MRTG最早的版本是在1995年春天所推出,以Per...更多MRTG信息

      最新新闻: Ubuntu配置MRTG监控Nginx和服务器系统资源 2013年08月08日

    • [荐] 系统信息采集和监控工具 Tsar

      Tsar是淘宝的采集工具,主要用来收集服务器的系统信息(如cpu,io,mem,tcp等)以及应用数据(如squid haproxy nginx等),tsar支持实时查看和历史查看,方便了解应用和服务器的信息! 它类似于sar,能监控和收集...更多Tsar信息

    • [荐] 互联网企业级监控系统 OpenFalcon

      Open-Falcon 人性化的互联网企业级监控系统,Open-Falcon 整体可以分为两部分,即绘图组件、告警组件。其中: 安装绘图组件 负责数据的采集、收集、存储、归档、采样、查询、展示(Dashboard/Screen)等功能,可以...更多OpenFalcon信息

      最新新闻: OpenFalcon —— 来自小米的监控系统 (Go) 2016年03月16日

    • [荐] 应用监控系统 HawtIO

      Hawt IO 是一个新的可插入式 HTML5 面板,设计用来监控 ActiveMQ, Camel, Karaf, Fuse Fabric, Tomcat 和其他系统。可通过其提供的 一堆插件 提供额外的监控。...更多HawtIO信息

      最新新闻: HawtIO 1.4.55 发布,应用监控系统 2015年10月10日

    • [荐] 开源的移动分析应用 Countly

      Countly 是一个实时的、开源的移动分析应用,通过收集来自手机的数据,并将这些数据通过可视化效果展示出来以分析移动应用的使用和最终用户的行为。一旦你打开该程序的面板,你会发现数据的监控是那么的简单。 Co...更多Countly信息

      最新新闻: Countly v16.06 发布,开源移动分析应用 2016年07月01日

    • [荐] 企业应用监控系统 Ramona

      Ramona 是一个库或者是一个组件使得应用开发者、监控者可以方便构建用来管理应用的命令行接口。其最主要的用户是确保应用保持运行状态,一旦崩溃便自动重启应用、监控日志和进程输出,并在出错时发送邮件提醒给管...更多Ramona信息

    • [荐] 开源PHP监控扩展 witness

      PHP作为流行的服务器端脚本语言,广泛地用于各种服务器前端及应用的开发。虽然PHP作为脚本语言,天然具有良好的入门简单、容错性强、性能较高(在脚 本语言中)的特点,但是,由于其多进程的执行模式,和前端Web...更多witness信息

      最新新闻: witness —— 来自 UC 的开源 PHP 监控扩展 2013年07月04日

    • [荐] 服务监控系统 Prometheus

      Prometheus 是一个开源的服务监控系统和时间序列数据库。 特性: 高维度数据模型 自定义查询语言 可视化数据展示 高效的存储策略 易于运维 提供各种客户端开发库 警告和报警 数据导出更多Prometheus信息

      最新新闻: Prometheus —— Go 语言开发的服务监控系统 2015年02月07日

    • [荐] HAProxy监控工具 HATop

      HATop 是一个交互式的基于 ncurses 开发的实时监控 HAProxy 负载均衡系统的统计工具。后来有人对该工具进行改进,增加了 TCP 支持,详情请看 https://github.com/Wirehive/hatop...更多HATop信息

    • [荐] Web服务器监控和管理 REST Superman

      REST Superman 已改名REST Commander是 eBay 开发的一个使用快速并行的异步 HTTP/REST/SOAP 客户端开发的服务用来监控和管理10000台 Web 服务器,可在 10 秒内发送请求到 1000 台服务器,或者 50 秒内发送请求到 ...更多REST Superman信息

    • [荐] 监控和告警系统 Bosun

      Bosun 是一个新型的监控和告警系统,由Stack Exchange团队打造,使用golang编写,支持定义复杂的告警规则,支持OpenTSDB、Graphite、Logstash-Elasticsearch 等数据源。bosun 将是 zabbix、nagios的有力竞争者。...更多Bosun信息

      最新新闻: Bosun —— Go 开发的监控和告警系统 2015年03月01日

    • [荐] 分布式监控系统 Watchy

      Watchy 是一个分布式的系统,用于监控应用程序和服务器。该系统非常简单和易于管理。Watchy 提供一个分布式的架构和每个服务器之间守护进程的通讯,通过 UDP 获取不同服务器上的数据并在同一个面板上显示。 工作原...更多Watchy信息

      最新新闻: Watchy —— Python 开发的分布式系统监控 2014年07月13日

    • [荐] 应用服务器心跳检测 Java HeartBeat

      HeartBeat 心跳检测应用服务器(如Tomcat,Jetty)的JAVA WEB应用程序. 如何实现?         使用HttpClient对指定的服务器(application-instance) URL 按频率(10秒,20秒...) 发起请求并记录响应的信息(连接耗时,...更多Java HeartBeat信息

      最新新闻: Java HeartBeat 0.4 发布,应用服务器心跳检测 2015年05月01日

    • [荐] 系统配置更改监控 RANCID

      RANCID (Really Awesome New Cisco confIg Differ) 可以监测你的修改,关键时刻能派上用处。Rancid功能十分简单:检索和组织网络路由器,交换机和防火墙的配置。如果你设置其运行的间隔为 1个小时,当你的监测的数...更多RANCID信息

    • [荐] 操作系统监控工具 osquery

      osquery 是 SQL 驱动的分析和监控操作系统的工具,是操作系统分析框架,支持 OS X 和 Linux 系统。osquery 能帮助监控和分析低水平的操作系统,提供更直观的性能监控。 osquery 在操作系统中就像是一个高性能的关...更多osquery信息

      最新新闻: osquery —— 来自Facebook的操作系统监控工具 2014年11月01日

    • [荐] HTTP(S)​流量分析&监控 HoneyProxy

      HoneyProxy 是一个轻量级的用来实时监控和分析HTTP(S)流量的开源工具。 特性 实时分析HTTP(S)流量 可过滤和高亮流量,支持正则表达式 保存流量报告用于以后分析 使用 Python 脚本来更改信息,例如移除缓存头部 基...更多HoneyProxy信息

    • [荐] Linux文件系统安全监控 inotify-sync

      inotify-sync是一款Linux文件系统安全监控软件,它使用Linux内核提供的Inotify特性,让用户配置监控目录,并且对不同的文件系统操作事件调用不同的事件处理脚本(Python)。默认情况下它是一个文件同步工具,将所...更多inotify-sync信息

    • [荐] Hadoop 数据安全方案 Apache Eagle

      eBay公司隆重宣布正式向开源业界推出分布式实时安全监控引方案 - Apache Eagle ,该项目已正式加入Apache 称为孵化器项目。Apache Eagle提供一套高效分布式的流式策略引擎,具有高实时、可伸缩、易扩展、交互友好...更多Apache Eagle信息

      最新新闻: Apache Eagle:分布式实时 Hadoop 数据安全方案 2015年10月29日

    • [荐] HTTPS 流量监控 Hyperfox

      Hyperfox 是一个安全的工具用来代理和记录局域网中的 HTTP 和 HTTPS 通讯。 Hyperfox 可以即时使用一个根 CA 证书和相应密钥(用户提供)来处理 SSL 证书。如果目标机器的认为该证书可信任则将可成功的解析 HTTP...更多Hyperfox信息

      最新新闻: Hyperfox —— HTTP/HTTPS 流量监控系统 2015年01月03日

    • [荐] 网络安全监控 Snorby

      Snorby是一个Ruby on Rails的Web应用程序,网络安全监控与目前流行的入侵检测系统(Snort的项目Suricata和Sagan)的接口。该项目的目标是创建一个免费的,开源和竞争力的网络监控应用,为私人和企业使用。 在线演...更多Snorby信息

    • [荐] 远程服务器监控工具 rtop

      rtop 是一个简单的无代理的远程服务器监控工具,基于 SSH 连接进行工作。无需在被监控的服务器上安装任何软件。rtop 直接通过 SSH 连接到待监控服务器,然后执行命令来收集监控数据。 rtop 每几秒钟就自动更新监控...更多rtop信息

      最新新闻: rtop —— Go 语言开发的远程服务器监控工具 2015年05月11日

    • [荐] 网络监控框架 PFQ

      PFQ 是一个支持多语言的网络框架,主要用于 Linux 操作系统下进行高效的包捕获和传输,适用于多核处理器系统中的网络监控框架。 PFQ 专门为多核处理器而优化,包括对多个硬件队列的网络设备优化,支持任意网络设备...更多PFQ信息

      最新新闻: PFQ —— 支持多语言的高性能网络监控框架 2015年01月12日

    • [荐] 网站实时监控 Hummingbird

      Hummingbird 可以让你实时的了解访问者与网站之间的交互,这个实时并不是每五分钟一次,而是每秒钟20。Hummingbird 基于 Node.js 构建更多Hummingbird信息

    • [荐] TCP分析工具 tcprstat

      Tcprstat 是免费开源的TCP分析工具,可检测网络的传输,并且计算请求和响应之间的延迟。 它的输出格式类似 linux 的 vmstat 和 iostat 的输出格式。这个工具能够检测到某个端口的流量情况。可以监听包括 mysqld h...更多tcprstat信息

      最新新闻: 【每日一博】Percona 之 tcprstat 安装及使用 2013年08月29日

    • [荐] Linux 系统资源监控工具 Collectl

      Collectl 是一个轻量级的性能监控工具,可监控包括 CPU、磁盘、带宽、内存、网络、NFS、进程等等信息。更多Collectl信息

    • [荐] 可扩展的通用异常检测系统 EGADS

      EGADS (Extensible Generic Anomaly Detection System) 是一个开源的 Java 包,用于在大规模时间序列数据中自动检测异常。 EGADS 旨在包括一组异常检测技术,可以应用到一个包的许多用例中,且只唯一的依赖是 Ja...更多EGADS信息

    • [荐] 实时异常检测系统 Skyline

      Skyline 是实时异常检测系统,构建目的是被动监控几百到几千个度量标准,不需要一个个配置 模型/阈值,可以同时使用 Nagios。 Skyline 设计主要是用在需要持续监控的大量高清晰度的时间序列。一旦设置了一个指标流...更多Skyline信息

      最新新闻: Skyline —— 来自 Esty 的实时异常检测系统 2015年08月27日

    • [荐] 系统状态信息应用 Cachet

      Cachet 是一个基于 Laravel 框架构建的系统状态信息应用。用户可以通过状态页来了解服务的运行状态,提供 RESTful API 方便进行集成。 在线演示:https://status.cachethq.io/...更多Cachet信息

    • [荐] 系统性能分析工具 Naarad

      Naarad 是高度可配置的系统分析工具,通过解析和生成时间序列数据用于可视化的展示。可对应用和服务进行性能分析。可收集如下数据: JVM 垃圾收集 (GC), System/Network (SAR), MySQL (Innotop), Jmeter (JTL/XML...更多Naarad信息

    • [荐] JFoxMX

      JFoxMX是国内第一个完整实现SUN JMX 1.2 规范的产品,实现了SUN JMX 最新的 1.2 规范,JMX 1.2 规范。更多JFoxMX信息

    • 监控管理平台 OpenNMS

      OpenNMS是一个企业级基于Java/XML的分布式网络和系统监控管理平台。OpenNMS是你管理网络的绝好工具,它能够显示你网络中各中终端和服务器的状态和配置,为你方便地管理网络提供有效的信息。 在线演示: http://d...更多OpenNMS信息

      最新新闻: OpenNMS 1.13.3 发布,系统监控管理平台 2014年06月06日

    • SNMP软件 Net-snmp

      Net-SNMP是一个免费的、开放源码的SNMP实现,以前称为UCD-SNMP。它包括agent和多个管理工具的源代码,支持多种扩展方式。 更多Net-snmp信息

      最新新闻: Net-SNMP 5.7.3.rc3 发布,SNMP 软件 2014年11月12日

    • 分布式监控系统 Ganglia

      Ganglia是一个跨平台可扩展的,高 性能计算系统下的分布式监控系统,如集群和网格。它是基于分层设计,它使用广泛的技术,如XML数据代表,便携数据传输,RRDtool用于数据存储和可 视化。它利用精心设计的数据结构...更多Ganglia信息

      最新新闻: Ganglia 3.7.1 发布,分布式监控系统 2015年04月02日

    • 智能监控软件 Zenoss Core

      Zenoss Core是开源企业级IT管理软件-是智能监控软件,他允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。Zenoss Core同时也是开源的网络与系统管理软件。 Zenoss Core的强大能力来自于深入的列表与...更多Zenoss Core信息

      最新新闻: Zenoss Core 3.0.3 发布,企业级IT管理 2010年10月28日

    • 入侵检测系统 Snort

      Snort是美国Sourcefire公司开发的发布在GPL v2下的IDS(Intrusion Detection System)软件 Snort有 三种工作模式:嗅探器、数据包记录器、网络入侵检测系统模式。嗅探器模式仅仅是从网络上读取数据包并作为连续不...更多Snort信息

      最新新闻: Snort 2.9.8.2 发布,入侵检测系统 2016年03月31日

    • 网站实时信息采集和统计 Graphite

      Graphite 是一个用于采集网站实时信息并进行统计的开源项目,可用于采集多种网站服务运行状态信息。Graphite服务平均每分钟有4800次更新操作。实践已经证实要监测网站发发生什么是非常有用的,它的简单文本协议和...更多Graphite信息

    • Nagios监控--windows xp客户端 NSClient++

      NSClient++ 是 Nagios 监控系统在 Windows 下的客户端软件。更多NSClient++信息

      最新新闻: NSClient++ 0.4.3.143 发布 2015年05月07日

    • Cacti发行版 CactiEZ

      CactiEZ 是一个基于 CentOS 的 Linux 发行版,主要的目的是为了简化 Cacti 监控系统的安装和配置,装好了就可以直接使用 Cacti。更多CactiEZ信息

    • 性能监视和分析工具 nmon

      nmon 工具运行于: AIX® 4.1.5、4.2.0、4.3.2 和 4.3.3(nmon Version 9a:该版本的功能已经确定,并且不会对其进行进一步的开发。) AIX 5.1、5.2 和 5.3(nmon Version 10:该版本现在支持 AIX 5.3 和基于 PO...更多nmon信息

    • Nagios的扩展 NRPE

      NRPE是nagios的一个扩展,它被用于被监控的服务器上,向nagios监控平台提供该服务器的一些本地的情况。例如,cpu负载、内存使用、硬盘使用等等。NRPE可以称为nagios的for linux 客户端。 为 什么要使用这个客户端...更多NRPE信息

    • 开源监控系统 Centreon

      Centreon是一款开源的软件,主要用于与nagios搭配,通过页面管理nagios,通过第三方组件实现对网络,操作系统,应用程序的监控。 更多屏幕截图请看这里。更多Centreon信息

      最新新闻: 【每日一博】nagios+centreon 总结之第一章 2014年09月13日

    • 网络协议检测程序 Wireshark

      Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。 网络封包分析软件的功能可想像成 "电工技师使用电表来量测电流、电压、电阻"...更多Wireshark信息

      最新新闻: Wireshark 2.0.3 发布下载 2016年04月27日

    • 服务器监控 Munin

      Munin 是一个非常好用安装和设置方便的监测软件,可监控核心系统资源,包括内存、磁盘、CPU 占用、服务器应用如 MySQL、Apache 和 Squid 等。更多Munin信息

      最新新闻: Munin 2.99.3 发布,服务器监控 2015年09月20日

    • cacti中文企业版欢迎使用 Cacti中文企业版

      该软件官网已不存在 cacti中文企业版 本系统采用liunx与cacti集成,安装配置简单。 使用方法: root密码:CactiEZ cacti登录密码:admin 第一次登录强制更改密码 集成了我们最常用的插件,省去了我们自行安装的麻...更多Cacti中文企业版信息

    • 系统监控工具 JavaMelody

      JavaMelody 能够监测Java或Java EE应用程序服务器,并以图表的方式显示:Java内存和Java  CPU使用情况,用户Session数量,JDBC连接数,和http请求、sql请求、jsp页面与业务接口方法(EJB3、Spring、 Guice)的执...更多JavaMelody信息

      最新新闻: JavaMelody v1.60.0 发布,系统监控平台 2016年06月14日

    • 网络性能监视 SmokePing

      Smokeping 主要是监视网络性能,包括常规的 ping,用 echoping 监视 www 服务器性能,监视 dns 查询性能,监视 ssh 性能等。底层也是 rrdtool 做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示。...更多SmokePing信息

    • 视频监控软件 iSpy

      iSpy 是目前能找的最好的开源视频监控软件,支持中文哦。更多iSpy信息

      最新新闻: iSpy 6.3.7.0 发布,视频监控软件 2015年04月26日

    • Linux看门狗 watchdog

      Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序 内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打...更多watchdog信息

      最新新闻: watchdog 5.8 发布,Linux看门狗 2010年03月23日

    • Linux网络监控工具 ntop

      跟 top 监视系统活动状况相似,ntop 是一个用来实时监视网络使用情况的工具。由于 ntop 具有 Web 界面模式,因此无论是配置还是使用都很容易在短时间之内快速上手。更多ntop信息

      最新新闻: 【每日一博】运用 Ntop 监控网络流量 2015年01月17日

    • 网络性能测试工具 Iperf

      Iperf  是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。 Iperf使用方法与参数说明  参数说明 -s 以ser...更多Iperf信息

    • 应用层流量管理系统 Panabit

      Panabit 是目前国内开放度最高、免费、专业的应用层流量管理系统,特别针对P2P应用的识别与控制,截止2009年02月12日,已经支持实际主流应用200种以 上,并以两周更新一次特征库的速度持续更新(包括已支持协议和新...更多Panabit信息

    • Python网络抓包库 pypcap

      Ethereal 自带许多协议的 decoder,简单,易用,基于winpcap的一个开源的软件.但是它的架构并不灵活,如何你要加入一个自己定义的的解码器,得去修改 Ethereal的代码,再重新编译,很烦琐.对于一般的明文 协议,没有什么问...更多pypcap信息

    • 分布式跟踪系统 JD-Hydra

      京东开源的基于Dubbo的调用跟踪系统 类似于Google的Dapper、类似于twitter的Zipkin、类似于淘宝的EagleEye。更多JD-Hydra信息

    • 网络数据采集分析工具 TCPDUMP

      网络数据采集分析工具TcpDump 可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。tcpdump就是一种...更多TCPDUMP信息

      最新新闻: TCPDUMP 4.7.4/1.7.3 发布,网络数据采集分析工具 2015年04月26日

    • 桌面系统监控工具 Conky

      Conky是一个X系统下的免费的,重量轻,系统监控的,即任何资料都能显示在您的桌面上。它可运行在Linux和BSD上。 功能和特点 ◆ 很多的操作系统信息(系统名 ,正常运行时间, CPU使用率,内存使用率,磁盘使用情况...更多Conky信息

      最新新闻: Conky-colors 4.3.1.1 发布 2010年11月12日

    • Linux系统管理工具包 sysstat

      SYSSTAT是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、...更多sysstat信息

    • Linux硬件监控 lm-sensors

      lm_sensors的软件可以帮助我们来监控主板,CPU的工作电压,风扇转速、温度等数据。这些数据我们通常在主板的 BIOS也可以看到。当我们可以在机器运行的时候通过lm_sensors随时来监测着CPU的温度变化,可以预防呵保...更多lm-sensors信息

      最新新闻: lm_sensors 3.3.5 发布,Linux 硬件监控 2014年01月25日

    • 系统监控工具 Monitorix

      Monitorix 工具,這是一套可以監控系統狀態的工具,可監控的項目非常的多,你也可以自行設定要監控的服務,預設就可以分析 CPU 與記憶體使用率、磁碟存取使用率(Disk I/O Usage)、網路使用率(Network traffic an...更多Monitorix信息

      最新新闻: Monitorix 3.8.1 发布,系统监控工具 2015年11月14日

    • 系统监控工具 NetXMS

      NetXMS 是一个新的,发展迅速的系统监控工具, 在GPL2许可下发布。它可用于监测整个IT基础设施,从支持SNMP的硬件(如交换机和路由器)到您的服务器或者是应用程序。 NetXMS是一个非常可靠和强大的监测系统,使您...更多NetXMS信息

      最新新闻: NetXMS 2.0.1 发布,系统监控工具 2016年01月07日

    • 网站监控系统 Pandora FMS

      Pandora FMS 是一个 开源的应用程序 ,用来监测网站的各种活动。 如果一个网站超额或当机,如果网站内容改变,硬盘或CPU被远程服务调用时(通过SNMP 或 TCP/IP),以及其它情况。 Pandora FMS 可以运行于任何操作...更多Pandora FMS信息

      最新新闻: Pandora FMS 5.0 发布,网站监控系统 2014年02月13日

    • UNIX系统监控 Monit

      Monit 是一个Linux/UNIX系统上开源的进程、文件、目录和文件系统监控和管理工具,可自动维护和修复一些错误的情况。更多Monit信息

      最新新闻: Monit 5.8.1 发布,Unix 系统监控 2014年05月13日

    • 资源监控工具 glances

      glances 是一款用于 Linux、BSD 的开源命令行系统监视工具,它使用 Python 语言开发,能够监视 CPU、负载、内存、磁盘 I/O、网络流量、文件系统、系统温度等信息。 glances 可以为 Unix 和 Linux 性能专家提供监视...更多glances信息

      最新新闻: glances —— Linux & BSD 的资源监控工具 2013年05月21日

    • ipmitool

      ipmitool 是一种可用在 linux 系统下的命令行方式的 ipmi 平台管理工具,它支持 ipmi 1.5 规范(最新的规范为 ipmi 2.0),通过它可以实现获取传感器的信息、显示系统日志内容、网络远程开关机等功能。 IPMI(Int...更多ipmitool信息

      最新新闻: [博] ipmitool 对 Linux 服务器进行IPMI管理 2012年11月13日

    • Cacti+Nagios网络服务器监控系统

      Cnyunwei-Cacti+Nagios 是一个基于CentOS 系统集成Cacti、Nagios、Centreon、Check_MK、Nconf的全自动安装系统,并集成Cacti的相关常用插件,及集成Nconf在线配置 Nagios,及集成简单实用的MySQL数据库管理工具p...更多Cacti+Nagios网络服务器监控系统信息

    • 监控和数据采集系统 OpenSCADA

      openSCADA是一个开源的监控和数据采集系统。它是独立于平台和一个现代化的系统设计,同时提供安全性和灵活性的基础上。更多OpenSCADA信息

      最新新闻: openSCADA 1.0 发布,监控和数据采集系统 2013年03月19日

    • 网络流量监控工具 Nethogs

      Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况。它支持 IPv4 和 IPv6 协议、支持本地网卡及 PPP 链接。 # 安装:Ubuntu 官方源中就...更多Nethogs信息

    • 开源报警平台 Ushahidi

      Ushahidi是一个开源平台,任何人都可以利用移动短信、电子邮件、网站提供重要的信息、数据向该平台提供信息,Ushahidi对这些信息进行证实之后,通过可视化的方式呈现在地图上。更多Ushahidi信息

      最新新闻: Ushahidi 3.1.0 发布,开源报警平台 2015年11月17日

    • 基于Web的Nagios配置 NConf

      NConf 是一个用来配置 Nagios 监控软件的Web接口项目。 快速上手指南:http://apps.sourceforge.net/mediawiki/nconf/index.php?title=Quick-start_guide...更多NConf信息

      最新新闻: NConf 1.3.0 发布,Nagios 的 Web 配置接口 2011年12月13日

    • 网络状况监视工具 IPTraf

      IPTraf是一个使用简单的网络状况监视工具。更多IPTraf信息

    • 【商业】Quartz 监控工具 QuartzDesk

      QuartzDesk 是一个 Java Quartz 调度器管理和监控的图形化工具,提供很多强大和专门的特性。旨在为使用 Quartz 的 Java 开发者提供查询和监控的功能。更多QuartzDesk信息

      最新新闻: QuartzDesk 1.5.1 发布,Quartz 监控工具 2014年06月19日

    • Android 网络匿名工具 Orbot

      Orbot 是免费的代理应用,保证其他应用更安全的使用网络。Orbot 使用 Tor 来加密你的网络传输和绕过世界各地的计算机来隐藏应用的网络流量。Tor 是免费开源的网络软件,可以保证个人的自由的隐私。Orbot 是创建真...更多Orbot信息

    • 网络接入控制 Packetfence

      PacketFence是开源NAC (网络接入控制) 中的佼佼者,它可靠、容易配置,且构建于未修改的开源代码之上(Fedora, LAMP, Perl, and Snort)。PacketFence的设计目的是要在不同种类的环境中运行,并且它使用了“不可知厂...更多Packetfence信息

      最新新闻: PacketFence 5.0 发布,网络接入控制 2015年04月19日

    • Web服务器文件安全监控平台 Falcon

      Falcon-Web服务器文件监控平台 ============================ Falcon是一款基于inotify-tools 开发的Web服务器文件安全监控平台,能够实时监控Web目录文件变化(新增,修改,删除),判断文件内容是否包含恶意代码,...更多Falcon信息

      最新新闻: OSC源创会(北京)Falcon 主题演讲 PPT 2012年06月15日

    • J2EE性能监控 Jwebap

      Jwebap是一个用于J2EE工程(EJB以及WebModule系统)进行性能监控的组件,它有几个特点: 1)基于ASM实现类的静态增强,可以无缝的部署于J2EE系统,对系统的开销几乎可以忽略 2) 部署和使用非常的简单,整个Jweba...更多Jwebap信息

      最新新闻: Jwebap 0.6.0版本发布 2009年03月04日

    • SNMP网络监测器 NetDisco

      这款Web网络管理工具使用SNMP收集大型网络中的连接和配置数据。利用该工具,网管员可以利用最终用户的IP或MAC地址来定位交换端口。所收集的数据存储在SQL数据库中,而像思科Discovery协议这样的二层拓扑协议可自动...更多NetDisco信息

    • 网络监控 NagVis

      nagvis是一个著名网络管理系统nagios的可视插件。nagvis可用于各种动画形象(如图纸输出网络)用nagios数据。更多NagVis信息


  • 监控小工具
  • http://www.codeceo.com/article/80-more-linux-monitor-tools.html80 多个 Linux 系统管理员的监控工具

随着互联网行业的不断发展,各种监控工具多得不可胜数。这里列出网上最全的监控工具。让你可以拥有超过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 类似于 top,但它主要不是检查 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 将数据输出到屏幕上的,或将其保存在一个以逗号分隔的文件中。你可以查看 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. Linux process explorer

Linux process explorer 是类似 OSX 或 Windows 的活动监视器。它比 top 或 ps 的使用范围更广。你可以查看每个进程的内存消耗以及 CPU 的使用情况。

37. df

df 是 disk free 的缩写,它是所有 UNIX 系统预装的程序,用来显示用户有访问权限的文件系统的可用磁盘空间。

38. discus

discus 类似于 df,它的目的是通过使用更吸引人的特性,如颜色,图形和数字来对 df 进行改进。

39. xosview

xosview 是一款经典的系统监控工具,它给你提供包括 IRQ 在内的各个不同部分的简单总览。

40. Dstat

dstat 旨在替代 vmstat,iostat,netstat 和 ifstat。它可以让你查实时查看所有的系统资源。这些数据可以导出为 CSV。最重要的是 dstat 允许使用插件,因此其可以扩展到更多领域。

41. Net-SNMP

SNMP 即“简单网络管理协议”,Net-SNMP 工具套件使用该协议可帮助你收集服务器的准确信息。

42. incron

incron 允许你监控一个目录树,然后对这些变化采取措施。如果你想在目录‘a’中出现新文件时,将其复制到目录‘b’,这正是 incron 能做的。

43. monitorix

Monitorix 是轻量级的系统监控工具。它可以帮助你监控单独一台机器,并为你提供丰富的指标。它也有一个内置的 HTTP 服务器,来查看图表和所有指标的报告。

44. vmstat

vmstat(virtual memory statistics)是一个小型内置工具,能监控和显示机器的内存。

45. uptime

这个小程序能快速显示你机器运行了多久,目前有多少用户登录和系统过去1分钟,5分钟和15分钟的平均负载。

46. mpstat

mpstat 是一个内置的工具,能监视 cpu 的使用情况。最常见的使用方法是 mpstat -P ALL,它给你提供 cpu 的使用情况。你也可以间歇性地更新 cpu 的使用情况。

47. pmap

pmap 是一个内置的工具,报告一个进程的内存映射。你可以使用这个命令来找出导致内存瓶颈的原因。

48. ps

该命令将给你当前所有进程的概述。你可以使用 ps -A 命令查看所有进程。

49. sar

sar 是 sysstat 包的一部分,可以帮助你收集、报告和保存不同系统的指标。使用不同的参数,它会给你提供 CPU、 内存和 I/O 使用情况及其他东西。

50. collectl

类似于 sar,collectl 收集你机器的性能指标。默认情况下,显示 cpu、网络和磁盘统计数据,但它实际收集了很多信息。与 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 和 amazon cloudfront 的访问日志。它也可以将数据输出成 HTML,JSON 或 CSV 格式。它会给你一个基本的统计信息、访问量、404 页面,访客位置和其他东西。

57. Logwatch

Logwatch 是一个日志分析系统。它通过分析系统的日志,并为你所指定的部分创建一个分析报告。它每天给你一个报告,以便让你花费更少的时间来分析日志。

58. Swatch

像 Logwatch 一样,Swatch 也监控你的日志,但不是给你一个报告,它会匹配你定义的正则表达式,当匹配到后会通过邮件或控制台通知你。它可用于检测入侵者。

59. MultiTail

MultiTail 可帮助你在多个窗口之下监控日志文件。你可以将这些日志文件合并到一个窗口。它可以通过正则表达式的帮助,使用不同的颜色来显示日志文件以方便你阅读。

系统工具

60. acct or psacct

acct 也称 psacct(取决于如果你使用 apt-get 还是 yum)可以监控所有用户执行的命令,包括 CPU 时间和内存占用。一旦安装完成后你可以使用命令 sa 来查看统计。

61. whowatch

类似 acct,这个工具监控系统上所有的用户,并允许你实时查看他们正在执行的命令及运行的进程。它将所有进程以树状结构输出,这样你就可以清楚地看到到底发生了什么。

62. strace

strace 被用于诊断、调试和监控程序之间的相互调用过程。最常见的做法是用 strace 打印系统调用的程序列表,其可以看出程序是否像预期那样被执行了。

63. DTrace

DTrace 可以说是 strace 的大哥。它动态地跟踪与检测代码实时运行的指令。它允许你深入分析其性能和诊断故障。但是,它并不简单,关于这个话题有1200本书之多。

64. webmin

Webmin 是一个基于 Web 的系统管理工具。它不需要手动编辑 UNIX 配置文件,可以让你远程管理系统。它有一对监控模块用于连接它。

65. stat

Stat 是一个内置的工具,用于显示文件和文件系统的状态信息。它会显示文件何时被修改、访问或更改。

66. ifconfig

ifconfig 是一个内置的工具,用于配置网络接口。大多数网络监控工具背后都使用 ifconfig 将网卡设置成混乱模式来捕获所有的数据包。你可以手动执行 ifconfig eth0 promisc 进入混乱模式,使用ifconfig eth0 -promisc 返回正常模式。

67. ulimit

ulimit 是一个内置的工具,可监控系统资源,并可以限制任何监控资源不得超标。比如做一个 fork 炸弹,如果使用 ulimit 正确配置了将完全不受影响。

68. cpulimit

CPULimit 是一个小工具,用于监控并限制进程对 CPU 的使用率。其特别可以用于将批处理作业对 CPU 的使用率保持在一定范围。

69. lshw

lshw 是一个小的内置工具,能提取关于本机硬件配置的详细信息。它可以输出 CPU 版本和主板配置。

70. w

w 是一个内置命令,用于显示当前登录用户的信息及他们所运行的进程。

71. lsof

lsof 是一个内置的工具,可让你列出所有打开的文件和网络连接。从那里你可以看到文件是由哪个进程打开的,基于进程名可找到其特定的用户,或杀死属于某个用户的所有进程。

基础架构监控工具

72. Server Density

我们的 服务器监控工具 它有一个 web 界面,使你可以进行报警设置并可以通过图表来查看所有系统的网络指标。你还可以设置监控的网站,无论是否在线。Server Density 允许你设置用户的权限,你可以根据我们的插件或 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. Shinken monitoring

Shinken 是一个监控框架,其是采用 python 对 Nagios 进行了完全重写。它的目的是增强灵活性和管理更大环境。但仍保持所有的 nagios 配置和插件。

<iframe id="iframeu2554801_0" src="http://pos.baidu.com/acom?sz=300x250&amp;rdid=2554801&amp;dc=2&amp;exps=112011&amp;di=u2554801&amp;dri=0&amp;dis=0&amp;dai=1&amp;ps=13226x466&amp;coa=at%3D3%26rsi0%3D300%26rsi1%3D250%26pat%3D17%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D1%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D14%26rss2%3D%2523000000%26titSU%3D0&amp;dcb=BAIDU_SSP_define&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1467858086736&amp;ti=80%20%E5%A4%9A%E4%B8%AA%20Linux%20%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98%E7%9A%84%E7%9B%91%E6%8E%A7%E5%B7%A5%E5%85%B7%20%E2%80%93%20%E7%A0%81%E5%86%9C%E7%BD%91&amp;ari=2&amp;dbv=2&amp;drs=1&amp;pcs=1423x727&amp;pss=1423x13246&amp;cfv=0&amp;cpl=5&amp;chi=50&amp;cce=true&amp;cec=UTF-8&amp;tlm=1467858086&amp;rw=727&amp;ltu=http%3A%2F%2Fwww.codeceo.com%2Farticle%2F80-more-linux-monitor-tools.html&amp;ltr=https%3A%2F%2Fwww.google.com.hk%2F&amp;ecd=1&amp;psr=1440x900&amp;par=1440x856&amp;pis=-1x-1&amp;ccd=24&amp;cja=false&amp;cmi=7&amp;col=zh-CN&amp;cdo=-1&amp;tcn=1467858087&amp;qn=9bba41fc34e1afcd&amp;tt=1467858086663.89.451.460" width="300" height="250" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;"></iframe>
<iframe id="iframeu2405524_0" src="http://pos.baidu.com/acom?sz=300x250&amp;rdid=2405524&amp;dc=2&amp;exps=112011&amp;di=u2405524&amp;dri=0&amp;dis=0&amp;dai=2&amp;ps=13226x466&amp;coa=at%3D3%26rsi0%3D300%26rsi1%3D250%26pat%3D17%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D1%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D%26rss2%3D%2523000000%26titSU%3D0&amp;dcb=BAIDU_SSP_define&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1467858086736&amp;ti=80%20%E5%A4%9A%E4%B8%AA%20Linux%20%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98%E7%9A%84%E7%9B%91%E6%8E%A7%E5%B7%A5%E5%85%B7%20%E2%80%93%20%E7%A0%81%E5%86%9C%E7%BD%91&amp;ari=2&amp;dbv=2&amp;drs=1&amp;pcs=1423x727&amp;pss=1423x13246&amp;cfv=0&amp;cpl=5&amp;chi=50&amp;cce=true&amp;cec=UTF-8&amp;tlm=1467858086&amp;rw=727&amp;ltu=http%3A%2F%2Fwww.codeceo.com%2Farticle%2F80-more-linux-monitor-tools.html&amp;ltr=https%3A%2F%2Fwww.google.com.hk%2F&amp;ecd=1&amp;psr=1440x900&amp;par=1440x856&amp;pis=-1x-1&amp;ccd=24&amp;cja=false&amp;cmi=7&amp;col=zh-CN&amp;cdo=-1&amp;tcn=1467858087&amp;qn=b9aee07c2bf53f43&amp;tt=1467858086663.151.560.562" width="300" height="250" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;"></iframe>
最新 最早 最热
  • 0评论
  • 还没有评论,沙发等你来抢
发布

码农网正在使用多说

<iframe id="iframeu2191321_0" src="http://pos.baidu.com/acom?sz=300x250&amp;rdid=2191321&amp;dc=2&amp;exps=112011&amp;di=u2191321&amp;dri=0&amp;dis=0&amp;dai=3&amp;ps=663x136&amp;coa=at%3D3%26rsi0%3D300%26rsi1%3D250%26pat%3D17%26tn%3DbaiduCustNativeAD%26rss1%3D%2523FFFFFF%26conBW%3D1%26adp%3D1%26ptt%3D0%26titFF%3D%2525E5%2525BE%2525AE%2525E8%2525BD%2525AF%2525E9%25259B%252585%2525E9%2525BB%252591%26titFS%3D14%26rss2%3D%2523000000%26titSU%3D0&amp;dcb=BAIDU_SSP_define&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1467858086736&amp;ti=80%20%E5%A4%9A%E4%B8%AA%20Linux%20%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86%E5%91%98%E7%9A%84%E7%9B%91%E6%8E%A7%E5%B7%A5%E5%85%B7%20%E2%80%93%20%E7%A0%81%E5%86%9C%E7%BD%91&amp;ari=2&amp;dbv=2&amp;drs=1&amp;pcs=1423x727&amp;pss=1423x22657&amp;cfv=0&amp;cpl=5&amp;chi=50&amp;cce=true&amp;cec=UTF-8&amp;tlm=1467858086&amp;rw=727&amp;ltu=http%3A%2F%2Fwww.codeceo.com%2Farticle%2F80-more-linux-monitor-tools.html&amp;ltr=https%3A%2F%2Fwww.google.com.hk%2F&amp;ecd=1&amp;psr=1440x900&amp;par=1440x856&amp;pis=-1x-1&amp;ccd=24&amp;cja=false&amp;cmi=7&amp;col=zh-CN&amp;cdo=-1&amp;tcn=1467858087&amp;qn=adf0c2ede2dfe7cc&amp;tt=1467858086663.261.707.709" width="300" height="250" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" allowtransparency="true" style="border-width: 0px; border-style: initial; vertical-align: bottom; margin: 0px;"></iframe>





  • 日志系统

    1、客户端日志上报和反向提取

  • 2、服务器集群日志管理系统



数据上报系统

日志采集系统

日志收集系统

一、Facebook Scribe

scribe

贡献者:Facebook

简介:Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用。它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理。它为日志的“分布式收集,统一处理”提供了一个可扩展的,高容错的方案。当中央存储系统的网络或者机器出现故障时,scribe会将日志转存到本地或者另一个位置,当中央存储系统恢复后,scribe会将转存的日志重新传输给中央存储系统。其通常与Hadoop结合使用,scribe用于向HDFS中push日志,而Hadoop通过MapReduce作业进行定期处理。

Scribe的系统架构

linux后台系统_第1张图片

代码托管:https://github.com/facebook/scribe

二、Cloudera Flumelinux后台系统_第2张图片

贡献者:Cloudera

简介:Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。

Flume提供了从console(控制台)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系统,支持TCP和UDP等2种模式),exec(命令执行)等数据源上收集数据的能力。

当前Flume有两个版本Flume 0.9X版本的统称Flume-og,Flume1.X版本的统称Flume-ng。由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。

Cloudera Flume构架

linux后台系统_第3张图片

官网:http://flume.apache.org/

三、logstash

简介:logstash 是一个应用程序日志、事件的传输、处理、管理和搜索的平台。你可以用它来统一对应用程序日志进行收集管理,提供 Web 接口用于查询和统计。他可以对你的日志进行收集、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。

linux后台系统_第4张图片

官网:http://www.logstash.net/

四、kibana

简介:Kibana 是一个为 Logstash 和 ElasticSearch 提供的日志分析的 Web 接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作。kibana 也是一个开源和免费的工具,他可以帮助您汇总、分析和搜索重要数据日志并提供友好的web界面。他可以为 Logstash 和 ElasticSearch 提供的日志分析的 Web 界面。

主页: http://kibana.org/

代码托管: https://github.com/rashidkpc/Kibana/downloads

消息系统

一、StormMQ

简介:MQMessageQueue消息队列产品 StormMQ,是一种服务程序。

官网:http://stormmq.com/

二、ZeroMQ

简介:这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。

引用官方的说法: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”

官网:http://zeromq.org/

三、RabbitMQ

简介:RabbitMQ是一个受欢迎的消息代理,通常用于应用程序之间或者程序的不同组件之间通过消息来进行集成。本文简单介绍了如何使用 RabbitMQ,假定你已经配置好了rabbitmq服务器。

RabbitMQ

RabbitMQ是用Erlang,对于主要的编程语言都有驱动或者客户端。我们这里要用的是Java,所以先要获得Java客户端。

像RabbitMQ这样的消息代理可用来模拟不同的场景,例如点对点的消息分发或者订阅/推送。我们的程序足够简单,有两个基本的组件,一个生产者用于产生消息,还有一个消费者用来使用产生的消息。

官网:https://www.rabbitmq.com/

四、Apache ActiveMQ

简介:ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位。

特性:

⒈ 多种语言和协议编写客户端。语言: Java,C,C++,C#,Ruby,Perl,Python,PHP。应用协议: OpenWire,Stomp REST,WS Notification,XMPP,AMQP

⒉ 完全支持JMS1.1和J2EE 1.4规范 (持久化,XA消息,事务)

⒊ 对Spring的支持,ActiveMQ可以很容易内嵌到使用Spring的系统里面去,而且也支持Spring2.0的特性

⒋ 通过了常见J2EE服务器(如 Geronimo,JBoss 4,GlassFish,WebLogic)的测试,其中通过JCA 1.5 resource adaptors的配置,可以让ActiveMQ可以自动的部署到任何兼容J2EE 1.4 商业服务器上

⒌ 支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA

⒍ 支持通过JDBC和journal提供高速的消息持久化

⒎ 从设计上保证了高性能的集群,客户端-服务器,点对点

⒏ 支持Ajax

⒐ 支持与Axis的整合

⒑ 可以很容易得调用内嵌JMS provider,进行测试

官网:http://activemq.apache.org/

五、Jafka

贡献者:LinkedIn

简介:Jafka 是一个开源的、高性能的、跨语言分布式消息系统,使用GitHub托管。Jafka 最早是由Apache孵化的Kafka(由LinkedIn捐助给Apache)克隆而来。由于是一个开放式的数据传输协议,因此除了Java开发语言受到支持,Python、Ruby、C、C++等其他语言也能够很好的得到支持。

特性:

1、消息持久化非常快,服务端存储消息的开销为O(1),并且基于文件系统,能够持久化TB级的消息而不损失性能。

2、吞吐量取决于网络带宽。

3、完全的分布式系统,broker、producer、consumer都原生自动支持分布式。自动实现复杂均衡。

4、内核非常小,整个系统(包括服务端和客户端)只有一个272KB的jar包,内部机制也不复杂,适合进行内嵌或者二次开发 。整个服务端加上依赖组件共3.5MB。

5、消息格式以及通信机制非常简单,适合进行跨语言开发。目前自带的Python3.x的客户端支持发送消息和接收消息。

官网:http://kafka.apache.org/

六、Apache Kafka

贡献者:LinkedIn

简介:Apache Kafka是由Apache软件基金会开发的一个开源消息系统项目,由Scala写成。Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

Kafka是一个分布式的、分区的、多复本的日志提交服务。它通过一种独一无二的设计提供了一个消息系统的功能。

Kafka集群可以在一个指定的时间内保持所有发布上来的消息,不管这些消息有没有被消费。打个比方,如果这个时间设置为两天,那么在消息发布的两天以内,这条消息都是可以被消费的,但是在两天后,这条消息就会被系统丢弃以释放空间。Kafka的性能不会受数据量的大小影响,因此保持大量的数据不是一个问题。

官网:http://kafka.apache.org/

分布式服务

一、ZooKeeper

贡献者:Google

简介:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。

ZooKeeper是以Fast Paxos算法为基础的,paxos算法存在活锁的问题,即当有多个proposer交错提交时,有可能互相排斥导致没有一个proposer能提交成功,而Fast Paxos作了一些优化,通过选举产生一个leader,只有leader才能提交propose,具体算法可见Fast Paxos。因此,要想弄懂ZooKeeper首先得对Fast Paxos有所了解。

架构:

linux后台系统_第5张图片

官网:http://zookeeper.apache.org/

 

RPC

(Remote Procedure Call Protocol)——远程过程调用协议

一、Apache Avro

简介:Apache Avro是Hadoop下的一个子项目。它本身既是一个序列化框架,同时也实现了RPC的功能。Avro官网描述Avro的特性和功能如下:

  • 丰富的数据结构类型;
  • 快速可压缩的二进制数据形式;
  • 存储持久数据的文件容器;
  • 提供远程过程调用RPC;
  • 简单的动态语言结合功能。

相比于Apache Thrift 和Google的Protocol Buffers,Apache Avro具有以下特点:

  • 支持动态模式。Avro不需要生成代码,这有利于搭建通用的数据处理系统,同时避免了代码入侵。
  • 数据无须加标签。读取数据前,Avro能够获取模式定义,这使得Avro在数据编码时只需要保留更少的类型信息,有利于减少序列化后的数据大小。

官网:http://avro.apache.org/

二、Facebook Thrift

贡献者:Facebook

简介:Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传输通信以及系统之间语言环境不同需要跨平台的特性。

thrift可以支持多种程序语言,例如: C++, C#, Cocoa, Erlang, Haskell, Java, Ocami, Perl, PHP, Python, Ruby, Smalltalk. 在多种不同的语言之间通信thrift可以作为二进制的高性能的通讯中间件,支持数据(对象)序列化和多种类型的RPC服务。

Thrift适用于程序对程 序静态的数据交换,需要先确定好他的数据结构,他是完全静态化的,当数据结构发生变化时,必须重新编辑IDL文件,代码生成,再编译载入的流程,跟其他IDL工具相比较可以视为是Thrift的弱项,Thrift适用于搭建大型数据交换及存储的通用工具,对于大型系统中的内部数据传输相对于JSON和xml无论在性能、传输大小上有明显的优势。

Thrift 主要由5个部分组成:

· 类型系统以及 IDL 编译器:负责由用户给定的 IDL 文件生成相应语言的接口代码

· TProtocol:实现 RPC 的协议层,可以选择多种不同的对象串行化方式,如 JSON, Binary。

· TTransport:实现 RPC 的传输层,同样可以选择不同的传输层实现,如socket, 非阻塞的 socket, MemoryBuffer 等。

· TProcessor:作为协议层和用户提供的服务实现之间的纽带,负责调用服务实现的接口。

· TServer:聚合 TProtocol, TTransport 和 TProcessor 几个对象。

上述的这5个部件都是在 Thrift 的源代码中通过为不同语言提供库来实现的,这些库的代码在 Thrift 源码目录的 lib 目录下面,在使用 Thrift 之前需要先熟悉与自己的语言对应的库提供的接口。

Facebook Thrift构架:

linux后台系统_第6张图片

官网:http://thrift.apache.org/

集群管理

一、Nagios

简介:Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

官网:http://www.nagios.org/

二、Ganglia

简介:Ganglia是UC Berkeley发起的一个开源集群监视项目,设计用于测量数以千计的节点。Ganglia的核心包含gmond、gmetad以及一个Web前端。主要是用来监控系统性能,如:cpu 、mem、硬盘利用率, I/O负载、网络流量情况等,通过曲线很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

linux后台系统_第7张图片

官网:http://ganglia.sourceforge.net/

三、Apache Ambari

简介:Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。

Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeper、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。

linux后台系统_第8张图片

Ambari主要取得了以下成绩:

  • 通过一步一步的安装向导简化了集群供应。
  • 预先配置好关键的运维指标(metrics),可以直接查看Hadoop Core(HDFS和MapReduce)及相关项目(如HBase、Hive和HCatalog)是否健康。
  • 支持作业与任务执行的可视化与分析,能够更好地查看依赖和性能。
  • 通过一个完整的RESTful API把监控信息暴露出来,集成了现有的运维工具。
  • 用户界面非常直观,用户可以轻松有效地查看信息并控制集群。

Ambari使用Ganglia收集度量指标,用Nagios支持系统报警,当需要引起管理员的关注时(比如,节点停机或磁盘剩余空间不足等问题),系统将向其发送邮件。

此外,Ambari能够安装安全的(基于Kerberos)Hadoop集群,以此实现了对Hadoop 安全的支持,提供了基于角色的用户认证、授权和审计功能,并为用户管理集成了LDAP和Active Directory。

官网:http://ambari.apache.org/

 

基础设施

一、LevelDB

贡献者:Jeff Dean和Sanjay Ghemawat

简介:Leveldb是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LMS算法。LevelDB 是单进程的服务,性能非常之高,在一台4核Q6600的CPU机器上,每秒钟写数据超过40w,而随机读的性能每秒钟超过10w。

Leveldb框架

linux后台系统_第9张图片

官网:http://code.google.com/p/leveldb/

二、SSTable

简介:如果说Protocol Buffer是谷歌独立数据记录的通用语言 ,那么有序字符串表(SSTable,Sorted String Table)则是用于存储,处理和数据集交换的最流行​​的数据输出格式。正如它的名字本身,SSTable是有效存储大量键-值对的简单抽象,对高吞吐量顺序读/写进行了优化。

SSTable是Bigtable中至关重要的一块,对于LevelDB来说也是如此。

三、RecordIO

贡献者:Google

简介:我们大家都在用文件来存储数据。文件是存储在磁盘上的。如果在一些不稳定的介质上,文件很容损坏。即时文件某个位置出现一点小小的问题,整个文件就废了。

下面我来介绍Google的一个做法,可以比较好的解决这个问题。那就是recordio文件格式。recoidio的存储单元是一个一个record。这个record可以根据业务的需要自行定义。但Google有一种建议的处理方式就是使用protobuf。

reocordio底层的格式其实很简单。一个record由四部分组成:

  • MagicNumber (32 bits)
  • Uncompressed data payload size (64 bits)
  • Compressed data payload size (64 bits), or 0 if the data is not compressed
  • Payload, possibly compressed.

详细格式如下图所示:

RecordIO

到这里,大家可能已经知道,recordio之所以能对付坏数据,其实就是在这个MagicNumber(校验值)。

四、Flat Buffers

贡献者:Google

简介:谷歌开源高效、跨平台的序列化库FlatBuffers。

该库的构建是专门为游戏开发人员的性能需求提供支持,它将序列化数据存储在缓存中,这些数据既可以存储在文件中,又可以通过网络原样传输,而不需要任何解析开销。

FlatBuffers有如下一些关键特性—

  • 访问序列化数据不需要打包/拆包
  • 节省内存而且访问速度快——缓存只占用访问数据所需要的内存;不需要任何额外的内存。
  • 灵活性——通过可选字段向前向后兼容
  • 代码规模小
  • 强类型——错误在编译时捕获,而不是在运行时
  • 便利性——生成的C++头文件代码简洁。如果需要,有一项可选功能可以用来在运行时高效解析Schema和JSON-like格式的文本。
  • 跨平台——使用C++编写,不依赖STL之外的库,因此可以用于任何有C++编辑器的平台。当前,该项目包含构建方法和在Android、Linux、Windows和OSX等操作系统上使用该库的示例。

与Protocol Buffers或JSON Parsing这样的可选方案相比,FlatBuffers的优势在于开销更小,这主要是由于它没有解析过程。

代码托管:https://github.com/google/flatbuffers

五、Protocol Buffers

贡献者:Google

简介:Protocol Buffers是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强。现阶段官方支持C++、JAVA、Python等三种编程语言,但可以找到大量的几乎涵盖所有语言的第三方拓展包。

通过它,你可以定义你的数据的结构,并生成基于各种语言的代码。这些你定义的数据流可以轻松地在传递并不破坏你已有的程序。并且你也可以更新这些数据而现有的程序也不会受到任何的影响。

Protocol Buffers经常被简称为protobuf。

官网:http://code.google.com/p/protobuf/

六、Consistent Hashing(哈希算法)

简介:一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。

一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:

1、平衡性(Balance):平衡性是指哈希的结果能够尽可能分布到所有的缓冲中去,这样可以使得所有的缓冲空间都得到利用。很多哈希算法都能够满足这一条件。

2、单调性(Monotonicity):单调性是指如果已经有一些内容通过哈希分派到了相应的缓冲中,又有新的缓冲加入到系统中。哈希的结果应能够保证原有已分配的内容可以被映射到原有的或者新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。

3、分散性(Spread):在分布式环境中,终端有可能看不到所有的缓冲,而是只能看到其中的一部分。当终端希望通过哈希过程将内容映射到缓冲上时,由于不同终端所见的缓冲范围有可能不同,从而导致哈希的结果不一致,最终的结果是相同的内容被不同的终端映射到不同的缓冲区中。这种情况显然是应该避免的,因为它导致相同内容被存储到不同缓冲中去,降低了系统存储的效率。分散性的定义就是上述情况发生的严重程度。好的哈希算法应能够尽量避免不一致的情况发生,也就是尽量降低分散性。

4、负载(Load):负载问题实际上是从另一个角度看待分散性问题。既然不同的终端可能将相同的内容映射到不同的缓冲区中,那么对于一个特定的缓冲区而言,也可能被不同的用户映射为不同 的内容。与分散性一样,这种情况也是应当避免的,因此好的哈希算法应能够尽量降低缓冲的负荷。

在分布式集群中,对机器的添加删除,或者机器故障后自动脱离集群这些操作是分布式集群管理最基本的功能。如果采用常用的hash(object)%N算法,那么在有机器添加或者删除后,很多原有的数据就无法找到了,这样严重的违反了单调性原则。

七、Netty

贡献者:JBOSS

简介:Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。

也就是说,Netty 是一个基于NIO的客户,服务器端编程框架,使用Netty 可以确保你快速和简单的开发出一个网络应用,例如实现了某种协议的客户,服务端应用。Netty相当简化和流线化了网络应用的编程开发过程,例如,TCP和UDP的socket服务开发。

“快速”和“简单”并不意味着会让你的最终应用产生维护性或性能上的问题。Netty 是一个吸收了多种协议的实现经验,这些协议包括FTP,SMTP,HTTP,各种二进制,文本协议,并经过相当精心设计的项目,最终,Netty 成功的找到了一种方式,在保证易于开发的同时还保证了其应用的性能,稳定性和伸缩性。

官网:http://netty.io/

八、BloomFilter

简介:Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素是不是集合中的一个成员。如果检测结果为是,该元素不一定在集合中;但如果检测结果为否,该元素一定不在集合中。因此Bloom filter具有100%的召回率。这样每个检测请求返回有“在集合内(可能错误)”和“不在集合内(绝对不在集合内)”两种情况,可见 Bloom filter 是牺牲了正确率和时间以节省空间。

Bloom filter 优点就是它的插入和查询时间都是常数,另外它查询元素却不保存元素本身,具有良好的安全性。

搜索引擎

一、Nutch

简介:Nutch 是一个开源Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。包括全文搜索和Web爬虫。

尽管Web搜索是漫游Internet的基本要求, 但是现有web搜索引擎的数目却在下降. 并且这很有可能进一步演变成为一个公司垄断了几乎所有的web搜索为其谋取商业利益.这显然 不利于广大Internet用户.

Nutch为我们提供了这样一个不同的选择. 相对于那些商用的搜索引擎, Nutch作为开放源代码 搜索引擎将会更加透明, 从而更值得大家信赖. 现在所有主要的搜索引擎都采用私有的排序算法, 而不会解释为什么一个网页会排在一个特定的位置. 除此之外, 有的搜索引擎依照网站所付的 费用, 而不是根据它们本身的价值进行排序. 与它们不同, Nucth没有什么需要隐瞒, 也没有 动机去扭曲搜索的结果. Nutch将尽自己最大的努力为用户提供最好的搜索结果.

Nutch目前最新的版本为version v2.2.1。

官网:https://nutch.apache.org/

二、Lucene

开发者:Doug Cutting(Hadoop之父,你懂的)

简介:Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

官网:http://lucene.apache.org/

三、SolrCloud

简介:SolrCloud是Solr4.0版本以后基于Solr和Zookeeper的分布式搜索方案。SolrCloud是Solr的基于Zookeeper一种部署方式。Solr可以以多种方式部署,例如单机方式,多机Master-Slaver方式。

原理图

SolrCloud有几个特色功能:

集中式的配置信息使用ZK进行集中配置。启动时可以指定把Solr的相关配置文件上传

Zookeeper,多机器共用。这些ZK中的配置不会再拿到本地缓存,Solr直接读取ZK中的配置信息。配置文件的变动,所有机器都可以感知到。另外,Solr的一些任务也是通过ZK作为媒介发布的。目的是为了容错。接收到任务,但在执行任务时崩溃的机器,在重启后,或者集群选出候选者时,可以再次执行这个未完成的任务。

自动容错SolrCloud对索引分片,并对每个分片创建多个Replication。每个Replication都可以对外提供服务。一个Replication挂掉不会影响索引服务。更强大的是,它还能自动的在其它机器上帮你把失败机器上的索引Replication重建并投入使用。

近实时搜索立即推送式的replication(也支持慢推送)。可以在秒内检索到新加入索引。

查询时自动负载均衡SolrCloud索引的多个Replication可以分布在多台机器上,均衡查询压力。如果查询压力大,可以通过扩展机器,增加Replication来减缓。

自动分发的索引和索引分片发送文档到任何节点,它都会转发到正确节点。

事务日志事务日志确保更新无丢失,即使文档没有索引到磁盘。

四、Solr

简介:Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

官网:https://lucene.apache.org/solr/

五、ElasticSearch

简介:ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二最流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

官网:http://www.elasticsearch.org/

六、Sphinx

简介:Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。

Sphinx单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。

官网:http://sphinxsearch.com

七、SenseiDB

贡献者:linkedin

简介:SenseiDB是一个NoSQL数据库,它专注于高更新率以及复杂半结构化搜索查询。熟悉Lucene和Solor的用户会发现,SenseiDB背后有许多似曾相识的概念。SenseiDB部署在多节点集群中,其中每个节点可以包括N块数据片。Apache Zookeeper用于管理节点,它能够保持现有配置,并可以将任意改动(如拓扑修改)传输到整个节点群中。SenseiDB集群还需要一种模式用于定义将要使用的数据模型。

从SenseiDB集群中获取数据的唯一方法是通过Gateways(它 没有“INSERT”方法)。每个集群都连接到一个单一gateway。你需要了解很重要的一点是,由于SenseiDB本身没法处理原子性 (Atomicity)和隔离性(Isolation),因此只能通过外部在gateway层进行限制。另外,gateway必须确保数据流按照预期的方 式运作。内置的gateway有以下几种形式:

  • 来自文件
  • 来自JMS队列
  • 通过JDBC
  • 来自Apache Kafka

官网:http://senseidb.com

数据挖掘

一、Mahout

linux后台系统_第10张图片

简介:Apache Mahout 是 Apache Software Foundation (ASF) 开发的一个全新的开源项目,其主要目标是创建一些可伸缩的机器学习算法,供开发人员在 Apache 在许可下免费使用。该项目已经发展到了它的最二个年头,目前只有一个公共发行版。Mahout 包含许多实现,包括集群、分类、CP 和进化程序。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。

虽然在开源领域中相对较为年轻,但 Mahout 已经提供了大量功能,特别是在集群和 CF 方面。Mahout 的主要特性包括:

  1. Taste CF。Taste 是 Sean Owen 在 SourceForge 上发起的一个针对 CF 的开源项目,并在 2008 年被赠予 Mahout。
  2. 一些支持 Map-Reduce 的集群实现包括 k-Means、模糊 k-Means、Canopy、Dirichlet 和 Mean-Shift。
  3. Distributed Naive Bayes 和 Complementary Naive Bayes 分类实现。
  4. 针对进化编程的分布式适用性功能。
  5. Matrix 和矢量库。
  6. 上述算法的示例。

官网:http://mahout.apache.org/

Iaas

IaaS(Infrastructure as a Service),即基础设施即服务。

一、OpenStack

简介:OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。

OpenStack是一个开源的云计算管理平台项目,由几个主要的组件组合起来完成具体工作。OpenStack支持几乎所有类型的云环境,项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenStack通过各种互补的服务提供了基础设施即服务(IaaS)的解决方案,每个服务提供API以进行集成。

6个核心项目:Nova(计算,Compute),Swift(对象存储,Object),Glance(镜像,Image),Keystone(身份,Identity),Horizon(自助门户,Dashboard),Quantum & Melange(网络&地址管理),另外还有若干社区项目,如Rackspace(负载均衡)、Rackspace(关系型数据库)。

相关阅读:

什么是OpenStack?

成功部署OpenStack的十大要点

 官网:https://www.openstack.org/

二、Docker

贡献者:dotCloud

linux后台系统_第11张图片

简介:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包括系统。

官网:http://www.docker.io/

三、Kubernetes

贡献者:Google

简介:Kubernetes是Google开源的容器集群管理系统。它构建Ddocker技术之上,为容器化的应用提供资源调度、部署运行、服务发现、扩容缩容等整一套功能,本质上可看作是基于容器技术的mini-PaaS平台。

Kubernetes从另一个角度对资源进行抽象,它让开发人员和管理人员共同着眼于服务的行为和性能的提升,而不是仅仅关注对单一的组件或者是基础资源。

那么Kubernetes集群到底提供了哪些单一容器所没有功能?它主要关注的是对服务级别的控制而并非仅仅是对容器级别的控制,Kubernetes提供了一种“机智”的管理方式,它将服务看成一个整体。在Kubernete的解决方案中,一个服务甚至可以自我扩展,自我诊断,并且容易升级。例如,在Google中,我们使用机器学习技术来保证每个运行的服务的当前状态都是最高效的。

代码托管:https://github.com/GoogleCloudPlatform/kubernetes/

四、Imctfy

贡献者:Google

简介:Google开源了自己所用Linux容器系统的开源版本lmctfy,读音为lem-kut-fee。包括一个C++库(使用了C++11,文档可以参考头文件)和命令行界面。目前的版本是0.1,只提供了CPU与内存隔离。项目还在密集开发中。

mctfy本身是针对某些特定使用场景设计和实现的,目前拥有一台机器上所有容器时运行情况最好,不推荐与LXC和其他容器系统一起使用(虽然也可行)。已在Ubuntu 12.04+和Ubuntu 3.3与3.8内核上测试。

代码托管:https://github.com/google/Imctfy/

 

监控管理

一、Dapper

贡献者:Google

简介:Dapper是一个轻量的ORM(对象关系映射(英语:Object Relational Mapping,简称ORM,或O/RM,或O/R mapping)。并不单纯的是一个DBHelper.因为在Dapper中数据其实就是一个对象。Dapper扩展与IDbConnection上,所以事实上它的倾入性很低。我用了StructureMap。如果不喜欢可以自己更换,或者自己实现下。

代码就一个SqlMapper.cs文件,主要是IDbConnection的扩展方法,编译后就40K的一个很小的dll。

特性:

  1. Dapper很快。Dapper的速度接近与IDataReader。
  2. Dapper支持主流数据库 Mysql,SqlLite,Mssql2000,Mssql2005,Oracle等一系列的数据库
  3. 支持多表并联的对象。支持一对多 多对多的关系,并且没侵入性。
  4. 原理通过Emit反射IDataReader的序列队列,来快速的得到和产生对象
  5. Dapper语法十分简单。并且无须迁就数据库的设计

官方站点 http://code.google.com/p/dapper-dot-net/

代码托管:http://bigbully.github.io/Dapper-translation/

二、Zipkin

贡献者:Twitter

简介:Zipkin (分布式跟踪系统)是 Twitter 的一个开源项目,允许开发者收集 Twitter 各个服务上的监控数据,并提供查询接口。该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。

linux后台系统_第12张图片

官方网站:http://twitter.github.io/zipkin/

代码托管:https://github.com/twitter/zipkin/


你可能感兴趣的:(linux后台系统)