-
Notifications
You must be signed in to change notification settings - Fork 0
fix: surpress unactionable user caused alarms #632
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR suppresses non-actionable Slack alarms triggered by user activities in Superset, specifically adding filters for SQL query errors and data export batch operations that are expected user behaviors rather than system issues.
Key changes:
- Added two new alarm suppression filters to prevent alerts on user-caused errors
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "OAuth authorize", | ||
| "warming up cache", | ||
| "Exception while exporting", | ||
| "export batch", |
Copilot
AI
Dec 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'surpress' to 'suppress' in PR title and description. Note: The word appears as 'surpress' in the title 'fix: surpress unactionable user caused alarms' and description, but should be 'suppress'.
| "OAuth authorize", | ||
| "warming up cache", | ||
| "Exception while exporting", | ||
| "export batch", |
Copilot
AI
Dec 5, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the PR description, 'typeing' should be corrected to 'typing' in the phrase 'users typeing queries'.
15d0206 to
9ef9e4b
Compare
Staging✅ Terraform Init: Plan: 0 to add, 3 to change, 0 to destroyShow summary
Show planResource actions are indicated with the following symbols:
~ update in-place
Terraform will perform the following actions:
# aws_cloudwatch_log_metric_filter.superset_ecs_errors["celery-beat"] will be updated in-place
~ resource "aws_cloudwatch_log_metric_filter" "superset_ecs_errors" {
id = "celery-beat-error"
name = "celery-beat-error"
~ pattern = "[(w1=\"*CRITICAL*\" || w1=\"*ERROR*\") && w1!=\"*all_datasource_access*\" && w1!=\"*cache_dashboard_thumbnail*\" && w1!=\"*/api/v1/*/thumbnail/*\" && w1!=\"*OAuth authorize*\" && w1!=\"*warming up cache*\" && w1!=\"*Exception while exporting*\" && w1!=\"*Failed to execute query*\" && w1!=\"*fetch_url*\" && w1!=\"*GENERIC_DB_ENGINE_ERROR*\" && w1!=\"*Insufficient*\" && w1!=\"*no attribute 'strip'*\" && w1!=\"*non-numeric values*\" && w1!=\"*not a sequence*\" && w1!=\"*Only `SELECT`*\" && w1!=\"*session.no_autoflush*\" && w1!=\"*superset.ecs.local*\" && w1!=\"*SQLError*\" && w1!=\"*Table does not exist*\" && w1!=\"*Unsupported*\"]" -> "[(w1=\"*CRITICAL*\" || w1=\"*ERROR*\") && w1!=\"*all_datasource_access*\" && w1!=\"*cache_dashboard_thumbnail*\" && w1!=\"*/api/v1/*/thumbnail/*\" && w1!=\"*OAuth authorize*\" && w1!=\"*warming up cache*\" && w1!=\"*Exception while exporting*\" && w1!=\"*export batch*\" && w1!=\"*Failed to execute query*\" && w1!=\"*fetch_url*\" && w1!=\"*GENERIC_DB_ENGINE_ERROR*\" && w1!=\"*Insufficient*\" && w1!=\"*INVALID_SQL_ERROR*\" && w1!=\"*no attribute 'strip'*\" && w1!=\"*non-numeric values*\" && w1!=\"*not a sequence*\" && w1!=\"*Only `SELECT`*\" && w1!=\"*session.no_autoflush*\" && w1!=\"*superset.ecs.local*\" && w1!=\"*SQLError*\" && w1!=\"*Table does not exist*\" && w1!=\"*Unsupported*\"]"
# (3 unchanged attributes hidden)
# (1 unchanged block hidden)
}
# aws_cloudwatch_log_metric_filter.superset_ecs_errors["celery-worker"] will be updated in-place
~ resource "aws_cloudwatch_log_metric_filter" "superset_ecs_errors" {
id = "celery-worker-error"
name = "celery-worker-error"
~ pattern = "[(w1=\"*CRITICAL*\" || w1=\"*ERROR*\") && w1!=\"*all_datasource_access*\" && w1!=\"*cache_dashboard_thumbnail*\" && w1!=\"*/api/v1/*/thumbnail/*\" && w1!=\"*OAuth authorize*\" && w1!=\"*warming up cache*\" && w1!=\"*Exception while exporting*\" && w1!=\"*Failed to execute query*\" && w1!=\"*fetch_url*\" && w1!=\"*GENERIC_DB_ENGINE_ERROR*\" && w1!=\"*Insufficient*\" && w1!=\"*no attribute 'strip'*\" && w1!=\"*non-numeric values*\" && w1!=\"*not a sequence*\" && w1!=\"*Only `SELECT`*\" && w1!=\"*session.no_autoflush*\" && w1!=\"*superset.ecs.local*\" && w1!=\"*SQLError*\" && w1!=\"*Table does not exist*\" && w1!=\"*Unsupported*\"]" -> "[(w1=\"*CRITICAL*\" || w1=\"*ERROR*\") && w1!=\"*all_datasource_access*\" && w1!=\"*cache_dashboard_thumbnail*\" && w1!=\"*/api/v1/*/thumbnail/*\" && w1!=\"*OAuth authorize*\" && w1!=\"*warming up cache*\" && w1!=\"*Exception while exporting*\" && w1!=\"*export batch*\" && w1!=\"*Failed to execute query*\" && w1!=\"*fetch_url*\" && w1!=\"*GENERIC_DB_ENGINE_ERROR*\" && w1!=\"*Insufficient*\" && w1!=\"*INVALID_SQL_ERROR*\" && w1!=\"*no attribute 'strip'*\" && w1!=\"*non-numeric values*\" && w1!=\"*not a sequence*\" && w1!=\"*Only `SELECT`*\" && w1!=\"*session.no_autoflush*\" && w1!=\"*superset.ecs.local*\" && w1!=\"*SQLError*\" && w1!=\"*Table does not exist*\" && w1!=\"*Unsupported*\"]"
# (3 unchanged attributes hidden)
# (1 unchanged block hidden)
}
# aws_cloudwatch_log_metric_filter.superset_ecs_errors["superset"] will be updated in-place
~ resource "aws_cloudwatch_log_metric_filter" "superset_ecs_errors" {
id = "superset-error"
name = "superset-error"
~ pattern = "[(w1=\"*CRITICAL*\" || w1=\"*ERROR*\") && w1!=\"*all_datasource_access*\" && w1!=\"*cache_dashboard_thumbnail*\" && w1!=\"*/api/v1/*/thumbnail/*\" && w1!=\"*OAuth authorize*\" && w1!=\"*warming up cache*\" && w1!=\"*Exception while exporting*\" && w1!=\"*Failed to execute query*\" && w1!=\"*fetch_url*\" && w1!=\"*GENERIC_DB_ENGINE_ERROR*\" && w1!=\"*Insufficient*\" && w1!=\"*no attribute 'strip'*\" && w1!=\"*non-numeric values*\" && w1!=\"*not a sequence*\" && w1!=\"*Only `SELECT`*\" && w1!=\"*session.no_autoflush*\" && w1!=\"*superset.ecs.local*\" && w1!=\"*SQLError*\" && w1!=\"*Table does not exist*\" && w1!=\"*Unsupported*\"]" -> "[(w1=\"*CRITICAL*\" || w1=\"*ERROR*\") && w1!=\"*all_datasource_access*\" && w1!=\"*cache_dashboard_thumbnail*\" && w1!=\"*/api/v1/*/thumbnail/*\" && w1!=\"*OAuth authorize*\" && w1!=\"*warming up cache*\" && w1!=\"*Exception while exporting*\" && w1!=\"*export batch*\" && w1!=\"*Failed to execute query*\" && w1!=\"*fetch_url*\" && w1!=\"*GENERIC_DB_ENGINE_ERROR*\" && w1!=\"*Insufficient*\" && w1!=\"*INVALID_SQL_ERROR*\" && w1!=\"*no attribute 'strip'*\" && w1!=\"*non-numeric values*\" && w1!=\"*not a sequence*\" && w1!=\"*Only `SELECT`*\" && w1!=\"*session.no_autoflush*\" && w1!=\"*superset.ecs.local*\" && w1!=\"*SQLError*\" && w1!=\"*Table does not exist*\" && w1!=\"*Unsupported*\"]"
# (3 unchanged attributes hidden)
# (1 unchanged block hidden)
}
Plan: 0 to add, 3 to change, 0 to destroy.
Warning: Deprecated attribute
on .terraform/modules/athena_access_logs/athena_access_logs/locals.tf line 6, in locals:
6: region = data.aws_region.current.name
The attribute "name" is deprecated. Refer to the provider documentation for
details.
(and 14 more similar warnings elsewhere)
Warning: Argument is deprecated
with module.athena_bucket.aws_s3_bucket.this,
on .terraform/modules/athena_bucket/S3/main.tf line 8, in resource "aws_s3_bucket" "this":
8: resource "aws_s3_bucket" "this" {
server_side_encryption_configuration is deprecated. Use the
aws_s3_bucket_server_side_encryption_configuration resource instead.
(and 9 more similar warnings elsewhere)
─────────────────────────────────────────────────────────────────────────────
Saved the plan to: plan.tfplan
To perform exactly these actions, run the following command to apply:
terraform apply "plan.tfplan"
Releasing state lock. This may take a few moments...
Show Conftest resultsWARN - plan.json - main - Missing Common Tags: ["aws_athena_data_catalog.data_lake[\"production\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_athena_data_catalog.data_lake[\"staging\"]"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ses_bounce_rate_high"]
WARN - plan.json - main - Missing Common Tags: ["aws_cloudwatch_metric_alarm.ses_complaint_rate_high"]
WARN - plan.json - main - Missing Common Tags: ["aws_elasticache_subnet_group.superset_cache"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_policy.superset_send_email"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_role.superset_waf_logs"]
WARN - plan.json - main - Missing Common Tags: ["aws_iam_user.superset_send_email"]
WARN - plan.json - main - Missing Common Tags: ["aws_kinesis_firehose_delivery_stream.superset_waf_logs"]
WARN - plan.json - main - Missing Common Tags: ["aws_wafv2_regex_pattern_set.label_sizerestrictions_body_excluded_paths"]
WARN - plan.json - main - Missing Common Tags: ["module.sentinel_forwarder.aws_cloudwatch_log_group.sentinel_forwarder_lambda"]
WARN - plan.json - main - Missing Common Tags: ["module.sentinel_forwarder.aws_iam_policy.sentinel_forwarder_lambda"]
WARN - plan.json - main - Missing Common Tags: ["module.sentinel_forwarder.aws_iam_role.sentinel_forwarder_lambda"]
WARN - plan.json - main - Missing Common Tags: ["module.sentinel_forwarder.aws_lambda_function.sentinel_forwarder"]
WARN - plan.json - main - Missing Common Tags: ["module.sentinel_forwarder.aws_ssm_parameter.sentinel_forwarder_auth"]
34 tests, 19 passed, 15 warnings, 0 failures, 0 exceptions
|
Summary | Résumé
Add these two keys to surpress alarms relating to users typeing queries and product teams export data from superset.
"export batch",
"INVALID_SQL_ERROR",
la meme chose en francais
Test instructions | Instructions pour tester la modification
Write a ad query and see if a slack alarm appears