This extension works only with the standalone machine agent.
Windows Azure is an Internet-scale computing and services platform hosted in Microsoft data centers. It includes a number of features with corresponding developer services which can be used individually or together.
Please place the extension in the "monitors" directory of your Machine Agent installation directory. Do not place the extension in the "extensions" directory of your Machine Agent installation directory.
Please follow section 2.1 of the Document to set up metric prefix.
#Metric prefix used when SIM is enabled for your machine agent
#metricPrefix: "Custom Metrics|Azure Service Bus|"
#This will publish metrics to specific tier
#Instructions on how to retrieve the Component ID can be found in the Metric Prefix section of https://community.appdynamics.com/t5/Knowledge-Base/How-do-I-troubleshoot-missing-custom-metrics-or-extensions/ta-p/28695
metricPrefix: Server|Component:<COMPONENT_ID>|Custom Metrics|Azure Service Bus|
Following are the details on how to configure Azure server
servers:
- displayName: "Server 1"
namespace: "CloudCollectorNS"
resourceGroup: "cloud-collectors-rg"
tenantId: ""
subscriptionId: ""
clientId: ""
clientSecret: ""
# Provide sasKeyName,sasKey or encryptedSasKeyName,encryptedSasKey
#encryptedTenantId: ""
#encryptedSubscriptionId: ""
#encryptedClientId:
#encryptedClientSecret:
# Provide either include or exclude configuration.
# If include and exclude are provided, will consider only include.
# If include and exclude are not provided, will fetch everything.
# Define queues to include. supports regex
includeQueues: [".*"]
# Define queues to exclude. supports regex
excludeQueues: []
# Define topics to include. supports regex
includeTopics: [".*"]
# Define topics to exclude. supports regex
excludeTopics: []
Multiple servers can be configured like below
servers:
- displayName: "Server 1"
namespace: "CloudCollectorNS-1"
resourceGroup: "cloud-collectors-rg-1"
tenantId: ""
subscriptionId: ""
clientId: ""
clientSecret: ""
# Provide sasKeyName,sasKey or encryptedSasKeyName,encryptedSasKey
#encryptedTenantId: ""
#encryptedSubscriptionId: ""
#encryptedClientId:
#encryptedClientSecret:
# Provide either include or exclude configuration.
# If include and exclude are provided, will consider only include.
# If include and exclude are not provided, will fetch everything.
# Define queues to include. supports regex
includeQueues: [".*"]
# Define queues to exclude. supports regex
excludeQueues: []
# Define topics to include. supports regex
includeTopics: [".*"]
# Define topics to exclude. supports regex
excludeTopics: []
- displayName: "Server 2"
namespace: "CloudCollectorNS-2"
resourceGroup: "cloud-collectors-rg-2"
tenantId: ""
subscriptionId: ""
clientId: ""
clientSecret: ""
# Provide sasKeyName,sasKey or encryptedSasKeyName,encryptedSasKey
#encryptedTenantId: ""
#encryptedSubscriptionId: ""
#encryptedClientId:
#encryptedClientSecret:
# Provide either include or exclude configuration.
# If include and exclude are provided, will consider only include.
# If include and exclude are not provided, will fetch everything.
# Define queues to include. supports regex
includeQueues: [".*"]
# Define queues to exclude. supports regex
excludeQueues: []
# Define topics to include. supports regex
includeTopics: [".*"]
# Define topics to exclude. supports regex
excludeTopics: []
Always include: (one thread per server + 2 for queue and topic processor) + 1 (to run main task).
For example, if you have 2 Azure servers configured, then number of threads required are 7 ((1 + 2) for first server + (1 + 2) for second server + 1 thread to run main task)
The metrics shown in the file are customizable. You can choose to modify metrics or remove an entire section (queueMetrics, topicMetrics etc) and they won't be reported. You can also add properties to individual metrics. The following properties can be added:
More details around this can be found here
queueMetrics:
- name: "ActiveMessages"
alias: "Active Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "false"
- name: "DeadletteredMessages"
alias: "DeadLetter Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "false"
- name: "ScheduledMessages"
alias: "Scheduled Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "false"
- name: "Messages"
alias: "Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "false"
- name: "Size"
alias: "Size In Bytes"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "false"
- name: "IncomingRequests"
alias: "Incoming Requests"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "SuccessfulRequests"
alias: "Successful Requests"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "ServerErrors"
alias: "Server Errors"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "UserErrors"
alias: "User Errors"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "ThrottledRequests"
alias: "Throttled Requests"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "TransferMessageCount"
alias: "Transfer Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "true"
- name: "TransferDeadLetterMessageCount"
alias: "Transfer DeadLetter Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "true"
- name: "MaxDeliveryCount"
alias: "Max Delivery Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "true"
- name: "MaxSizeInMegabytes"
alias: "Max Size In Megabytes"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "true"
- name: "Status"
alias: "Status"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromQueue: "true"
convert:
Active: "1"
Disabled: "2"
Restoring: "3"
SendDisabled: "4"
ReceiveDisabled: "5"
Creating: "6"
Deleting: "7"
Renaming: "8"
Unknown: "9"
topicMetrics:
- name: "ActiveMessages"
alias: "Active Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "DeadletteredMessages"
alias: "DeadLetter Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "ScheduledMessages"
alias: "Scheduled Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "Size"
alias: "Size In Bytes"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "IncomingRequests"
alias: "Incoming Requests"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "SuccessfulRequests"
alias: "Successful Requests"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "ServerErrors"
alias: "Server Errors"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "UserErrors"
alias: "User Errors"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "ThrottledRequests"
alias: "Throttled Requests"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "false"
- name: "TransferMessageCount"
alias: "Transfer Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "true"
- name: "TransferDeadLetterMessageCount"
alias: "Transfer DeadLetter Message Count"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "true"
- name: "MaxSizeInMegabytes"
alias: "Max Size In Megabytes"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "true"
- name: "Status"
alias: "Status"
multiplier: "1"
aggregationType: "AVERAGE"
timeRollUpType: "AVERAGE"
clusterRollUpType: "INDIVIDUAL"
delta: "false"
fromTopic: "true"
convert:
Active: "1"
Disabled: "2"
Restoring: "3"
SendDisabled: "4"
ReceiveDisabled: "5"
Creating: "6"
Deleting: "7"
Renaming: "8"
Unknown: "9"
Please copy all the contents of the config.yml file and go here . On reaching the website, paste the contents and press the “Validate YAML” button.
The following metrics are reported.
Metrics |
---|
Azure Service Bus/{ServerName}/Queues/{QueueName}/Active Message Count |
Azure Service Bus/{ServerName}/Queues/{QueueName}/DeadLetter Message Count |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Scheduled Message Count |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Transfer Message Count |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Transfer DeadLetter Message Count |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Max Delivery Count |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Max Size In Megabytes |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Message Count |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Size In Bytes |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Status |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Incoming Requests |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Successful Requests |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Server Errors |
Azure Service Bus/{ServerName}/Queues/{QueueName}/User Errors |
Azure Service Bus/{ServerName}/Queues/{QueueName}/Throttled Requests |
Metrics |
---|
Azure Service Bus/{ServerName}/Topics/{TopicName}/Active Message Count |
Azure Service Bus/{ServerName}/Topics/{TopicName}/DeadLetter Message Count |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Scheduled Message Count |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Transfer Message Count |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Transfer DeadLetter Message Count |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Max Size In Megabytes |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Size In Bytes |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Status |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Incoming Requests |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Successful Requests |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Server Errors |
Azure Service Bus/{ServerName}/Topics/{TopicName}/User Errors |
Azure Service Bus/{ServerName}/Topics/{TopicName}/Throttled Requests |
Please visit this page to get detailed instructions on password encryption. The steps in this document will guide you through the whole process.
Workbench is an inbuilt feature provided with each extension in order to assist you to fine tune the extension setup before you actually deploy it on the controller. Please review the following document on How to use the Extensions WorkBench
Please follow the steps listed in this troubleshooting-document in order to troubleshoot your issue. These are a set of common issues that customers might have faced during the installation of the extension.
Always feel free to fork and contribute any changes directly here on GitHub.
Name | Version |
---|---|
Extension Version | 4.0.0 |
Last Update | 12 July 2023 |
ChangeList | ChangeLog |
Note: While extensions are maintained and supported by customers under the open-source licensing model, they interact with agents and Controllers that are subject to AppDynamics’ maintenance and support policy. Some extensions have been tested with AppDynamics 4.5.13+ artifacts, but you are strongly recommended against using versions that are no longer supported.
Owner
Contributors
Categories
Products
AppDynamicsProgramming Languages
JavaLicense
Code Exchange Community
Get help, share code, and collaborate with other developers in the Code Exchange community.View Community