Zabbix monitoring for Copr pools of builders #13389
Labels
No labels
announcement
anubis
authentication
aws
backlog
blocked
bodhi
ci
cloud
communishift
copr
database
day-to-day
dc-move
deprecated
dev
discourse
dns
downloads
easyfix
epel
firmitas
forgejo_migration
Gain
High
Gain
Low
Gain
Medium
gitlab
greenwave
hardware
help wanted
high-trouble
koji
koschei
lists
low-trouble
medium-trouble
mirrorlists
monitoring
Needs investigation
odcs
OpenShift
ops
outage
packager_workflow_blocker
pagure
permissions
Priority
Needs Review
Priority
Next Meeting
Priority
🔥 URGENT 🔥
Priority
Waiting on Assignee
Priority
Waiting on External
Priority
Waiting on Reporter
rabbitmq
release-monitoring
releng
request-for-resources
s390x
security
SMTP
sprint-0
sprint-1
src.fp.o
staging
unfreeze
waiverdb
websites-general
wiki
Backlog Status
Needs Review
Backlog Status
Ready
chore
documentation
points
01
points
02
points
03
points
05
points
08
points
13
Priority
High
Priority
Low
Priority
Medium
Sprint Status
Blocked
Sprint Status
Done
Sprint Status
In Progress
Sprint Status
Review
Sprint Status
To Do
Technical Debt
Work Item
Bug
Work Item
Epic
Work Item
Spike
Work Item
Task
Work Item
User Story
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
infra/tickets#13389
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?
Description of request
It was already mentioned in ci/tickets#559, but it was off-topic there. My long-term goal was to have a monitoring of Copr pools of builders, and we are really close to finishing it. @gwmngilfen said Copr monitoring is on his radar too, so I wanted to ask, if you could take look at the Zabbix configuration, please? It'd help a lot.
I created this API endpoint
https://download.copr-dev.fedorainfracloud.org/resalloc/api/stats
There is no OpenAPI documentation for it, but it's quite self-explanatory, e.g.:
aws_x86_64_normal_prodis a pool name, don't try to parse it, or anything like thatlast_successful_startis too long ago, it doesn't mean there is a problem. But if it is too long ago while at the same timelast_attempt_to_startis seconds/minutes ago, there definitely is a problemstartup_success_ratedoesn't have to be 100% ... but if it goes below 60%, somebody should really take a lookstartup_time_avgis a bit tricky. It takes vastly different times to start builders in different pools. Foraws_aarch64_spot_devit is 79.5 seconds, forcopr_ic_s390x_br_sao_2_devit is340.1seconds. Would it be possible to have a default warning value at 200 seconds with the possibility to override it for specific pools?nullvalues, I'd simply ignore thoseI'd be much appreciated if you could take a look, but if you are not interested in working on this, please let me know, I'd try to implement it myself.
This is great, and I can help - probably next week though. Thanks for working on it!
So, a few questions/thoughts:
I presume most, if not all, of these would notify to #buildsys:fedoraproject.org ?
Next week is fine, thank you very much
I am a total noob when it comes to Zabbix, so if you don't mind, I'd leave that up to you, whatever solution you think is the best. For sure curling the URL has to be some part of the process, but if it is "dynamic discovery" or if we simply have one check for copr-backend which fetches the URL and then loops over all the pools, does all the checks and raises some exception or something if it finds a problem ...
Yep, that would be the best.
@frostyx this is all set up on STG, and we have alerts in the channel, so seems to be working. For each pool we have:
Lets give that a day or two and then copy to prod...
Thank you very much @gwmngilfen,
this is going to be such a big improvement for the overall Copr stability/availability.
This has been rolled out to prod now, with some further tweaks. We've also learned a bit about how to to RBAC and dashboard access for other teams, which is valuable ;)
THanks for your patience @frostyx, ping me if you need more monitoring or help ;)