MarkLogic is an operational and transactional Enterprise NoSQL database that is designed to integrate, store, manage, and search data. This extension fetches performance metrics from MarkLogic and reports to AppDynamics Controller.
Note: This extension requires a Java Machine agent.
Before the extension is installed, the prerequisites mentioned here need to be met. Please do not proceed with the extension installation if the specified prerequisites are not met.
Note : Please make sure to not use tab (\t) while editing yaml files. You may want to validate the yaml file using a yaml validator
<MachineAgent_Dir>/monitors/The metricPrefix of the extension has to be configured as specified here. Please make sure that the right metricPrefix is chosen based on your machine agent deployment, otherwise this could lead to metrics not being visible in the controller.
Configure the MarkLogic instances by editing the config.yml file in
<MACHINE_AGENT_HOME>/monitors/MarkLogicMonitor/by specifying the displayName, uri, username and password
#This will create it in specific Tier/Component. Make sure to replace <COMPONENT_ID> with the appropriate one #from your environment. To find the <COMPONENT_ID> in your environment, please follow the screenshot in #https://docs.appdynamics.com/display/PRO42/Build+a+Monitoring+Extension+Using+Java metricPrefix: Server|Component:<COMPONENT_ID>|Custom Metrics|MarkLogic servers: - displayName: Server1 uri: "http://localhost:8002" username: "admin" password: "password123" #passwordEncrypted: "" #encryptionKey: "" connection: socketTimeout: 2000 connectTimeout: 2000 # number of concurrent tasks. # This doesn't need to be changed unless many instances are configured numberOfThreads: 5
Configure the metrics you are interested in by commenting/uncommenting the metrics in metrics.xml file in
Workbench is a feature that lets you preview the metrics before registering it with the controller. This is useful if you want to fine tune the configurations. Workbench is embedded into the extension jar. To use the workbench
java -jar /path/to/MachineAgent/monitors/MarkLogicMonitor/marklogic-monitoring-extension.jarThis starts an http server at
http://host:9090/. This can be accessed from the browser.
curl http://localhost:9090/api/stats#Get the registered metrics
This extension uses REST API to fetch metrics from MarkLogic server. Please refer to this screenshot for a view of metrics. Some of the metrics are listed below:
Note : By default, a Machine agent or a AppServer agent can send a fixed number of metrics to the controller. To change this limit, please follow the instructions mentioned here. For eg.
java -Dappdynamics.agent.maxMetrics=2500 -jar machineagent.jar
To avoid setting the clear text password in the config.yml, please follow the process to encrypt the password and set the passwordEncrypted and the encryptionKey in the config.yml
java -cp "appd-exts-commons-1.1.2.jar" com.appdynamics.extensions.crypto.Encryptor encryptionKey password
config.ymlinstead of plain text password
Please look at the troubleshooting document and make sure that everything is followed correctly.
Always feel free to fork and contribute any changes directly via GitHub.
For any questions or feature request, please contact AppDynamics Support.