Code Monkey home page Code Monkey logo

Comments (8)

nanobeep avatar nanobeep commented on September 3, 2024

Support for this feature appears to exist, just no documentation on how to use it: #11

from nri-redis.

carlossscastro avatar carlossscastro commented on September 3, 2024

Hi @nanobeep,

Thanks for your request.
We have reviewed it and we'll be working on adding examples for multi instance configuration.

We will send you another update here once the documentation is ready.

from nri-redis.

carlossscastro avatar carlossscastro commented on September 3, 2024

newrelic/docs-website#2797

from nri-redis.

carlossscastro avatar carlossscastro commented on September 3, 2024

Hi @nanobeep ,

We have added a callout in our Redis documentation linking to our configuration files examples which now includes a multi instance example.
https://docs.newrelic.com/docs/integrations/host-integrations/host-integrations-list/redis-monitoring-integration/#config

Thanks again for raising this!

from nri-redis.

nanobeep avatar nanobeep commented on September 3, 2024

Super, thanks! I've implemented this and it works for 2 redis instances of my 8 (same thing on my failover host). Only 2 show up in NewRelic. So, it definitely works for 2 at a time per host, just not sure why the other 6 don't show in NewRelic. Any ideas? I've verified they are all running (all actively used production instances)

from nri-redis.

nanobeep avatar nanobeep commented on September 3, 2024

If it helps, this is my config (no sensitive details). I'm using jinja2 to loop and generate the config, so all the blocks will be identical except for the name and port:

integration_name: com.newrelic.redis

{% for redis_instance in redis_instances_production -%}
instances:
  - name: redis-metrics-{{ redis_instance.name }}
    command: metrics
    arguments:
      hostname: localhost
      port: {{ redis_instance.port }}
      keys:
      password:
      config_inventory: true
      keys_limit: 30

      # New users should leave this property as `true`, to identify the
      # monitored entities as `remote`. Setting this property to `false` (the
      # default value) is deprecated and will be removed soon, disallowing
      # entities that are identified as `local`.
      # Please check the documentation to get more information about local
      # versus remote entities:
      # https://github.com/newrelic/infra-integrations-sdk/blob/master/docs/entity-definition.md
      remote_monitoring: true

      # New users should leave this property as `true`, to uniquely identify the monitored entities when using
      # Unix sockets.
      use_unix_socket: true

  - name: redis-inventory-{{ redis_instance.name }}
    command: inventory
    arguments:
      hostname: localhost
      port: {{ redis_instance.port }}
      password:

      # New users should leave this property as `true`, to identify the
      # monitored entities as `remote`. Setting this property to `false` (the
      # default value) is deprecated and will be removed soon, disallowing
      # entities that are identified as `local`.
      # Please check the documentation to get more information about local
      # versus remote entities:
      # https://github.com/newrelic/infra-integrations-sdk/blob/master/docs/entity-definition.md
      remote_monitoring: true

      # New users should leave this property as `true`, to uniquely identify the monitored entities when using
      # Unix sockets.
      use_unix_socket: true
{% endfor %}

And here's the data structure for the loop:

redis_instances_production:
  - { name: 'platform-production-persist',        port: '6379' }
  - { name: 'platform-production-cache',          port: '6380' }
  - { name: 'platform-production-jobs',           port: '6381' }
  - { name: 'platform-production-performances-1', port: '6382' }
  - { name: 'platform-production-performances-2', port: '6383' }
  - { name: 'platform-production-performances-3', port: '6384' }
  - { name: 'platform-production-performances-4', port: '6385' }
  - { name: 'platform-perf-calc',                 port: '6386' }`

from nri-redis.

carlossscastro avatar carlossscastro commented on September 3, 2024

@nanobeep

Thanks for the feedback.
The config file is apparently ok but to dig a bit further on this we would need to have logs from the infrastructure agent running this integration in order to check where the failure might be.

Would you mind opening a ticket on https://support.newrelic.com. Our support team will ask you for logs but if you want to get ahead please send us the logs straight away. You can generate verbose logs by following the steps here:
https://docs.newrelic.com/docs/infrastructure/new-relic-infrastructure/troubleshooting/generate-logs-troubleshooting-infrastructure
3/4 minutes of logs will be enough.

Please also link this issue (#105) to add some context to the ticket.

Thanks very much

from nri-redis.

nanobeep avatar nanobeep commented on September 3, 2024

@carlossscastro Thanks - I've done as requested, here is the link: https://discuss.newrelic.com/t/support-for-multiple-redis-instances-not-working/157279

from nri-redis.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.