Monitoring in Fedora-CI #567
Labels
No labels
area/installability
area/jenkins
area/rpmdeplint
area/rpminspect
area/STI
area/STI-compat
area/Testing Farm
area/tmt
area/Zuul CI
blocked
bug
discussion
feature
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Type
Help
Type
Incident
UX
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Status/Blocked
Status/Discuss
Type
Bug
Type
Feature
Type
Task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
ci/tickets#567
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Be able to get notified of failing tests, CC relevant test owners, detect test duration drifts.
Separations
The monitoring should be monitored separately by:
Desired trackers
Some of the things that should trigger a notification:
Graphs would also be useful to visualize the state:
Dashboard functionality is also important to be able to:
How can we handle this?
After some experimentation and looking at the states of Jenkins and packit
Monitoring on jenkins is not feasible
The prometheus approach seems close, but it only shows the rolling statistics of the job state count. Other metrics are not useful.
The direct Jenkins query is slightly more useful, but it suffers from 403 issue lockouts. It is also hard to figure out the appropriate query in order to get useful notifications.
Monitoring on packit would be costly
Packit dashboard is a no-go since all of the processing is done on the client side.
Packit-service might be a good home, but it would make it compete with the various jobs it is trying to do. The data is very local though.
Some stretch goals here seem beyond packit-service's use like authentication, filtering. Packit service might benefit from delegating those tasks to a standalone service.
Maybe a standalone app?
The issues with the monitoring here is mostly that we need to aggregate the state of the jobs and reexport or push it in a form that zabbix (or dashboard frontends) can consume. Having a dedicated app that does this would be the most flexible. The process would be