2013-02-19 55 views
3

我正在Windows Server 2003框中运行带有IIS的Adobe Coldfusion 9服务器,但是当我现在按照说明安装New Relic代理时,ColdFusion服务拒绝启动。 ColdFusion的-out.log包含以下内容:Adob​​e ColdFusion 9将不会以NewRelic代理启动

Feb 18, 2013 23:34:41 -0500 NewRelic 1 INFO: Agent is using Logback 
Feb 18, 2013 23:34:42 -0500 NewRelic 1 INFO: Loading configuration file "C:\newrelic\.\newrelic.yml" 
java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:597) 
at jrunx.kernel.JRun.invoke(JRun.java:180) 
at jrunx.kernel.JRun.main(JRun.java:168) 
Caused by: java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.jrunx.kernel) 
at  java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) 
at java.security.AccessController.checkPermission(AccessController.java:546) 
at jrunx.kernel.JRun.<init>(JRun.java:446) 
at jrunx.kernel.JRun$1.run(JRun.java:346) 
at java.security.AccessController.doPrivileged(Native Method) 
at jrunx.kernel.JRun.start(JRun.java:343) 
at jrunx.kernel.JRun.startByNTService(JRun.java:427) 
... 6 more 

我不认为这是因为我把权限给IIS用户的文件夹上文件的权限。但是我对如何解决这个问题感到不知所措。

任何其他ColdFusion人都遇到过New Relic这个问题吗?

感谢

PS:这是一个VPS运行,而不是一个完整的专用服务器。

+0

我不熟悉NewRelic的,但是这条道路似乎有点奇; “C:\ NewRelic的\ \ newrelic.yml。”那是对的吗? – 2013-02-19 13:49:12

+0

是的,这对我来说似乎很奇怪; c:\ newrelic是jar和相关文件所在的目录;并有一个newrelic.yml与一些配置信息。该文档说,该jar在它(jar)所在的同一目录中查找newrelic.yml。 – oarevalo 2013-02-19 15:12:56

+0

你说你给IIS用户授权,但ColdFusion用户呢? – 2013-02-19 15:18:55

回答

4

托比在New Relic支持这里:目前New Relic代理不能使用IIS来测试Adobe Coldfusion 9服务器。如果你使用的ColdFusion与Java应用程序服务器,我们可以文书系统,但它看起来像:

1)ColdFusion的与IIS不会捕捉与New Relic的代理

2)新数据准确遗体代理干扰Coldfusion正确启动

目前,我建议从该框架中卸载New Relic代理。我将把这个功能应用到一个功能请求中,以便我们可以在未来的版本中看到对这个框架的支持。

+1

感谢Toby的回答。我们计划将此应用程序移至Apache/Tomcat7环境(仍然将ColdFusion作为web应用程序运行)。希望我们会有更好的运气。 – oarevalo 2013-03-06 19:24:43

+0

只是为了确认CF902 - Java 6 - JRun - IIS和最新的New Relic代理(2.20)的组合无法安装,并且上面的OP报告了错误。不过,我已经在New Relic agent 2.09的环境中成功使用New Relic。实际上,我仍然是。 – 2013-07-24 09:07:29

+0

@VincentBuck您是否尝试在我的答案中列出更改? – WhiteKnight 2013-07-24 11:33:39

0

我与cf9有同样的问题,并提交了newRelic(实际上,我正在与之交谈的销售人员为我做这件事)的票。他们的答案如下:

Hi there Christophe -

I hate to be the bringer of badnews, but there's no support for Coldfusion running in IIS > with any agent at this time. I have made a feature request for you though. I've also >attached this ticket to the request so that if and when we implement it, we'll contact you directly.

I'm going to go ahead and mark this ticket as "closed", but if you have any other > questions, just reply to the ticket and it'll open back up and alert me.

Cheers, Frank.

请注意,newRelic代理在CF10上通过IIS工作正常。

2

我刚刚测试了在JRun 4上使用Java 6与Windows Server 2003上的IIS一起运行New Relic与ColdFusion 7,它工作正常。我认为困惑的是,即使IIS正在托管网页,JRun也是运行ColdFusion的Java应用服务器。

在你java.policy(在java.homejrun\bin\jvm.config文件中列出),添加以下权限(以及任何其他所需的权限加入这个后出现)

grant { 
    permission java.lang.RuntimePermission "accessClassInPackage.jrunx.kernel"; 
} 
+0

这将做到这一点,但还有一些。截至目前,这是我不得不改变的。 在C:\ coldfusion9 \ runtime \ jre \ lib \ security \ java.policy中将此块添加到底部。 ''grant {java.lang.RuntimePermission} accessClassInPackage.jrunx.kernel“; \t permission java.lang.RuntimePermission“getServerJNDIContext”; \t permission java.lang.RuntimePermission“getServerIdentity”; };' 使用c:\​​ coldfusion9 \ bin \ cfstart.bat轻松查看输出。查找java.lang.RuntimePermsission xxxxx类型的错误消息并添加行。 – 2014-02-28 21:45:52

+0

虽然这会得到JVM报告,但交易似乎不是。 IIS通过一个奇怪的连接器DLL连接到JRUN。猜测新的文物在servlet调用中遇到问题。 – 2014-02-28 22:43:03

+0

@EricTwilegar是的,我不得不添加一些权限,但不知道它们是否也适用于ColdFusion 9.我只有足够的时间来使它工作,但没有足够的时间来正确地测试它。我可能会在本周再次尝试,并会看看我能否获得交易。虽然您可能必须使用自定义检测(https://docs.newrelic.com/docs/java/custom-instrumentation-with-the-java-agent)或自定义XML(https://docs.newrelic.com/docs/JAVA /定制监控逐XML)。 – WhiteKnight 2014-03-01 16:23:50