6个自托管的轻量级工具来监控服务器
服务器监控对于企业来说至关重要,以确保各个系统正常运行。
随着您的业务增长,您的资源、人力、服务、系统和IT基础设施也开始增长。因此,性能监控解决方案变得重要,以观察服务器的健康状况、活动和能力。
在本文中,我将讨论多个轻量级免费工具来监控服务器。
每个IT管理员都面临着这些挑战-服务器崩溃、应用程序运行缓慢、意外停机、配置依赖项、解决内存泄漏等。为了解决这些问题,需要使用IT监控软件/应用程序。
Nagios和Zabbix是最受欢迎的用于完整基础设施的工具。使用这些工具,您几乎可以监控所有内容-服务器性能、网络性能、协议、操作系统、应用程序、网站等。
但是,如果您的基础设施还不够大,或者您的要求只是监控服务器性能,而不是采用全功能的端到端工具,您可以选择轻量级的自托管软件来监控服务器。
注意:如果您使用Linux,则还可以尝试内置的。
Ward
Ward提供与服务器有关的最小/主要信息。它与所有流行的操作系统兼容。
Ward使用,这是一个免费的Java库,用于检索操作系统和硬件信息。它共享诸如操作系统版本、内存、处理器、磁盘和分区、CPU使用率等信息。
仪表板包含五个不同的部分:
- 处理器:名称、利用率%、核心数、位数、频率
- 机器:操作系统及其版本、RAM%、RAM数量、RAM类型、当前进程数
- 存储:名称、使用率%、存储大小、磁盘数、虚拟内存
- %利用:此部分显示过去20秒内处理器、内存和存储的可视化
- Ward:它显示自上次启动时间以来的正常运行时间(适用于Linux)和Windows的硬重置时间
要运行Ward,您可以创建此项目的jar文件并运行它,或者下载最新的发布jar文件并运行它。您还可以在docker容器中启动Ward。
Netdata
Netdata是一款用于实时监控系统和应用程序的免费开源软件。它可以运行在Linux、FreeBSD、macOS、docker容器和IoT设备上。
您可以在系统、应用程序或容器上安装Netdata代理,它将实时提供所有性能和健康信息。
您可以通过拖动图表上方的黄色的CPU来选择所示的图表,并使用SHIFT +鼠标滚轮进行缩放,该区域将以详细信息显示。它可以轻松集成其他工具,如Prometheus、AWS Kinesis、Graphite、MongoDB等。
Netdata功能:
- 快速简便的安装
- 实时提供数据
- 能够监控每个节点的数千个指标
- 可以自动收集每台服务器上的最多10000个指标
- 存储每秒的历史数据
- 仪表板的呈现非常容易理解
- 使用现代指标可视化工具快速识别异常
- 运行Netdata不需要专用资源
Prometheus + Grafana
Prometheus是用于监控系统指标的开源工具,Grafana是一种开源可视化平台。使用这种组合可以高效地监控服务器。
Prometheus服务器周期性收集所有数据,Prometheus成为Grafana的数据源,Grafana在仪表板上可视化所有指标。您甚至可以在Grafana上查询可视化的指标。
值得尝试这个组合!
Glances
Glances是一个用Python编写的跨平台监控工具。它仅支持Python 2.7或Python >=3.4。它使用python libraries(psutil)来收集所有系统信息。
根据界面的大小(移动版、Web UI、终端),UI上显示的信息将动态变化。
Glances功能:
- 通过终端、Web UI或API(XML-RPC服务器和RESTful JSON)进行远程监控
- 可以将统计数据导出到文件或数据库中
- 只需一个命令即可轻松安装 – pip install glances
- Glances可用于Docker容器
如果需要更好的可视化效果,您可以将Glances的数据导出到InfluxDB,并在Grafana上可视化这些数据。
Linux Dash
Linux Dash是一个用于Linux系统的Web仪表板。Linux Dash的UI是基于Angular构建的,并支持多种语言的服务器端。
系统状态选项卡显示RAM使用情况、CPU平均负载、CPU利用率、CPU和RAM进程、磁盘分区、交换使用情况、CPU temperature和Docker进程等信息。
它还提供网络级、帐户级和应用程序级信息。
Linux Dash功能:
- 支持WebSocket,可以实时显示系统数据
- 可拖放的用户界面
- 可在仪表板上自定义屏幕(最小化、展开、调整)
- 服务器端实现可在多种语言中使用(Node.js、Python、Go、PHP)
Conky
Conky是最初为X(窗口系统)编写的系统监视器。它目前可以在许多不同的平台上运行。您可以在X、Linux、Mac OS(使用X quartz)和大多数BSD上运行。
它使用简单的文本或进度条和图形小部件显示信息,使用不同的字体和颜色。
Conky功能:
- 有300多个内置对象可显示系统状态
- 非常简单的用户界面
- 支持Audacious、MPD等音乐播放器
- 支持POP3和IMAP
- 可以使用脚本和外部程序显示任何信息
结论
监控服务器的性能确实是必要的。如果不正确地执行,可能会导致性能和uptime问题,从而影响您的业务。但是,如果您使用监控软件解决方案来确保服务器性能良好,就无需担心。
或者,您还可以尝试cloud-based server monitoring解决方案,无需安装和管理监控软件。