我已经使用PuTTY设置了一个反向ssh隧道,允许我将VNC转换为家用计算机而无需启用NAT端口转发.效果很好,没问题.
我想将隧道设置为"持久服务",它将在启动时连接并在删除时重新连接.PS.这是在Windows上.
详尽的谷歌搜索发现了一些产品,但许多似乎已被抛弃,似乎没有一个主要的"街头信誉".
有没有人有这种类型的东西或任何这些产品的经验?我不需要所有的花里胡哨,只需要可靠性.
我们有一个Java Web应用程序,我们希望设置一些基本监控,以便将来扩展此监控.我们的计划如下:
(1)收集有关运行应用程序的Web容器的虚拟机的通用信息(例如内存和线程).
(2)监控应用程序的"状态".这是相当模糊的,但至少我们想看看Web应用程序是否还活着并且可以响应请求.
(3)将来我们希望收集更多特定于我们申请的信息.同样,这是相当模糊的,但您可以假设我们可能希望由支持人员可用的应用程序在内部收集某些统计信息.
通常,Web应用程序将部署在Tomcat 5.5或6环境中.在Web上快速搜索一下,可以为Tomcat启用JMX,然后可以使用JConsole连接到服务器.这为我们提供了许多解决要点(1)的基本信息.此外,"Catalina"的MBeans部分提供了一些信息,并且至少可以深入了解这一点,例如,查看特定servlet收到的请求数量.这不是我们想要的第(2)点,但至少给了我们一些信息.那里似乎有很多信息,但使用JConsole解释相当困难.也许有一个更好的工具来解释Tomcat暴露的MBean.
对于第(3)点,乍一看似乎我们可以编写自己的MBean,然后将它们提供给像JConsole这样的东西.就个人而言,这将涉及我学习JMX,我很乐意这样做,但我有一个问题.环顾四周后,我注意到这个主题的大部分教科书已经好几年没有更新,开源工具似乎在没有最新更新的情况下萎靡不振.所以我的主要问题很简单.您对JMX有何看法?它有未来还是被其他东西取代?鉴于我们已经拥有了我们的Web应用程序但是我们从头开始管理控制台,我们应该选择JMX还是更合适一些更好的未来呢?
我问这个问题没有个人斧头,我只是想听听你的意见和经验.我确信没有一个正确的答案,但我认为一个知情的讨论会很有用.
提前致谢,
亚当.
我们使用ProcessPoolExecutor从concurrent.futures在流程中的池异步接收请求,并进行实际的同步处理的服务.
一旦我们遇到流程池耗尽的情况,那么新请求必须等到其他一些流程完成.
有没有办法询问进程池的当前用法?这将使我们能够监控其状态并进行适当的容量规划.
如果没有,是否有任何良好的替代流程池实现与支持此类监控/容量规划的异步接口?
我试图将系统正常运行时间显示为 DD-HH-MM-SS 格式,使用通用代码执行此操作不会有问题,但我仅使用 Prometheus (PromQL) 和 Grafana 执行此操作,这是 PromQL 查询:
time()-process_start_time_seconds{instance="INSTANCE",job="JOB"}
我实现了我想要的基本输出,它向我显示了进程的生命周期。上面查询的输出给出了以秒为单位的时间(例如68003),并将其转换为更大的时间单位(分钟、小时等),但采用十进制形式:
小数点后的89指的是一个小时的89%,约53分钟。这并不是一种真正“直观”的显示时间的方式,我希望它能显示该时间的正常 DD:HH:MM:SS 演示,如以下来自一个简单在线工具的屏幕截图,该工具将秒转换为时间:
有没有办法仅使用 PromQL 和 Grafana 配置来实现它?
我需要监控在 kubernetes 集群上运行的容器内存使用情况。阅读一些文章后,有两个建议:“container_memory_rss”、“container_memory_working_set_bytes”
两个指标的定义都说了(来自 cAdvisor 代码)
我认为这两个指标都代表进程使用的物理内存上的字节大小。但是我的 grafana 仪表板中的两个值之间存在一些差异。
我的问题是:
我尝试让iPhone4监控区域并通过调用didEnterRegion或didExitRegion通知我.我无法让它发挥作用.我正在阅读这里所有相关的enries,再加上网上的几篇文章...... iOS只是不调用我的CLLocationManagerDelegate方法.我做了什么:
我有一个简单的AppDelegate,它还实现了didEnterRegion和didExitRegion的CLLocationManagerDelegate方法.在这些方法中,我只需使用UILocalNotification来报告事件.从ViewController我创建一个区域(当前位置),其中一个瑞士值为1000米.
我在ActiveMQ页面中读到,使用JMX我们可以监视activemq中的队列.如果队列在ActiveMQ中有消息(深度高)或服务间隔很高,我们如何得到通知.在unix环境中不使用任何shell脚本.是否可以通过Java程序?如果是的话,请给我一些想法来完成这项工作.
我已经搜索过可能的解决方案,例如如何在Java中监控计算机的CPU,内存和磁盘使用情况?.但在缓冲区和缓存中花费的内存在任何地方都没有提到
例如,在linux上,free -m的输出:
total used free shared buffers cached
Mem: 2011 1835 175 0 309 847
-/+ buffers/cache: 678 1333
Swap: 1998 0 1998
我已经测试了sigar的输出,它将可用内存报告为175 MB.
这个问题的原因是如何检测OS何时剩余的内存很少?在之前的输出中free -m,175 MB似乎相当低; 但是通过添加缓冲区和缓存,很明显可用内存实际上是2 GB中的1333 MB.
总结一下,使用java,可以获得1333 MB的值作为空闲内存的值吗?正如我已经提到的,到目前为止我只知道如何获得175 MB的价值.
我还没有看到它特别拼写出任何我不能在node.js中使用New Relic的地方,只是没有提到它正在完成.感谢您的任何反馈!
我正在使用Scala的Play 2.2.x. 我想要一个管理仪表板,它在一个漂亮的HTML图表GUI页面中显示CPU /内存,最近的HTTP请求列表,性能和负载指标,日志,服务器控制台等.我可以使用Play插件或Java EE插件吗?Takipi/NewRelic看起来不错,但它没有一个很好的HTTP日志UI.JavaMelody看起来也不错,但它适用于传统的Java EE应用程序而不是Play2 Scala应用程序.