commercetools / mongodbatlas_exporter

MongoDB Atlas exporter for Prometheus
MIT License
13 stars 8 forks source link

Error metrics for no_data #11

Closed Freyert closed 2 years ago

Freyert commented 3 years ago

We want to better identify when the Atlas API returns no data to the metrics endpoints.

I did not include the case where we are being rate limited yet.

Also, we should probably look at a way to opt out of FTS metrics because they will always register, but never have data_points. Unless you actually use FTS.

mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1
mongodbatlas_processes_stats_measurement_transformation_failures_total{atlas_metric="FTS_PROCESS_NORMALIZED_CPU_USER",error="no_data",project_id="XXXXXXXX",rs_name=aRSName",user_alias="aUserAlias"} 1

I'm imagining the rate limiting errors will require new error handling logic and tests so let's handle that in a separate PR.