From 1460781fcf724008242d79b7fdc7b1eebe9b2407 Mon Sep 17 00:00:00 2001 From: Piotr Gwizdala <17101802+thampiotr@users.noreply.github.com> Date: Mon, 7 Aug 2023 20:29:27 +0100 Subject: [PATCH] Compatible components links generation. --- Makefile | 8 +- component/metadata/metadata.go | 142 ++++++++++++ component/metadata/metadata_test.go | 51 +++++ component/registry.go | 8 + docs/docs_updated_test.go | 70 ++++++ docs/generator/compatible_components_page.go | 94 ++++++++ docs/generator/docs_generator.go | 86 +++++++ docs/generator/links_to_types.go | 115 ++++++++++ .../flow/reference/compatibility/_index.md | 209 ++++++++++++++++++ .../reference/components/discovery.azure.md | 13 ++ .../reference/components/discovery.consul.md | 13 ++ .../components/discovery.consulagent.md | 13 ++ .../components/discovery.digitalocean.md | 13 ++ .../reference/components/discovery.dns.md | 15 +- .../reference/components/discovery.docker.md | 13 ++ .../components/discovery.dockerswarm.md | 13 ++ .../reference/components/discovery.ec2.md | 13 ++ .../reference/components/discovery.eureka.md | 13 ++ .../reference/components/discovery.file.md | 15 +- .../reference/components/discovery.gce.md | 15 +- .../reference/components/discovery.hetzner.md | 13 ++ .../reference/components/discovery.http.md | 13 ++ .../reference/components/discovery.ionos.md | 13 ++ .../reference/components/discovery.kubelet.md | 13 ++ .../components/discovery.kubernetes.md | 13 ++ .../reference/components/discovery.kuma.md | 13 ++ .../components/discovery.lightsail.md | 13 ++ .../reference/components/discovery.linode.md | 15 +- .../components/discovery.marathon.md | 13 ++ .../reference/components/discovery.nerve.md | 13 ++ .../reference/components/discovery.nomad.md | 13 ++ .../components/discovery.openstack.md | 13 ++ .../components/discovery.puppetdb.md | 13 ++ .../reference/components/discovery.relabel.md | 16 ++ .../components/discovery.scaleway.md | 13 ++ .../components/discovery.serverset.md | 13 ++ .../reference/components/discovery.triton.md | 13 ++ .../reference/components/discovery.uyuni.md | 12 + .../reference/components/faro.receiver.md | 14 ++ .../flow/reference/components/local.file.md | 3 + .../reference/components/local.file_match.md | 17 ++ .../flow/reference/components/loki.echo.md | 13 ++ .../flow/reference/components/loki.process.md | 16 ++ .../flow/reference/components/loki.relabel.md | 16 ++ .../reference/components/loki.source.api.md | 13 ++ .../components/loki.source.awsfirehose.md | 13 ++ .../loki.source.azure_event_hubs.md | 14 +- .../components/loki.source.cloudflare.md | 13 ++ .../components/loki.source.docker.md | 15 ++ .../reference/components/loki.source.file.md | 15 ++ .../components/loki.source.gcplog.md | 13 ++ .../reference/components/loki.source.gelf.md | 13 ++ .../components/loki.source.heroku.md | 13 ++ .../components/loki.source.journal.md | 13 ++ .../reference/components/loki.source.kafka.md | 14 ++ .../components/loki.source.kubernetes.md | 15 ++ .../loki.source.kubernetes_events.md | 13 ++ .../components/loki.source.podlogs.md | 13 ++ .../components/loki.source.syslog.md | 13 ++ .../components/loki.source.windowsevent.md | 13 ++ .../flow/reference/components/loki.write.md | 13 ++ .../components/mimir.rules.kubernetes.md | 3 + .../flow/reference/components/module.file.md | 3 + .../flow/reference/components/module.git.md | 3 + .../flow/reference/components/module.http.md | 3 + .../reference/components/module.string.md | 3 + .../components/otelcol.auth.basic.md | 3 + .../components/otelcol.auth.bearer.md | 3 + .../components/otelcol.auth.headers.md | 3 + .../components/otelcol.auth.oauth2.md | 3 + .../components/otelcol.auth.sigv4.md | 3 + .../otelcol.connector.servicegraph.md | 4 +- .../components/otelcol.connector.spanlogs.md | 3 + .../otelcol.connector.spanmetrics.md | 3 + .../otelcol.exporter.loadbalancing.md | 3 + .../components/otelcol.exporter.logging.md | 3 + .../components/otelcol.exporter.loki.md | 16 +- .../components/otelcol.exporter.otlp.md | 3 + .../components/otelcol.exporter.otlphttp.md | 3 + .../components/otelcol.exporter.prometheus.md | 3 + ...telcol.extension.jaeger_remote_sampling.md | 3 + .../otelcol.processor.attributes.md | 3 + .../components/otelcol.processor.batch.md | 3 + .../components/otelcol.processor.discovery.md | 14 ++ .../components/otelcol.processor.filter.md | 3 + .../otelcol.processor.k8sattributes.md | 3 + .../otelcol.processor.memory_limiter.md | 3 + ...otelcol.processor.probabilistic_sampler.md | 3 + .../components/otelcol.processor.span.md | 3 + .../otelcol.processor.tail_sampling.md | 3 + .../components/otelcol.processor.transform.md | 3 + .../components/otelcol.receiver.jaeger.md | 3 + .../components/otelcol.receiver.kafka.md | 3 + .../components/otelcol.receiver.loki.md | 13 ++ .../components/otelcol.receiver.opencensus.md | 3 + .../components/otelcol.receiver.otlp.md | 3 + .../components/otelcol.receiver.prometheus.md | 3 + .../components/otelcol.receiver.zipkin.md | 3 + .../components/prometheus.exporter.agent.md | 14 ++ .../components/prometheus.exporter.apache.md | 13 ++ .../components/prometheus.exporter.azure.md | 13 ++ .../prometheus.exporter.blackbox.md | 13 ++ .../prometheus.exporter.cadvisor.md | 13 ++ .../prometheus.exporter.cloudwatch.md | 13 ++ .../components/prometheus.exporter.consul.md | 13 ++ .../components/prometheus.exporter.dnsmasq.md | 13 ++ .../prometheus.exporter.elasticsearch.md | 13 ++ .../components/prometheus.exporter.gcp.md | 13 ++ .../components/prometheus.exporter.github.md | 13 ++ .../components/prometheus.exporter.kafka.md | 13 ++ .../prometheus.exporter.memcached.md | 13 ++ .../components/prometheus.exporter.mongodb.md | 13 ++ .../components/prometheus.exporter.mssql.md | 13 ++ .../components/prometheus.exporter.mysql.md | 13 ++ .../prometheus.exporter.oracledb.md | 13 ++ .../prometheus.exporter.postgres.md | 13 ++ .../components/prometheus.exporter.process.md | 13 ++ .../components/prometheus.exporter.redis.md | 13 ++ .../components/prometheus.exporter.snmp.md | 13 ++ .../prometheus.exporter.snowflake.md | 13 ++ .../components/prometheus.exporter.squid.md | 13 ++ .../components/prometheus.exporter.statsd.md | 13 ++ .../components/prometheus.exporter.unix.md | 13 ++ .../components/prometheus.exporter.vsphere.md | 13 ++ .../components/prometheus.exporter.windows.md | 13 ++ .../prometheus.operator.podmonitors.md | 3 + .../components/prometheus.operator.probes.md | 3 + .../prometheus.operator.servicemonitors.md | 3 + .../components/prometheus.receive_http.md | 3 + .../components/prometheus.relabel.md | 3 + .../components/prometheus.remote_write.md | 3 + .../reference/components/prometheus.scrape.md | 14 ++ .../reference/components/pyroscope.ebpf.md | 54 +++++ .../reference/components/pyroscope.scrape.md | 14 ++ .../reference/components/pyroscope.write.md | 3 + .../flow/reference/components/remote.http.md | 3 + .../components/remote.kubernetes.configmap.md | 3 + .../components/remote.kubernetes.secret.md | 3 + .../flow/reference/components/remote.s3.md | 3 + .../flow/reference/components/remote.vault.md | 3 + 140 files changed, 2086 insertions(+), 8 deletions(-) create mode 100644 component/metadata/metadata.go create mode 100644 component/metadata/metadata_test.go create mode 100644 docs/docs_updated_test.go create mode 100644 docs/generator/compatible_components_page.go create mode 100644 docs/generator/docs_generator.go create mode 100644 docs/generator/links_to_types.go create mode 100644 docs/sources/flow/reference/compatibility/_index.md diff --git a/Makefile b/Makefile index 176287e03fd0..024a624d2223 100644 --- a/Makefile +++ b/Makefile @@ -287,7 +287,7 @@ smoke-image: # .PHONY: generate generate-crds generate-drone generate-helm-docs generate-helm-tests generate-manifests generate-dashboards generate-protos generate-ui generate-versioned-files -generate: generate-crds generate-drone generate-helm-docs generate-helm-tests generate-manifests generate-dashboards generate-protos generate-ui generate-versioned-files +generate: generate-crds generate-drone generate-helm-docs generate-helm-tests generate-manifests generate-dashboards generate-protos generate-ui generate-versioned-files generate-docs generate-crds: ifeq ($(USE_CONTAINER),1) @@ -350,6 +350,12 @@ else sh ./tools/gen-versioned-files/gen-versioned-files.sh endif +generate-docs: +ifeq ($(USE_CONTAINER),1) + $(RERUN_IN_CONTAINER) +else + go generate ./docs +endif # # Other targets # diff --git a/component/metadata/metadata.go b/component/metadata/metadata.go new file mode 100644 index 000000000000..3b16efaa75e5 --- /dev/null +++ b/component/metadata/metadata.go @@ -0,0 +1,142 @@ +package metadata + +import ( + "fmt" + "reflect" + + "github.com/grafana/agent/component" + _ "github.com/grafana/agent/component/all" + "github.com/grafana/agent/component/common/loki" + "github.com/grafana/agent/component/discovery" +) + +//TODO(thampiotr): Instead of metadata package reaching into registry, we'll migrate to using a YAML metadata file that +// contains information about all the components. This file will be generated separately from the +// registry and can be used by other tools. + +type Type struct { + Name string + // Returns true if provided args include this type (including nested structs) + ExistsInArgsFn func(args component.Arguments) bool + // Returns true if provided exports include this type (including nested structs) + ExistsInExportsFn func(exports component.Exports) bool +} + +var ( + // TypeTargets represents things that need to be scraped. + TypeTargets = Type{ + Name: "Targets", + ExistsInArgsFn: func(args component.Arguments) bool { + return hasFieldOfType(args, reflect.TypeOf([]discovery.Target{})) + }, + ExistsInExportsFn: func(exports component.Exports) bool { + return hasFieldOfType(exports, reflect.TypeOf([]discovery.Target{})) + }, + } + + // TypeLokiLogs represent logs in Loki format + TypeLokiLogs = Type{ + Name: "Loki `LogsReceiver`", + ExistsInArgsFn: func(args component.Arguments) bool { + return hasFieldOfType(args, reflect.TypeOf([]loki.LogsReceiver{})) + }, + ExistsInExportsFn: func(exports component.Exports) bool { + return hasFieldOfType(exports, reflect.TypeOf(loki.NewLogsReceiver())) + }, + } + + //TODO(thampiotr): add more types + //DataTypeOTELTelemetry = Type("OTEL Telemetry") + //DataTypePromMetrics = Type("Prometheus Metrics") + //DataTypePyroscopeProfiles = Type("Pyroscope Profiles") + + AllTypes = []Type{ + TypeTargets, + TypeLokiLogs, + } +) + +type Metadata struct { + Accepts []Type + Exports []Type +} + +func (m Metadata) Empty() bool { + return len(m.Accepts) == 0 && len(m.Exports) == 0 +} + +func (m Metadata) AcceptsType(t Type) bool { + for _, a := range m.Accepts { + if a.Name == t.Name { + return true + } + } + return false +} + +func (m Metadata) ExportsType(t Type) bool { + for _, o := range m.Exports { + if o.Name == t.Name { + return true + } + } + return false +} + +func ForComponent(name string) (Metadata, error) { + reg, ok := component.Get(name) + if !ok { + return Metadata{}, fmt.Errorf("could not find component %q", name) + } + return inferMetadata(reg.Args, reg.Exports), nil +} + +func inferMetadata(args component.Arguments, exports component.Exports) Metadata { + m := Metadata{} + for _, t := range AllTypes { + if t.ExistsInArgsFn(args) { + m.Accepts = append(m.Accepts, t) + } + if t.ExistsInExportsFn(exports) { + m.Exports = append(m.Exports, t) + } + } + return m +} + +func hasFieldOfType(obj interface{}, fieldType reflect.Type) bool { + objValue := reflect.ValueOf(obj) + + // If the object is a pointer, dereference it + for objValue.Kind() == reflect.Ptr { + objValue = objValue.Elem() + } + + // If the object is not a struct or interface, return false + if objValue.Kind() != reflect.Struct && objValue.Kind() != reflect.Interface { + return false + } + + for i := 0; i < objValue.NumField(); i++ { + fv := objValue.Field(i) + ft := fv.Type() + + // If the field type matches the given type, return true + if ft == fieldType { + return true + } + + if fv.Kind() == reflect.Interface && fieldType.AssignableTo(ft) { + return true + } + + // If the field is a struct, recursively check its fields + if fv.Kind() == reflect.Struct { + if hasFieldOfType(fv.Interface(), fieldType) { + return true + } + } + } + + return false +} diff --git a/component/metadata/metadata_test.go b/component/metadata/metadata_test.go new file mode 100644 index 000000000000..31bb80f4e76b --- /dev/null +++ b/component/metadata/metadata_test.go @@ -0,0 +1,51 @@ +package metadata + +import ( + "testing" + + "github.com/stretchr/testify/require" +) + +func Test_inferMetadata(t *testing.T) { + tests := []struct { + name string + expected Metadata + }{ + { + name: "discovery.dns", + expected: Metadata{Exports: []Type{TypeTargets}}, + }, + { + name: "discovery.relabel", + expected: Metadata{ + Accepts: []Type{TypeTargets}, + Exports: []Type{TypeTargets}, + }, + }, + { + name: "loki.echo", + expected: Metadata{Accepts: []Type{TypeLokiLogs}}, + }, + { + name: "loki.source.file", + expected: Metadata{ + Accepts: []Type{TypeTargets}, + Exports: []Type{TypeLokiLogs}, + }, + }, + { + name: "loki.process", + expected: Metadata{ + Accepts: []Type{TypeLokiLogs}, + Exports: []Type{TypeLokiLogs}, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + actual, err := ForComponent(tt.name) + require.NoError(t, err) + require.Equal(t, tt.expected, actual) + }) + } +} diff --git a/component/registry.go b/component/registry.go index 79b8bff2b574..11cc593b0ddd 100644 --- a/component/registry.go +++ b/component/registry.go @@ -10,6 +10,8 @@ import ( "github.com/grafana/regexp" "github.com/prometheus/client_golang/prometheus" "go.opentelemetry.io/otel/trace" + "golang.org/x/exp/maps" + "golang.org/x/exp/slices" ) // The parsedName of a component is the parts of its name ("remote.http") split @@ -202,3 +204,9 @@ func Get(name string) (Registration, bool) { r, ok := registered[name] return r, ok } + +func AllNames() []string { + keys := maps.Keys(registered) + slices.Sort(keys) + return keys +} diff --git a/docs/docs_updated_test.go b/docs/docs_updated_test.go new file mode 100644 index 000000000000..f041334d1e47 --- /dev/null +++ b/docs/docs_updated_test.go @@ -0,0 +1,70 @@ +package docs + +import ( + "flag" + "github.com/grafana/agent/component/metadata" + "strings" + "testing" + + "github.com/grafana/agent/component" + _ "github.com/grafana/agent/component/all" + "github.com/grafana/agent/docs/generator" + "github.com/stretchr/testify/require" +) + +// Run the below generate command to automatically update the Markdown docs with generated content +//go:generate go test -fix-tests + +var fixTestsFlag = flag.Bool("fix-tests", false, "update the test files with the current generated content") + +func TestLinksToTypesSectionsUpdated(t *testing.T) { + for _, name := range component.AllNames() { + t.Run(name, func(t *testing.T) { + runForGenerator(t, generator.NewLinksToTypesGenerator(name)) + }) + } +} + +func TestCompatibleComponentsPageUpdated(t *testing.T) { + path := "sources/flow/reference/compatibility/_index.md" + for _, typ := range metadata.AllTypes { + t.Run(typ.Name, func(t *testing.T) { + t.Run("exporters", func(t *testing.T) { + runForGenerator(t, generator.NewExportersListGenerator(typ, path)) + }) + t.Run("consumers", func(t *testing.T) { + runForGenerator(t, generator.NewConsumersListGenerator(typ, path)) + }) + }) + } +} + +func runForGenerator(t *testing.T, g generator.DocsGenerator) { + if *fixTestsFlag { + err := g.Write() + require.NoError(t, err, "failed to write generated content for: %q", g.Name()) + t.Log("updated the docs with generated content", g.Name()) + return + } + + generated, err := g.Generate() + require.NoError(t, err, "failed to generate: %q", g.Name()) + + if generated == "" { + actual, err := g.Read() + require.Error(t, err, "expected error when reading existing generated docs for %q", g.Name()) + require.Contains(t, err.Error(), "markers not found", "expected error to be about missing markers") + require.Empty(t, actual, "expected empty actual content for %q", g.Name()) + return + } + + actual, err := g.Read() + require.NoError(t, err, "failed to read existing generated docs for %q, try running 'go generate ./docs'", g.Name()) + require.Contains( + t, + actual, + strings.TrimSpace(generated), + "outdated docs detected when running %q, try updating with 'go generate ./docs'", + g.Name(), + ) +} diff --git a/docs/generator/compatible_components_page.go b/docs/generator/compatible_components_page.go new file mode 100644 index 000000000000..a3bf59ada2b6 --- /dev/null +++ b/docs/generator/compatible_components_page.go @@ -0,0 +1,94 @@ +package generator + +import ( + "fmt" + "strings" + + "github.com/grafana/agent/component/metadata" +) + +type CompatibleComponentsListGenerator struct { + filePath string + t metadata.Type + sectionName string + generateFn func() string +} + +func NewExportersListGenerator(t metadata.Type, filePath string) *CompatibleComponentsListGenerator { + return &CompatibleComponentsListGenerator{ + filePath: filePath, + t: t, + sectionName: "exporters", + generateFn: func() string { return listOfComponentsExporting(t) }, + } +} + +func NewConsumersListGenerator(t metadata.Type, filePath string) *CompatibleComponentsListGenerator { + return &CompatibleComponentsListGenerator{ + filePath: filePath, + t: t, + sectionName: "consumers", + generateFn: func() string { return listOfComponentsAccepting(t) }, + } +} + +func (c *CompatibleComponentsListGenerator) Name() string { + return fmt.Sprintf("generator of %s section for %q in %q", c.sectionName, c.t.Name, c.filePath) +} + +func (c *CompatibleComponentsListGenerator) Generate() (string, error) { + return c.generateFn(), nil +} + +func (c *CompatibleComponentsListGenerator) Read() (string, error) { + content, err := readBetweenMarkers(c.startMarker(), c.endMarker(), c.filePath) + if err != nil { + return "", fmt.Errorf("failed to read existing content for %q: %w", c.Name(), err) + } + return content, err +} + +func (c *CompatibleComponentsListGenerator) Write() error { + newSection, err := c.Generate() + if err != nil { + return err + } + newSection = "\n" + newSection + "\n" + return writeBetweenMarkers(c.startMarker(), c.endMarker(), c.filePath, newSection, false) +} + +func (c *CompatibleComponentsListGenerator) startMarker() string { + return fmt.Sprintf("", strings.ToUpper(c.sectionName), c.t.Name) +} + +func (c *CompatibleComponentsListGenerator) endMarker() string { + return fmt.Sprintf("", strings.ToUpper(c.sectionName), c.t.Name) +} + +func listOfComponentsAccepting(dataType metadata.Type) string { + return listOfLinksToComponents(allComponentsThatAccept(dataType)) +} + +func listOfComponentsExporting(dataType metadata.Type) string { + return listOfLinksToComponents(allComponentsThatExport(dataType)) +} + +func listOfLinksToComponents(components []string) string { + str := "" + groups := make(map[string][]string) + + for _, component := range components { + parts := strings.SplitN(component, ".", 2) + namespace := parts[0] + groups[namespace] = append(groups[namespace], component) + } + + for namespace, components := range groups { + str += fmt.Sprintf("\n{{< collapse title=%q >}}\n", namespace) + for _, component := range components { + str += fmt.Sprintf("- [%[1]s]({{< relref \"../components/%[1]s.md\" >}})\n", component) + } + str += fmt.Sprintf("{{< /collapse >}}\n") + } + return str +} diff --git a/docs/generator/docs_generator.go b/docs/generator/docs_generator.go new file mode 100644 index 000000000000..c4012cc14d74 --- /dev/null +++ b/docs/generator/docs_generator.go @@ -0,0 +1,86 @@ +package generator + +import ( + "bytes" + "fmt" + "os" + + "github.com/grafana/agent/component" + "github.com/grafana/agent/component/metadata" +) + +type DocsGenerator interface { + Name() string + Generate() (string, error) + Read() (string, error) + Write() error +} + +func allComponentsThat(f func(meta metadata.Metadata) bool) []string { + var result []string + for _, name := range component.AllNames() { + meta, err := metadata.ForComponent(name) + if err != nil { + panic(err) // should never happen + } + + if f(meta) { + result = append(result, name) + } + } + return result +} + +func allComponentsThatExport(dataType metadata.Type) []string { + return allComponentsThat(func(meta metadata.Metadata) bool { + return meta.ExportsType(dataType) + }) +} + +func allComponentsThatAccept(dataType metadata.Type) []string { + return allComponentsThat(func(meta metadata.Metadata) bool { + return meta.AcceptsType(dataType) + }) +} + +func writeBetweenMarkers(startMarker string, endMarker string, filePath string, content string, appendIfMissing bool) error { + fileContents, err := os.ReadFile(filePath) + if err != nil { + return err + } + + replacement := append(append([]byte(startMarker), []byte(content)...), []byte(endMarker)...) + + startIndex := bytes.Index(fileContents, []byte(startMarker)) + endIndex := bytes.LastIndex(fileContents, []byte(endMarker)) + var newFileContents []byte + if startIndex == -1 || endIndex == -1 { + if !appendIfMissing { + return fmt.Errorf("required markers %q and %q do not exist in %q", startMarker, endMarker, filePath) + } + // Append the new section to the end of the file + newFileContents = append(fileContents, replacement...) + } else { + // Replace the section with the new content + newFileContents = append(newFileContents, fileContents[:startIndex]...) + newFileContents = append(newFileContents, replacement...) + newFileContents = append(newFileContents, fileContents[endIndex+len(endMarker):]...) + } + err = os.WriteFile(filePath, newFileContents, 0644) + return err +} + +func readBetweenMarkers(startMarker string, endMarker string, filePath string) (string, error) { + fileContents, err := os.ReadFile(filePath) + if err != nil { + return "", err + } + + startIndex := bytes.Index(fileContents, []byte(startMarker)) + endIndex := bytes.LastIndex(fileContents, []byte(endMarker)) + if startIndex == -1 || endIndex == -1 { + return "", fmt.Errorf("markers not found: %q or %q", startMarker, endMarker) + } + + return string(fileContents[startIndex+len(startMarker) : endIndex]), nil +} diff --git a/docs/generator/links_to_types.go b/docs/generator/links_to_types.go new file mode 100644 index 000000000000..076745534d62 --- /dev/null +++ b/docs/generator/links_to_types.go @@ -0,0 +1,115 @@ +package generator + +import ( + "fmt" + "github.com/grafana/agent/component/metadata" + "regexp" + "strings" +) + +type LinksToTypesGenerator struct { + component string +} + +func NewLinksToTypesGenerator(component string) *LinksToTypesGenerator { + return &LinksToTypesGenerator{component: component} +} + +func (l *LinksToTypesGenerator) Name() string { + return fmt.Sprintf("generator of links to types for %q reference page", l.component) +} + +func (l *LinksToTypesGenerator) Generate() (string, error) { + meta, err := metadata.ForComponent(l.component) + if err != nil { + return "", err + } + if meta.Empty() { + return "", nil + } + + heading := "\n## Compatible components\n\n" + acceptingSection := acceptingComponentsSection(l.component, meta) + outputSection := outputComponentsSection(l.component, meta) + + if acceptingSection == "" && outputSection == "" { + return "", nil + } + + note := "\nNote that connecting some components may not be feasible or components may require further " + + "configuration to make the connection work correctly. " + + "Please refer to the linked documentation for more details.\n\n" + + return heading + acceptingSection + outputSection + note, nil +} + +func (l *LinksToTypesGenerator) Read() (string, error) { + content, err := readBetweenMarkers(l.startMarker(), l.endMarker(), l.pathToComponentMarkdown()) + if err != nil { + return "", fmt.Errorf("failed to read existing content for %q: %w", l.Name(), err) + } + return content, err +} + +func (l *LinksToTypesGenerator) Write() error { + newSection, err := l.Generate() + if err != nil { + return err + } + newSection = "\n" + newSection + "\n" + return writeBetweenMarkers(l.startMarker(), l.endMarker(), l.pathToComponentMarkdown(), newSection, true) +} + +func (l *LinksToTypesGenerator) startMarker() string { + return "" +} + +func (l *LinksToTypesGenerator) endMarker() string { + return "" +} + +func (l *LinksToTypesGenerator) pathToComponentMarkdown() string { + return fmt.Sprintf("sources/flow/reference/components/%s.md", l.component) +} + +func outputComponentsSection(name string, meta metadata.Metadata) string { + section := "" + for _, outputDataType := range meta.Exports { + if list := allComponentsThatAccept(outputDataType); len(list) > 0 { + section += fmt.Sprintf( + "- Components that consume [%s]({{< relref \"../compatibility/%s\" >}})\n", + outputDataType.Name, + anchorFor(outputDataType.Name, "consumers"), + ) + } + } + if section != "" { + section = fmt.Sprintf("`%s` has exports that can be consumed by the following components:\n\n", name) + section + } + return section +} + +func acceptingComponentsSection(componentName string, meta metadata.Metadata) string { + section := "" + for _, acceptedDataType := range meta.Accepts { + if list := allComponentsThatExport(acceptedDataType); len(list) > 0 { + section += fmt.Sprintf( + "- Components that export [%s]({{< relref \"../compatibility/%s\" >}})\n", + acceptedDataType.Name, + anchorFor(acceptedDataType.Name, "exporters"), + ) + } + } + if section != "" { + section = fmt.Sprintf("`%s` can accept arguments from the following components:\n\n", componentName) + section + "\n" + } + return section +} + +func anchorFor(parts ...string) string { + for i, s := range parts { + reg := regexp.MustCompile("[^a-z0-9-_]+") + parts[i] = reg.ReplaceAllString(strings.ReplaceAll(strings.ToLower(s), " ", "-"), "") + } + return "#" + strings.Join(parts, "-") +} diff --git a/docs/sources/flow/reference/compatibility/_index.md b/docs/sources/flow/reference/compatibility/_index.md new file mode 100644 index 000000000000..ef02225c5a4b --- /dev/null +++ b/docs/sources/flow/reference/compatibility/_index.md @@ -0,0 +1,209 @@ +--- +aliases: +- /docs/grafana-cloud/agent/flow/reference/compatible-components/ +- /docs/grafana-cloud/monitor-infrastructure/agent/flow/reference/compatible-components/ +- /docs/grafana-cloud/monitor-infrastructure/integrations/agent/flow/reference/compatible-components/ +- /docs/grafana-cloud/send-data/agent/flow/reference/compatible-components/ +canonical: https://grafana.com/docs/agent/latest/flow/reference/compatible-components/ +description: Learn about which components are compatible with each other in Grafana Agent Flow +title: Compatible components +weight: 400 +--- + +# Compatible components + +This section provides an overview of _some_ of the possible connections between +compatible components in Grafana Agent Flow. + +For each common telemetry data type, we provide a list of compatible components +that can export or consume it. + +> Note that connecting some components may require further configuration to make +> the connection work correctly. Please refer to the linked documentation for more +> details. + +## Loki `LogsReceiver` + +`LogsReceiver` is a [capsule]({{< relref "../../config-language/expressions/types_and_values/#capsules" >}}) +that is exported by components that can receive Loki logs. Components that +consume `LogsReceiver` as an argument typically send logs to it. Use the +following components to build your Loki logs pipeline: + + +### Loki `LogsReceiver` Exporters +Below are components that _export_ Loki `LogsReceiver` grouped by namespace. Click +on the namespace to expand and see more detail. + + + +{{< collapse title="otelcol" >}} +- [otelcol.receiver.loki]({{< relref "../components/otelcol.receiver.loki.md" >}}) +{{< /collapse >}} + +{{< collapse title="loki" >}} +- [loki.echo]({{< relref "../components/loki.echo.md" >}}) +- [loki.process]({{< relref "../components/loki.process.md" >}}) +- [loki.relabel]({{< relref "../components/loki.relabel.md" >}}) +- [loki.write]({{< relref "../components/loki.write.md" >}}) +{{< /collapse >}} + + + + +### Loki `LogsReceiver` Consumers +Below are components that _consume_ Loki `LogsReceiver` grouped by namespace. Click +on the namespace to expand and see more detail. + + + +{{< collapse title="faro" >}} +- [faro.receiver]({{< relref "../components/faro.receiver.md" >}}) +{{< /collapse >}} + +{{< collapse title="loki" >}} +- [loki.process]({{< relref "../components/loki.process.md" >}}) +- [loki.relabel]({{< relref "../components/loki.relabel.md" >}}) +- [loki.source.api]({{< relref "../components/loki.source.api.md" >}}) +- [loki.source.awsfirehose]({{< relref "../components/loki.source.awsfirehose.md" >}}) +- [loki.source.azure_event_hubs]({{< relref "../components/loki.source.azure_event_hubs.md" >}}) +- [loki.source.cloudflare]({{< relref "../components/loki.source.cloudflare.md" >}}) +- [loki.source.docker]({{< relref "../components/loki.source.docker.md" >}}) +- [loki.source.file]({{< relref "../components/loki.source.file.md" >}}) +- [loki.source.gcplog]({{< relref "../components/loki.source.gcplog.md" >}}) +- [loki.source.gelf]({{< relref "../components/loki.source.gelf.md" >}}) +- [loki.source.heroku]({{< relref "../components/loki.source.heroku.md" >}}) +- [loki.source.journal]({{< relref "../components/loki.source.journal.md" >}}) +- [loki.source.kafka]({{< relref "../components/loki.source.kafka.md" >}}) +- [loki.source.kubernetes]({{< relref "../components/loki.source.kubernetes.md" >}}) +- [loki.source.kubernetes_events]({{< relref "../components/loki.source.kubernetes_events.md" >}}) +- [loki.source.podlogs]({{< relref "../components/loki.source.podlogs.md" >}}) +- [loki.source.syslog]({{< relref "../components/loki.source.syslog.md" >}}) +- [loki.source.windowsevent]({{< relref "../components/loki.source.windowsevent.md" >}}) +{{< /collapse >}} + +{{< collapse title="otelcol" >}} +- [otelcol.exporter.loki]({{< relref "../components/otelcol.exporter.loki.md" >}}) +{{< /collapse >}} + + + +## Targets + +Targets are a `list(map(string))` - a [list]({{< relref "../../config-language/expressions/types_and_values/#naming-convention" >}}) of [maps]({{< relref "../../config-language/expressions/types_and_values/#naming-convention" >}}) with [string]({{< relref "../../config-language/expressions/types_and_values/#strings" >}}) values. As such, +they can contain different key-value pairs and can be used with a wide range of +components. Some components export Targets with key-value pairs specified in +the reference documentation, while other components accept Targets as arguments. +Some components require Targets to contain specific key-value pairs in order +to work correctly. It is recommended to always check component reference for +details when working with Targets. + + +### Targets Exporters +Below are components that _export_ Targets grouped by namespace. Click +on the namespace to expand and see more detail. + + + +{{< collapse title="local" >}} +- [local.file_match]({{< relref "../components/local.file_match.md" >}}) +{{< /collapse >}} + +{{< collapse title="prometheus" >}} +- [prometheus.exporter.agent]({{< relref "../components/prometheus.exporter.agent.md" >}}) +- [prometheus.exporter.apache]({{< relref "../components/prometheus.exporter.apache.md" >}}) +- [prometheus.exporter.azure]({{< relref "../components/prometheus.exporter.azure.md" >}}) +- [prometheus.exporter.blackbox]({{< relref "../components/prometheus.exporter.blackbox.md" >}}) +- [prometheus.exporter.cadvisor]({{< relref "../components/prometheus.exporter.cadvisor.md" >}}) +- [prometheus.exporter.cloudwatch]({{< relref "../components/prometheus.exporter.cloudwatch.md" >}}) +- [prometheus.exporter.consul]({{< relref "../components/prometheus.exporter.consul.md" >}}) +- [prometheus.exporter.dnsmasq]({{< relref "../components/prometheus.exporter.dnsmasq.md" >}}) +- [prometheus.exporter.elasticsearch]({{< relref "../components/prometheus.exporter.elasticsearch.md" >}}) +- [prometheus.exporter.gcp]({{< relref "../components/prometheus.exporter.gcp.md" >}}) +- [prometheus.exporter.github]({{< relref "../components/prometheus.exporter.github.md" >}}) +- [prometheus.exporter.kafka]({{< relref "../components/prometheus.exporter.kafka.md" >}}) +- [prometheus.exporter.memcached]({{< relref "../components/prometheus.exporter.memcached.md" >}}) +- [prometheus.exporter.mongodb]({{< relref "../components/prometheus.exporter.mongodb.md" >}}) +- [prometheus.exporter.mssql]({{< relref "../components/prometheus.exporter.mssql.md" >}}) +- [prometheus.exporter.mysql]({{< relref "../components/prometheus.exporter.mysql.md" >}}) +- [prometheus.exporter.oracledb]({{< relref "../components/prometheus.exporter.oracledb.md" >}}) +- [prometheus.exporter.postgres]({{< relref "../components/prometheus.exporter.postgres.md" >}}) +- [prometheus.exporter.process]({{< relref "../components/prometheus.exporter.process.md" >}}) +- [prometheus.exporter.redis]({{< relref "../components/prometheus.exporter.redis.md" >}}) +- [prometheus.exporter.snmp]({{< relref "../components/prometheus.exporter.snmp.md" >}}) +- [prometheus.exporter.snowflake]({{< relref "../components/prometheus.exporter.snowflake.md" >}}) +- [prometheus.exporter.squid]({{< relref "../components/prometheus.exporter.squid.md" >}}) +- [prometheus.exporter.statsd]({{< relref "../components/prometheus.exporter.statsd.md" >}}) +- [prometheus.exporter.unix]({{< relref "../components/prometheus.exporter.unix.md" >}}) +- [prometheus.exporter.vsphere]({{< relref "../components/prometheus.exporter.vsphere.md" >}}) +- [prometheus.exporter.windows]({{< relref "../components/prometheus.exporter.windows.md" >}}) +{{< /collapse >}} + +{{< collapse title="discovery" >}} +- [discovery.azure]({{< relref "../components/discovery.azure.md" >}}) +- [discovery.consul]({{< relref "../components/discovery.consul.md" >}}) +- [discovery.consulagent]({{< relref "../components/discovery.consulagent.md" >}}) +- [discovery.digitalocean]({{< relref "../components/discovery.digitalocean.md" >}}) +- [discovery.dns]({{< relref "../components/discovery.dns.md" >}}) +- [discovery.docker]({{< relref "../components/discovery.docker.md" >}}) +- [discovery.dockerswarm]({{< relref "../components/discovery.dockerswarm.md" >}}) +- [discovery.ec2]({{< relref "../components/discovery.ec2.md" >}}) +- [discovery.eureka]({{< relref "../components/discovery.eureka.md" >}}) +- [discovery.file]({{< relref "../components/discovery.file.md" >}}) +- [discovery.gce]({{< relref "../components/discovery.gce.md" >}}) +- [discovery.hetzner]({{< relref "../components/discovery.hetzner.md" >}}) +- [discovery.http]({{< relref "../components/discovery.http.md" >}}) +- [discovery.ionos]({{< relref "../components/discovery.ionos.md" >}}) +- [discovery.kubelet]({{< relref "../components/discovery.kubelet.md" >}}) +- [discovery.kubernetes]({{< relref "../components/discovery.kubernetes.md" >}}) +- [discovery.kuma]({{< relref "../components/discovery.kuma.md" >}}) +- [discovery.lightsail]({{< relref "../components/discovery.lightsail.md" >}}) +- [discovery.linode]({{< relref "../components/discovery.linode.md" >}}) +- [discovery.marathon]({{< relref "../components/discovery.marathon.md" >}}) +- [discovery.nerve]({{< relref "../components/discovery.nerve.md" >}}) +- [discovery.nomad]({{< relref "../components/discovery.nomad.md" >}}) +- [discovery.openstack]({{< relref "../components/discovery.openstack.md" >}}) +- [discovery.puppetdb]({{< relref "../components/discovery.puppetdb.md" >}}) +- [discovery.relabel]({{< relref "../components/discovery.relabel.md" >}}) +- [discovery.scaleway]({{< relref "../components/discovery.scaleway.md" >}}) +- [discovery.serverset]({{< relref "../components/discovery.serverset.md" >}}) +- [discovery.triton]({{< relref "../components/discovery.triton.md" >}}) +- [discovery.uyuni]({{< relref "../components/discovery.uyuni.md" >}}) +{{< /collapse >}} + + + + + +### Targets Consumers +Below are components that _consume_ Targets grouped by namespace. Click +on the namespace to expand and see more detail. + + + +{{< collapse title="otelcol" >}} +- [otelcol.processor.discovery]({{< relref "../components/otelcol.processor.discovery.md" >}}) +{{< /collapse >}} + +{{< collapse title="prometheus" >}} +- [prometheus.scrape]({{< relref "../components/prometheus.scrape.md" >}}) +{{< /collapse >}} + +{{< collapse title="pyroscope" >}} +- [pyroscope.scrape]({{< relref "../components/pyroscope.scrape.md" >}}) +{{< /collapse >}} + +{{< collapse title="discovery" >}} +- [discovery.relabel]({{< relref "../components/discovery.relabel.md" >}}) +{{< /collapse >}} + +{{< collapse title="local" >}} +- [local.file_match]({{< relref "../components/local.file_match.md" >}}) +{{< /collapse >}} + +{{< collapse title="loki" >}} +- [loki.source.docker]({{< relref "../components/loki.source.docker.md" >}}) +- [loki.source.file]({{< relref "../components/loki.source.file.md" >}}) +- [loki.source.kubernetes]({{< relref "../components/loki.source.kubernetes.md" >}}) +{{< /collapse >}} + + diff --git a/docs/sources/flow/reference/components/discovery.azure.md b/docs/sources/flow/reference/components/discovery.azure.md index 5192299a1eeb..85c78276032a 100644 --- a/docs/sources/flow/reference/components/discovery.azure.md +++ b/docs/sources/flow/reference/components/discovery.azure.md @@ -149,3 +149,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.azure` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.consul.md b/docs/sources/flow/reference/components/discovery.consul.md index 884fa1fe602f..1f39247be869 100644 --- a/docs/sources/flow/reference/components/discovery.consul.md +++ b/docs/sources/flow/reference/components/discovery.consul.md @@ -167,3 +167,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.consul` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.consulagent.md b/docs/sources/flow/reference/components/discovery.consulagent.md index 6ff793d1933e..13abc886da41 100644 --- a/docs/sources/flow/reference/components/discovery.consulagent.md +++ b/docs/sources/flow/reference/components/discovery.consulagent.md @@ -129,3 +129,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.consulagent` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.digitalocean.md b/docs/sources/flow/reference/components/discovery.digitalocean.md index 18b42714b421..6597c186d77e 100644 --- a/docs/sources/flow/reference/components/discovery.digitalocean.md +++ b/docs/sources/flow/reference/components/discovery.digitalocean.md @@ -120,3 +120,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.digitalocean` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.dns.md b/docs/sources/flow/reference/components/discovery.dns.md index 3a2615d5df29..45fbe2195f88 100644 --- a/docs/sources/flow/reference/components/discovery.dns.md +++ b/docs/sources/flow/reference/components/discovery.dns.md @@ -93,4 +93,17 @@ prometheus.remote_write "demo" { Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - - `PASSWORD`: The password to use for authentication to the remote_write API. \ No newline at end of file + - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.dns` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.docker.md b/docs/sources/flow/reference/components/discovery.docker.md index 076f00f75b21..de1d7fc600f7 100644 --- a/docs/sources/flow/reference/components/discovery.docker.md +++ b/docs/sources/flow/reference/components/discovery.docker.md @@ -215,3 +215,16 @@ Replace the following: > **NOTE**: This example requires the "Expose daemon on tcp://localhost:2375 > without TLS" setting to be enabled in the Docker Engine settings. + + + +## Compatible components + +`discovery.docker` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.dockerswarm.md b/docs/sources/flow/reference/components/discovery.dockerswarm.md index bf4eef2074e8..c29aea99c439 100644 --- a/docs/sources/flow/reference/components/discovery.dockerswarm.md +++ b/docs/sources/flow/reference/components/discovery.dockerswarm.md @@ -238,3 +238,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.dockerswarm` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.ec2.md b/docs/sources/flow/reference/components/discovery.ec2.md index 63a4cfc802f4..c9eb31828c1b 100644 --- a/docs/sources/flow/reference/components/discovery.ec2.md +++ b/docs/sources/flow/reference/components/discovery.ec2.md @@ -134,3 +134,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.ec2` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.eureka.md b/docs/sources/flow/reference/components/discovery.eureka.md index b2f7e73ad85c..ab64c6db2237 100644 --- a/docs/sources/flow/reference/components/discovery.eureka.md +++ b/docs/sources/flow/reference/components/discovery.eureka.md @@ -140,3 +140,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.eureka` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.file.md b/docs/sources/flow/reference/components/discovery.file.md index 402406ee32fd..29624ab556b2 100644 --- a/docs/sources/flow/reference/components/discovery.file.md +++ b/docs/sources/flow/reference/components/discovery.file.md @@ -172,4 +172,17 @@ prometheus.remote_write "demo" { Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - - `PASSWORD`: The password to use for authentication to the remote_write API. \ No newline at end of file + - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.file` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.gce.md b/docs/sources/flow/reference/components/discovery.gce.md index b7ca49aaf0e3..a0faf202b523 100644 --- a/docs/sources/flow/reference/components/discovery.gce.md +++ b/docs/sources/flow/reference/components/discovery.gce.md @@ -112,4 +112,17 @@ prometheus.remote_write "demo" { Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - - `PASSWORD`: The password to use for authentication to the remote_write API. \ No newline at end of file + - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.gce` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.hetzner.md b/docs/sources/flow/reference/components/discovery.hetzner.md index 1cf7f5c6ff72..6bd66a7d2af6 100644 --- a/docs/sources/flow/reference/components/discovery.hetzner.md +++ b/docs/sources/flow/reference/components/discovery.hetzner.md @@ -176,3 +176,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.hetzner` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.http.md b/docs/sources/flow/reference/components/discovery.http.md index c8fd0aa348f4..8a19b27b412b 100644 --- a/docs/sources/flow/reference/components/discovery.http.md +++ b/docs/sources/flow/reference/components/discovery.http.md @@ -168,3 +168,16 @@ discovery.http "dynamic_targets" { refresh_interval = "15s" } ``` + + + +## Compatible components + +`discovery.http` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.ionos.md b/docs/sources/flow/reference/components/discovery.ionos.md index 0017b5ea95e8..50affab15235 100644 --- a/docs/sources/flow/reference/components/discovery.ionos.md +++ b/docs/sources/flow/reference/components/discovery.ionos.md @@ -140,3 +140,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.ionos` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.kubelet.md b/docs/sources/flow/reference/components/discovery.kubelet.md index a99fdffa9739..13fb53f403ba 100644 --- a/docs/sources/flow/reference/components/discovery.kubelet.md +++ b/docs/sources/flow/reference/components/discovery.kubelet.md @@ -193,3 +193,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.kubelet` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.kubernetes.md b/docs/sources/flow/reference/components/discovery.kubernetes.md index 5b8cd870af6e..387349b8af48 100644 --- a/docs/sources/flow/reference/components/discovery.kubernetes.md +++ b/docs/sources/flow/reference/components/discovery.kubernetes.md @@ -493,3 +493,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.kubernetes` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.kuma.md b/docs/sources/flow/reference/components/discovery.kuma.md index 6e799a6147a8..ba278bf097d0 100644 --- a/docs/sources/flow/reference/components/discovery.kuma.md +++ b/docs/sources/flow/reference/components/discovery.kuma.md @@ -135,3 +135,16 @@ Replace the following: - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.kuma` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.lightsail.md b/docs/sources/flow/reference/components/discovery.lightsail.md index a2b47841217d..67911020bb79 100644 --- a/docs/sources/flow/reference/components/discovery.lightsail.md +++ b/docs/sources/flow/reference/components/discovery.lightsail.md @@ -99,3 +99,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.lightsail` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.linode.md b/docs/sources/flow/reference/components/discovery.linode.md index 5bad40f86174..eb074c2a6d97 100644 --- a/docs/sources/flow/reference/components/discovery.linode.md +++ b/docs/sources/flow/reference/components/discovery.linode.md @@ -174,4 +174,17 @@ prometheus.remote_write "demo" { } } } -``` \ No newline at end of file +``` + + + +## Compatible components + +`discovery.linode` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.marathon.md b/docs/sources/flow/reference/components/discovery.marathon.md index 194e8ca24107..cc398861f553 100644 --- a/docs/sources/flow/reference/components/discovery.marathon.md +++ b/docs/sources/flow/reference/components/discovery.marathon.md @@ -145,3 +145,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.marathon` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.nerve.md b/docs/sources/flow/reference/components/discovery.nerve.md index e9cd8afcbd60..c3268a7fbbad 100644 --- a/docs/sources/flow/reference/components/discovery.nerve.md +++ b/docs/sources/flow/reference/components/discovery.nerve.md @@ -97,3 +97,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.nerve` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.nomad.md b/docs/sources/flow/reference/components/discovery.nomad.md index 7df1466081fb..97a3d37486a6 100644 --- a/docs/sources/flow/reference/components/discovery.nomad.md +++ b/docs/sources/flow/reference/components/discovery.nomad.md @@ -146,3 +146,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.nomad` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.openstack.md b/docs/sources/flow/reference/components/discovery.openstack.md index 984fbf2fa4b4..0aafc52cb9ba 100644 --- a/docs/sources/flow/reference/components/discovery.openstack.md +++ b/docs/sources/flow/reference/components/discovery.openstack.md @@ -157,3 +157,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.openstack` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.puppetdb.md b/docs/sources/flow/reference/components/discovery.puppetdb.md index 3886b7d79726..0437747a46a1 100644 --- a/docs/sources/flow/reference/components/discovery.puppetdb.md +++ b/docs/sources/flow/reference/components/discovery.puppetdb.md @@ -156,3 +156,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.puppetdb` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.relabel.md b/docs/sources/flow/reference/components/discovery.relabel.md index 71b71fea5ef5..a401b40fcd56 100644 --- a/docs/sources/flow/reference/components/discovery.relabel.md +++ b/docs/sources/flow/reference/components/discovery.relabel.md @@ -123,3 +123,19 @@ discovery.relabel "keep_backend_only" { ``` + + +## Compatible components + +`discovery.relabel` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) + +`discovery.relabel` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.scaleway.md b/docs/sources/flow/reference/components/discovery.scaleway.md index 59263435ab1f..9ca0e33d3b7b 100644 --- a/docs/sources/flow/reference/components/discovery.scaleway.md +++ b/docs/sources/flow/reference/components/discovery.scaleway.md @@ -174,3 +174,16 @@ Replace the following: * `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. * `USERNAME`: The username to use for authentication to the remote_write API. * `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.scaleway` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.serverset.md b/docs/sources/flow/reference/components/discovery.serverset.md index c0ab1f130b6d..605ab258698d 100644 --- a/docs/sources/flow/reference/components/discovery.serverset.md +++ b/docs/sources/flow/reference/components/discovery.serverset.md @@ -95,3 +95,16 @@ prometheus.remote_write "default" { } } ``` + + + +## Compatible components + +`discovery.serverset` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.triton.md b/docs/sources/flow/reference/components/discovery.triton.md index 1b449010aef5..86bc1268e00b 100644 --- a/docs/sources/flow/reference/components/discovery.triton.md +++ b/docs/sources/flow/reference/components/discovery.triton.md @@ -129,3 +129,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`discovery.triton` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/discovery.uyuni.md b/docs/sources/flow/reference/components/discovery.uyuni.md index 5f6d415b472e..c19c29b3d8ba 100644 --- a/docs/sources/flow/reference/components/discovery.uyuni.md +++ b/docs/sources/flow/reference/components/discovery.uyuni.md @@ -124,3 +124,15 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + +## Compatible components + +`discovery.uyuni` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/faro.receiver.md b/docs/sources/flow/reference/components/faro.receiver.md index 99d23c2b0842..80ae370b4216 100644 --- a/docs/sources/flow/reference/components/faro.receiver.md +++ b/docs/sources/flow/reference/components/faro.receiver.md @@ -267,3 +267,17 @@ Replace the following: [loki.write]: {{< relref "./loki.write.md" >}} [otelcol.exporter.otlp]: {{< relref "./otelcol.exporter.otlp.md" >}} + + + +## Compatible components + +`faro.receiver` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/local.file.md b/docs/sources/flow/reference/components/local.file.md index 0199a088a71c..c6db8284181b 100644 --- a/docs/sources/flow/reference/components/local.file.md +++ b/docs/sources/flow/reference/components/local.file.md @@ -82,3 +82,6 @@ local.file "secret_key" { is_secret = true } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/local.file_match.md b/docs/sources/flow/reference/components/local.file_match.md index 72be1310a749..6e921cd44da2 100644 --- a/docs/sources/flow/reference/components/local.file_match.md +++ b/docs/sources/flow/reference/components/local.file_match.md @@ -145,3 +145,20 @@ Replace the following: - `LOKI_URL`: The URL of the Loki server to send logs to. - `USERNAME`: The username to use for authentication to the Loki API. - `PASSWORD`: The password to use for authentication to the Loki API. + + + +## Compatible components + +`local.file_match` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) + +`local.file_match` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.echo.md b/docs/sources/flow/reference/components/loki.echo.md index 4499bf3efde7..4acdab353b22 100644 --- a/docs/sources/flow/reference/components/loki.echo.md +++ b/docs/sources/flow/reference/components/loki.echo.md @@ -67,3 +67,16 @@ loki.source.file "logs" { loki.echo "example" { } ``` + + + +## Compatible components + +`loki.echo` has exports that can be consumed by the following components: + +- Components that consume [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.process.md b/docs/sources/flow/reference/components/loki.process.md index 0387bb3c0af8..865060057513 100644 --- a/docs/sources/flow/reference/components/loki.process.md +++ b/docs/sources/flow/reference/components/loki.process.md @@ -1694,3 +1694,19 @@ loki.process "local" { } } ``` + + +## Compatible components + +`loki.process` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + +`loki.process` has exports that can be consumed by the following components: + +- Components that consume [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.relabel.md b/docs/sources/flow/reference/components/loki.relabel.md index 14425715d3b2..5de76ca025f8 100644 --- a/docs/sources/flow/reference/components/loki.relabel.md +++ b/docs/sources/flow/reference/components/loki.relabel.md @@ -112,3 +112,19 @@ loki.relabel "keep_error_only" { } ``` + + +## Compatible components + +`loki.relabel` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + +`loki.relabel` has exports that can be consumed by the following components: + +- Components that consume [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.api.md b/docs/sources/flow/reference/components/loki.source.api.md index 966589bd64a1..0b05d693dbcd 100644 --- a/docs/sources/flow/reference/components/loki.source.api.md +++ b/docs/sources/flow/reference/components/loki.source.api.md @@ -117,3 +117,16 @@ loki.source.api "loki_push_api" { } ``` + + +## Compatible components + +`loki.source.api` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.awsfirehose.md b/docs/sources/flow/reference/components/loki.source.awsfirehose.md index b080adcaced9..02a2df87f3ed 100644 --- a/docs/sources/flow/reference/components/loki.source.awsfirehose.md +++ b/docs/sources/flow/reference/components/loki.source.awsfirehose.md @@ -196,3 +196,16 @@ loki.relabel "logging_origin" { forward_to = [] } ``` + + +## Compatible components + +`loki.source.awsfirehose` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.azure_event_hubs.md b/docs/sources/flow/reference/components/loki.source.azure_event_hubs.md index a90320e069ef..766050aa9331 100644 --- a/docs/sources/flow/reference/components/loki.source.azure_event_hubs.md +++ b/docs/sources/flow/reference/components/loki.source.azure_event_hubs.md @@ -134,4 +134,16 @@ loki.write "example" { url = "loki:3100/api/v1/push" } } -``` \ No newline at end of file +``` + +## Compatible components + +`loki.source.azure_event_hubs` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.cloudflare.md b/docs/sources/flow/reference/components/loki.source.cloudflare.md index 33d1bf0015a5..c2d7f02b6ca0 100644 --- a/docs/sources/flow/reference/components/loki.source.cloudflare.md +++ b/docs/sources/flow/reference/components/loki.source.cloudflare.md @@ -209,3 +209,16 @@ loki.write "local" { } } ``` + + +## Compatible components + +`loki.source.cloudflare` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.docker.md b/docs/sources/flow/reference/components/loki.source.docker.md index 0bb11ddecb17..c068390b96e6 100644 --- a/docs/sources/flow/reference/components/loki.source.docker.md +++ b/docs/sources/flow/reference/components/loki.source.docker.md @@ -153,3 +153,18 @@ loki.write "local" { } } ``` + + + +## Compatible components + +`loki.source.docker` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.file.md b/docs/sources/flow/reference/components/loki.source.file.md index 2e9c8d9f333b..b1f2abade095 100644 --- a/docs/sources/flow/reference/components/loki.source.file.md +++ b/docs/sources/flow/reference/components/loki.source.file.md @@ -234,3 +234,18 @@ loki.write "local" { ``` [IANA encoding]: https://www.iana.org/assignments/character-sets/character-sets.xhtml + + + +## Compatible components + +`loki.source.file` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.gcplog.md b/docs/sources/flow/reference/components/loki.source.gcplog.md index 3379a43c32a9..6d308849f275 100644 --- a/docs/sources/flow/reference/components/loki.source.gcplog.md +++ b/docs/sources/flow/reference/components/loki.source.gcplog.md @@ -193,3 +193,16 @@ loki.write "local" { } } ``` + + +## Compatible components + +`loki.source.gcplog` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.gelf.md b/docs/sources/flow/reference/components/loki.source.gelf.md index e8544fe0248f..6d0d24c55c96 100644 --- a/docs/sources/flow/reference/components/loki.source.gelf.md +++ b/docs/sources/flow/reference/components/loki.source.gelf.md @@ -89,3 +89,16 @@ loki.write "endpoint" { } } ``` + + +## Compatible components + +`loki.source.gelf` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.heroku.md b/docs/sources/flow/reference/components/loki.source.heroku.md index f98b00312062..42a62c6e7ba8 100644 --- a/docs/sources/flow/reference/components/loki.source.heroku.md +++ b/docs/sources/flow/reference/components/loki.source.heroku.md @@ -144,3 +144,16 @@ loki.write "local" { } } ``` + + +## Compatible components + +`loki.source.heroku` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.journal.md b/docs/sources/flow/reference/components/loki.source.journal.md index 26a1922b7aeb..ed7c82a2e448 100644 --- a/docs/sources/flow/reference/components/loki.source.journal.md +++ b/docs/sources/flow/reference/components/loki.source.journal.md @@ -101,3 +101,16 @@ loki.write "endpoint" { } } ``` + + +## Compatible components + +`loki.source.journal` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.kafka.md b/docs/sources/flow/reference/components/loki.source.kafka.md index 4110177d7d09..4d0d78823282 100644 --- a/docs/sources/flow/reference/components/loki.source.kafka.md +++ b/docs/sources/flow/reference/components/loki.source.kafka.md @@ -173,3 +173,17 @@ loki.write "local" { } } ``` + + + +## Compatible components + +`loki.source.kafka` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.kubernetes.md b/docs/sources/flow/reference/components/loki.source.kubernetes.md index cde01d3172bc..6cd3ad35e72b 100644 --- a/docs/sources/flow/reference/components/loki.source.kubernetes.md +++ b/docs/sources/flow/reference/components/loki.source.kubernetes.md @@ -199,3 +199,18 @@ loki.write "local" { } } ``` + + + +## Compatible components + +`loki.source.kubernetes` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.kubernetes_events.md b/docs/sources/flow/reference/components/loki.source.kubernetes_events.md index 9e7df1f037d9..8a06c201dd69 100644 --- a/docs/sources/flow/reference/components/loki.source.kubernetes_events.md +++ b/docs/sources/flow/reference/components/loki.source.kubernetes_events.md @@ -171,3 +171,16 @@ loki.write "local" { } } ``` + + +## Compatible components + +`loki.source.kubernetes_events` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.podlogs.md b/docs/sources/flow/reference/components/loki.source.podlogs.md index 9fd5ad109dcd..9e7560221c9e 100644 --- a/docs/sources/flow/reference/components/loki.source.podlogs.md +++ b/docs/sources/flow/reference/components/loki.source.podlogs.md @@ -290,3 +290,16 @@ loki.write "local" { } } ``` + + +## Compatible components + +`loki.source.podlogs` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.syslog.md b/docs/sources/flow/reference/components/loki.source.syslog.md index 3b91c152b8bc..5389d1fd7c5a 100644 --- a/docs/sources/flow/reference/components/loki.source.syslog.md +++ b/docs/sources/flow/reference/components/loki.source.syslog.md @@ -153,3 +153,16 @@ loki.write "local" { } ``` + + +## Compatible components + +`loki.source.syslog` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.source.windowsevent.md b/docs/sources/flow/reference/components/loki.source.windowsevent.md index 4c8faf4059f2..5658c6de84df 100644 --- a/docs/sources/flow/reference/components/loki.source.windowsevent.md +++ b/docs/sources/flow/reference/components/loki.source.windowsevent.md @@ -75,3 +75,16 @@ loki.write "endpoint" { } } ``` + + +## Compatible components + +`loki.source.windowsevent` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/loki.write.md b/docs/sources/flow/reference/components/loki.write.md index 4dd21097b720..da37664b7f60 100644 --- a/docs/sources/flow/reference/components/loki.write.md +++ b/docs/sources/flow/reference/components/loki.write.md @@ -233,3 +233,16 @@ loki.write "default" { `loki.write` uses [snappy](https://en.wikipedia.org/wiki/Snappy_(compression)) for compression. Any labels that start with `__` will be removed before sending to the endpoint. + + + +## Compatible components + +`loki.write` has exports that can be consumed by the following components: + +- Components that consume [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/mimir.rules.kubernetes.md b/docs/sources/flow/reference/components/mimir.rules.kubernetes.md index 88bc56acc751..b070a54c5701 100644 --- a/docs/sources/flow/reference/components/mimir.rules.kubernetes.md +++ b/docs/sources/flow/reference/components/mimir.rules.kubernetes.md @@ -267,3 +267,6 @@ roleRef: name: grafana-agent apiGroup: rbac.authorization.k8s.io ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/module.file.md b/docs/sources/flow/reference/components/module.file.md index 7e976cb5d861..34c148869557 100644 --- a/docs/sources/flow/reference/components/module.file.md +++ b/docs/sources/flow/reference/components/module.file.md @@ -163,3 +163,6 @@ prometheus.remote_write "grafana_cloud" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/module.git.md b/docs/sources/flow/reference/components/module.git.md index 21e9ad885486..744cc9fe8f54 100644 --- a/docs/sources/flow/reference/components/module.git.md +++ b/docs/sources/flow/reference/components/module.git.md @@ -215,3 +215,6 @@ module.git "add" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/module.http.md b/docs/sources/flow/reference/components/module.http.md index 959fdb48418f..7c30ef653c22 100644 --- a/docs/sources/flow/reference/components/module.http.md +++ b/docs/sources/flow/reference/components/module.http.md @@ -170,3 +170,6 @@ export "redis_targets" { Replace the following: - `REDIS_ADDR`: The address of your Redis instance. - `REDIS_PASSWORD_FILE`: The path to a file containing the password for your Redis instance. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/module.string.md b/docs/sources/flow/reference/components/module.string.md index 497c320ceae8..d8a9ef709656 100644 --- a/docs/sources/flow/reference/components/module.string.md +++ b/docs/sources/flow/reference/components/module.string.md @@ -161,3 +161,6 @@ prometheus.remote_write "grafana_cloud" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.auth.basic.md b/docs/sources/flow/reference/components/otelcol.auth.basic.md index 885eb53f09fa..54202d6be30d 100644 --- a/docs/sources/flow/reference/components/otelcol.auth.basic.md +++ b/docs/sources/flow/reference/components/otelcol.auth.basic.md @@ -77,3 +77,6 @@ otelcol.auth.basic "creds" { ``` [otelcol.exporter.otlp]: {{< relref "./otelcol.exporter.otlp.md" >}} + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.auth.bearer.md b/docs/sources/flow/reference/components/otelcol.auth.bearer.md index 718789603b49..b36f223bc63d 100644 --- a/docs/sources/flow/reference/components/otelcol.auth.bearer.md +++ b/docs/sources/flow/reference/components/otelcol.auth.bearer.md @@ -105,3 +105,6 @@ otelcol.auth.bearer "creds" { [otelcol.exporter.otlp]: {{< relref "./otelcol.exporter.otlp.md" >}} [otelcol.exporter.otlphttp]: {{< relref "./otelcol.exporter.otlphttp.md" >}} + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.auth.headers.md b/docs/sources/flow/reference/components/otelcol.auth.headers.md index bd93a9045e31..d423005e083d 100644 --- a/docs/sources/flow/reference/components/otelcol.auth.headers.md +++ b/docs/sources/flow/reference/components/otelcol.auth.headers.md @@ -117,3 +117,6 @@ otelcol.auth.headers "creds" { ``` [otelcol.exporter.otlp]: {{< relref "./otelcol.exporter.otlp.md" >}} + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.auth.oauth2.md b/docs/sources/flow/reference/components/otelcol.auth.oauth2.md index 3ef5bc26880a..2baa1c693fa0 100644 --- a/docs/sources/flow/reference/components/otelcol.auth.oauth2.md +++ b/docs/sources/flow/reference/components/otelcol.auth.oauth2.md @@ -122,3 +122,6 @@ otelcol.auth.oauth2 "creds" { ``` [otelcol.exporter.otlp]: {{< relref "./otelcol.exporter.otlp.md" >}} + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.auth.sigv4.md b/docs/sources/flow/reference/components/otelcol.auth.sigv4.md index e4fc91df2832..7f6a01af737e 100644 --- a/docs/sources/flow/reference/components/otelcol.auth.sigv4.md +++ b/docs/sources/flow/reference/components/otelcol.auth.sigv4.md @@ -173,3 +173,6 @@ otelcol.auth.sigv4 "creds" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md b/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md index 6b8f71dbc648..c734f536c3c3 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md +++ b/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md @@ -219,4 +219,6 @@ Some of the metrics in Mimir may look like this: ``` traces_service_graph_request_total{client="shop-backend",failed="false",server="article-service",client_http_method="DELETE",server_http_method="DELETE"} traces_service_graph_request_failed_total{client="shop-backend",client_http_method="POST",failed="false",server="auth-service",server_http_method="POST"} -``` \ No newline at end of file +``` + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md b/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md index 99c28fc3b15f..23474edaf6e3 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md +++ b/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md @@ -279,3 +279,6 @@ For an input trace like this... ] } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md b/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md index 029adcf45f60..26354b3bf4b9 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md +++ b/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md @@ -295,3 +295,6 @@ prometheus.remote_write "mimir" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md b/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md index f6951d828cf8..53aa568191e1 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md @@ -301,3 +301,6 @@ otelcol.exporter.loadbalancing "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.logging.md b/docs/sources/flow/reference/components/otelcol.exporter.logging.md index fe0c7886face..7145de6ea0d0 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.logging.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.logging.md @@ -107,3 +107,6 @@ otelcol.exporter.logging "default" { sampling_thereafter = 1 } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.loki.md b/docs/sources/flow/reference/components/otelcol.exporter.loki.md index 53d765e520ff..c4adab18a7b6 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.loki.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.loki.md @@ -157,4 +157,18 @@ loki.write "local" { } ``` -[Prometheus format](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels) \ No newline at end of file +[Prometheus format](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels) + + + +## Compatible components + +`otelcol.exporter.loki` can accept arguments from the following components: + +- Components that export [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/otelcol.exporter.otlp.md b/docs/sources/flow/reference/components/otelcol.exporter.otlp.md index 4b244627de03..c620c94367d2 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.otlp.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.otlp.md @@ -214,3 +214,6 @@ otelcol.auth.basic "grafana_cloud_tempo" { password = env("GRAFANA_CLOUD_API_KEY") } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md b/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md index c8242228f8b5..418529cf2ede 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md @@ -155,3 +155,6 @@ otelcol.exporter.otlphttp "tempo" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md b/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md index 584b30bd97e4..6b23e80c8561 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md @@ -110,3 +110,6 @@ prometheus.remote_write "mimir" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.extension.jaeger_remote_sampling.md b/docs/sources/flow/reference/components/otelcol.extension.jaeger_remote_sampling.md index 650407ff0a0b..f045d8205817 100644 --- a/docs/sources/flow/reference/components/otelcol.extension.jaeger_remote_sampling.md +++ b/docs/sources/flow/reference/components/otelcol.extension.jaeger_remote_sampling.md @@ -307,3 +307,6 @@ otelcol.extension.jaeger_remote_sampling "example" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.attributes.md b/docs/sources/flow/reference/components/otelcol.processor.attributes.md index 4125de260d9c..c8d8a0fdfeae 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.attributes.md +++ b/docs/sources/flow/reference/components/otelcol.processor.attributes.md @@ -634,3 +634,6 @@ otelcol.processor.attributes "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.batch.md b/docs/sources/flow/reference/components/otelcol.processor.batch.md index 27749b092f9f..709b1c68f5dd 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.batch.md +++ b/docs/sources/flow/reference/components/otelcol.processor.batch.md @@ -227,3 +227,6 @@ otelcol.exporter.otlp "production" { ``` [otelcol.exporter.otlp]: {{< relref "./otelcol.exporter.otlp.md" >}} + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.discovery.md b/docs/sources/flow/reference/components/otelcol.processor.discovery.md index cbeb805c862b..96214e465e3b 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.discovery.md +++ b/docs/sources/flow/reference/components/otelcol.processor.discovery.md @@ -191,3 +191,17 @@ otelcol.processor.discovery "default" { } } ``` + + + +## Compatible components + +`otelcol.processor.discovery` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/otelcol.processor.filter.md b/docs/sources/flow/reference/components/otelcol.processor.filter.md index e5220c60e59b..2a3a1272ff9f 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.filter.md +++ b/docs/sources/flow/reference/components/otelcol.processor.filter.md @@ -301,3 +301,6 @@ Some values in the River strings are [escaped][river-strings]: [HasAttrOnDataPoint]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/filterprocessor/README.md#hasattrondatapoint [OTTL booleans]: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.85.0/pkg/ottl#booleans [OTTL math expressions]: https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.85.0/pkg/ottl#math-expressions + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md b/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md index 7b323ddaeeea..aab0bed3f228 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md +++ b/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md @@ -410,3 +410,6 @@ prometheus.remote_write "mimir" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.memory_limiter.md b/docs/sources/flow/reference/components/otelcol.processor.memory_limiter.md index ec22aba18ec4..434527e6a109 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.memory_limiter.md +++ b/docs/sources/flow/reference/components/otelcol.processor.memory_limiter.md @@ -109,3 +109,6 @@ configuration. `otelcol.processor.memory_limiter` does not expose any component-specific debug information. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.probabilistic_sampler.md b/docs/sources/flow/reference/components/otelcol.processor.probabilistic_sampler.md index a6e23edf86bb..df9e650fd8da 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.probabilistic_sampler.md +++ b/docs/sources/flow/reference/components/otelcol.processor.probabilistic_sampler.md @@ -145,3 +145,6 @@ otelcol.processor.probabilistic_sampler "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.span.md b/docs/sources/flow/reference/components/otelcol.processor.span.md index 2484054ab7e3..1ea6ca1d697c 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.span.md +++ b/docs/sources/flow/reference/components/otelcol.processor.span.md @@ -388,3 +388,6 @@ otelcol.processor.span "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.tail_sampling.md b/docs/sources/flow/reference/components/otelcol.processor.tail_sampling.md index 990c49b322b1..6cc4dffc6083 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.tail_sampling.md +++ b/docs/sources/flow/reference/components/otelcol.processor.tail_sampling.md @@ -553,3 +553,6 @@ otelcol.exporter.otlp "production" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.processor.transform.md b/docs/sources/flow/reference/components/otelcol.processor.transform.md index 21704f6715d2..ac580605ccdc 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.transform.md +++ b/docs/sources/flow/reference/components/otelcol.processor.transform.md @@ -590,3 +590,6 @@ each `"` with a `\"`, and each `\` with a `\\` inside a [normal][river-strings] [OTTL metric context]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/{{< param "OTEL_VERSION" >}}/pkg/ottl/contexts/ottlmetric/README.md [OTTL datapoint context]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/{{< param "OTEL_VERSION" >}}/pkg/ottl/contexts/ottldatapoint/README.md [OTTL log context]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/{{< param "OTEL_VERSION" >}}/pkg/ottl/contexts/ottllog/README.md + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md b/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md index ce87557ffb9f..1ff88a8f4dd1 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md @@ -278,3 +278,6 @@ otelcol.exporter.otlp "default" { ## Technical details `otelcol.receiver.jaeger` supports [gzip](https://en.wikipedia.org/wiki/Gzip) for compression. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.kafka.md b/docs/sources/flow/reference/components/otelcol.receiver.kafka.md index 7e167e478645..8506959094a4 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.kafka.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.kafka.md @@ -330,3 +330,6 @@ otelcol.exporter.otlp "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.loki.md b/docs/sources/flow/reference/components/otelcol.receiver.loki.md index 91344de46276..1c064ac2833d 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.loki.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.loki.md @@ -99,3 +99,16 @@ otelcol.exporter.otlp "default" { } } ``` + + + +## Compatible components + +`otelcol.receiver.loki` has exports that can be consumed by the following components: + +- Components that consume [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md b/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md index 457feaf34cfd..52c915542dfe 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md @@ -210,3 +210,6 @@ otelcol.exporter.otlp "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.otlp.md b/docs/sources/flow/reference/components/otelcol.receiver.otlp.md index c995dca6d57e..981a5be2c132 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.otlp.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.otlp.md @@ -248,3 +248,6 @@ otelcol.exporter.otlp "default" { ## Technical details `otelcol.receiver.otlp` supports [gzip](https://en.wikipedia.org/wiki/Gzip) for compression. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md b/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md index 25bf3e9f4497..d4335c1fa94f 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md @@ -99,3 +99,6 @@ otelcol.exporter.otlp "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md b/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md index 1927861df7ad..3ab47c0c121b 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md @@ -143,3 +143,6 @@ otelcol.exporter.otlp "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/prometheus.exporter.agent.md b/docs/sources/flow/reference/components/prometheus.exporter.agent.md index 7b2245fbd652..675fdc2d06d8 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.agent.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.agent.md @@ -70,3 +70,17 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + + +## Compatible components + +`prometheus.exporter.agent` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.apache.md b/docs/sources/flow/reference/components/prometheus.exporter.apache.md index 5f060b9dc70d..2e9fa29c59c2 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.apache.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.apache.md @@ -87,3 +87,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.apache` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.azure.md b/docs/sources/flow/reference/components/prometheus.exporter.azure.md index 7abc09666344..59d1c599633f 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.azure.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.azure.md @@ -148,3 +148,16 @@ Replace the following: - `PROMETHEUS_REMOTE_WRITE_URL`: The URL of the Prometheus remote_write-compatible server to send metrics to. - `USERNAME`: The username to use for authentication to the remote_write API. - `PASSWORD`: The password to use for authentication to the remote_write API. + + + +## Compatible components + +`prometheus.exporter.azure` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.blackbox.md b/docs/sources/flow/reference/components/prometheus.exporter.blackbox.md index 2b4faacbfbc6..28363ad96d22 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.blackbox.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.blackbox.md @@ -189,3 +189,16 @@ Replace the following: [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.blackbox` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.cadvisor.md b/docs/sources/flow/reference/components/prometheus.exporter.cadvisor.md index 845a0fe0adec..f184ad0e5b46 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.cadvisor.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.cadvisor.md @@ -126,3 +126,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.cadvisor` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md b/docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md index 6fc15b290106..57a9c78c96a2 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md @@ -457,3 +457,16 @@ discovery job, the `type` field of each `discovery_job` must match either the de - Namespace: `/aws/sagemaker/TransformJobs` or Alias: `sagemaker-transform` - Namespace: `/aws/sagemaker/InferenceRecommendationsJobs` or Alias: `sagemaker-inf-rec` - Namespace: `AWS/Sagemaker/ModelBuildingPipeline` or Alias: `sagemaker-model-building-pipeline` + + + +## Compatible components + +`prometheus.exporter.cloudwatch` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.consul.md b/docs/sources/flow/reference/components/prometheus.exporter.consul.md index f8344b3a1b69..f7afe150b2b1 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.consul.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.consul.md @@ -97,3 +97,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.consul` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.dnsmasq.md b/docs/sources/flow/reference/components/prometheus.exporter.dnsmasq.md index ef2cde17f49b..5a3969276302 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.dnsmasq.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.dnsmasq.md @@ -87,3 +87,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.dnsmasq` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.elasticsearch.md b/docs/sources/flow/reference/components/prometheus.exporter.elasticsearch.md index 4b17ab0602bc..5b8029d3d459 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.elasticsearch.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.elasticsearch.md @@ -111,3 +111,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.elasticsearch` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.gcp.md b/docs/sources/flow/reference/components/prometheus.exporter.gcp.md index 1d76b646f518..da2d44ccd8f3 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.gcp.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.gcp.md @@ -172,3 +172,16 @@ prometheus.exporter.gcp "lb_subset_with_filter" { ] } ``` + + + +## Compatible components + +`prometheus.exporter.gcp` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.github.md b/docs/sources/flow/reference/components/prometheus.exporter.github.md index d0cf3620a251..bb004fa95166 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.github.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.github.md @@ -95,3 +95,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.github` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.kafka.md b/docs/sources/flow/reference/components/prometheus.exporter.kafka.md index 345ee443dda4..5ae23e068b8a 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.kafka.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.kafka.md @@ -107,3 +107,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.kafka` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.memcached.md b/docs/sources/flow/reference/components/prometheus.exporter.memcached.md index 92330cb70893..adebcd36d976 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.memcached.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.memcached.md @@ -99,3 +99,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.memcached` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.mongodb.md b/docs/sources/flow/reference/components/prometheus.exporter.mongodb.md index bd3b03ed04f4..efc3e8ee4993 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.mongodb.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.mongodb.md @@ -89,3 +89,16 @@ prometheus.remote_write "default" { ``` [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.mongodb` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.mssql.md b/docs/sources/flow/reference/components/prometheus.exporter.mssql.md index 84786ee074a0..617783ab977b 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.mssql.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.mssql.md @@ -100,3 +100,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.mssql` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.mysql.md b/docs/sources/flow/reference/components/prometheus.exporter.mysql.md index 1d3ef28d816b..341bae397b8a 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.mysql.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.mysql.md @@ -212,3 +212,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.mysql` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.oracledb.md b/docs/sources/flow/reference/components/prometheus.exporter.oracledb.md index c1449d56076c..7aea81b00b7f 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.oracledb.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.oracledb.md @@ -100,3 +100,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.oracledb` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.postgres.md b/docs/sources/flow/reference/components/prometheus.exporter.postgres.md index f76f7bacf86d..8b31bfadb434 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.postgres.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.postgres.md @@ -213,3 +213,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.postgres` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.process.md b/docs/sources/flow/reference/components/prometheus.exporter.process.md index 284bcd204cda..05e2ccf62bb4 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.process.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.process.md @@ -133,3 +133,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.process` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.redis.md b/docs/sources/flow/reference/components/prometheus.exporter.redis.md index acc5ade5b32a..2fadfe85ccab 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.redis.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.redis.md @@ -131,3 +131,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.redis` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.snmp.md b/docs/sources/flow/reference/components/prometheus.exporter.snmp.md index 47a0444110d9..12fac31e2ac8 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.snmp.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.snmp.md @@ -198,3 +198,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.snmp` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.snowflake.md b/docs/sources/flow/reference/components/prometheus.exporter.snowflake.md index e290817292a4..91a78293cca0 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.snowflake.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.snowflake.md @@ -101,3 +101,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.snowflake` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.squid.md b/docs/sources/flow/reference/components/prometheus.exporter.squid.md index b23dc1d0317e..3c8de416f9e9 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.squid.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.squid.md @@ -93,3 +93,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.squid` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.statsd.md b/docs/sources/flow/reference/components/prometheus.exporter.statsd.md index 68c9fc78bf95..7f7ccad1c5f3 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.statsd.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.statsd.md @@ -126,3 +126,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.statsd` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.unix.md b/docs/sources/flow/reference/components/prometheus.exporter.unix.md index 09c4c262914c..b55949f64b54 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.unix.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.unix.md @@ -409,3 +409,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.unix` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.vsphere.md b/docs/sources/flow/reference/components/prometheus.exporter.vsphere.md index f9231788ef8e..1c2f752403fa 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.vsphere.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.vsphere.md @@ -89,3 +89,16 @@ prometheus.remote_write "default" { ``` [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.vsphere` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.windows.md b/docs/sources/flow/reference/components/prometheus.exporter.windows.md index f06aba58eaa2..e4c3a55b256a 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.windows.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.windows.md @@ -302,3 +302,16 @@ Replace the following: - `PASSWORD`: The password to use for authentication to the remote_write API. [scrape]: {{< relref "./prometheus.scrape.md" >}} + + + +## Compatible components + +`prometheus.exporter.windows` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/prometheus.operator.podmonitors.md b/docs/sources/flow/reference/components/prometheus.operator.podmonitors.md index 2bdf486982fd..8abcb6e5160e 100644 --- a/docs/sources/flow/reference/components/prometheus.operator.podmonitors.md +++ b/docs/sources/flow/reference/components/prometheus.operator.podmonitors.md @@ -256,3 +256,6 @@ prometheus.operator.podmonitors "pods" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/prometheus.operator.probes.md b/docs/sources/flow/reference/components/prometheus.operator.probes.md index 693ae045d0f7..208e5021060d 100644 --- a/docs/sources/flow/reference/components/prometheus.operator.probes.md +++ b/docs/sources/flow/reference/components/prometheus.operator.probes.md @@ -256,3 +256,6 @@ prometheus.operator.probes "probes" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/prometheus.operator.servicemonitors.md b/docs/sources/flow/reference/components/prometheus.operator.servicemonitors.md index 362abb38d90f..86e2d848573c 100644 --- a/docs/sources/flow/reference/components/prometheus.operator.servicemonitors.md +++ b/docs/sources/flow/reference/components/prometheus.operator.servicemonitors.md @@ -257,3 +257,6 @@ prometheus.operator.servicemonitors "services" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/prometheus.receive_http.md b/docs/sources/flow/reference/components/prometheus.receive_http.md index 54583a453ed5..cefa967b6d81 100644 --- a/docs/sources/flow/reference/components/prometheus.receive_http.md +++ b/docs/sources/flow/reference/components/prometheus.receive_http.md @@ -129,3 +129,6 @@ prometheus.remote_write "local" { ## Technical details `prometheus.receive_http` uses [snappy](https://en.wikipedia.org/wiki/Snappy_(compression)) for compression. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/prometheus.relabel.md b/docs/sources/flow/reference/components/prometheus.relabel.md index 9eb0362f82df..86a89fe63d8b 100644 --- a/docs/sources/flow/reference/components/prometheus.relabel.md +++ b/docs/sources/flow/reference/components/prometheus.relabel.md @@ -168,3 +168,6 @@ metric_a{host = "cluster_a/production", __address__ = "cluster_a", app = "backe The two resulting metrics are then propagated to each receiver defined in the `forward_to` argument. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/prometheus.remote_write.md b/docs/sources/flow/reference/components/prometheus.remote_write.md index ca8ab98051c2..8d29663f8daf 100644 --- a/docs/sources/flow/reference/components/prometheus.remote_write.md +++ b/docs/sources/flow/reference/components/prometheus.remote_write.md @@ -405,3 +405,6 @@ Any labels that start with `__` will be removed before sending to the endpoint. {{< docs/shared source="agent" lookup="/wal-data-retention.md" version="" >}} + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/prometheus.scrape.md b/docs/sources/flow/reference/components/prometheus.scrape.md index d51bfa30f963..7973c61f20d8 100644 --- a/docs/sources/flow/reference/components/prometheus.scrape.md +++ b/docs/sources/flow/reference/components/prometheus.scrape.md @@ -287,3 +287,17 @@ Special labels added after a scrape * `__name__` is the label name indicating the metric name of a timeseries. * `job` is the label name indicating the job from which a timeseries was scraped. * `instance` is the label name used for the instance label. + + + +## Compatible components + +`prometheus.scrape` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/pyroscope.ebpf.md b/docs/sources/flow/reference/components/pyroscope.ebpf.md index cb3d436cecf7..04a02579280f 100644 --- a/docs/sources/flow/reference/components/pyroscope.ebpf.md +++ b/docs/sources/flow/reference/components/pyroscope.ebpf.md @@ -288,3 +288,57 @@ pyroscope.ebpf "default" { targets = discovery.relabel.local_containers.output } ``` + + +## Compatible components + +`pyroscope.ebpf` can accept data from the following components: + +- Components that output Targets: + - [`discovery.azure`]({{< relref "../components/discovery.azure.md" >}}) + - [`discovery.consul`]({{< relref "../components/discovery.consul.md" >}}) + - [`discovery.digitalocean`]({{< relref "../components/discovery.digitalocean.md" >}}) + - [`discovery.dns`]({{< relref "../components/discovery.dns.md" >}}) + - [`discovery.docker`]({{< relref "../components/discovery.docker.md" >}}) + - [`discovery.ec2`]({{< relref "../components/discovery.ec2.md" >}}) + - [`discovery.eureka`]({{< relref "../components/discovery.eureka.md" >}}) + - [`discovery.file`]({{< relref "../components/discovery.file.md" >}}) + - [`discovery.gce`]({{< relref "../components/discovery.gce.md" >}}) + - [`discovery.hetzner`]({{< relref "../components/discovery.hetzner.md" >}}) + - [`discovery.http`]({{< relref "../components/discovery.http.md" >}}) + - [`discovery.kubelet`]({{< relref "../components/discovery.kubelet.md" >}}) + - [`discovery.kubernetes`]({{< relref "../components/discovery.kubernetes.md" >}}) + - [`discovery.lightsail`]({{< relref "../components/discovery.lightsail.md" >}}) + - [`discovery.nomad`]({{< relref "../components/discovery.nomad.md" >}}) + - [`discovery.openstack`]({{< relref "../components/discovery.openstack.md" >}}) + - [`discovery.relabel`]({{< relref "../components/discovery.relabel.md" >}}) + - [`discovery.uyuni`]({{< relref "../components/discovery.uyuni.md" >}}) + - [`local.file_match`]({{< relref "../components/local.file_match.md" >}}) + - [`prometheus.exporter.apache`]({{< relref "../components/prometheus.exporter.apache.md" >}}) + - [`prometheus.exporter.blackbox`]({{< relref "../components/prometheus.exporter.blackbox.md" >}}) + - [`prometheus.exporter.cloudwatch`]({{< relref "../components/prometheus.exporter.cloudwatch.md" >}}) + - [`prometheus.exporter.consul`]({{< relref "../components/prometheus.exporter.consul.md" >}}) + - [`prometheus.exporter.dnsmasq`]({{< relref "../components/prometheus.exporter.dnsmasq.md" >}}) + - [`prometheus.exporter.elasticsearch`]({{< relref "../components/prometheus.exporter.elasticsearch.md" >}}) + - [`prometheus.exporter.gcp`]({{< relref "../components/prometheus.exporter.gcp.md" >}}) + - [`prometheus.exporter.github`]({{< relref "../components/prometheus.exporter.github.md" >}}) + - [`prometheus.exporter.kafka`]({{< relref "../components/prometheus.exporter.kafka.md" >}}) + - [`prometheus.exporter.memcached`]({{< relref "../components/prometheus.exporter.memcached.md" >}}) + - [`prometheus.exporter.mongodb`]({{< relref "../components/prometheus.exporter.mongodb.md" >}}) + - [`prometheus.exporter.mssql`]({{< relref "../components/prometheus.exporter.mssql.md" >}}) + - [`prometheus.exporter.mysql`]({{< relref "../components/prometheus.exporter.mysql.md" >}}) + - [`prometheus.exporter.oracledb`]({{< relref "../components/prometheus.exporter.oracledb.md" >}}) + - [`prometheus.exporter.postgres`]({{< relref "../components/prometheus.exporter.postgres.md" >}}) + - [`prometheus.exporter.process`]({{< relref "../components/prometheus.exporter.process.md" >}}) + - [`prometheus.exporter.redis`]({{< relref "../components/prometheus.exporter.redis.md" >}}) + - [`prometheus.exporter.snmp`]({{< relref "../components/prometheus.exporter.snmp.md" >}}) + - [`prometheus.exporter.snowflake`]({{< relref "../components/prometheus.exporter.snowflake.md" >}}) + - [`prometheus.exporter.squid`]({{< relref "../components/prometheus.exporter.squid.md" >}}) + - [`prometheus.exporter.statsd`]({{< relref "../components/prometheus.exporter.statsd.md" >}}) + - [`prometheus.exporter.unix`]({{< relref "../components/prometheus.exporter.unix.md" >}}) + - [`prometheus.exporter.windows`]({{< relref "../components/prometheus.exporter.windows.md" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + diff --git a/docs/sources/flow/reference/components/pyroscope.scrape.md b/docs/sources/flow/reference/components/pyroscope.scrape.md index 1d7e514b6732..1c64548705e3 100644 --- a/docs/sources/flow/reference/components/pyroscope.scrape.md +++ b/docs/sources/flow/reference/components/pyroscope.scrape.md @@ -428,3 +428,17 @@ http://localhost:12345/debug/pprof/goroutine http://localhost:12345/debug/pprof/profile?seconds=14 http://localhost:12345/debug/fgprof?seconds=14 ``` + + + +## Compatible components + +`pyroscope.scrape` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) + + +Note that connecting some components may not be feasible or components may require further configuration to make the connection work correctly. Please refer to the linked documentation for more details. + + + diff --git a/docs/sources/flow/reference/components/pyroscope.write.md b/docs/sources/flow/reference/components/pyroscope.write.md index 45ce439e338e..f2940eb5a321 100644 --- a/docs/sources/flow/reference/components/pyroscope.write.md +++ b/docs/sources/flow/reference/components/pyroscope.write.md @@ -160,3 +160,6 @@ pyroscope.scrape "default" { forward_to = [pyroscope.write.staging.receiver] } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/remote.http.md b/docs/sources/flow/reference/components/remote.http.md index ebf805728bbd..7b6ce60ed8f2 100644 --- a/docs/sources/flow/reference/components/remote.http.md +++ b/docs/sources/flow/reference/components/remote.http.md @@ -155,3 +155,6 @@ prometheus.remote_write "default" { } } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/remote.kubernetes.configmap.md b/docs/sources/flow/reference/components/remote.kubernetes.configmap.md index aba9af2b33f3..003bb21391f1 100644 --- a/docs/sources/flow/reference/components/remote.kubernetes.configmap.md +++ b/docs/sources/flow/reference/components/remote.kubernetes.configmap.md @@ -157,3 +157,6 @@ prometheus.remote_write "default" { This example assumes that the Secret and ConfigMap have already been created, and that the appropriate field names exist in their data. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/remote.kubernetes.secret.md b/docs/sources/flow/reference/components/remote.kubernetes.secret.md index d3996715c772..b0bc46e638d3 100644 --- a/docs/sources/flow/reference/components/remote.kubernetes.secret.md +++ b/docs/sources/flow/reference/components/remote.kubernetes.secret.md @@ -168,3 +168,6 @@ prometheus.remote_write "default" { This example assumes that the Secret and ConfigMap have already been created, and that the appropriate field names exist in their data. + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/remote.s3.md b/docs/sources/flow/reference/components/remote.s3.md index 7e927e11b51f..968fa79269ab 100644 --- a/docs/sources/flow/reference/components/remote.s3.md +++ b/docs/sources/flow/reference/components/remote.s3.md @@ -99,3 +99,6 @@ remote.s3 "data" { path = "s3://test-bucket/file.txt" } ``` + + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/remote.vault.md b/docs/sources/flow/reference/components/remote.vault.md index a4491bd25c66..24f228e87c8c 100644 --- a/docs/sources/flow/reference/components/remote.vault.md +++ b/docs/sources/flow/reference/components/remote.vault.md @@ -342,3 +342,6 @@ metrics.remote_write "prod" { } } ``` + + + \ No newline at end of file