Documentation
¶
Overview ¶
* Copyright (c) 2022 Manabu Sonoda * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Setup ¶
func Setup(bs json.RawMessage) (types.FilterPlugin, error)
Types ¶
type DnsMsgLabel ¶
type DnsMsgLabel struct {
// Label name
Name string
// You can see getter names https://pkg.go.dev/github.com/mimuret/dnsutils/getter#DnsMsgGetterName.
Attribute getter.DnsMsgGetterName
}
Specify if you want to get Prometheus label values from DNS messages.
type DnstapLabel ¶
type DnstapLabel struct {
// Label name
Name string
// getter func name
// You can see getter names https://pkg.go.dev/github.com/mimuret/dnsutils/getter#DnstapGetterName.
Attribute getter.DnstapGetterName
}
Specify if you want to get Prometheus label values from DNSTAP messages.
type Metrics ¶
type Metrics struct {
plugin.PluginCommon
Rules []*MetricsRule
}
func (*Metrics) Filter ¶
func (f *Metrics) Filter(dm *types.DnstapMessage) *types.DnstapMessage
type MetricsRule ¶
type MetricsRule struct {
// Use the filter setting if there are messages
// you want to exclude before calculating the
// metrics.
Filters plugin.FilterPlugins
// Specify if you want to get Prometheus
// label values from DNSTAP messages.
DnstapLabels []DnstapLabel
// Specify if you want to get Prometheus
// label values from DNS messages.
DnsMsgLabels []DnsMsgLabel
// prometheus.CounterOpts
// Set metrics name, constLabel, etc.
CounterOps prometheus.CounterOpts
// contains filtered or unexported fields
}
The Metrics plugin generates metrics. The generated metrics are output at the same time as the dtap metrics.
func (*MetricsRule) GetLabels ¶
func (c *MetricsRule) GetLabels(dm *types.DnstapMessage) []string
func (*MetricsRule) Setup ¶
func (c *MetricsRule) Setup() error