keep
keep copied to clipboard
Centreon Provider
Describe the provider you want to add Centreon(nagios)
Describe your use case Send alert from each probe in alert
Are you already using Keep? Yes (Grafana, Alertmanager)
Additional context
- https://www.centreon.com/fr/editions-centreon/centreon-open-source/
/bounty 50
π $50 bounty β’ Keep (YC W23)
Steps to solve:
-
Start working: Comment
/attempt #1113
with your implementation plan -
Submit work: Create a pull request including
/claim #1113
in the PR body to claim the bounty - Receive payment: 100% of the bounty is received 2-5 days post-reward. Make sure you are eligible for payouts
Thank you for contributing to keephq/keep!
Add a bounty β’ Share on socials
Attempt | Started (GMT+0) | Solution |
---|---|---|
π΄ @35C4n0r | Apr 17, 2024, 3:07:54 PM | WIP |
π΄ @joshuanazareth97 | May 3, 2024, 7:02:57 PM | WIP |
π‘ @ezhil56x | May 19, 2024, 3:41:57 PM | #1194 |
/attempt #1113 @shahargl kindly assign
Algora profile | Completed bounties | Tech | Active attempts | Options |
---|---|---|---|---|
@35C4n0r | Β Β Β 6 keephq bounties + 7 bounties from 3 projects |
Python, HTML, JavaScript & more |
Cancel attempt |
Assigned @35C4n0r
@35C4n0r: Reminder that in 4 days the bounty will become up for grabs, so please submit a pull request before then π
@mabed-fr Checked both v1 and v2 can't find any alert-related endpoints, though they have notification https://docs-api.centreon.com/api/centreon-web/23.10/#tag/Notification https://docs.centreon.com/docs/alerts-notifications/notif-concept/ https://docs.centreon.com/docs/category/managing-alerts/
@mabed-fr Checked both v1 and v2 can't find any alert-related endpoints, though they have notification https://docs-api.centreon.com/api/centreon-web/23.10/#tag/Notification https://docs.centreon.com/docs/alerts-notifications/notif-concept/ https://docs.centreon.com/docs/category/managing-alerts/
@mabed-fr can you confirm if we want to send notifications or alerts?
The bounty is up for grabs! Everyone is welcome to /attempt #1113
π
@mabed-frVΓ©rifiΓ© Γ la fois v1 et v2 ne peuvent pas trouver de points de terminaison liΓ©s Γ l'alerte, bien qu'ils aient une notification https://docs-api.centreon.com/api/centreon-web/23.10/#tag/Notificationhttps://docs.centreon.com/docs/alerts-notifications/notif-concept/https://docs.centreon.com/docs/category/managing-alerts/
@mabed-frpouvez-vous confirmer si nous voulons envoyer des notifications ou des alertes ?
Sorry yes this is an alert in centreon
@35C4n0r how is it going?
I will be dropping this issue.
@mabed-fr Can you add more on what is required for this provider integration?
Hi @shahargl can I pick this up if it isn't already being worked on?
Hi @shahargl can I pick this up if it isn't already being worked on?
You can! π₯³
@mabed-fr In case you have missed my comment
@mabed-fr Can you add more on what is required for this provider integration?
/attempt #1113
@shahargl @talboren Hi, so just confirming on the plan of implementation, will extend the BaseProvider class, and implement the methods for authentication, config and scope validation, and alert retrieval and formatting. There are 2 fields that require mapping from the Centreon enum to corresponding alert fields in keep:
- Status:
status_mapping = {
"UP": AlertStatus.RESOLVED,
"OK": AlertStatus.RESOLVED,
"DOWN": AlertStatus.FIRING,
"WARNING": AlertStatus.FIRING,
"CRITICAL": AlertStatus.FIRING,
"UNKNOWN": AlertStatus.FIRING,
"UNREACHABLE": AlertStatus.FIRING,
"PENDING": AlertStatus.PENDING
}
- Severity:
severity_mapping = {
1: AlertSeverity.CRITICAL, # DOWN or CRITICAL -> CRITICAL
2: AlertSeverity.WARNING, # WARNING -> WARNING
3: AlertSeverity.INFO, # UNKNOWN or UNREACHABLE -> INFO (As there's no direct match)
4: AlertSeverity.LOW, # PENDING -> LOW (Considering PENDING as less severe, could also be INFO I guess)
5: AlertSeverity.LOW # UP or OK -> LOW
}
Do these mappings and the general approach sound okay? Will go ahead with the implementation then.
Options
/attempt #1113
@shahargl @talboren Hi, so just confirming on the plan of implementation, will extend the BaseProvider class, and implement the methods for authentication, config and scope validation, and alert retrieval and formatting. There are 2 fields that require mapping from the Centreon enum to corresponding alert fields in keep:
- Status:
status_mapping = { "UP": AlertStatus.RESOLVED, "OK": AlertStatus.RESOLVED, "DOWN": AlertStatus.FIRING, "WARNING": AlertStatus.FIRING, "CRITICAL": AlertStatus.FIRING, "UNKNOWN": AlertStatus.FIRING, "UNREACHABLE": AlertStatus.FIRING, "PENDING": AlertStatus.PENDING }
- Severity:
severity_mapping = { 1: AlertSeverity.CRITICAL, # DOWN or CRITICAL -> CRITICAL 2: AlertSeverity.WARNING, # WARNING -> WARNING 3: AlertSeverity.INFO, # UNKNOWN or UNREACHABLE -> INFO (As there's no direct match) 4: AlertSeverity.LOW, # PENDING -> LOW (Considering PENDING as less severe, could also be INFO I guess) 5: AlertSeverity.LOW # UP or OK -> LOW }
Do these mappings and the general approach sound okay? Will go ahead with the implementation then.
Options
Yes, makes sense! Derive your inspiration from other implemented providers -- good examples are Datadog, Grafana, etc.
@joshuanazareth97: Reminder that in 4 days the bounty will become up for grabs, so please submit a pull request before then π
@joshuanazareth97 Are you still on this or can I take up?
@ezhil56x will be raising the PR today
The bounty is up for grabs! Everyone is welcome to /attempt #1113
π
/attempt #1113
Algora profile | Completed bounties | Tech | Active attempts | Options |
---|---|---|---|---|
@ezhil56x | Β Β Β 5 keephq bounties + 23 bounties from 10 projects |
JavaScript, TypeScript, Java & more |
Cancel attempt |
@ezhil56x: Reminder that in 4 days the bounty will become up for grabs, so please submit a pull request before then π
π‘ @ezhil56x submitted a pull request that claims the bounty. You can visit your bounty board to reward.