Py学习  »  docker

【开源】一个灵活可配置的开源监控平台,主要用于监控应用程序、服务器、docker、数据库、网络端口,发现异常时实时推送告警信息

soft张三丰 • 2 年前 • 545 次点击  

可配置的开源监控平台

可配置的开源监控平台指的是用户可以根据自己的需求进行自定义配置的监控工具,这些工具通常具有高度的灵活性和扩展性,能够监控各种系统和应用程序的性能、状态和可用性。以下是一些流行的开源监控平台:

1. Prometheus:由SoundCloud开发的开源监控系统,现由Cloud Native Computing Foundation维护。Prometheus专注于收集和存储指标数据,并通过强大的查询语言进行查询和分析。

2. Grafana:虽然Grafana本身是一个度量分析和可视化工具,但它经常与Prometheus一起使用,提供丰富的图表和仪表板,帮助用户可视化指标数据。

3. Zabbix:一个高度集成的网络监控解决方案,提供监控网络的可用性、性能和完整性等功能。

4. Nagios:一个经典的监控工具,主要用于监控系统和网络的状态,支持多种网络服务和服务器的监控。

5. InfluxDB + Telegraf + Chronograf + Kapacitor (TICK Stack):InfluxData提供的开源时序平台,包括数据收集、存储、可视化和处理等多个组件。

6. OpenNMS:一个企业级的网络监控平台,功能全面,支持多种网络服务和网络设备。

7. Elastic Stack (ELK):虽然Elastic Stack主要用于日志数据分析,但也可以用作监控解决方案,特别是结合Beats等数据采集器使用时。

这些工具各有特点,用户可以根据自己的监控需求和偏好选择合适的工具。在选择时,应考虑系统的复杂性、维护成本、社区支持、文档完备性等因素。在中国地区使用这些工具时,还需要考虑是否符合相关的法律法规和网络安全政策。

系统架构

  • 运行环境

    Maven3+
    Jdk >=1.8,若使用Sigar监控服务器,则Jdk版本要用1.8(1.8.0_131到1.8.0_241)
    Lombok
    Mysql5.7+

  • 技术选型

    核心框架:SpringBoot
    安全框架:SpringSecurity、SpringSession
    任务调度:JUC、SpringTask、Quartz
    持久层框架:MyBatis-Plus
    数据库连接池:Alibaba druid
    日志管理:SLF4J、Logback
    前端框架:Layui、ECharts、jtopo、xterm
    监控框架:Sigar、oshi、Alibaba arthas

Alibaba arthas

Alibaba Arthas 是阿里巴巴开源的一个Java诊断工具,它主要用于帮助开发人员在无需修改代码或重启服务器的情况下,实时地解决Java应用程序的问题。Arthas提供了丰富的功能,如查看方法的调用参数、返回值和异常,监控方法的执行时间,分析线程状态,查看加载的类信息,以及进行内存分析等。

Arthas的特点包括:

1. 非侵入性:Arthas不需要修改应用程序的代码,也不会对应用程序的性能造成显著影响。

2. 实时性:Arthas可以实时地监控应用程序的运行状态,帮助开发人员快速定位问题。

3. 易用性:Arthas提供了丰富的命令和交互式界面,使得问题诊断变得简单直观。

4. 集成性:Arthas可以与常见的IDE和开发工具集成,方便开发者使用。

通过使用Arthas,开发人员可以更加高效地解决线上问题,提高Java应用程序的稳定性和性能。Arthas在阿里巴巴内部被广泛使用,并且在开源社区中也受到了广泛的关注和使用。

功能截图

介绍

一个灵活可配置的开源监控平台,主要用于监控应用程序、服务器、docker、数据库、网络、tcp端口和http接口,通过实时收集、汇聚和分析监控信息,实现在发现异常时立刻推送告警信息,并且提供了可视化系统进行配置、管理、查看。

开源不等同于免费,不能基于它二次开发修改 logo、名称、版权等。

  • 应用程序

    默认支持Java应用程序,监控内容包括:在线状态、JVM(内存、线程、类、GC等)、埋点监控(业务告警、异常日志)。其它应用程序需要自己开发客户端,来调用接口与服务端或者代理端通信(心跳接口、服务器信息接口、告警接口);

  • 服务器

    支持主流服务器,如Linux、Windows、macOS、Unix等;
    监控内容包括:在线状态、操作系统、CPU、平均负载、进程、磁盘、内存、网卡、电池、传感器;

  • Docker

    监控内容包括:服务、容器、镜像、事件、资源;

  • 数据库

    支持MySQL、Oracle、Redis、Mongo;
    监控内容:
      MySQL:会话;
      Oracle:会话、表空间;
      Redis:Redis信息全集;
      Mongo:Mongo信息全集;

  • 网络:支持监控网络状态;

  • TCP:支持监控TCP服务状态;

  • HTTP:支持监控HTTP服务状态;

  • 告警:默认支持电子邮件、钉钉、企业微信。

开源监控平台

开源监控平台有很多种,它们提供了监控和管理服务器、服务和应用程序的功能。以下是一些流行的开源监控平台:

1. Nagios:一个经典的监控工具,主要用于监控服务和主机,支持多种插件,可以通过插件扩展其功能。

2. Zabbix:一个全功能的监控解决方案,提供监控网络的可用性、性能和完整性等功能,支持自动发现网络设备和服务器。

3. Prometheus:一个由SoundCloud开发的开源监控系统,专注于收集和存储指标数据,并通过强大的查询语言进行查询和分析。

4. Grafana:虽然Grafana本身是一个度量分析和可视化工具,但它经常与Prometheus一起使用,提供丰富的图表和仪表板。

5. InfluxDB + Telegraf + Chronograf + Kapacitor (TICK Stack):InfluxData提供的开源时序平台,包括数据收集、存储、可视化和处理等多个组件。

6. OpenNMS:一个企业级的网络监控平台,功能全面,支持多种网络服务和网络设备。

7. Elastic Stack (ELK):主要用于日志数据分析,但也可以用作监控解决方案,特别是结合Beats等数据采集器使用时。

8. Icinga:基于Nagios的项目,提供了改进的用户界面和更多的功能。

9. CheckMK:一个灵活的监控解决方案,它提供了大量的监控模块和插件。

10. Sensu:一个开源的监控工具,可以监控服务和事件。

11. Netdata:一个实时的性能和健康监控解决方案,具有丰富的可视化和报警功能。

12. Collectd:一个系统统计收集守护进程,用于收集系统性能指标。

这些只是众多开源监控平台中的一部分。选择合适的监控工具时,应考虑系统的复杂性、维护成本、社区支持、文档完备性以及是否满足特定的监控需求。

中小企业适合用哪些

对于中小型企业来说,选择一个适合的开源监控解决方案是很重要的,因为这些工具通常资源有限,需要一个成本效益高、易于管理和维护的监控系统。以下是一些适合中小型企业的开源监控解决方案:

1. Zabbix:Zabbix是一个企业级的开源监控解决方案,它提供了广泛的监控功能,包括自动发现、实时图表、和历史数据存储。Zabbix有一个活跃的社区,提供了大量的文档和教程,使其成为中小型企业的不错选择。

2. Nagios:Nagios是一个经典的监控工具,它以其稳定性和灵活性而闻名。Nagios Core是免费的,但可能需要一些配置工作。对于需要更多用户友好性和高级功能的中小型企业,Nagios XI提供了一个30天的免费试用版。

3. Grafana + Prometheus :Prometheus是一个开源的监控系统,它专注于收集和存储指标数据,而Grafana提供了一个漂亮且可自定义的仪表板来可视化这些数据。这个组合非常适合需要监控云原生应用程序和服务的中小型企业。

4. CheckMK:CheckMK是一个灵活的监控解决方案,它提供了大量的监控模块和插件。CheckMK的社区版是免费的,并且易于安装和配置,适合中小型企业使用。

5. Netdata:Netdata是一个轻量级、高性能的实时监控和性能分析工具,它可以在各种系统上运行,并且安装简单。Netdata提供了丰富的可视化效果和报警功能,适合资源有限的环境。

6. Prtg Network Monitor:虽然Prtg不是完全开源的,但它提供了一个免费版本,可以监控最多100个传感器。对于中小型企业来说,这可能是一个很好的起点,尤其是那些需要易于使用的监控解决方案的企业。

选择适合中小型企业的开源监控解决方案时,应考虑以下因素:

- 易用性:选择一个易于安装、配置和管理的监控系统。

- 成本效益:考虑总体拥有成本,包括硬件、软件和维护成本。

- 社区和支持:选择一个有活跃社区和良好文档支持的监控系统。

- 可扩展性:选择一个可以根据企业需求增长而扩展的监控系统。

- 功能:确保所选监控系统提供必要的监控功能,如自动发现、报警、报告等。

中小型企业可以根据自己的具体需求和预算,从上述解决方案中选择一个最适合自己的开源监控工具。

可试用产品

开源地址

关注公众号 回复 20240517 获得 如果有信息不返回,可以加微信获取

另外,有一些朋友加好友之后直接发上边回复的地址,我这整理了之前整理过的开源项目地址,需要的朋友目前1元,加我直接发给你,后续的更新也可以直接找我要最新版本。


作者简介:

张锋,微服务架构实战原创作者,拥有超过10年的软件开发和架构设计经验。他是一位热衷于探索新技术和模式的软件工程师,对微服务架构、容器技术、自动化部署等领域有深入研究。在职业生涯中,他曾任职于多家知名企业,担任过技术团队负责人,带领团队实现了一系列高并发、高可用的微服务架构项目。 

张锋老师在微服务架构领域有着丰富的实践经验,他的作品《微服务架构实战》深入浅出地介绍了微服务架构的设计理念、技术栈选择、项目实践等关键环节,广受读者好评。此外,他还活跃在技术社区,分享自己的见解和心得,助力更多开发者掌握微服务架构的精髓。


猜您喜欢:

【开源】此项目是极其简单的工作流,没有太多设计,代码量少,并且只有6张表,一个小时就可以看完整个设计。使用起来方便

【开源】基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台

【开源】借鉴了钉钉与飞书的界面设计理念,致力于打造一款用户友好、快速上手的工作流程工具。实现零门槛的高效工作流配置。

【开源】基于训练好的 Deep Learning 模型开发的,模型包含功能:文本检测、文本识别,目前斩获21.9K star

【开源】SpringBoot+Vue3快速开发平台、自研工作流引擎


添加微信进相关交流群

备注“微服务”进群交流

备注“低开”进低开群交流

备注“AI”进AI大数据,数据治理群交流

备注“数字”进物联网和数字孪生群交流

备注“安全”进安全相关群交流

备注“自动”进自动化运维群交流

备注“试用”可以申请产品试用

备注“渠道”可以合作渠道信息

关注公众号 soft张三丰 

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/170234