The plugin supports both HTTP and HTTPS.
The plugin uses dynaTrace REST Interface to query the following metrics:
Total agents not licensed
The plugin can filter or dynamically split on the following items:
For Dynatrace 6.5
For Dynatrace 6.3 and lower
System Health - License Count.dashboard.xml
Shaun Gautz (firstname.lastname@example.org)
Michael Beemer (email@example.com)
2016-12-02 Rebuilt the entire plugin for version 6.5
2016-06-16 Added measures for Node.JS agents
2016-06-07 Added the new Database agents from version 6.3
2016-06-03 Fixed an issue with CICS agent counts. Added web server measures.
2015-08-24 Created one plugin for versions <6.1 and 6.2. Added logic for "license exhausted" agents
2014-04-21 Added support for multiple filters, dynamic splits for System Profile/Agent Group,
and enhanced 'finer' level of logging
2014-01-28 Added support for HTTPS
2014-01-10 Dynamic splits and added agent types
2013-03-28 Split by System Profile and bug fixes 2013-02-13 Initial Release
This plugin is now based off of the '/rest/management/agents' REST API call. It no longer requires the Agents Overview dashboard. The new version of the plugin may work for previous versions.
Directions for 6.3 and older - This plugin requires that you first save the Agent Overview as a dashboard on the dynaTrace server. Make sure the maximum number of lines per table is larger than the number of agents, or the xml will be cutoff. Once the dashboard is saved, use a web browser to navigate to the http://server_name:8020, by default, or https://server_name:8021, if you are using HTTPS. Once at the home page, navigate to View Dashboard & Reports -> Agent Overview Dashboard (or whatever you named it) -> Details -> Report Type is XML -> Create Report. Use this URL on the Monitor tab. Starting in version 1.6, the Monitor screen has the URL split out. One box is for protocol, one is for port, and another is for the rest of the URL (/rest/...).
Directions for 6.5 - Once you have the plugin installed and created, then you can create a new monitor, as shown in the following screenshots.
The plugin now uses the host you selected for the monitor. It uses the Address block of that host. You may need to change this, if it doesn't work by default.
Use the following Monitor names to work with the dashboard:
You may add a filter, if you only want to see one System Profile or Collector. Starting in version 1.7, you can use multiple filters separated by a semicolon, such as "easyTravel;Second Profile;ThirdProfile".
The following screenshot shows a dashboard displaying some of the measures queried by the monitor:
The new 2.0.1 update is completely rewritten to work with version 6.5. It no longer requires the Agents Overview dashlet.
The new 1.7.8 update adds a measure for Node.JS agents
The new 1.7.7 update adds a measure for the new Database agents from version 6.3.
The new 1.7.6 update fixes an issue with identifying CICS agent counts. It also adds additional measures for IIS/Apache web server agents.
The new 1.7.5 update includes support for version 6.2. It also adds "License exhausted" agents to the measure for Unlicensed agents.
The new 1.7.0 update adds support for multiple filters, separated by a semicolon. It adds splitting by System Profile/Agent Group and adds enhanced 'finer' level of logging.
The new 1.6.0 update adds support for a dT server running over HTTPS.
The new 1.5.0 update adds the option to split dynamically on system profile, collector name, agent version, and host name. You can still filter for one item, or you can leave the filter blank and the monitor will pull all of the items that have a license count. Several agents were also added to the available metrics.
The new 1.1.0 update adds an option to split by a system profile name. If you are going to use this feature, it might be a good idea to name the license count measure based on the system profile to avoid confusion. Also, keep in mind that the system profile name must match exactly or the count will be zero. Special thanks to Rajesh for the feedback on this.
Feel free to contribute any changes on Github
Thank you Michael. This plugin has been helpful in tracking our license counts.
Thanks for the feedback Razib! I'm in the process of testing out an update that should resolve a few issues that have come up. I'll update this post when I'm done.
Can you split it by Profile Name.
The use case I have come across many times with my customers is they would like to see which profile (which are organized by App Owners) are consuming the licenses.
This looks good.
Great idea Rajesh! I just finished writing and testing the code. Look for an update to the post later today.
I look forward to the update!
We are getting incorrect counts back from this plug-in: it is showing 87 Java licenses, but we actually have 294 Java licenses being consumed. Calculated manually by taking the Agents XML and putting it into Excel and filtering on Java and whether the capture flag is true or false.
Found one issue - dashlet report was limiting results to only 100 records. Increased the filter to 10000 and re-generated the report definition. I would be great to get a more accurate count for .NET; we do a lot with IIS and we have significant license consumption on a single server.
I would be happy to look at my code to see what needs to be fixed. I have logic in there to account for .NET applications on the same server but I wasn't able to test it with a large number of agents. Perhaps you could send the XML you're generating to firstname.lastname@example.org?
Also, good catch on the dashlet reporting only 100 records by default. I need to update the documentation for this plugin to remind everyone of that.
Thanks for the HTTPS support!
One error occured on one of our servers: the plugin stops executing with the following message: Type information for plugin key missing: com.dynatrace.licence.count. We used the Version 1.1.0
Are there any solutions?
Can you look in the log and see if there are any messages there? Also, have you considered upgrading to the most recent version of the plugin?
Did you notice this after an a major change or upgrade on the dynaTrace server? It might be worth upgrading like Shaun suggested. He did a great job extending the plugin to add some really useful functionality and additional metrics.
The log has 0 KB and the log level was set to Finer.
As you commended i updated the plugin to the most recent version and the error is gone.
Do i interpret it correctly that the plungin runs on the chosen collector and opens a http/s connection from there to the DT Server ?
Yes, that is correct. The plugin runs on the collector.
I configured with new plugin com.dynatrace.license.count_1.6.0.jar on dynaTrace server. I did all the configurations as exactly mentioned in the description.I used one of the system profile to configure monitor “Configure Licenses Count” but not sure I am not getting any result in chart. Monitor also shows error related to plugin. Could you please look into this if you get a chance. The error I am getting as "error during execution of plug in occured.
Thanks, Santosh Lamkhade
Please email me at (email@example.com) with screenshots of all your configuration screens.
The resolution on this was to properly configure the URL, host, and filter sections.
I just installed/configured this plugin but I'm getting incorrect numbers for one system profile. I changed the max number of records allowed but still no luck. We have 7 different profiles for the server I installed the plugin on and 6 of them are correct. The incorrect profile is showing me 141 licensed agents and 33 unlicensed agents. The total is the correct number of agents but when I look at the Agents Overview chart I saved, I see 174 agents mapped to the profile and they all show "license ok."
If you could save the agent overview dashboard as XML and email it to myself and Shaun, I'm sure we can help you out.
The resolution to this is that the Agent Group was set to not Capture Events. The agents were still pulling a license though. With the 1.7 update, I fixed the issue with those agents not being counted.
I have a feeling I'm on my own here, but it'd be great to also have the option to split licenses by Agent Group within a given System Profile. Any chance of this happening?
I can look into the possibility of doing this. Please email me an xml of your agent overview. (shaun.gautz@Compuware.com)
I added this functionality in the 1.7 update.
Does it requires a server/collector restart ? Thanks
No, it does not. You will be able to create the monitor without any restarts.
There is no restart required.
We have few system profiles where we set to not Capture Events and we know the agents were still pulling a license though.
Do we have such feature with 1.7 where we get licenses count only for capture events on and how we should get those results ?
Even though an agent group is set to have Capture Events disabled, it will still consume a license. Starting with version 1.7, I have started counting those agents. A license count for only agents with Capture Events on would not be accurate, since they are still consuming a license.
Does this version of the plugin support UEM license count?
UEM license count is not supported. It is not easily accessible, like the regular agents are.
There is no need for the plugin to track that information because dT handles that OOTB. Take a look under the "dynaTrace Self-Monitoring" system profile and you should be able to find a number of UEM related measures. You can even create a dashboard that has a single dashlet that points to this system profile. That way, you can keep all the license related information together. Please let me know if that isn't what you're looking for and we can try and come up with a way to get it for you.
Will have a look
I am looking at a way to report on the amount of license we have and the amount used for uem for my management without going into the tool under dynaTrace serve license
Yeah, what you're looking for is definitely possible. Try add one of the following measures to a dashboard and see if that works for you.
I don't think this is currently possible with the existing agent overview, but we would love to be able to split Java for Mainframe (not CICS) agents apart from Distrubted Java agents. Currently all Java agents are listed the same.
Can you email me the xml of your Agent Overview? I'll see what I can do.
We configured with this licenses count plug-in and it is helped us to keep track of licenses for our environment. The question is now does it calculated how many concurrently active agents do we have ? How this is this possible using this plug-in
The plugin tracks the current number of agents connected. It does not track the number of licenses available. The plugin tracks the connected agents by searching through an xml copy of the agent overview dashlet. That dashlet lists all the agents currently connected.
So, we need to generate XML Report after each change in the agents to pick up data by monitor?
If I'm understanding your question correctly, I believe you are mistaken. The XML report is only generated one time so you can get the URL for the plugin/monitor (But the dashboard must always be there!). The Agents Overview dashboard that you save off is no different from opening the Agents Overview dashlet. This dashlet automatically updates as agents get connected, disconnected, updated, restarted, etc. So every time the monitor runs it will grab the correct/most up to date information without any manual effort from your end.
Tom is right here. You only need to run the XML report once to get the URL. As long as you don't change/delete the dashboard you are collecting from, then it will always grab the most recent connected agents.
It doesn't work like this. We've updated our license and the monitor collected incorrect data until I've created xml report again or saved dashboard (not sure what did work).
Also I've compared count of agents in "Settings->dynaTrace Server->Collectors->Connected agents" and count in Monitor - they don't match. Should they match?
My guess is it's your data aggregation. When you create a chart it will likely be charting average by default. Change this to "last" aggregation and it will always show the results from the last collection.
The reason why it would work if you created a new dashboard would be because it was creating a new measure. The average from the one execution would be the correct number. Then when you ran it again, with a different number of agents connected, the average would show you "incorrect" results (but really just an average).
Let me know if this helps!
The number of Connected Agents may not match up to the number you are seeing in the plugin. You could have agents that are connected, but not licensed. Also follow Tom's advice here. If you want the most recent value, then you should use Last aggregation. You can reach out to me directly at firstname.lastname@example.org if you have any more questions or need help understanding the plugin.
It was hard to not notice that average doesn't work at all! Cause there were a lot of fractional numbers on dashboard. I've used "Last" and "Maximum" aggregation. I'm comparing with data that monitor gathered: system profile->monitors->details.
Just wanted to say thank you guys for your work on the plugin. We've been able to use it to track (by hour) how many agents were checked into an individual server for tracking and billing consumption with one of my customer's customers across many Dynatrace servers. The AgentUsage log appears to work for this only up to the total checked into the server, but this gets us the level of granularity their financial/billing department needs. Thank you!
That is great to hear Andy. I'm glad your customer is using it. Let me know if you have any suggestions/changes to make to the plugin to improve it.
Previously I added comments related to get the licenses count when agent group is set to Capture Events disabled. We have few system profiles where agent group set not to Capture Events. I agreethat the agents were still pulling a license though.
Your comment is as given below on that :--
Could you please let us know what is the feasibility of adding that feature again to provide count for only agents with Capture Events on.
There is not a feature currently in the plugin that will separate the Capture Events enabled/disabled for the agent count. This would not be an easy change. I can look at creating one measure, which would be the number of licensed agents that has Capture Events turned on. Let me look into how difficult this will be, and I will get back to you. I also want to avoid creating too many one-off measures. I don't want to make the plugin any more complicated than it needs to be.
This is great.I wish I had used this previously for my license presentation.
I would like to measure the number of agents that are connected(as in the app is instrumented), but are not consuming a license; there are none left to consume(i.e. too many 'Java' agents connected;license exhausted) This would be useful to guage for the Testing Profiles when distributing licenses on-demand, while keeping apps instrumented.
Is this possible?
There is a measure called 'Unlicensed Agents'. This will give you what you need. Keep in mind that you could be unlicensed for reasons other than license exhausted, such as not matching a system profile.
I am looking for something like this as well to count too many 'Java' agents connected;license exhausted. I have found that the Unlicensed Agents measure is not giving me this value as 'Capture' is set to TRUE on these agents. I am running DT AM 6.0.
Update: Version 1.7.5 Counts these agents as 'Unlicensed Agents'
Please email me an xml of your agent overview and I will take a look at it.
Thanks for making this! This is invaluable to the project managers looking over the Dynatrace implementation at one of my accounts.
I am seeing in the notes that it says this can be split by system profile/Agent groups. I am not seeing the option to actually split my results by agent group. I would like to be able to show how many licenses a given agent group is using. similar to your default board that shows count per collector but I can't seem to get this split for agent groups.
EDIT: Actually It appears as though I can split by Agent Group in my production environment but have no option to split in dev. Could this be that the dashboard xml for the agents is configured incorrectly?
Assuming you are on version 1.7, then you would need to select the split by System Profile. You will then see a checkbox for if you also want to split by Agent Group. That will give you a split value that looks something like this, System Profile/Agent Group.
Sorry just updated my previous post:
Actually It appears as though I can split by Agent Group in my production environment but have no option to split in dev. Could this be that the dashboard xml for the agents is configured incorrectly?
EDIT: I am on 1.7
You are sure the dev environment is on 1.7?
Yes, I installed them both from the same plugin. I know the username info isn't filled in on this screenshot but even when filled in correctly I do not get the agent portion for splitting.
Select System Profile in the dropdown. It will then give you a checkbox for Agent Group.
Im sorry, I set them up at different times and completely glazed over that portion on our dev side. sorry to waste your time, I was looking for it to be named differently.
That's ok. I'm glad you have it working now. Let me know if you have any more questions about the plugin or have any requests to improve it.
Weird issue I am having, and this may be something we need to change on our end. Recently my license monitor has not been running. I noticed that if I change the username that it logs into the rest services it works once then not again. I can change it back and forth between the same two usernames but each only works once, after that they just go to "?".
Do you see anything out of the ordinary in the logs? I can't think of any obvious reason why this would be happening to you. Are you able to successfully perform that REST call multiple times from your browser?
yes, I can perform it without any issue any number of times from my browser. I did not see anything that specifically stood out from our logs either. I may just try to recreate the monitors since it was only a few of them.
I recreated the monitor and that one has no issue running multiple times so i must have broken it somehow.
OK, good to hear.
I installed the plugin, and it works fine without errors, but I am only getting the Licensed Agents count and all other (java, dotnet, webserver, unlicensed) return 0.
Also, the splitting by collector does not return any value.
Reach out to me directly and I'll look at your setup.
I am getting results from the plugin that do not make sense. My Dynatrace server self-monitoring reports 756 licensed agents, about half of which are Java and half of which are web server agents. However, the plugin reports 63 licensed agents total. I know that self-monitoring is double counting the web server agents, but I believe I am collecting data from way more than 63 agents total. I am on DT 6.0 and using the latest version of the plugin (1.7.5). Any suggestions?
Thanks in advance
Does the dashboard you are calling with the plugin have the 'maximum number of lines per table' set high enough? Dashboard Properties > Reporting > Details.
It sounds like Markie is right. By default, it only shows the top 100 rows in a dashboard. Check that setting and see if that fixes it. If not, feel free to send me the xml of your dashboard and screenshots of the plugin configuration.
Ahhhh, you are quite right, that was my problem Thank you for the quick help Markie and Shaun.
Can someone summarize the steps needed to create this Dashboard? I tried following the steps but seems I'm missing something. I'm able to reach the step to create XML file but from there I'm not able to connect the dots.
Hi. I've not used this plugin myself - but - once you have installed the plugin and configured it as a monitor in one of your System Profiles you should be able to create a new Dashboard in your Dynatrace Client. Add a chart to the dashboard and then pick the measures that this monitor plugin creates. There is no need to create any XML. Just create a regular dynatrace dashboard, add your charts and on each chart you simply put the measures that this plugin provides. If you want to learn more about dashboards and measures you might want to check out some of my youtube tutorials on dashboards - http://bit.ly/dttutorials - or check out our online educational material on http://apmu.dynatrace.com
When you reach the step to create the XML report from the Dynatrace (REST) Web interface be sure you copy the URL from the web browser used to create the report, this is the piece you need to continue, not the actual XML.
Return to Edit System Profile in the Dynartace Client and go to the Monitors section. Here create a new monitor of type License Count and you will see a section to fill in your Dynatrace Server Name (hosts section), protocol, port number and the remainder of the URL you copied from your web browser.
Once you fill in this data and set up the schedule for the monitor to run on (second tab in the monitor configurations) you will start to see measurement data available that you can place into charts in your custom dashboards.
Hope this helps
Thanks Markie Struble, Andreas Grabner for the suggestions.
After adding the XML generated url I still don't see any metrics generated for License count? I added the following Monitors
Message Broker Agents
Web server Agents
License Visit Count
Please check the status of the Monitor you set up in your System Profile. If there were any issues running the monitor they will be listed here. If the monitor is successful it will display the most recent values captured by the monitor. Also note that you do not need to create a Monitor for each Agent Type you can capture them all (and get better performance) by simply checking the checkboxes for all measures in the Measures section of a single Monitor.
Hi Markie, Last Run Status is failed with no details on reasons.
A couple things to check:
Following that check the log file 'com.dynatrace.license.count.monitor.0.0.log' located on your Dynatrace Collector. You can find this log file via the System Information Dashlet in your Dynatrace Client.
Hello, do you think it will be possible to add IIS hosts and Apache agents measures? Our Webserver licencing is the sum of those 2 which is tottaly different fromt the number of web server agents.
Since this is a one-off scenario, I'll have to look into it before I know whether or not it can be done. Can you send me the xml output from your Agents Overview? I'll have to see if it's possible.
Do you have an update on this?
I will try to have an update for you by the end of the week. Which version of the product are you on?
Soon on 6.3.3
Now on 6.2.
so I think best is to do this for 6.3.3?
Yes, 6.3.3 is fine but is the agent overview xml output the same in 6.3 than in 6.2? I guess yes but ...
I upgraded the plugin from version 1.7.5 to 1.7.7 and now the "Total Agent Count (last 24 hrs)" and "Total Agent Count Per Collector (last 24 hrs)" dashlets are not showing historical data.
I don't see any errors in the plugin log. Is this a known issue?
I have not seen that behavior before. I will have to investigate it further. Are you collecting current data? If you go back to 1.7.5, do you see historical data?
I just reverted this morning and so far I still see data since I reverted to 1.7.5. I will keep watching to make sure it continues to work.
Thanks for the update Shaun