|
|
|
@ -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)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|