aniketio-ctrl
f9a70a3a69
chore: notification routing | added notificaiton routing via expression based routes ( #9195 )
...
* chore: added custom distpatcher
* feat(notification-grouping): added notification grouping
* feat(notification-grouping): addded integration test dependency
* feat(notification-grouping): linting and test cases
* feat(notification-grouping): linting and test cases
* feat(notification-grouping): linting and test cases
* feat(notification-grouping): addded integration test dependency
* feat(notification-grouping): debug log lines
* feat(notification-grouping): debug log lines
* feat(notification-grouping): debug log lines
* feat(notification-grouping): addded integration test dependency
* feat(notification-grouping): addded integration test dependency
* feat(notification-grouping): addded integration test dependency
* feat(notification-grouping): added structure changes
* feat(notification-grouping): added structure changes
* feat(notification-routing): added notification routing
* chore(notification-grouping): added notificaiton grouping
* Update pkg/alertmanager/nfmanager/rulebasednotification/provider.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore(notification-grouping): added renotification interval
* fix(notification-grouping): added fix for renotification
* chore(notificaiton-grouping): added no data renotify
* chore(notificaiton-grouping): added no data renotify
* chore(notificaiton-grouping): added no data renotify
* chore(notification-grouping): added no data renotify interval
* chore(notification-grouping): removed errors package from dispatcher
* chore(notification-grouping): removed errors package from dispatcher
* chore(notification-grouping): removed unwanted tests
* chore(notification-grouping): removed unwanted pkg name
* chore(notification-grouping): added delete notification setting
* chore(notification-grouping): added delete notification setting
* Update pkg/alertmanager/nfmanager/nfmanagertest/provider.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore(notification-grouping): removed nfmanager config| notification settings in postable rule
* chore(notification-grouping): removed nfmanager config| notification settings in postable rule
* chore(notification-grouping): added test for dispatcher
* chore(notification-grouping): added test for dispatcher
* chore(notification-grouping): go linting errors
* chore(notification-grouping): added test cases for aggGroupPerRoute
* chore(notification-grouping): added test cases for aggGroupPerRoute
* chore(notification-grouping): corrected get notification config logic
* Update pkg/alertmanager/nfmanager/rulebasednotification/provider_test.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore(notification-routing): added notification routing policies
* feat(notification-routing): added test cases for dispatcher
* chore(notification-routing): added notification routing policies
* chore(notification-routing): added notification routing policies
* Apply suggestions from code review
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore(notification-routing): added notification routing policies
* chore(notification-routing): added notification routing policies
* Update pkg/alertmanager/alertmanagerserver/distpatcher_test.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore(notification-routing): sorted imports
* chore(notification-routing): minor edit |pr resolve comments
* chore(notification-grouping): corrected dispatcher test cases
* chore(notification-routing): added notification routing policies
* chore(notification-routing): corrected race condition in test
* chore: resolved pr comments
* chore: passing threshold value to tempalte
* chore: completed delete rule functionality
* chore: added grouping disabled functionality
* chore: added grouping disabled functionality
* chore(notification-routing): resolved pr comments
* chore(notification-routing): resolved pr comments
* chore(notification-routing): resolved pr comments
* chore(notification-routing): sorted imports
* chore(notification-routing): fix linting errors
* chore(notification-routing): removed enabled flags
* fix: test rule multiple threhsold (#9224 )
* chore: corrected linting errors
* chore: corrected linting errors
* chore: corrected linting errors
* chore: corrected linting errors
* chore: corrected migration errors
* chore: corrected migration errors
* chore: corrected migration errors
* chore: corrected migration errors
* Update pkg/sqlmigration/049_add_route_policy.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* chore: added org_is as foreign key
* chore: resolved pr comments
* chore: removed route store unused
---------
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-10-03 19:47:15 +05:30
aniketio-ctrl
ac81eab7bb
chore: added cumulative window support ( #8828 )
...
* feat(multi-threshold): added multi threshold
* Update pkg/types/ruletypes/api_params.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat(multiple-threshold): added multiple thresholds
* Update pkg/types/ruletypes/alerting.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat(multiple-threshold): added multiple thresholds
* feat(cumulative-window): added cumulative window
* feat(multi-threshold): added recovery min points
* Update pkg/query-service/rules/threshold_rule.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat(multi-threshold): fixed log lines
* feat(multi-threshold): added severity as threshold name
* feat(cumulative-window): added cumulative window for alerts v2
* feat(multi-threshold): removed break to send multi threshold alerts
* feat(multi-threshold): removed break to send multi threshold alerts
* feat(cumulative-window): segregated json marshalling with evaluation logic
* feat(multi-threshold): corrected the test cases
* feat(cumulative-window): segregated json marshalling and evaluation logic
* feat(cumulative-window): segregated json marshalling and evaluation logic
* feat(multi-threshold): added segregation on json marshalling and actual threhsold logic
* feat(multi-threshold): added segregation on json marshalling and actual threhsold logic
* feat(cumulative-window): segregated json marshalling and evaluation logic
* feat(multi-threshold): added segregation on json marshalling and actual threhsold logic
* feat(cumulative-window): segregated json marshalling and evaluation logic
* feat(multi-threhsold): added error wrapper
* feat(multi-threhsold): added error wrapper
* feat(cumulative-window): segregated json marshalling and evaluation logic
* feat(multi-threhsold): added error wrapper
* Update pkg/types/ruletypes/threshold.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat(cumulative-window): segregated json marshalling and evaluation logic
* feat(multi-threshold): added validation and error propagation
* feat(multi-notification): removed pre defined labels from links of log and traces
* feat(multi-notification): removed pre defined labels from links of log and traces
* feat(multi-threshold): added json parser for gettable rule
* feat(multi-threshold): added json parser for gettable rule
* feat(multi-threshold): added json parser for gettable rule
* feat(multi-threshold): added umnarshaller for postable rule
* feat(multi-threshold): added umnarshaller for postable rule
* feat(cumulative-window): added validation check
* Update pkg/types/ruletypes/evaluation.go
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
* feat(multi-threhsold): removed yaml support for alerts
* Update pkg/types/ruletypes/evaluation.go
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* Update pkg/types/ruletypes/evaluation.go
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
* chore(cumulative-window): renamed funcitons
* chore(cumulative-window): removed naked errors
* chore(cumulative-window): added reset boundary condition tests
* chore(cumulative-window): added reset boundary condition tests
* chore(cumulative-window): sorted imports
* chore(cumulative-window): sorted imports
* chore(cumulative-window): sorted imports
* chore(cumulative-window): removed error from next window for
* chore(cumulative-window): removed error from next window for
* chore(cumulative-window): added case for timezone
* chore(cumulative-window): added validation for eval window
* chore(cumulative-window): updated api structure for cumulative window
* chore(cumulative-window): updated schedule enum
---------
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
Co-authored-by: Srikanth Chekuri <srikanth.chekuri92@gmail.com>
2025-09-15 15:00:12 +05:30
aniketio-ctrl
d801fcee76
chore: add multiple thresholds support ( #8816 )
2025-09-12 13:11:54 +05:30
Srikanth Chekuri
5c1f070d8f
chore: use new querier for v5 versioned alerts ( #8650 )
2025-07-30 19:25:27 +05:30
Vikrant Gupta
5b237ee628
feat(cache): multi-tenant cache ( #7805 )
...
* feat(cache): remove the references of old cache
* feat(cache): add orgID in query range modules pt1
* feat(cache): add orgID in query range modules pt2
* feat(cache): add orgID in query range modules pt3
* feat(cache): preload metrics for all orgs
* feat(cache): fix ruler
* feat(cache): fix go build
* feat(cache): add orgID to rule
* feat(cache): fix tests
* feat(cache): address review comments
* feat(cache): use correct errors
* feat(cache): fix tests
* feat(cache): add the cache test package
2025-05-03 18:30:07 +05:30
Vikrant Gupta
16e0fa2eef
feat(ruler): update the ruler and planned maintenance tables ( #7535 )
...
* feat(ruler): base setup for rules and planned maintenance tables
* feat(ruler): more changes for making ruler org aware
* feat(ruler): fix lint
* feat(ruler): update the edit planned maintenance function
* feat(ruler): local testing edits for planned maintenance
* feat(ruler): abstract store and types from rules pkg
* feat(ruler): abstract store and types from rules pkg
* feat(ruler): abstract out store and add migration
* feat(ruler): frontend changes and review comments
* feat(ruler): add back compareAndSelectConfig
* feat(ruler): changes for alertmanager matchers
* feat(ruler): addressed review comments
* feat(ruler): remove the cascade operations from rules table
* feat(ruler): update the template for alertmanager
* feat(ruler): implement the rule history changes
* feat(ruler): implement the rule history changes
* feat(ruler): implement the rule history changes
---------
Co-authored-by: Vibhu Pandey <vibhupandey28@gmail.com>
2025-04-18 00:04:25 +05:30
Shivanshu Raj Shrivastava
efd4e30edf
fix: publish signoz as package ( #7378 )
...
Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
2025-03-20 15:31:41 +00:00
Vibhu Pandey
1f33928bf9
feat(alertmanager): integrate with ruler ( #7222 )
...
### Summary
Integrate the new implementations of the alertmanager along with changes to the ruler. This change can be broadly categoried into 3 parts:
#### Frontend
- The earlier `/api/v1/alerts` api was double encoding the response in json and sending it to the frontend. This PR fixes the json response object.
For instance, we have gone from the response `{
"status": "success",
"data": "{\"status\":\"success\",\"data\":[{\"labels\":{\"alertname\":\"[platform][consumer] consumer is above 100% memory utilization\",\"bu\":\"platform\",\"......
}` to the response `{"status":"success","data":[{"labels":{"alertname":"[Metrics] Pod CP......`
- `msteams` has been changed to `msteamsv2` wherever applicable
#### Ruler
The following changes have been done in the ruler component:
- Removal of the old alertmanager and notifier
- The RuleDB methods `Create`, `Edit` and `Delete` have been made transactional
- Introduction of a new `testPrepareNotifyFunc` for sending test notifications
- Integration with the new alertmanager
#### Alertmanager
Although a huge chunk of the alertmanagers have been merged in previous PRs (the list can be found at https://github.com/SigNoz/platform-pod/issues/404 ), this PR takes care of changes needed in order to incorporate it with the ruler
- Addition of ruleId based matching
- Support for marshalling the global configuration directly from the upstream alertmanager
- Addition of orgId to the legacy alertmanager
- Support for always adding defaults to both routes and receivers while creating them
- Migration to create the required alertmanager tables
- Migration for msteams to msteamsv2 has been added. We will start using msteamv2 config for the new alertmanager and keep using msteams for the old one.
#### Related Issues / PR's
Closes https://github.com/SigNoz/platform-pod/issues/404
Closes https://github.com/SigNoz/platform-pod/issues/176
2025-03-09 20:00:42 +00:00
Srikanth Chekuri
cd1ec561b1
fix: compare op outside bounds for anomaly alert ( #6458 )
2024-11-16 20:17:34 +05:30
Srikanth Chekuri
9390a815a8
feat: add dot support for alerts ( #6062 )
2024-10-03 16:56:58 +05:30
Srikanth Chekuri
4f76e13dbe
feat: add ability to configure number of required points ( #5242 )
2024-10-03 16:48:32 +05:30
Srikanth Chekuri
419d2da363
feat: add anomaly rule ( #5973 )
2024-09-24 10:22:52 +05:30
Srikanth Chekuri
4edc6dbeae
feat: add last option to alert condition match type ( #5929 )
2024-09-19 23:21:31 +05:30
Srikanth Chekuri
49dd5f2ef7
chore: add enrichment in threshold rule ( #5925 )
2024-09-17 15:33:17 +05:30
Srikanth Chekuri
5698628839
chore: move some structs out of v3 ( #5932 )
2024-09-13 18:10:49 +05:30
Srikanth Chekuri
39f9fc6900
fix: missing related logs or traces links in alert notification ( #5946 )
2024-09-13 17:30:02 +05:30
Srikanth Chekuri
c79520c874
chore: add base rule and consolidate common logic ( #5849 )
2024-09-11 09:56:59 +05:30