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.
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
Configure the MarkLogic instances by editing the config.yml file in
<MACHINE_AGENT_HOME>/monitors/MarkLogicMonitor/by specifying the Component_ID, 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
<MachineAgent>/conf/logging/log4j.xmland update the level of the appender
Always feel free to fork and contribute any changes directly via GitHub.
For any questions or feature request, please contact AppDynamics Support.