Prometheus exporter for AWS CloudWatch - Discovers services through AWS tags, gets CloudWatch metrics data and provides them as Prometheus metrics with AWS tags as labels
Apache License 2.0
959
stars
330
forks
source link
feat: add AWS/QuickSight as supported service #1477
QuickSight is a business intelligence tool but can also be used to set up the suite of Cloud Intelligence Dashboards which provide some neat cost (and other) dashboards. To say the entire solution is complex is a bit of an understatement so monitoring is of paramount importance (I've managed to break some of the datasets by following the workshop instructions to deploy other ones, ahem) and thus necessitates an addition to yace 🙂
I've tested the change locally using the config included in the PR (examples/quicksight.yml). The period / length values are the lowest once I could get metrics from and I believe setting nilToZero is going to be needed here, similarly to https://github.com/nerdswords/yet-another-cloudwatch-exporter/pull/1405.
Partially anonymized result w/o nilToZero:
# HELP aws_quicksight_ingestion_error_count_sum Help is not implemented yet.
# TYPE aws_quicksight_ingestion_error_count_sum gauge
aws_quicksight_ingestion_error_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="",name="global",region="eu-west-2"} 5
aws_quicksight_ingestion_error_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="07c385e2-a43c-401c-abf4-fd54baed26a2",name="global",region="eu-west-2"} 1
(...)
aws_quicksight_ingestion_error_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="ce8e358c-3621-4983-9e0e-ba65b86346d6",name="global",region="eu-west-2"} NaN
aws_quicksight_ingestion_error_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="compute_optimizer_all_options",name="global",region="eu-west-2"} NaN
aws_quicksight_ingestion_error_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="d01a936f-2b8f-49dd-8f95-d9c7130c5e46",name="global",region="eu-west-2"} NaN
aws_quicksight_ingestion_error_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="ta-organizational-view",name="global",region="eu-west-2"} NaN
# HELP aws_quicksight_ingestion_invocation_count_sum Help is not implemented yet.
# TYPE aws_quicksight_ingestion_invocation_count_sum gauge
aws_quicksight_ingestion_invocation_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="",name="global",region="eu-west-2"} 21
aws_quicksight_ingestion_invocation_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="07c385e2-a43c-401c-abf4-fd54baed26a2",name="global",region="eu-west-2"} 1
(...)
aws_quicksight_ingestion_invocation_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="ce8e358c-3621-4983-9e0e-ba65b86346d6",name="global",region="eu-west-2"} 1
aws_quicksight_ingestion_invocation_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="compute_optimizer_all_options",name="global",region="eu-west-2"} 1
aws_quicksight_ingestion_invocation_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="d01a936f-2b8f-49dd-8f95-d9c7130c5e46",name="global",region="eu-west-2"} 1
aws_quicksight_ingestion_invocation_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="ta-organizational-view",name="global",region="eu-west-2"} 1
# HELP aws_quicksight_ingestion_row_count_sum Help is not implemented yet.
# TYPE aws_quicksight_ingestion_row_count_sum gauge
aws_quicksight_ingestion_row_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="",name="global",region="eu-west-2"} 5.664183e+06
aws_quicksight_ingestion_row_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="07c385e2-a43c-401c-abf4-fd54baed26a2",name="global",region="eu-west-2"} NaN
(...)
aws_quicksight_ingestion_row_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="ce8e358c-3621-4983-9e0e-ba65b86346d6",name="global",region="eu-west-2"} 2.058553e+06
aws_quicksight_ingestion_row_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="compute_optimizer_all_options",name="global",region="eu-west-2"} 2774
aws_quicksight_ingestion_row_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="d01a936f-2b8f-49dd-8f95-d9c7130c5e46",name="global",region="eu-west-2"} 1.969758e+06
aws_quicksight_ingestion_row_count_sum{account_alias="finops",account_id="123456789012",dimension_DatasetId="ta-organizational-view",name="global",region="eu-west-2"} 10804
QuickSight is a business intelligence tool but can also be used to set up the suite of Cloud Intelligence Dashboards which provide some neat cost (and other) dashboards. To say the entire solution is complex is a bit of an understatement so monitoring is of paramount importance (I've managed to break some of the datasets by following the workshop instructions to deploy other ones, ahem) and thus necessitates an addition to yace 🙂
I've tested the change locally using the config included in the PR (
examples/quicksight.yml
). The period / length values are the lowest once I could get metrics from and I believe settingnilToZero
is going to be needed here, similarly to https://github.com/nerdswords/yet-another-cloudwatch-exporter/pull/1405.Partially anonymized result w/o
nilToZero
: