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

服务器监控的实现

阅读更多
接到老大说的一个需求,希望开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等,要求在CPU占有率持续彪高或者剩余内存不足时可以发出警告已达到预警的效果,服务器为linux,语言为java
坛子里的各位牛人帮我想想看都有什么实现手段?
小弟想到的是JNI调用服务器上的代码获取当前服务器状态,比如CPU和内存的状态,老大给的一个建议是利用JMX,JMX小弟没有接触过,正在恶补中···
分享到:
评论
30 楼 pipilu 2009-01-14  
收获不少,很多东东都没听说过,有空了看看。

楼主,
最简单最直接的方法,自然就是用shell脚本了,另外用java写个发短信或发邮件的可执行程序就可以啦。
29 楼 Craft 2009-01-14  
下载probe的源码简单分析一下就会了。
28 楼 jichongchong 2009-01-14  
sar命令收集系统硬件状态。
自定义报文,发送至监控服务器,监控服务器处理之。
27 楼 loyalbluer 2009-01-14  
lhcjava 写道
loyalbluer 写道
接到老大说的一个需求,希望开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等,要求在CPU占有率持续彪高或者剩余内存不足时可以发出警告已达到预警的效果,服务器为linux,语言为java
坛子里的各位牛人帮我想想看都有什么实现手段?
小弟想到的是JNI调用服务器上的代码获取当前服务器状态,比如CPU和内存的状态,老大给的一个建议是利用JMX,JMX小弟没有接触过,正在恶补中···


以前做个一个在linux下监控本机环境的程序,但是系统很庞大,但是我感觉你说的需求和我这个差不多。
可以加我MSN  lhcjava@hotmail.com


我们这个系统不能过于庞大,而且要求对服务器的性能不能造成影响,所以小弟在寻找最简单最直接的方法,最好就如不借助任何第三方工具,纯粹的linux+Java实现了
26 楼 titanfoot 2009-01-14  
nagios
25 楼 lhcjava 2009-01-14  
loyalbluer 写道
接到老大说的一个需求,希望开发一个监控系统,可以可视化监控一个系统的运行状态,各个服务器的负载等,要求在CPU占有率持续彪高或者剩余内存不足时可以发出警告已达到预警的效果,服务器为linux,语言为java
坛子里的各位牛人帮我想想看都有什么实现手段?
小弟想到的是JNI调用服务器上的代码获取当前服务器状态,比如CPU和内存的状态,老大给的一个建议是利用JMX,JMX小弟没有接触过,正在恶补中···


以前做个一个在linux下监控本机环境的程序,但是系统很庞大,但是我感觉你说的需求和我这个差不多。
可以加我MSN  lhcjava@hotmail.com
24 楼 lhcjava 2009-01-14  
以前做过一个网络硬件监控程序,类似监控大型路由。
Swing、RMI、等技术实现,如果想监控本机CPU、内存等信息好像Java不能直接调用,估计要用的java中的本地方法调用。

补充一些,如果是linux的话,可以用*.sh来获取本机的信息,比如CPU、内存,然后生成本地文件,最后用Java读取解析就可以了。
23 楼 whaosoft 2009-01-14  
你说的那个能监视硬件吗
22 楼 lin5061 2009-01-13  
http://www.oschina.net/project/list_similar/1049?p=1
21 楼 lin5061 2009-01-13  
用HQ吧 在一台专门的(可以认为是独立于你那些服务器的)机器上装个server端,然后在那些需要监控的机器上装个agent(agent很容易装 而且不会对系统造成多少入侵)就行,然后就可以查了
参考一下http://q.sohu.com/forum/5/topic/502357
20 楼 ffyahoo 2009-01-13  
loyalbluer 写道
ffyahoo 写道
snmp监控服务器的物理信息,内存使用率,CPU占有率,用snmp4j,或者snmphibernate来操作,这个东东对snmp4j进行了封装,就像hibernate对jdbc进行封装一样。
像mysql的监控,那就得用jdbc了,可以通过sql命令得到mysql性能,然后你代码分析数据处理数据。
jboss,tomcat的,就用jmx进行监控。

我以前是这么干的,现在做这方面的东西的人多起来了啊,不过话说回来,这些系统一般针对内部应用,除非像AdventNet那样的产品。要是中小企业内部用用,nagios,或者cacti就可以搞定了的,没必要花人力去开发个。


以上观点谨代表个人观点。


我现在个人比较倾向使用snmp4j这种方法,不过今天在javaEye博客中看到一个文章,貌似是通过top命令来获取服务器信息,然后拼写成字符串,个人感觉这个方法其实也可以,重点是不借助其他工具,完全的linux+java就可以
小弟这方面菜菜菜菜鸟一只,不知这种方法可行不?特附上博文地址:http://avery-leo.iteye.com/blog/298724


snmp是个比较通用的协议,针对linux,windows,或者路由器,交换机等等一些服务器系统都会安装有snmp协议,据我所知,像moto,诺西一些通信公司开发的网管系统,也是用snmp针对设备性能进行监控的。

当然了,萝卜喜欢青菜,各有所爱。只要走得通就行。

以上观点谨代表个人观点。
19 楼 guooscar 2009-01-13  
.......哎 说什么好呢
18 楼 loyalbluer 2009-01-13  
narry 写道
看看jconsole,jdk5.0以后mbeanserver就存在与jvm中了,而且有许多内置的mbean,其中就有看thread,cpu,内存的

这个我查看了JDK,感觉java提供的还是不够用啊,即使到了jdk1.6中也只是增加了一个方法,个人感觉满足不了需求啊,小弟拙见请指教,呵呵
17 楼 loyalbluer 2009-01-13  
ffyahoo 写道
snmp监控服务器的物理信息,内存使用率,CPU占有率,用snmp4j,或者snmphibernate来操作,这个东东对snmp4j进行了封装,就像hibernate对jdbc进行封装一样。
像mysql的监控,那就得用jdbc了,可以通过sql命令得到mysql性能,然后你代码分析数据处理数据。
jboss,tomcat的,就用jmx进行监控。

我以前是这么干的,现在做这方面的东西的人多起来了啊,不过话说回来,这些系统一般针对内部应用,除非像AdventNet那样的产品。要是中小企业内部用用,nagios,或者cacti就可以搞定了的,没必要花人力去开发个。


以上观点谨代表个人观点。


我现在个人比较倾向使用snmp4j这种方法,不过今天在javaEye博客中看到一个文章,貌似是通过top命令来获取服务器信息,然后拼写成字符串,个人感觉这个方法其实也可以,重点是不借助其他工具,完全的linux+java就可以
小弟这方面菜菜菜菜鸟一只,不知这种方法可行不?特附上博文地址:http://avery-leo.iteye.com/blog/298724
16 楼 narry 2009-01-13  
看看jconsole,jdk5.0以后mbeanserver就存在与jvm中了,而且有许多内置的mbean,其中就有看thread,cpu,内存的
15 楼 guooscar 2009-01-13  
Xiaoyu64814361 写道
guooscar 写道
sys文件系统不行么?
主机是linux,不是正好 最简单 最直接的方法岂不是更好?

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

== ==|||,我没动服务器啊,你要监控服务器不要写程序吗?写了程序不要放到服务器上吗?
14 楼 guooscar 2009-01-13  
sys文件系统不行么?
主机是linux,不是正好 最简单 最直接的方法岂不是更好?
13 楼 ffyahoo 2009-01-13  
snmp监控服务器的物理信息,内存使用率,CPU占有率,用snmp4j,或者snmphibernate来操作,这个东东对snmp4j进行了封装,就像hibernate对jdbc进行封装一样。
像mysql的监控,那就得用jdbc了,可以通过sql命令得到mysql性能,然后你代码分析数据处理数据。
jboss,tomcat的,就用jmx进行监控。

我以前是这么干的,现在做这方面的东西的人多起来了啊,不过话说回来,这些系统一般针对内部应用,除非像AdventNet那样的产品。要是中小企业内部用用,nagios,或者cacti就可以搞定了的,没必要花人力去开发个。


以上观点谨代表个人观点。
12 楼 单身男人 2009-01-13  
用最底层的telnet协议,我们曾经为河南移动做了个巡检系统,和你的需求差不多,多了很多其他的需求,用telnet协议登陆上,无论是操作系统(linux、windows或其他)、路由器、或其他网元设备,都能够执行telnet指令,你根据返回结果进行字符截取获得就可以了,snmp协议是不错,不过不一定支持所有厂家的设备,而telnet协议则没这个问题,几乎所有的厂家设备、操作系统都支持。开源项目中有java实现telnet协议的项目,不过针对windows有点问题,我们对其进行了修改,从而能够更好的支持telnet到windows上,来获取系统的信息
11 楼 guooscar 2009-01-13  
sys文件系统 搞定一切

相关推荐

    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