cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Custom plugin configuration per process group

chris_halverson
Newcomer

For our Dynatrace Managed system I am trying to write a custom plugin that will inspect the JSON of a REST call to determine if the service is acting as expected. I have the plugin working, but can only seem to get it associated with one process group.

I have the configUI part setup and passing in information to the plugin, but I cannot seem to configure it multiple times. The server in question is running multiple process groups that I would like to have this run against, so I added a configUI section to put the process group.

I was hoping that I could configure this similar to some other plugins where you can do it on a per host basis (such as the postgres one). However, I need this on a per process group level. I have "activation" set to "SnapshotEntry" and I do see that multiple instances get run, but I can't seem to configure it multiple times. Is this possible?

If this isn't possible, I'll just have to do multiple ones per server and per process group. Not the end of the world, but I did this one generic enough that if I can just do multiple configurations it should just work.

Thanks for any insight.

 

2 REPLIES 2

Bartosz_Banache
Dynatracer
Dynatracer

Hi Chris,

It's currently impossible to configure multiple instances on one host. In other words, per-host is as detailed as you can get.

However, the configuration options are flexible enough to allow configuring multiple groups through one plugin. If it's just a few, you can simply add multiple configuration fields, and then make plugin code run multiple times, each instance picking just part of that one big config.

It'd be great if you could share what specific technology are you trying to monitor that way; the upcoming remote plugins functionality will allow you to have as many configurations as you want, but might not really fit your scenario if you need to monitor local PGs.

Regards,
Bartek


chris_halverson
Newcomer

Thank you for your answer. I could give it a shot by doing something like 4 or 5 configuration blocks to keep it generic.

The exact processes are Jetty processes (via the Dropwizard Java framework). DT can instrument those completely already, so that's not the problem. The problem we are trying to solve is that the service could be "up", however it may not be able to connect to the database (or to an LDAP server, or to whatever), or it can connect but is in a weird state. Dropwizard has a "healthcheck" URL that sends back JSON on the health of different components within your app. I just want to execute that REST endpoint and parse back the results and alert if the database connection is down (for example).

In the one I was trying I have 5 different Dropwizard (ie. Jetty) services that I would like to do this for. The JSON is not quite the same in the sense that the name of service is different (and configurable by the developer), so in one it's "database", in another it's "ldapconnection", another is "hibernate", etc.

This particular situation is just one of a couple different scenarios where we would like to execute a REST endpoint and parse the JSON to determine some status. I'm not sure if this belongs in a more traditional monitoring system, but we'd like to start having a lot of this type of thing happen in DT which is why we're looking at doing it with the plugin.


Featured Posts