Path: blob/main/component/loki/source/syslog/internal/syslogtarget/metrics.go
4097 views
package syslogtarget12// This code is copied from Promtail. The syslogtarget package is used to3// configure and run the targets that can read syslog entries and forward them4// to other loki components.56import "github.com/prometheus/client_golang/prometheus"78// Metrics holds a set of syslog metrics.9type Metrics struct {10reg prometheus.Registerer1112syslogEntries prometheus.Counter13syslogParsingErrors prometheus.Counter14syslogEmptyMessages prometheus.Counter15}1617// NewMetrics creates a new set of syslog metrics. If reg is non-nil, the18// metrics will be registered.19func NewMetrics(reg prometheus.Registerer) *Metrics {20var m Metrics21m.reg = reg2223m.syslogEntries = prometheus.NewCounter(prometheus.CounterOpts{24Name: "loki_source_syslog_entries_total",25Help: "Total number of successful entries sent to the syslog target",26})27m.syslogParsingErrors = prometheus.NewCounter(prometheus.CounterOpts{28Name: "loki_source_syslog_parsing_errors_total",29Help: "Total number of parsing errors while receiving syslog messages",30})31m.syslogEmptyMessages = prometheus.NewCounter(prometheus.CounterOpts{32Name: "loki_source_syslog_empty_messages_total",33Help: "Total number of empty messages received from syslog",34})3536if reg != nil {37reg.MustRegister(38m.syslogEntries,39m.syslogParsingErrors,40m.syslogEmptyMessages,41)42}4344return &m45}464748