Releases

Background

This ZenPack provides support for monitoring Microsoft Azure Services.
Monitoring for the following Azure Subscription entities is provided using Windows Azure SDK for Python.

Note: Please restart zenoss after installing this ZenPack to be able to add a new Azure Subscription. When creating Disk components not related to any Instance or Cloud component, they will be displayed in the Blobs table.
Note that the commercial zenoss version requires ZenPacks.zenoss.Impact, otherwise the DynamicServices panel will be missing.

Gallery

Features

The features added by this ZenPack can be summarized as follows. They are each
detailed further below.

Discovery of Azure Subscription entities.

Monitoring of Storage Service and Site components.

Event management and monitoring for certain Azure states.

Optional service impact with addition of Zenoss Service Dynamics product.

Discovery

The following entities will be automatically discovered through an account
name, subscription ID and certificate file path you provide. The attributes, tags and
collections will be updated on Zenoss' normal remodeling interval which
defaults to every 12 hours.

Event monitoring

According to the following Azure states this ZenPack will trigger info or error events with an appropriate summary message. Note that events will not be generated for Table and Queue Components as they are application level objects and could cause performance issues.

Subscription

Info event:

Current core count is equal to Max core count,

Current storage accounts number is equal to Max storage accounts number,

Current hosted services number is equal to Max hosted services number.

Hosted Service (Cloud Service)

Warning event: Hosted service is Stopped or Unavailable

Info event: service status is one of the following: Deleting, Deleted, Changing, ResolvingDns

Instance (Virtual Machine)

Warning event: Instance is Stopped or Unavailable

Info event: instance status is DeletingVM

Error event:

instance status is one of the following: RoleStateUnknown, FailedStartingRole, FailedStartingVM, UnresponsiveRole,

instance error code is one of the following: WaitTimeout, VhdTooLarge, AzureInternalError,

instance status is Unknown.

Disk

Warning event: Disk is Deleted or Unavailable

Error event: is_corrupted property is True

Storage Service

Warning event: Storage Service is Deleted or Unavailable

Info event: service status is one of the following: Deleting, Deleted, Changing, ResolvingDns

Virtual Network Site (Network)

Warning event: Virtual Network is Deleted or Unavailable

Info event: state is Deleting

Web Space

Error event: availability or service status is Limited

Site

Warning event: Site is Stopped, Deleted or Unavailable

Error event:

usage state is Exceeded,

availability state is Limited

Service Impact

When combined with the Zenoss Service Dynamics product, this ZenPack adds
built-in service impact capability for services running on Microsoft Azure Service. The following
service impact relationships are automatically added. These will be included
in any services that contain one or more of the explicitly mentioned entities.

Warning: Make sure your PEM file is located in /opt/zenoss/var/etc for Zenoss version 5.0.0+

Alternatively you can use zenbatchload to add Azure subscription from the command line.
To do this, you must create a text file with hostname, username and password of all the servers you want to add.
Multiple endpoints can be added under the same /Devices/Azure section. The example is shown below:

You can then load the Azure subscription into Zenoss Core or Resource Manager as devices with the following command:

$ zenbatchload <filename>

Prerequisites

Certificate file

To add a new Azure Subscription you will need a certificate file used in Management Certificates on Azure Management Page (see [1]), which can be stored anywhere on the disk with read permissions enabled.

2. On the Azure device, for "Certificate file name" provide the path to the pem file.

/var/zenoss/azure.pem

Troubleshooting

If you encounter any issues with Zenpack instalation, please make sure that you have restarted zenoss after installation and your target disk has enough free memory and read permisions enabled. If device adding failed, try to restart your browser and make sure that you have specified a correct id and path to the certificate file (e.g. /home/zenoss/Downloads/MSAzure.pem).
In case of any issues when uninstalling this Zenpack, please remove all devices first.

Note that device monitoring requires zenpython deamon to be constantly running. If you have just enabled monitoring, try pressing Zoom in to see the graphs.
In case of any issues you can run zenpython daemon in foreground with zenpython run -v10 -c command and check if there are no exceptions. If zenpython runs without errors and prints monitoring data to stdout, then you should check if monitoring templates are bound to subscription and it's components.

Limitations

Due to limitations of REST API this ZenPack does not monitor some of Azure services:

Mobile services

SQL Databases

SQL Reporting

Media services

Active Directory

For Virtual Machines there is no performance information available via REST API, so this ZenPack does not provide such information. Hovewer, this information can be retrieved by adding Azure VM as Linux/Windows server device in Zenoss.

For Storage Services, the graphs are updated on a daily basis. The entities are stored in $MetricsCapacityBlob each day. (MSDN)