New Relic infrastructure agent not starting as windows service

Wheh running this command as an administrator user:

net start newrelic-infra
The service is not responding to the control function.

However when running this command from command line the program runs fine:
C:\Program Files\New Relic\newrelic-infra\newrelic-infra.exe

Hi @bobby.tadlock - For that command to work, the full path to the infrastructure executable should be added to the path environment variable. Can you verify that this was the case? If it isn’t then the installer is not adding it.

Hey @bobby.tadlock - just wanted to check in and see if @stefan_garnham’s advice worked out for you. Any updates?

I just updated the ticket… same results.
Please keep all communication contained within the ticket.

No problem, @bobby.tadlock! Please come back and update us all though! I am sure the community will be interested in hearing the solution :thumbsup:

Hi @Linds ,

I am observing the same as reported above. Below is what I have tried.

-> msiexec.exe /qn /i C:\newrelic-java-3.39.1\Infrastructure\newrelic-infra.msi

-> Added New Relic license key to the license_key attribute in newrelic-infra.yml, located in
C:\Program Files\New Relic\newrelic-infra.

-> Start the newrelic-infra service from the Windows command prompt: net start newrelic-infra

Error/Message: The service is not responding to the control function

1 Like

Issue is fixed after correcting full path to infrastructure executable under path environment variable and removing quotes included around license key.

Regards,
Sriharsha

1 Like

Hi @Sriharsha,

Yes, the license key setting seems to cause a fair amount of issues. For future reference:

  • Remove the < and > from the setting.

  • Do not wrap the license key in anything! No brackets, quotes, nothing. The setting should look exactly like the following:

license_key: 1234567890abcdef1234567890abcdef12345678

The service will get an error starting if the .yml file is formatted incorrectly in any way. This includes both the values and placement of any of the configuration settings available for the application. In the Windows world, we’re typically used to fairly loose rules when it comes to placement and whitespace for setting files, especially as it relates to XML. In the case of .yml files, throw those rules out the window. Placement, indentation, whitespace, etc. are all very precise in these type of configuration files. The most minor of inconsistencies can make the entire configuration invalid.

3 Likes

It’s interesting that we are experiencing the same issues in Server 2012 R2. It appears to be something with our customization of Windows at this points as an EC2 instance using the AWS AMI for Server 2012 allows the agent to install just fine.

As with @Sriharsha, we are able to start the agent from the command-line and data us written to the NR Infrastructure module but we can’t start the service. We verified the configuration file (see below) and update the PATH variable it still didn’t work.

We do have a case open and we’re working the issue with support. I’ll post here when I find the solution. Again, an EC2 instance stood up with an AMI for Server 2012 works just fine. This feels like a configuration issue on our side right now but I can’t be sure.

A quick update.

We can start the agent via command-prompt but still cannot start it via the service. It looks like the issue may lie in a GPO that may be hampering the registration of the service properly. We are still investigating.

Hi @jbiggley, I just spoke with you on the phone regarding this issue and we are looping in our devs now to investigate. I will share what I can with the community about the resolution when we’re done so that others can learn too!

2 Likes

For those who are interested, we have a temporary workaround to this problem. The NR infrastructure agent is taking about 2.5 minutes to start up on our test 2012 and 2016 Windows Server boxes. We’re still working with support to try and figure out why that would be but you can follow the procedure below if you’ve tried everything else.

  1. In Registry Editor, locate, and then right-click the following registry subkey:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control

  2. Point to New, and then click DWORD Value. In the right pane of Registry Editor, notice that
    New Value #1 (the name of a new registry entry) is selected for editing.

  3. Type ServicesPipeTimeout to replace New Value #1, and then press ENTER.

  4. Right-click the ServicesPipeTimeout registry entry that you created in step 3, and then click
    Modify. The Edit DWORD Value dialog box appears.

  5. In the Value data text box, type 300000, and then click OK. 300,000 in milliseconds == 5 minutes.

  6. Restart the computer. You must restart the computer for Service Control Manager to apply this change.

Try starting the New Relic Infrastructure service again

1 Like

Hi!

We do now have a long term fix for this in version 1.0752 of the Infrastructure agent. This is available now!

https://docs.newrelic.com/docs/release-notes/infrastructure-release-notes/infrastructure-agent-release-notes

2 Likes

I can confirm that this works perfectly on a Server 2012 box without the ServicesPipeTimeout value being changed. Thanks!

4 Likes

Thanks @jbiggley - so glad to hear it’s working!

I had the same issues, adding a space between licence_key and the license solved the problem.
licence_key: space xxxxxxxxxxxxxxxxx

1 Like