Redirecting diagnostics information to a third party tool

0 Likes
over 5 years ago
If you are using a third party application to monitor your primary servers' health in the zone, and if you want the information, that is being collected as part of diagnostics tab (in ZCC) available to your application, then you are in the right place.

The class CustomHealthMetricsProcessor can be used as a template to do so. The diagnostics code maintains a datastructure that has all the collected information. The attached class invokes all the methods in that datastructure and has information about what each method provides. You can modify this class to suit your needs and include in your server.

Requirements:

  • Java compiler (Java version should be same as the one that is being used by the ZENworks server)

  • Knowledge in Java to write code that sends information to your third party application


Steps:

  1. Download the CustomHealthMetricsProcessor and rename the .txt extension to .java

  • To compile the code, you need to have diagnosticsui.jar file in the classpath. This jar can be found in $ZENWORKS_HOME/share/tomcat/webapps/zenworks/WEB-INF/lib/ folder.
    ex:
    javac -cp $ZENWORKS_HOME/share/tomcat/webapps/zenworks/WEB-INF/lib/diagnosticsui.jar com/novell/zenworks/diagnostics/CustomHealthMetricsProcessor.java

  • Create a jar file out of this CustomHealthMetricsProcessor class and copy that to $ZENWORKS_HOME/share/tomcat/webapps/zenworks/WEB-INF/lib/

  • NOTE: If you are using a linux server, ensure that the ownership of the new jar file is zenworks:zenworks. Or, you can run permission.sh in terminal that will update all the required permissions.

  • Then, you have to provide the fully qualified class name in diagnostics.conf located in $ZENWORKS_HOME/share/tomcat/webapps/zenworks/WEB-INF/conf
    - Attribute name: zenworks.diag.health.processor
    For ex:
    zenworks.diag.health.processor=com.novell.zenworks.diagnostics.CustomHealthMetricsProcessor


Assumption:

$ZENWORKS_HOME is %ZENWORKS_HOME% on Windows and /opt/novell/zenworks on Linux.


This will require the ZENServer service to be restarted.

Recommendations/Suggestions:

  • If you want, you can rename the CustomHealthMetricsProcessor or move it to another package. If you are doing so, ensure to update the new class name and the package in diagnostics.conf file.

  • Ensure to test your code changes on a test server and only if you are satisfied port it to production server.

  • This class will only collect the diagnostics information on the server where this code is deployed. So, if you want to get the information about all the servers, then all the servers have to be patched with your change.

  • Watch out for the change logs for the upcoming releases. We may be enhancing the diagnostics (May be to add more attributes to monitor. As and when there is a change, you can modify your code to include the newly added attribute.)

  • When you do a ZDC verification, it might complain about these differences. So, be prepared to ignore them.


If you find something is missing or if you have any feedback on this article, feel free to leave it as a comment.

Labels:

How To-Best Practice
Comment List
Anonymous
Related Discussions
Recommended