Graylog2 / Graylog2/graylog2-server
Collectors: Add semantic version comparison filters to instances table
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
## Context
Split from Graylog2/graylog-plugin-enterprise#13652 (sub-issue 1).
## Problem
The instances overview table supports basic text/exact-match filtering on the `version` column, but users cannot use comparison operators like `<`, `>`, `=` to filter by semantic version. This makes it difficult to identify outdated instances (e.g., "show all instances running a version older than 7.1").
## Current State
- `CollectorInstancesResource.java` marks `version` as `filterable(true)` and `searchable(true)`
- The `bsonFilterCreator` uses `AttributeFieldFilters.attributeArray("service.version")`, which only supports string matching
- The frontend `PaginatedEntityTable` filter UI has no concept of version comparison operators
## Suggested Approach
- Backend: implement a custom `bsonFilterCreator` for the `version` attribute that parses semver strings and supports `<`, `>`, `<=`, `>=`, `=` comparisons
- Frontend: extend the filter UI to offer comparison operators for version-type attributes
- Example use case: `version < 7.1` → show all instances running older versions
## Relevant Files
- `graylog2-server/src/main/java/org/graylog/collectors/rest/CollectorInstancesResource.java`
- `graylog2-web-interface/src/components/collectors/instances/CollectorsInstances.tsx`
Contributor guide
Assessment
This issue has not been assessed yet.