Skip to content

Commit

Permalink
Logstash 6 support and DLQ metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
christoe committed Dec 20, 2017
1 parent c639834 commit dfaef24
Show file tree
Hide file tree
Showing 4 changed files with 310 additions and 186 deletions.
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.1.0
0.1.1
131 changes: 69 additions & 62 deletions collector/nodestats_api.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,73 @@ import (
"net/http"
)

// Pipeline type
type Pipeline struct {
Events struct {
DurationInMillis int `json:"duration_in_millis"`
In int `json:"in"`
Filtered int `json:"filtered"`
Out int `json:"out"`
} `json:"events"`
Plugins struct {
Inputs []struct {
ID string `json:"id"`
Events struct {
In int `json:"in"`
Out int `json:"out"`
} `json:"events"`
Name string `json:"name"`
} `json:"inputs,omitempty"`
Filters []struct {
ID string `json:"id"`
Events struct {
DurationInMillis int `json:"duration_in_millis"`
In int `json:"in"`
Out int `json:"out"`
} `json:"events,omitempty"`
Name string `json:"name"`
Matches int `json:"matches,omitempty"`
Failures int `json:"failures,omitempty"`
PatternsPerField struct {
CapturedRequestHeaders int `json:"captured_request_headers"`
} `json:"patterns_per_field,omitempty"`
Formats int `json:"formats,omitempty"`
} `json:"filters"`
Outputs []struct {
ID string `json:"id"`
Events struct {
In int `json:"in"`
Out int `json:"out"`
} `json:"events"`
Name string `json:"name"`
} `json:"outputs"`
} `json:"plugins"`
Reloads struct {
LastError interface{} `json:"last_error"`
Successes int `json:"successes"`
LastSuccessTimestamp interface{} `json:"last_success_timestamp"`
LastFailureTimestamp interface{} `json:"last_failure_timestamp"`
Failures int `json:"failures"`
} `json:"reloads"`
Queue struct {
Events int `json:"events"`
Type string `json:"type"`
Capacity struct {
PageCapacityInBytes int `json:"page_capacity_in_bytes"`
MaxQueueSizeInBytes int64 `json:"max_queue_size_in_bytes"`
MaxUnreadEvents int `json:"max_unread_events"`
} `json:"capacity"`
Data struct {
Path string `json:"path"`
FreeSpaceInBytes int64 `json:"free_space_in_bytes"`
StorageType string `json:"storage_type"`
} `json:"data"`
} `json:"queue"`
DeadLetterQueue struct {
QueueSizeInBytes int `json:"queue_size_in_bytes"`
} `json:"dead_letter_queue"`
}

// NodeStatsResponse type
type NodeStatsResponse struct {
Host string `json:"host"`
Expand Down Expand Up @@ -72,68 +139,8 @@ type NodeStatsResponse struct {
Percent int `json:"percent"`
} `json:"cpu"`
} `json:"process"`
Pipeline struct {
Events struct {
DurationInMillis int `json:"duration_in_millis"`
In int `json:"in"`
Filtered int `json:"filtered"`
Out int `json:"out"`
} `json:"events"`
Plugins struct {
Inputs []struct {
ID string `json:"id"`
Events struct {
In int `json:"in"`
Out int `json:"out"`
} `json:"events"`
Name string `json:"name"`
} `json:"inputs,omitempty"`
Filters []struct {
ID string `json:"id"`
Events struct {
DurationInMillis int `json:"duration_in_millis"`
In int `json:"in"`
Out int `json:"out"`
} `json:"events,omitempty"`
Name string `json:"name"`
Matches int `json:"matches,omitempty"`
Failures int `json:"failures,omitempty"`
PatternsPerField struct {
CapturedRequestHeaders int `json:"captured_request_headers"`
} `json:"patterns_per_field,omitempty"`
Formats int `json:"formats,omitempty"`
} `json:"filters"`
Outputs []struct {
ID string `json:"id"`
Events struct {
In int `json:"in"`
Out int `json:"out"`
} `json:"events"`
Name string `json:"name"`
} `json:"outputs"`
} `json:"plugins"`
Reloads struct {
LastError interface{} `json:"last_error"`
Successes int `json:"successes"`
LastSuccessTimestamp interface{} `json:"last_success_timestamp"`
LastFailureTimestamp interface{} `json:"last_failure_timestamp"`
Failures int `json:"failures"`
} `json:"reloads"`
Queue struct {
Events int `json:"events"`
Type string `json:"type"`
Capacity struct {
PageCapacityInBytes int `json:"page_capacity_in_bytes"`
MaxQueueSizeInBytes int64 `json:"max_queue_size_in_bytes"`
MaxUnreadEvents int `json:"max_unread_events"`
} `json:"capacity"`
Data struct {
Path string `json:"path"`
FreeSpaceInBytes int64 `json:"free_space_in_bytes"`
StorageType string `json:"storage_type"`
} `json:"data"`
} `json:"queue"`
} `json:"pipeline"`
Pipeline Pipeline `json:"pipeline"` // Logstash 5
Pipelines map[string]Pipeline `json:"pipelines"` // Logstash >=6
}

// HTTPHandler type
Expand Down
Loading

0 comments on commit dfaef24

Please sign in to comment.