Compare commits

...

5 Commits

Author SHA1 Message Date
René Jochum 011695bb61 Update changelog
Signed-off-by: René Jochum <rene@webmeisterei.com>
4 years ago
René Jochum bdb73f7a66 Support and/or/negate filters 4 years ago
René Jochum 7f29798b42 Allow more filter specific keys in v1/table/* queries 4 years ago
René Jochum 00585e2a22 Smaller changes to the buildsystem
Signed-off-by: René Jochum <rene@webmeisterei.com>
4 years ago
René Jochum b14d4acef8 Add hosts_* filter, change service_* filter 4 years ago

9
debian/changelog vendored

@ -1,6 +1,11 @@
lql-api (0.0.12-alpha) UNRELEASED; urgency=medium
lql-api (0.0.12-beta) RELEASED; urgency=medium
-- René Jochum <rene@webmeisterei.com> Sun, 04 Oct 2020 23:53:41 +0200
* Add hosts_* filter, change service_* filter
* Smaller changes to the buildsystem
* Allow more filter specific keys in v1/table/* queries
* Support and/or/negate filters
-- René Jochum <rene@webmeisterei.com> Thu, 08 Oct 2020 02:35:27 +0200
lql-api (0.0.11-alpha) UNRELEASED; urgency=medium

2
debian/gbp.conf vendored

@ -1,3 +1,3 @@
[DEFAULT]
debian-branch = debian/sid
debian-branch = master
dist = DEP14

@ -1,4 +0,0 @@
shlibs:Depends=libc6 (>= 2.4)
misc:Built-Using=golang-1.15 (= 1.15.2-1)
misc:Depends=
misc:Pre-Depends=

@ -35,7 +35,7 @@ $CURL "$SERVER/v1/table/hosts?columns=name&column=address&column=groups&limit=3"
$CURL "$SERVER/v1/stats/tactical_overview"
# Services
$CURL "$SERVER/v1/table/services?limit=1&filter=service_unhandled"
$CURL "$SERVER/v1/table/services?limit=1&filter=services_unhandled"
# Services by hostname
$CURL "$SERVER/v1/table/services?filter=Filter%3A%20host_name%20%3D%20checkmk01.%2A"

@ -13,6 +13,7 @@ var v1TableFilters = map[string][]string{}
func init() {
v1TableColumns = make(map[string][]string, 2) // Increment this when you add tables
v1TableColumns["hosts"] = []string{
"state",
"name",
"display_name",
"address",
@ -29,26 +30,47 @@ func init() {
"display_name",
"description",
"plugin_output",
"comments",
}
v1TableFilters = make(map[string][]string, 3)
v1TableFilters["service_problems"] = []string{
v1TableFilters = make(map[string][]string, 6)
v1TableFilters["services_problems"] = []string{
"Filter: state > 0",
"Filter: scheduled_downtime_depth = 0",
"Filter: host_scheduled_downtime_depth = 0",
"Filter: host_state = 0",
"And: 4",
}
v1TableFilters["service_unhandled"] = []string{
v1TableFilters["services_unhandled"] = []string{
"Filter: state > 0",
"Filter: scheduled_downtime_depth = 0",
"Filter: host_scheduled_downtime_depth = 0",
"Filter: acknowledged = 0",
"Filter: host_state = 0",
"And: 5",
}
v1TableFilters["service_stale"] = []string{
v1TableFilters["services_stale"] = []string{
"Filter: service_staleness >= 1.5",
"Filter: host_scheduled_downtime_depth = 0",
"Filter: service_scheduled_downtime_depth = 0",
"And: 3",
}
v1TableFilters["hosts_problems"] = []string{
"Filter: state >= 0",
"Filter: state > 0",
"Filter: scheduled_downtime_depth = 0",
"And: 3",
}
v1TableFilters["hosts_unhandled"] = []string{
"Filter: state > 0",
"Filter: scheduled_downtime_depth = 0",
"Filter: acknowledged = 0",
"And: 3",
}
v1TableFilters["hosts_stale"] = []string{
"Filter: host_staleness >= 1.5",
"Filter: host_scheduled_downtime_depth = 0",
"And: 2",
}
}
@ -102,7 +124,11 @@ func v1TableGet(c *gin.Context, params *v1TableGetParams) ([]gin.H, error) {
filters = append(filters, addFilters...)
continue
}
if filter[0:7] != "Filter:" {
if !strings.HasPrefix(filter, "Filter:") &&
!strings.HasPrefix(filter, "Negate:") &&
!strings.HasPrefix(filter, "Or:") &&
!strings.HasPrefix(filter, "And:") {
return nil, fmt.Errorf("Invalid Filter '%s' given", filter)
}

Loading…
Cancel
Save