`
loyalbluer
  • 浏览: 41226 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

服务器监控的实现

阅读更多
接到老大说的一个需求,希望开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等,要求在CPU占有率持续彪高或者剩余内存不足时可以发出警告已达到预警的效果,服务器为linux,语言为java
坛子里的各位牛人帮我想想看都有什么实现手段?
小弟想到的是JNI调用服务器上的代码获取当前服务器状态,比如CPU和内存的状态,老大给的一个建议是利用JMX,JMX小弟没有接触过,正在恶补中···
分享到:
评论
50 楼 loyalbluer 2009-01-15  
dragonsoar 写道
写的程序当时只是因为公司也想做类似的一个功能。
不过代码也没有怎么整理过,是top信息获得得后使用jfreechart画图来显示系统的资源占用情况。
其中也用到了jfreechart的图片另存为功能。

主要功能为:
1.显示系统资源。
2.显示系统中某个进程的CPU使用资源情况。
3.显示系统中某个进程的内存使用资源情况。



这个功能基本上就满足我的需求的,我先拜读一下代码,然后有什么不理解的再来讨教~
49 楼 dragonsoar 2009-01-15  
写的程序当时只是因为公司也想做类似的一个功能。
不过代码也没有怎么整理过,是top信息获得得后使用jfreechart画图来显示系统的资源占用情况。
其中也用到了jfreechart的图片另存为功能。

主要功能为:
1.显示系统资源。
2.显示系统中某个进程的CPU使用资源情况。
3.显示系统中某个进程的内存使用资源情况。

下面为图片:







48 楼 loyalbluer 2009-01-15  
dragonsoar 写道
这个东东我做过的,而且可以获取服务器上的任何信息。
主要思想是:使用java程序ssh到远程服务器执行top命令,然后top会一直回调信息给java客户端。
可以把top里面的所有信息返回回来。

用到的远程ssh类库是:trilead-ssh2-build213.jar
是免费开源的,如果需要,可以发邮件给我,我把代码给你传过去。
我的邮箱:shaochuanj@gmail.com


啊……JE的牛人们都来帮助我了,各种意见层出不穷,小弟现在此谢谢各位了
这位仁兄,我已经给你发邮件了,希望可以欣赏到你的代码!期待中~
47 楼 dragonsoar 2009-01-15  
这个东东我做过的,而且可以获取服务器上的任何信息。
主要思想是:使用java程序ssh到远程服务器执行top命令,然后top会一直回调信息给java客户端。
可以把top里面的所有信息返回回来。

用到的远程ssh类库是:trilead-ssh2-build213.jar
是免费开源的,如果需要,可以发邮件给我,我把代码给你传过去。
我的邮箱:shaochuanj@gmail.com
46 楼 confidante0424 2009-01-15  
webim20 写道
loyalbluer 写道
接到老大说的一个需求,希望开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等,要求在CPU占有率持续彪高或者剩余内存不足时可以发出警告已达到预警的效果,服务器为linux,语言为java
坛子里的各位牛人帮我想想看都有什么实现手段?
小弟想到的是JNI调用服务器上的代码获取当前服务器状态,比如CPU和内存的状态,老大给的一个建议是利用JMX,JMX小弟没有接触过,正在恶补中···


够蠢的老大,拿着Java这个破锤子到处敲打,装一个nagios不就什么都ok了!

同意楼上,nagios的确是很好用的,我们一直用。
45 楼 niyunjiu 2009-01-15  
zabbix
44 楼 guooscar 2009-01-14  
Xiaoyu64814361 写道
guooscar 写道
引用
我不知道/Sys但是貌似你这个东西不能监控路由吧?还有猫吧?

引用
希望开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等,要求在CPU占有率持续彪高或者剩余内存不足时可以发出警告已达到预警的效果,服务器为linux,语言为java

sys文件系统是linux下的伪文件系统,利用它可以轻松的获取系统信息,其实一些linux命令如top等也都是读取sys文件系统下的相应文件然后分析输出而已,sys文件系统比较新,和它功能一样还有/proc文件系统。

如果我没有看错的话 楼主也就是要监控linux服务器而已啊,也没有什么路由器之类的东东


   他所想要监控的就是远程的服务器··当然你的方式是可取,但是只是本地的而已

怎么能说是本地的而已呢。东西你写好了,通过网络把信息发到监控服务器然后不就ok了
43 楼 SteveGY 2009-01-14  
IBM Tivoli
42 楼 guooscar 2009-01-14  
引用
我不知道/Sys但是貌似你这个东西不能监控路由吧?还有猫吧?

引用
希望开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等,要求在CPU占有率持续彪高或者剩余内存不足时可以发出警告已达到预警的效果,服务器为linux,语言为java

sys文件系统是linux下的伪文件系统,利用它可以轻松的获取系统信息,其实一些linux命令如top等也都是读取sys文件系统下的相应文件然后分析输出而已,sys文件系统比较新,和它功能一样还有/proc文件系统。

如果我没有看错的话 楼主也就是要监控linux服务器而已啊,也没有什么路由器之类的东东
41 楼 guooscar 2009-01-14  
Xiaoyu64814361 写道
guooscar 写道
Xiaoyu64814361 写道
guooscar 写道
sys文件系统不行么?
主机是linux,不是正好 最简单 最直接的方法岂不是更好?

  兄弟你先搞清楚状况先··他是要监控各个不同的服务器,服务器是给你随便乱动的吗?

== ==|||,我没动服务器啊,你要监控服务器不要写程序吗?写了程序不要放到服务器上吗?


   程序是要写的··但是不要动服务器呀··要是为了做个监控把程序仍到服务器上,那不就是等于在服务器上装自己写的代理吗?要是网管的话··一般不会给你这样做的··顶多给你开个snmp协议就不错了··你要在服务器上装程序··那就不知道网管会说什么了···

呵呵 这个东西么。。
无所谓了,对于这个问题 /sys 文件系统 是最简单 最直接 最高效的方式。
我就想讨论讨论实现方式 呵呵
40 楼 airu 2009-01-14  
专业的有 IBM tivoli,BMC Patrol,都是监控整个网络,主机,中间件等等的。
还可以监控应用软件什么的。自己写就用telnet,或者ssh之类的,然后执行shell,解析结果就Ok了。
39 楼 qlsclb 2009-01-14  
给你推荐一个开源的采集程序 Sigar,很强大,纯java,部分用c实现
38 楼 骚扰地球人 2009-01-14  
LINUX不是有查看系统状态的命令吗
在程序里执行该命令  
再解析输出信息。。。
37 楼 webim20 2009-01-14  
loyalbluer 写道
接到老大说的一个需求,希望开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等,要求在CPU占有率持续彪高或者剩余内存不足时可以发出警告已达到预警的效果,服务器为linux,语言为java
坛子里的各位牛人帮我想想看都有什么实现手段?
小弟想到的是JNI调用服务器上的代码获取当前服务器状态,比如CPU和内存的状态,老大给的一个建议是利用JMX,JMX小弟没有接触过,正在恶补中···


够蠢的老大,拿着Java这个破锤子到处敲打,装一个nagios不就什么都ok了!
36 楼 danielli007 2009-01-14  
我认为用SNMP4J就可以了
35 楼 gqf2008 2009-01-14  
如果一定要java做的话给你一个思路:
读取/proc/meminfo文件的信息可以得到内存使用情况
读取/proc/stat文件的信息可以得到cpu的使用情况
每隔一定时间读取一下然后该怎么处理就怎么处理
34 楼 rrsy23 2009-01-14  
我们在做这个 比你这个还复杂!

1.数据采集
    我们是在被监控系统上用shell生成文件【文件格式要规范】
2.文件传送
    我们是有自己平台传输【你可以考虑apache mina 下有个ftpserver 你的文 件  不大】
3.监控服务器开个扫描线程扫描文件 然后 调度到 文件 派发池 ,文件派发池根据规则产生处理任务对象【task】丢到线程池执行
你们也可以在服务器直接生成xml然后http到监控系统


关键 :
数据采集
数据传输
数据处理
数据展现与告警
33 楼 zhaonjtu 2009-01-14  
其实都一样,只不过jmx更标准些,而且好管理点。spring+jmx很方便
32 楼 frozentree 2009-01-14  
munin或者nagios.自己写脚本扩展。但基本的server情况它都监控
31 楼 tedeyang 2009-01-14  
narry 写道
看看jconsole,jdk5.0以后mbeanserver就存在与jvm中了,而且有许多内置的mbean,其中就有看thread,cpu,内存的

这些都只能查询jvm自身的状态,无法知道操作系统状态的.
只有通过jni才能获取底层数据.

相关推荐

    Java实现服务器监控相关代码

    Java实现服务器监控相关代码,使用Maven引入了系统服务jar包. 包含:CPU相关信息、內存相关信息、JVM相关信息、服务器相关信息、磁盘相关信息。 CPU相关信息:核心数 CPU总的使用率 CPU系统使用率 CPU用户使用率等

    用Python脚本实现对Linux服务器的监控

    sync(文件系统安全监控软件)、glances(资源监控工具)在实际工作中,Linux系统管理员可以根据自己使用的服务器的具体情况编写一下简单实用的脚本实现对Linux服务器的监控。本文介绍一下使用Python脚本实现对Linux...

    服务器监控程序部署

    服务器监控程序部署是确保IT基础设施稳定运行的关键环节。在企业环境中,服务器承载着核心业务,因此,对服务器的性能、安全及稳定性进行实时监控显得尤为重要。监控程序可以帮助管理员及时发现并解决问题,避免服务...

    服务器监控技术综述及展望.pdf

    服务器监控技术综述及展望 服务器监控技术是保障服务器长期有效地工作的关键技术之一。随着服务器在各个领域的广泛应用以及服务器规模的不断扩大,服务器监控技术对保障服务器的可靠性和高效性起着至关重要的作用。...

    服务器监控程序

    在IT行业中,服务器监控是确保系统稳定运行的关键环节。服务器监控程序主要用于收集、分析和报告服务器的性能数据,以便及时发现并解决潜在的问题。本文将深入探讨如何利用服务器监控工具来监控Activemq和Tomcat...

    Java 服务器信息监控

    本文将详细探讨使用Java实现的服务器监控程序,以及如何利用它来监控CPU、内存、网络连接和服务状态。 Java作为一种跨平台的语言,为开发服务器监控工具提供了便利。在"Java 服务器信息监控"项目中,开发者可以编写...

    服务器监控系统 

    【服务器监控系统规划】 在企业运营中,服务器监控系统扮演着至关重要的角色,尤其是在高度依赖信息技术的现代企业中。服务器不仅是存储业务数据和应用程序的基石,还是维持企业正常运作的关键基础设施。TT公司作为...

    服务器云监控云服务器监控.docx

    服务器云监控是指一种基于互联网的服务模式,用户可以通过租赁的方式获取服务器监控服务,而无需自行购买和维护相关的硬件或软件资源。这种模式大大简化了企业的IT基础设施建设和管理流程,尤其适合小型企业和初创...

    服务器监控短信通知系统

    一个是用于服务器监控(serverstate.bat)批处理文件,并将监控到的数据进行保存,以及判断服务器在线状态,当服务器断线时,则自动调用另外一个批处理文件(mail.bat),并将要发送到对方的邮箱添加在相应的字段...

    服务器资源监控.zip

    服务器资源监控是运维工作...通过学习和实践这个项目,开发者不仅可以掌握服务器监控技术,还能提升在Python Web开发和Linux运维方面的技能。这个资源对于IT从业者,尤其是运维人员来说,是一份非常有价值的参考资料。

    实用服务器监控软件-windows版

    总的来说,"实用服务器监控软件-Windows版"是一个全面、易用的工具,它集成了多种监控功能,旨在帮助Windows服务器管理员实现高效、精准的系统管理。通过合理的配置和使用,它可以成为保障服务器稳定运行的得力助手...

    zabbix服务器监控工具

    Zabbix是一款开源的企业级服务器监控工具,用于实时监控IT基础设施的性能和健康状况。它能够帮助管理员检测并预防系统故障,确保服务的稳定运行。Zabbix支持多种操作系统,包括Linux、Windows,以及对各种网络服务、...

    shell脚本实现服务器进程监控的方法

    ### Shell 脚本实现服务器进程监控方法详解 在IT运维和开发环境中,服务器进程的稳定运行至关重要。本文将深入探讨如何使用Shell脚本实现服务器进程监控,这不仅有助于及时发现异常情况,还能提高系统的可用性和...

    web服务器监控(一)

    在IT行业中,Web服务器监控是确保线上服务稳定性和性能的关键环节。本文将深入探讨"Web服务器监控(一)"这一主题,结合"源码"和"工具"这两个标签,我们将讨论如何利用源代码理解和构建自己的监控工具,以及现有的成熟...

    java实现简单远程监控

    4. **创建RMI服务器**:实现一个RMI服务器,这个服务器负责处理客户端的请求,如查询监控数据。 5. **暴露JMX连接器**:通过JMXConnectorServer暴露JMX连接器,这允许远程客户端连接到服务器并进行管理操作。 6. *...

    php实现服务器监控源代码

    为了实现服务器监控,我们需要理解几个关键概念和技术: 1. **系统调用**:PHP可以通过系统调用如`exec()`、`shell_exec()`或者`system()`来执行操作系统命令,获取如`top`、`vmstat`、`iostat`、`df`等工具的输出...

    基于Python的图形化服务器监控的设计和实现.zip

    本文将深入探讨如何使用Python语言设计和实现一个图形化的服务器监控系统。Python因其丰富的库支持、易读的语法以及强大的跨平台能力,成为了开发此类工具的理想选择。 首先,我们需要了解服务器监控的基本要素。这...

    python实战练习之实现linux下服务器监控

    公司总是会让我们人肉监控服务器状态(因为技术还没到互联网层公司的技术,没有自动化---例如工具Ansible之类的,ε=(´ο`*)))唉) 所以,我觉得这种东西如果可以实现一个远程自动化的监控工具是再好不过了。...

    服务器监控

    通过对这些文件的分析和理解,我们可以更好地实现和优化服务器监控系统。 总的来说,"服务器监控"是一个涉及多方面技术的系统工程,包括使用Quartz进行定时任务调度,通过HTTP请求获取服务器状态,以及利用JavaMail...

Global site tag (gtag.js) - Google Analytics