prometheus-community / yet-another-cloudwatch-exporter

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
1.01k stars 339 forks source link

dimension_DBInstanceIdentifier is not available anymore #396

Open holomekc opened 3 years ago

holomekc commented 3 years ago

After I updated to 0.27.0-alpha the value: dimension_DBInstanceIdentifier for RDS is not available anymore which makes it impossible for me to distinguish multiple databases. Do I need to configure something?

holomekc commented 3 years ago

Also it seems that exportedTagsOnMetrics does not work anymore. At least I see no tags added at all.

cgrim-cz commented 3 years ago

Try version 0.28.0-alpha. We switched on that version from 0.25.0-alpha and dimension_DBInstanceIdentifier is there.

danielrosa-zh commented 2 years ago

Hi, First of all, congrats to owner for this amazing project!

I'm able to see dimension_DBInstanceIdentifier normally on v0.32.0-alpha, my problem is that I'm seeing other dimension that I don't want .

` - type: rds enableMetricData: true regions:

And on prometheus I can see a lot of lines with dimension_DatabaseClass and dimension_EngineName, but I only configured to get dimension dimension_DBInstanceIdentifier. Does someone knows why ?

aws_rds_cpuutilization_average{account_id="xxxxxxxxxxxx", dimension_DatabaseClass="db.m5.8xlarge", instance="172.x.x.x:80", job="prometheus-yace-exporter", name="global", region="us-east-2"}

aws_rds_cpuutilization_average{account_id="xxxxxxxxxxxx", dimension_EngineName="mariadb", instance="172.x.x.x:80", job="prometheus-yace-exporter", name="global", region="us-east-2"}

QualoZe0t commented 2 years ago

Hi, i have tried latest image v0.33.0 + v0.28.0 but i am unable to see dimension_DBInstanceIdentifier i am always getting. I have multiple db'd and without this label i am not able to identifier DB. Are you sure that Label dimension_DBInstanceIdentifier is present ?

aws_rds_cpuutilization_average{account_id="XXX", instance="prometheus-yace-exporter.monitoring.svc:80", job="prometheus-yace-exporter", name="global", region="eu-central-1"}
shivpathak commented 2 years ago

@QualoZe0t

You may double check the Tags key/val used for auto-discovering the resources, I had wrong Tag Value in line number 23 in cm.txt file because of that I was also not getting the dimension_DBInstanceIdentifier but after correcting the value I started getting it.

I am using v0.33.0-alpha version docker image

When Wrong Tag Value set in config (line number 23 in cm.txt): aws_rds_free_storage_space_average{account_id="REDACTED",dimension_DatabaseClass="db.t3.small",dimension_EngineName="",name="global",region="eu-west-1"} 1.01978742784e+11

When Matching Tag Value set in config (line number 23 in cm.txt): aws_rds_free_storage_space_average{account_id="REDACTED",dimension_DBInstanceIdentifier="dev-dev-analytics-db",dimension_DatabaseClass="",dimension_EngineName="",name="arn:aws:rds:REDACTED:REDACTED:db:dev-dev-analytics-db",region="REDACTED"} 1.0197905408e+11

Hope if this could help you.

But:

Still I see BUG as the DB Isntances which are not matching the Tag, those are also discovered in metrics and for those dimension_DBInstanceIdentifier value is missing like below: aws_rds_free_storage_space_average{account_id="822436023150",dimension_DBInstanceIdentifier="",dimension_DatabaseClass="db.t3.micro",dimension_EngineName="",name="global",region="eu-west-1"} 1.3720456669866667e+11

danielrosa-zh commented 2 years ago

Hi @shivpathak

I'm using version v0.32.0-alpha and I'm seeing metrics from other RDS instances ( from tag such as Env: prod) even though setting SearchTags to only Env: dev Do you have some trick here to fix that ? Thanks in advance

shivpathak commented 2 years ago

@danielrosa-zh I tried version v0.33.0-alpha only, so request you to use the below attached config only on this version.

in this config example I am using Tag Key as Stage and it has value as qa-qa-some-extra-string.

BUT you might get some extra metrics in result (probably those who doesn't match the tag but not sure) which will be missing the dimension_DBInstanceIdentifier / tag_Stage keys but will be having dimension_EngineName this is strange for me and not good.

yace-config.yaml.txt

in PrometheusRule you can use filter of tag to avoid extra metrics in result e.g.: aws_rds_free_storage_space_average{tag_Stage=~"qa.*"}