我正在尝试找到一个允许我监视服务器资源消耗的解决方案.优选地,我想要获得的度量是网络利用率IO,并且如果可能的话,CPU使用率/负载平均值和磁盘IO.
我唯一的另一个要求是这些信息可以通过Java获得,因此可以对其进行操作,至少可以在Linux(Fedora)上运行.
我听说过一些监控工具,但我不确定最好的方法.我可能想要每隔30秒收集一次信息.
谢谢
更新:只是为了重新迭代,我指的是系统范围的监控而不是Java特定的监控.我只想使用Java来访问这些指标
我尝试让iPhone4监控区域并通过调用didEnterRegion或didExitRegion通知我.我无法让它发挥作用.我正在阅读这里所有相关的enries,再加上网上的几篇文章...... iOS只是不调用我的CLLocationManagerDelegate方法.我做了什么:
我有一个简单的AppDelegate,它还实现了didEnterRegion和didExitRegion的CLLocationManagerDelegate方法.在这些方法中,我只需使用UILocalNotification来报告事件.从ViewController我创建一个区域(当前位置),其中一个瑞士值为1000米.
在阅读并尝试了很多之后,我不得不问是否有人能解决我的问题.
我试图在防火墙后面设置一些Tomcats(V6).这没什么大不了的 - 但我想通过JMX监控它们.
我阅读了TC文档并遇到了JMXRemoteLifecycleListener.我的测试TC安装完全按照上面的链接设置.因此,我没有从我们网络中的一个主机到另一个主机的连接.此外,每次启动TC时都会打开第三个随机端口.
在我的server.xml中,监听器被激活
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
rmiRegistryPortPlatform="8050" rmiServerPortPlatform="8060" />
Run Code Online (Sandbox Code Playgroud)
catalina.out说一切都好.
2011-06-14 16:46:48,819 [main] INFO org.apache.catalina.mbeans.JmxRemoteLifecycleListener-
The JMX Remote Listener has configured the registry on port 8050 and the server on port 8060 for the Platform server
Run Code Online (Sandbox Code Playgroud)
端口是开放的,我可以通过telnet从任何其他主机连接到它们.我可以用(service:jmx:rmi://<hostname>:8xxx/jndi/rmi://<hostname>:8xxxx/jmxrmi)本地连接到vm
Netstats输出如下:
tcp6 0 0 :::8080 :::* LISTEN 11291/java
tcp6 0 0 :::8050 :::* LISTEN 11291/java
tcp6 0 0 :::8060 :::* LISTEN 11291/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 11291/java
tcp6 0 0 :::60901 :::* LISTEN 11291/java
tcp6 …Run Code Online (Sandbox Code Playgroud) 我在应用程序中诊断出一个奇怪的行为:大约10分钟后,CPU使用率达到100%.应用程序中没有泄漏,它发生在应用程序什么都不做的时候.
我可以使用"Time Profiler"对仪器进行分析,但是有没有办法找到实际原因是什么?
我在ActiveMQ页面中读到,使用JMX我们可以监视activemq中的队列.如果队列在ActiveMQ中有消息(深度高)或服务间隔很高,我们如何得到通知.在unix环境中不使用任何shell脚本.是否可以通过Java程序?如果是的话,请给我一些想法来完成这项工作.
我正在使用Scala的Play 2.2.x. 我想要一个管理仪表板,它在一个漂亮的HTML图表GUI页面中显示CPU /内存,最近的HTTP请求列表,性能和负载指标,日志,服务器控制台等.我可以使用Play插件或Java EE插件吗?Takipi/NewRelic看起来不错,但它没有一个很好的HTTP日志UI.JavaMelody看起来也不错,但它适用于传统的Java EE应用程序而不是Play2 Scala应用程序.
我试图在我的服务器上看到活跃的美洲豹线程数.
我看不透ps:
$ ps aux | grep puma
healthd 2623 0.0 1.8 683168 37700 ? Ssl May02 5:38 puma 2.11.1 (tcp://127.0.0.1:22221) [healthd]
root 8029 0.0 0.1 110460 2184 pts/0 S+ 06:34 0:00 grep --color=auto puma
root 18084 0.0 0.1 56836 2664 ? Ss May05 0:00 su -s /bin/bash -c puma -C /opt/elasticbeanstalk/support/conf/pumaconf.rb webapp
webapp 18113 0.0 0.8 83280 17324 ? Ssl May05 0:04 puma 2.16.0 (unix:///var/run/puma/my_app.sock) [/]
webapp 18116 3.5 6.2 784992 128924 ? Sl May05 182:35 puma: …Run Code Online (Sandbox Code Playgroud) 我给了一个项目,唯一的目标是监控网络的NFS性能.我知道那里有很多开源工具,但我仍然希望得到基本的想法,以便更好地调整周围的人.因此,该网络由几百个Linux系统和几千个帐户组成,其中NFS安装了家庭目录; 脚本可以推送到每个站,服务器也是可能的,如果这样做有任何好处.Afaik,基本上所有脚本应该做的是几个dd并观察NFS上的IO速率.
我的问题是这样做的正确方法是什么?我是否仅为了运行脚本而向系统添加新帐户?
一些一般的想法非常感谢:)
我试图通过使用alertmanager获得Prometheus发现的警报以获得松弛通知.
这是alert.rules文件,工作正常
groups:
- name: Instances
rules:
# Alert for any instance that is unreachable for >5 minutes.
- alert: InstanceDown
expr: up == 0
for: 5m
labels:
severity: page
# Prometheus templates apply here in the annotation and label fields of the alert.
annotations:
description: '{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes.'
summary: 'Instance {{ $labels.instance }} down'
Run Code Online (Sandbox Code Playgroud)
但是我的alertmanager.yml中的问题是它没有向slack发送通知.我也成功设置了松弛的webhook,甚至测试了钩子是否正常工作,同时创建了一个钩子与松弛提供的服务
alertmanager.yml
groups: …Run Code Online (Sandbox Code Playgroud) monitoring ×10
java ×3
jmx ×2
linux ×2
performance ×2
alert ×1
amazon-ec2 ×1
chef-infra ×1
instruments ×1
ios ×1
iphone ×1
nfs ×1
profiling ×1
prometheus ×1
puma ×1
region ×1
scala ×1
shell ×1
tomcat ×1
tomcat6 ×1