Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

13
Monitoring Microsoft Azure with Nagios Jeff Mendoza Microsoft Open Technologies http://1drv.ms/1vooPai [email protected]

description

Jeff Mendoza's presentation on Monitoring Microsoft Azure with Nagios. The presentation was given during the Nagios World Conference North America held Oct 13th - Oct 16th, 2014 in Saint Paul, MN. For more information on the conference (including photos and videos), visit: http://go.nagios.com/conference

Transcript of Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Page 1: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Monitoring Microsoft Azure with Nagios

Jeff MendozaMicrosoft Open Technologies

http://1drv.ms/1vooPai

[email protected]

Page 2: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Who am I?

• Software Engineer• Build Bridges• I don’t run systems

→ I need your feedback

Page 3: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Agenda

• Microsoft Azure• Azure Properties to Monitor• Install• Each plugin

• CLI overview• Data source• Setup• Demo

Page 4: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Microsoft Azure

Programming languages + tools.NET, Visual Studio, TFS + Git, Java, NodeJS, PHP, Python, Ruby, C++

Microsoft Cloud Infrastructure

PaaSWebMobileGamingCloud Services

DataAnalyticsMediaIdentity

IaaSWindows VMsLinux VMsStorageNetworking

Page 5: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Azure Properties to Monitor

Compute• Basic state of machines, up/down

Storage• Detailed metrics on blobs, tables, queues

SQL Database• Canned queries to Azure SQL Database

PaaS• Azure Diagnostics (.NET)

Active Directory• Graph API and differential queries

Page 6: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Install

$ pip install azuremonitor

Python packagehttps://pypi.python.org/pypi/azuremonitor/0.1https://github.com/msopentech/wamo

My setup• Azure VM, OpenLogic CentOS 7• Fedora EPEL repository Nagios packages

Nagios XI available on VM Depothttp://vmdepot.msopentech.com/Vhd/Show?vhdId=1420&version=1450

Page 7: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Compute

$ check_azure_compute.py <cloud service> -p <ps file>

Cloud service should match the name in AzurePublishsettings file is the management certificate for your Azure subscriptionhttps://manage.windowsazure.com/publishsettings/index?client=xplat

Service Management REST APIhttp://msdn.microsoft.com/en-us/library/azure/ee460812.aspx

Demo

Page 8: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Storage

$ check_azure_storage.py <stg acct> -p <ps file> --blob --tx -k <key> -w <warn level> -c <crit level>

Storage account should match the name in AzureCould also monitor tables or queues with --table or --queueList of keys: https://github.com/MSOpenTech/wamo/blob/master/check_azure_storage.py#L36

Storage Analyticshttp://msdn.microsoft.com/en-us/library/azure/hh343270.aspx

Demo

Page 9: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

SQL Database

$ check_azure_sql.py <srv addr> -u <user> -p <pass> -d <db name> -k <key> -w <warn level> -c <crit level>

Needs full address of SQL DB ServerList of keys: https://github.com/MSOpenTech/wamo/blob/master/check_azure_sql.py#L400

Dynamic Management Viewshttp://msdn.microsoft.com/en-us/library/ff394114.aspx

Requires ODBC and FreeTDS setupDemo

Page 10: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

PaaS

$ check_azure_paas.py <cloud service> -p <ps file> -s <stg act> -k <key> -w <warn level> -c <crit level>

Cloud service should match the name in AzureStorage account should match where diagnostic data is stored.List of keys: https://github.com/MSOpenTech/wamo/blob/master/check_azure_paas.py#L34

Azure Diagnosticshttp://msdn.microsoft.com/en-us/library/azure/gg433048.aspx

Page 11: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Active Directory

$ check_azure_ad.py <domain> -c <client id> -s <secret> -k <key> -p <param>

Param is either user or group name depending on keyList of keys: https://github.com/MSOpenTech/wamo/blob/master/check_azure_ad.py#L350

Differential queries need --tempdir and multiple runsUse either --warn-on-change or --error-on-change

Graph APIhttp://msdn.microsoft.com/en-us/library/azure/hh974476.aspx

Page 12: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

Questions?

Any questions?

Thanks!

Page 13: Nagios Conference 2014 - Jeff Mendoza - Monitoring Microsoft Azure with Nagios

The End

Jeff MendozaMicrosoft Open Technologies

[email protected]