Hello,
In my organisation we recently decided to install Azure by HTTP templates in our Zabbix server to automatically discover and monitor our Azure VMs and databases.
We followed this documentation :
Microsoft Azure monitoring and integration with Zabbix
After setting up an Azure application, linking the templates to the host, and setting all the macros in the templates, this works perfectly well with the VMs but we get an error with the API requests for the databases. The error we get is returned in the data error field as shown in the attachment and is the following :
Failed to receive data:
cpu_percent,physical_data_read_percent,log_write_p ercent,storage,connection_successful,connection_fa iled,blocked_by_firewall,deadlock,storage_percent, xtp_storage_percent,workers_percent,sessions_perce nt,sessions_count,cpu_limit,cpu_used,sqlserver_pro cess_core_percent,sqlserver_process_memory_percent ,tempdb_data_size,tempdb_log_size,tempdb_log_used_ percent : Request failed with status code 400: {"additionalInfo":[{"type":"string","info":"TraceId={dac6475c-6d48-46f6-be16-e3303aed4ae5}"},{"type":"string","info":"Exception Type=Microsoft.Online.Metrics.MetricsMP.Utilities. RPRequestFormatException"}],"code":"BadRequest","message":"Failed to find metric configuration for provider: Microsoft.Sql, resource Type: servers/databases, metric: cpu_limit, Valid metrics: cpu_percent,physical_data_read_percent,log_write_p ercent,dtu_consumption_percent,storage,connection_ successful,connection_failed,connection_failed_use r_error,blocked_by_firewall,deadlock,storage_perce nt,xtp_storage_percent,workers_percent,sessions_pe rcent,sessions_count,dtu_limit,dtu_used,sqlserver_ process_core_percent,sqlserver_process_memory_perc ent,tempdb_data_size,tempdb_log_size,tempdb_log_us ed_percent,allocated_data_storage,ledger_digest_up load_success,ledger_digest_upload_failed"}
full_backup_size_bytes,diff_backup_size_bytes,log_ backup_size_bytes : Request failed with status code 400: {"additionalInfo":[{"type":"string","info":"TraceId={aaad348d-de23-449e-bb4c-aa3b212d6509}"},{"type":"string","info":"Exception Type=Microsoft.Online.Metrics.MetricsMP.Utilities. RPRequestFormatException"}],"code":"BadRequest","message":"Failed to find metric configuration for provider: Microsoft.Sql, resource Type: servers/databases, metric: full_backup_size_bytes, Valid metrics: cpu_percent,physical_data_read_percent,log_write_p ercent,dtu_consumption_percent,storage,connection_ successful,connection_failed,connection_failed_use r_error,blocked_by_firewall,deadlock,storage_perce nt,xtp_storage_percent,workers_percent,sessions_pe rcent,sessions_count,dtu_limit,dtu_used,sqlserver_ process_core_percent,sqlserver_process_memory_perc ent,tempdb_data_size,tempdb_log_size,tempdb_log_us ed_percent,allocated_data_storage,ledger_digest_up load_success,ledger_digest_upload_failed"}
The thing is, it manages to get basic information like the space allocated and the database status, but that's almost all.
It looks like there is setup to do in the Azure portal so the metrics are available for pickup by the API, but there is nothing about this in the documentation and it works for the VMs without any additional setup.
In the metrics section in Azure, the metrics are readable and the Azure application has the read right on the resource group containing the databases.
Could it be a version problem ? The bad request error makes me feel like the metrics are not supported by the Azure data warehouse and maybe the template is not up to date.
Has anyone already encountered this ?
I would like some help with the debugging process I can follow, all suggestions are welcome.
Also, is there anywhere the API requests are logged, so I can check and test them myself ?
Have a nice day!
In my organisation we recently decided to install Azure by HTTP templates in our Zabbix server to automatically discover and monitor our Azure VMs and databases.
We followed this documentation :
Microsoft Azure monitoring and integration with Zabbix
After setting up an Azure application, linking the templates to the host, and setting all the macros in the templates, this works perfectly well with the VMs but we get an error with the API requests for the databases. The error we get is returned in the data error field as shown in the attachment and is the following :
Failed to receive data:
cpu_percent,physical_data_read_percent,log_write_p ercent,storage,connection_successful,connection_fa iled,blocked_by_firewall,deadlock,storage_percent, xtp_storage_percent,workers_percent,sessions_perce nt,sessions_count,cpu_limit,cpu_used,sqlserver_pro cess_core_percent,sqlserver_process_memory_percent ,tempdb_data_size,tempdb_log_size,tempdb_log_used_ percent : Request failed with status code 400: {"additionalInfo":[{"type":"string","info":"TraceId={dac6475c-6d48-46f6-be16-e3303aed4ae5}"},{"type":"string","info":"Exception Type=Microsoft.Online.Metrics.MetricsMP.Utilities. RPRequestFormatException"}],"code":"BadRequest","message":"Failed to find metric configuration for provider: Microsoft.Sql, resource Type: servers/databases, metric: cpu_limit, Valid metrics: cpu_percent,physical_data_read_percent,log_write_p ercent,dtu_consumption_percent,storage,connection_ successful,connection_failed,connection_failed_use r_error,blocked_by_firewall,deadlock,storage_perce nt,xtp_storage_percent,workers_percent,sessions_pe rcent,sessions_count,dtu_limit,dtu_used,sqlserver_ process_core_percent,sqlserver_process_memory_perc ent,tempdb_data_size,tempdb_log_size,tempdb_log_us ed_percent,allocated_data_storage,ledger_digest_up load_success,ledger_digest_upload_failed"}
full_backup_size_bytes,diff_backup_size_bytes,log_ backup_size_bytes : Request failed with status code 400: {"additionalInfo":[{"type":"string","info":"TraceId={aaad348d-de23-449e-bb4c-aa3b212d6509}"},{"type":"string","info":"Exception Type=Microsoft.Online.Metrics.MetricsMP.Utilities. RPRequestFormatException"}],"code":"BadRequest","message":"Failed to find metric configuration for provider: Microsoft.Sql, resource Type: servers/databases, metric: full_backup_size_bytes, Valid metrics: cpu_percent,physical_data_read_percent,log_write_p ercent,dtu_consumption_percent,storage,connection_ successful,connection_failed,connection_failed_use r_error,blocked_by_firewall,deadlock,storage_perce nt,xtp_storage_percent,workers_percent,sessions_pe rcent,sessions_count,dtu_limit,dtu_used,sqlserver_ process_core_percent,sqlserver_process_memory_perc ent,tempdb_data_size,tempdb_log_size,tempdb_log_us ed_percent,allocated_data_storage,ledger_digest_up load_success,ledger_digest_upload_failed"}
The thing is, it manages to get basic information like the space allocated and the database status, but that's almost all.
It looks like there is setup to do in the Azure portal so the metrics are available for pickup by the API, but there is nothing about this in the documentation and it works for the VMs without any additional setup.
In the metrics section in Azure, the metrics are readable and the Azure application has the read right on the resource group containing the databases.
Could it be a version problem ? The bad request error makes me feel like the metrics are not supported by the Azure data warehouse and maybe the template is not up to date.
Has anyone already encountered this ?
I would like some help with the debugging process I can follow, all suggestions are welcome.
Also, is there anywhere the API requests are logged, so I can check and test them myself ?
Have a nice day!
Comment