Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't need to use NewRelic #600

Closed
bintocher opened this issue Aug 22, 2023 · 5 comments · Fixed by #601, #598 or #603
Closed

don't need to use NewRelic #600

bintocher opened this issue Aug 22, 2023 · 5 comments · Fixed by #601, #598 or #603

Comments

@bintocher
Copy link

What version of Butler SOS are you using?

docker-compose up

What version of Node.js are you using? Not applicable if you use the standalone version of Butler SOS.

docker-compose up

What command did you use to start Butler SOS?

docker-compose up

What operating system are you using?

Windows 11

What CPU architecture are you using?

x86_64

What Qlik Sense versions are you using?

2023-february sr2

Describe the Bug

using this docker-compose file https://github.com/ptarmiganlabs/butler-sos/blob/master/docs/docker-compose/docker-compose_fullstack_influxdb.yml
fix image: ptarmiganlabs/butler-sos:latest to image: ptarmiganlabs/butler-sos:9.6.1
and this file for environ https://github.com/ptarmiganlabs/butler-sos/blob/master/src/config/production_template.yaml modified to my settings..
when start docker it give me error NewRelic account, but i want to use it, how i can exclude this option for start butler-sos?

butler-sos  | 2023-08-22T08:52:20.903Z error: /nodeapp/config/production_influxdb.yaml is not following the correct structure, missing:,Butler-SOS.thirdPartyToolsCredentials.newRelic[0].accountId

image
image

uptimeMonitor:
storeNewRelic:
      enable: false

userEvents:
sendToNewRelic:
      enable: false   

logEvents:
 sendToNewRelic:
      enable: false 

  # New Relic config
  # If enabled, select Butler SOS metrics will be sent to New Relic.
  newRelic:
    enable: false

Expected Behavior

No response

To Reproduce

No response

@mountaindude
Copy link
Collaborator

Hmm, the specific setup of running Butler SOS using Docker with/without New Relic may not have received proper testing.
Will take a look at it.

@mountaindude
Copy link
Collaborator

The error message comes from the recently introduced feature where the structure of the config file is verified when Butler SOS starts.

In you case I suspect you have the default/demo values in Butler-SOS.thirdPartyToolsCredentials.newRelic, i.e. something like this:

image

Now, the accountId field is supposed to be a number. If it's something else the config file verification will complain.
That's not made very clear in the Butler SOS docs - I totally agree...

The easy workaround is to enter some dummy data there.
This will for example work (Butler SOS starts for me with these values).
This workaround will not allow you to post metrics to New Relic, but you don't need that (if I understood you correctly).

image

It might be reasonable to make the New Relic settings optional in the config file...
Will consider it.

@bintocher
Copy link
Author

accountId 123 and 456 fix error,
but i have a new one error after that:

butler-sos  | 2023-08-22T10:02:34.103Z error: /nodeapp/config/production_influxdb.yaml is not following the correct structure, missing:,Butler-SOS.newRelic.metric.dynamic.apps.activeDocs.enable

but this param only in influx settings section:
image

@mountaindude
Copy link
Collaborator

accountId 123 and 456 fix error, but i have a new one error after that:

butler-sos  | 2023-08-22T10:02:34.103Z error: /nodeapp/config/production_influxdb.yaml is not following the correct structure, missing:,Butler-SOS.newRelic.metric.dynamic.apps.activeDocs.enable

but this param only in influx settings section: image

Ok, nice find.
Looks like the template config file is missing a few items.
This in turn causes the config file verification to complain.

This is definitely a bug, will fix it in next versin (later today prob).

Meanwhile you can add the missing config entries to your YAML config file.
The Butler-SOS.newRelic.metric.dynamic.apps section should look like this

        apps:
          docCount:
            enable: true
          # Use with caution! Enabling activeDocs, loadedDocs or inMemoryDocs may result in lots of data sent to New Relic.
          activeDocs:           # Should data on what docs are active in engine be sent to New Relic (true/false)? 
            enable: true
          loadedDocs:           # Should data on what docs are loaded (=having open sessions or connections) in engine be sent to New Relic (true/false)?
            enable: true
          inMemoryDocs:         # Should data on what docs are in engine memory be sent to New Relic (true/false)?
            enable: true

mountaindude added a commit to mountaindude/butler-sos that referenced this issue Aug 22, 2023
@bintocher
Copy link
Author

accountId 123 and 456 fix error, but i have a new one error after that:

butler-sos  | 2023-08-22T10:02:34.103Z error: /nodeapp/config/production_influxdb.yaml is not following the correct structure, missing:,Butler-SOS.newRelic.metric.dynamic.apps.activeDocs.enable

but this param only in influx settings section: image

Ok, nice find. Looks like the template config file is missing a few items. This in turn causes the config file verification to complain.

This is definitely a bug, will fix it in next versin (later today prob).

Meanwhile you can add the missing config entries to your YAML config file. The Butler-SOS.newRelic.metric.dynamic.apps section should look like this

        apps:
          docCount:
            enable: true
          # Use with caution! Enabling activeDocs, loadedDocs or inMemoryDocs may result in lots of data sent to New Relic.
          activeDocs:           # Should data on what docs are active in engine be sent to New Relic (true/false)? 
            enable: true
          loadedDocs:           # Should data on what docs are loaded (=having open sessions or connections) in engine be sent to New Relic (true/false)?
            enable: true
          inMemoryDocs:         # Should data on what docs are in engine memory be sent to New Relic (true/false)?
            enable: true

yup, i made i new issue for this bug: #602

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment