当前位置: 首页 > 知识库问答 >
问题:

使用Prometheus和Grafana监视基于Jetty的Java应用程序

楚宇
2023-03-14

我已经使用nohup和Jetty在服务器(在8091)中部署了一个Java应用程序。

我需要用普罗米修斯和格拉法纳监控那个应用程序。

 https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.1.0/jmx_prometheus_javaagent-0.1.0.jar

config.yaml

[root@localhost software]# cat config.yaml
---
startDelaySeconds: 0
hostPort: 127.0.0.1:7101
jmxUrl: service:jmx:rmi:///jndi/rmi://127.0.0.1:7101/jmxrmi
ssl: false
lowercaseOutputName: true
lowercaseOutputLabelNames: true
rules:
- pattern: ".*"

我在通常的部署中使用的部署命令:(在这个目录中,存在Jetty)

nohup  -Dorg.eclipse.jetty.server.Request.maxFormContentSize=10000000 -Xms256m -Xmx256m -Djava.io.tmpdir=temp_dir -jar jetty-runner-9.0.7.v20131107.jar --log yyyy_mm_dd-java-application-1-request.log --out yyyy_mm_dd-java-application-1-output.log --port 8091 --path /java-application-1 hotfix.war >> java-application-1.log 2>&1 &

它很好用..

nohup java -javaagent:./jmx_prometheus_javaagent-0.1.0.jar=7101:config.yaml -Dorg.eclipse.jetty.server.Request.maxFormContentSize=10000000 -Xms256m -Xmx256m -Djava.io.tmpdir=epoch_temp_dir -jar jetty-runner-9.0.7.v20131107.jar --log yyyy_mm_dd-java-application-1-request.log --out yyyy_mm_dd-java-application-1-output.log --port 8091 --path /java-application-1 hotfix.war >> java-application-1.log 2>&1 &
nohup: ignoring input
Exception in thread "main" java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:386)
        at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:401)
Caused by: java.lang.IllegalArgumentException: At most one of hostPort and jmxUrl must be provided
        at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.loadConfig(JmxCollector.java:120)
        at io.prometheus.jmx.shaded.io.prometheus.jmx.JmxCollector.<init>(JmxCollector.java:74)
        at io.prometheus.jmx.shaded.io.prometheus.jmx.JavaAgent.premain(JavaAgent.java:36)
        ... 6 more
FATAL ERROR in native method: processing of -javaagent failed

共有1个答案

史钊
2023-03-14

您已经在config.yaml中指定了hostportjmxurl键。但最多必须提供其中一个。移除其中一个。

 类似资料:
  • 描述 作为grafana和prometheus世界的新手,我正在努力将laravel php cli应用程序中的自定义指标添加到grafana云,最好是通过grafana代理。 情况 我在一个linux服务器上使用grafana云和他们的grafana代理,该服务器运行一个laravel php工作者,没有Web服务器。grafana代理运行node_exporter集成。我已经尝试找到一些关于如

  • 我正在使用spring Boot2.0,并在POM中添加了以下依赖项 我的application.yml如下所示 PS:我在谷歌上搜索了一下,尝试添加prometheus.yml,并添加类似@enableprometheusendpoint的注释,但没有任何效果,因为所有的文章都是旧的。 编辑:如果Spring Bootjar托管在不同的主机(Azure/AWS)中,prometheus.yml(

  • 我在本地的kubernetes集群中部署了spring boot支持的微服务。微服务正在使用micrometer和prometheus registry,但由于我们公司的政策,执行器可在另一个端口上使用: 8080,用于“业务”http请求 执行器的8081/管理。因此,我可以访问并查看在本地运行进程(不使用kubernetes)时的度量。 现在,我是Prometheus的初学者,对kuberne

  • 主要内容:1.Prometheus简介,2.Prometheus优势,Prometheus架构,3.安装,4.启动,5.PromSQL,6.Prometheus和grafana1.Prometheus简介 Prometheus受启发于Google的Brogmon监控系统(相似的Kubernetes是从Google的Brog系统演变而来),从2012年开始由前Google工程师在Soundcloud以开源软件的形式进行研发,并且于2015年早期对外发布早期版本。2016年5月继Kubernetes

  • 关于如何构建CPU指标的可视化和洞察力的小问题。 我有一个Spring Boot Webflux应用程序,没什么特别的。我带来了执行器,千分尺和普罗米修斯依赖。 谢谢你。

  • 在Python和函数的帮助下,我能够从URL中获取数据。数据包含一个实例列表,其中每个实例都有instance_id、状态等指标。 我的问题是,我有没有办法将这些指标上传到普罗米修斯?我查看了pushgateway功能,但不确定这是否是进行数据推送和存储的正确方法。 我目前向普罗米修斯推送数据的工作如下: 但是,我不确定我应该推动什么公制类型(仪表,摘要或其他东西?) 下面是我希望推送的实例数据示