Graylog2 / Graylog2/graylog2-server
Rules in pipeline stage definitions should be referenced by a unique id not title
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
This is more of a UI usability problem than a real software bug.
Looking at at `api/plugins/org.graylog.plugins.pipelineprocessor/system/pipelines/pipeline`, we see that pipeline stage definitions reference rules by title and not their id:
```json
"stages": [
{
"stage": -1,
"match_all": true,
"rules": [
"Pass messages with Linux origin"
]
},
{
"stage": 0,
"match_all": false,
"rules": [
"Extract user name from SSH login",
"Extract RSA fingerprint from SSH login",
"Extract command parameters from sudo invocations"
]
}
]
```
Let's consider a rule A that is part of N different pipelines in S different stages (in any stage), where N is a bit bigger than very small say 10, and change just the title of that single rule, because the new title is better.
## Expected Behavior
The title should be changed and my many pipelines continue to work.
## Current Behavior
The stages in all pipelines where the rule is in break because the rule "has been renamed or removed. This rule will be skipped". I now get to go through all pipelines and fix the issue (rename) unless I employ a rule management script or similar automation through the API.
## Possible Solution
Link rules to stages by a unique object id, not the title which is shown in the user interface. This should remove a lot of friction in pipeline management through the UI.
## Your Environment
* Graylog Version: 2.2.2
* Elasticsearch Version: 2.4.4
* MongoDB Version: 3.4.2
* Operating System: Debian 8
* Browser version: Firefox 52.0
Contributor guide
Assessment
This issue has not been assessed yet.