Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type GCPLogEntry ¶
type GCPLogEntry struct {
LogName string `json:"logName"`
Resource struct {
Type string `json:"type"`
Labels map[string]string `json:"labels"`
} `json:"resource"`
Timestamp string `json:"timestamp"`
// The time the log entry was received by Logging.
// Its important that `Timestamp` is optional in GCE log entry.
ReceiveTimestamp string `json:"receiveTimestamp"`
TextPayload string `json:"textPayload"`
}
LogEntry that will be written to the pubsub topic. According to the following spec. https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry nolint: golint
type GcplogTarget ¶
type GcplogTarget struct {
// contains filtered or unexported fields
}
GcplogTarget represents the target specific to GCP project. It collects logs from GCP and push it to Loki. nolint:golint
func NewGcplogTarget ¶
func NewGcplogTarget( metrics *Metrics, logger log.Logger, handler api.EntryHandler, relabel []*relabel.Config, jobName string, config *scrapeconfig.GcplogTargetConfig, ) (*GcplogTarget, error)
NewGcplogTarget returns the new instannce of GcplogTarget for the given `project-id`. It scraps logs from the GCP project and push it Loki via given `api.EntryHandler.` It starts the `run` loop to consume log entries that can be stopped via `target.Stop()` nolint:golint,govet
func (*GcplogTarget) Details ¶
func (t *GcplogTarget) Details() interface{}
func (*GcplogTarget) DiscoveredLabels ¶
func (t *GcplogTarget) DiscoveredLabels() model.LabelSet
func (*GcplogTarget) Labels ¶
func (t *GcplogTarget) Labels() model.LabelSet
func (*GcplogTarget) Ready ¶
func (t *GcplogTarget) Ready() bool
func (*GcplogTarget) Stop ¶
func (t *GcplogTarget) Stop() error
func (*GcplogTarget) Type ¶
func (t *GcplogTarget) Type() target.TargetType
sent implements target.Target.
type GcplogTargetManager ¶
type GcplogTargetManager struct {
// contains filtered or unexported fields
}
nolint: golint
func NewGcplogTargetManager ¶
func NewGcplogTargetManager( metrics *Metrics, logger log.Logger, client api.EntryHandler, scrape []scrapeconfig.Config, ) (*GcplogTargetManager, error)
func (*GcplogTargetManager) ActiveTargets ¶
func (tm *GcplogTargetManager) ActiveTargets() map[string][]target.Target
func (*GcplogTargetManager) AllTargets ¶
func (tm *GcplogTargetManager) AllTargets() map[string][]target.Target
func (*GcplogTargetManager) Ready ¶
func (tm *GcplogTargetManager) Ready() bool
func (*GcplogTargetManager) Stop ¶
func (tm *GcplogTargetManager) Stop()
type Metrics ¶
type Metrics struct {
// contains filtered or unexported fields
}
Metrics stores gcplog entry mertrics.
func NewMetrics ¶
func NewMetrics(reg prometheus.Registerer) *Metrics
NewMetrics creates a new set of metrics. Metrics will be registered to reg.