Skip to content
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

[Monitoring] Create a dashboard for overall clusterfuzz health #4497

Merged
merged 6 commits into from
Dec 26, 2024

Conversation

vitorguidi
Copy link
Collaborator

@vitorguidi vitorguidi commented Dec 12, 2024

Motivation

As a final step for the monitoring project, this PR creates a dashboard for overall system health.

The reasoning behind it is to have:

  • Business level metrics (fuzzing hours, generated testcases, issues filed, issues closed, testcases for which processing is pending)
  • Testcase metrics (untriaged testcase age and count)
  • SQS metrics (queue size, and published messages, per topic)
  • Datastore/GCS metrics (number of requests, error rate, and latencies)
  • Utask level metrics (duration, number of executions, error rate, latency)

These are sufficient to apply the RED methodology (rate, error and duration), provide high level metrics we can alert on, and aid in troubleshooting outages with a well defined methodology.

There were two options to commit this to version control: terraform, or butler definitions. The first was chosen, since it is the preffered long term solution, and it is also simpler to implement, since it supports copy pasting the JSON definition from GCP.

Attention points

This should be automatically imported from main.tf, so it (should be) sufficient to just place the .tf file in the same folder, and have butler deploy handle the terraform apply step.

How to review

Head over to go/cf-chrome-health-beta, internally. It is not expected that the actual dashboard definition is reviewed, it is just a dump of what was manually created in GCP.

Part of #4271

@vitorguidi vitorguidi changed the title [WIP] [Monitoring] Create a dashboard for overall clusterfuzz health [Monitoring] Create a dashboard for overall clusterfuzz health Dec 13, 2024
Copy link
Collaborator

@jonathanmetzman jonathanmetzman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1ing this on what I saw in person in Australia.

Copy link
Collaborator

@oliverchang oliverchang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is awesome!

@vitorguidi vitorguidi merged commit 5584f58 into master Dec 26, 2024
7 checks passed
@vitorguidi vitorguidi deleted the feature/dashboard-terraform branch December 26, 2024 18:42
vitorguidi added a commit that referenced this pull request Dec 26, 2024
vitorguidi added a commit that referenced this pull request Dec 26, 2024
Reverting #4497 due to terraform apply erroring out, will reland once it
is fixed.
vitorguidi added a commit that referenced this pull request Dec 26, 2024
This brings back #4497 . The issue was that, in promql definitions, the
'{}' characters were lacking a double escape (\\\\{ and \\\\}).
Also, the only parameter to the terraform object should be
dashboard_json.

Testing: terraform validate


![image](https://github.com/user-attachments/assets/f67434d0-c8e4-4bc0-be38-27188c98ea49)

Part of #4271
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants