Overview



CloudMonix integrates with SQL Azure and stand-alone SQL Server installations by pushing metrics and resource statuses to SQL databases and storing them in dedicated tables. The data can then be accessed, queried, and modified in the same way as any other data stored in a SQL database. The data can be visualized by creating custom dashboards using other tools for SQL Server.


The integrations are available during the Trial period, or in Professional and Ultimate Plans only.


Before setting up the integration, ensure that target SQL database can keep up with the expected amount and incoming rate of data sent by CloudMonix. The requirements can be calculated based on number of resources and number of monitored metrics per resource.


For example, assuming that CloudMonix monitors only two resources, each tracking 20 metrics, using the default Monitoring Frequency for Ultimate Plan, i.e. 1 min., every hour there will be approximately 2400 new rows created,  which amounts to 57’600 new rows per day, and roughly 1.8 mln new rows per month.


Three general steps to integrate CloudMonix with SQL Server and SQL Azure

  1. Set up a database to integrate with

  2. Set up the integration definition in CloudMonix

  3. Enable the integration and configure what metrics should be sent to SQL database

Detailed steps to integrate CloudMonix with SQL Server and SQL Azure



  • Provision your target database. Adjust the firewall rules.

  • In CloudMonix open the SQL Server or SQL Azure integration dialog (Account Settings > Integrations > SQL Server or Account Settings > Integrations > SQL Azure).

  • Provide server name, database name, and credentials required to connect to the database. Decide whether CloudMonix should send numeric metrics to SQL database, and whether it should use monthly tables.


 

u1KR0yr6GmG2_PZb1576P0jp_eI-WB3wGw.png


  • Specify the overall integration in the Account Information screen (Account Settings > Account Information).

 


Md3HpZ8S4R_M58VpG_2ucKqNpyMSMqnjDA.png


  • If necessary, customize which resources should be sending information to SQL Server/SQL Azure on the individual resource dialog screens (Advanced tab).  See this article for more details.


_Ku-405v3N85G3tWwlziuAxoXX-RNedhxA.png


  • The gathered data can be accessed using SQL Server Management Studio.



2C0Hlh7-uBP-AAZY3k63yAbOvJNXzbEBWw.png


Information sent by CloudMonix to SQL Server/SQL Azure


CloudMonix can push to SQL Server and SQL Azure the following metrics:

  • Resource Status by resource (ie: Ready,Down,Unknown,Stopped)

  • Numeric metrics by resource (ie: Performance Counters, Response Times, Queue counts, etc.)


The Resource Status is pushed whenever the value is available, i.e. when CloudMonix was able to connect to the resource and capture metrics. The data is stored in a table called CloudMonixUptime or, if Use Monthly Table checkbox is ticked, in a table called CloudMonixUptime_[month]_[year]. The tables are automatically created by CloudMonix.


The CloudMonixUptime table has the following columns:

  • ResourceName (string): name of the monitored resource, e.g. VM or queue name

  • InstanceName (string): instance name for scaled-out resources (i.e. Azure Cloud Roles), otherwise empty

  • CheckTime (DateTime): time when the metric value was captured or recorded

  • MetricValue (string): Resource Status value, possible values: Ready, Down, Unknown

 

Ye2hYSYLxnofJmcc_S9Yl9XfM5JoR_czkA.PNG


The numeric metrics are pushed only if that option was enabled by the user, whenever their values are available. Numeric values are not pushed by default, to enable it tick the Use Numeric Metric checkbox.


 


7dp1ty-a7_QB8SpvfDLY1l5KevUD7Lq0ig.png




The data is stored in a table called CloudMonixNumericMetrics or, if Use Monthly Table checkbox is ticked, in a table called CloudMonixNumericMetrics_[month]_[year].


The CloudMonixNumericMetrics table has the following columns:

  • ResourceName (string): name of the monitored resource, e.g. VM or queue name

  • MetricName (string): name of the metric, e.g. Response Time or CPUTime

  • InstanceName (string): instance name for scaled-out resources, otherwise empty

  • CheckTime (DateTime): time when the metric value was captured or recorded

  • MetricValue (string): metric value, e.g. 0.1, 15, etc.

 

KWRW-_DCH4Wq5F2VY2fjQO26u0kR8SBLNw.PNG