diff --git a/CHANGELOG.md b/CHANGELOG.md index 06185afd00fd..6d495d4b9576 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,9 @@ Main (unreleased) - `pyroscope.ebpf` support python on arm64 platforms. (@korniltsev) +- Added links between compatible components in the documentation to make it + easier to discover them. (@thampiotr) + ### Bugfixes - Update `pyroscope.ebpf` to fix a logical bug causing to profile to many kthreads instead of regular processes https://github.com/grafana/pyroscope/pull/2778 (@korniltsev) 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..8ff2587ae8e3 --- /dev/null +++ b/component/metadata/metadata.go @@ -0,0 +1,193 @@ +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" + "github.com/grafana/agent/component/otelcol" + "github.com/grafana/agent/component/pyroscope" + "github.com/prometheus/prometheus/storage" +) + +//TODO(thampiotr): Instead of metadata package reaching into registry, we'll migrate to using a YAML schema file that +// contains information about all the available components. This file will be generated separately 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 +} + +func (t Type) String() string { + return fmt.Sprintf("Type[%s]", t.Name) +} + +var ( + 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 = 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())) + }, + } + + TypePromMetricsReceiver = Type{ + Name: "Prometheus `MetricsReceiver`", + existsInArgsFn: func(args component.Arguments) bool { + return hasFieldOfType(args, reflect.TypeOf([]storage.Appendable{})) + }, + existsInExportsFn: func(exports component.Exports) bool { + var a *storage.Appendable = nil + return hasFieldOfType(exports, reflect.TypeOf(a).Elem()) + }, + } + + TypePyroProfilesReceiver = Type{ + Name: "Pyroscope `ProfilesReceiver`", + existsInArgsFn: func(args component.Arguments) bool { + return hasFieldOfType(args, reflect.TypeOf([]pyroscope.Appendable{})) + }, + existsInExportsFn: func(exports component.Exports) bool { + var a *pyroscope.Appendable = nil + return hasFieldOfType(exports, reflect.TypeOf(a).Elem()) + }, + } + + TypeOTELReceiver = Type{ + Name: "OpenTelemetry `otelcol.Consumer`", + existsInArgsFn: func(args component.Arguments) bool { + return hasFieldOfType(args, reflect.TypeOf([]otelcol.Consumer{})) + }, + existsInExportsFn: func(exports component.Exports) bool { + var a *otelcol.Consumer = nil + return hasFieldOfType(exports, reflect.TypeOf(a).Elem()) + }, + } + + AllTypes = []Type{ + TypeTargets, + TypeLokiLogs, + TypePromMetricsReceiver, + TypePyroProfilesReceiver, + TypeOTELReceiver, + } +) + +type Metadata struct { + accepts []Type + exports []Type +} + +func (m Metadata) Empty() bool { + return len(m.accepts) == 0 && len(m.exports) == 0 +} + +func (m Metadata) AllTypesAccepted() []Type { + return m.accepts +} + +func (m Metadata) AllTypesExported() []Type { + return m.exports +} + +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 + } + } + + // If the field is a pointer, create a new instance of the pointer type and recursively check its fields + if fv.Kind() == reflect.Ptr { + if hasFieldOfType(reflect.New(ft.Elem()).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..a60376b2c2d1 --- /dev/null +++ b/component/metadata/metadata_test.go @@ -0,0 +1,94 @@ +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{exports: []Type{TypeLokiLogs}}, + }, + { + name: "loki.source.file", + expected: Metadata{ + accepts: []Type{TypeTargets, TypeLokiLogs}, + }, + }, + { + name: "loki.process", + expected: Metadata{ + accepts: []Type{TypeLokiLogs}, + exports: []Type{TypeLokiLogs}, + }, + }, + { + name: "prometheus.relabel", + expected: Metadata{ + accepts: []Type{TypePromMetricsReceiver}, + exports: []Type{TypePromMetricsReceiver}, + }, + }, + { + name: "prometheus.remote_write", + expected: Metadata{ + accepts: []Type{}, + exports: []Type{TypePromMetricsReceiver}, + }, + }, + { + name: "otelcol.exporter.otlp", + expected: Metadata{ + accepts: []Type{}, + exports: []Type{TypeOTELReceiver}, + }, + }, + { + name: "otelcol.processor.filter", + expected: Metadata{ + accepts: []Type{TypeOTELReceiver}, + exports: []Type{TypeOTELReceiver}, + }, + }, + { + name: "faro.receiver", + expected: Metadata{ + accepts: []Type{TypeLokiLogs, TypeOTELReceiver}, + exports: []Type{}, + }, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + actual, err := ForComponent(tt.name) + require.NoError(t, err) + + compareSlices := func(expected, actual []Type, name string) { + require.Equal(t, len(expected), len(actual), "expected %d %s types, got %d; expected: %v, actual: %v", len(expected), name, len(actual), expected, actual) + for i := range expected { + require.Equal(t, expected[i].Name, actual[i].Name, "expected %s type at %d to be %q, got %q", name, i, expected[i].Name, actual[i].Name) + } + } + + compareSlices(tt.expected.AllTypesAccepted(), actual.AllTypesAccepted(), "accepted") + compareSlices(tt.expected.AllTypesExported(), actual.AllTypesExported(), "exported") + }) + } +} diff --git a/component/pyroscope/ebpf/ebpf_placeholder.go b/component/pyroscope/ebpf/ebpf_placeholder.go index 6fd928ff496f..9c0be2748f3f 100644 --- a/component/pyroscope/ebpf/ebpf_placeholder.go +++ b/component/pyroscope/ebpf/ebpf_placeholder.go @@ -1,4 +1,4 @@ -//go:build linux && !arm64 && !amd64 +//go:build !(linux && (arm64 || amd64)) package ebpf @@ -26,7 +26,7 @@ type Component struct { } func New(opts component.Options, args Arguments) (component.Component, error) { - level.Warn(opts.Logger).Log("msg", "the pyroscope.ebpf component only works on linux; enabling it otherwise will do nothing") + level.Warn(opts.Logger).Log("msg", "the pyroscope.ebpf component only works on ARM64 and AMD64 Linux platforms; enabling it otherwise will do nothing") return &Component{}, nil } 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/README.md b/docs/README.md index 4419bb493c0d..3043ba188e8d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -21,9 +21,13 @@ First, inside the `docs/` folder run `make check-cloudwatch-integration` to veri If the check fails, then the doc supported services list should be updated. For that, run `make generate-cloudwatch-integration` to get the updated list, which should replace the old one in [the docs](./sources/static/configuration/integrations/cloudwatch-exporter-config.md). +## Update generated reference docs + +Some sections of Grafana Agent Flow reference documentation are automatically generated. To update them, run `make generate-docs`. + ### Community Projects -Below is a list of community-led projects for working with Grafana Agent. These projects are not maintained or supported by Grafana Labs. +The following is a list of community-led projects for working with Grafana Agent. These projects are not maintained or supported by Grafana Labs. #### Helm (Kubernetes Deployment) diff --git a/docs/docs_updated_test.go b/docs/docs_updated_test.go new file mode 100644 index 000000000000..21e9081c9493 --- /dev/null +++ b/docs/docs_updated_test.go @@ -0,0 +1,70 @@ +package docs + +import ( + "flag" + "strings" + "testing" + + "github.com/grafana/agent/component" + _ "github.com/grafana/agent/component/all" + "github.com/grafana/agent/component/metadata" + "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 -v + +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 strings.TrimSpace(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..ae79597cb472 --- /dev/null +++ b/docs/generator/compatible_components_page.go @@ -0,0 +1,102 @@ +package generator + +import ( + "fmt" + "sort" + "strings" + + "github.com/grafana/agent/component/metadata" + "golang.org/x/exp/maps" +) + +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 + } + if strings.TrimSpace(newSection) == "" { + return nil + } + 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) + } + + sortedNamespaces := maps.Keys(groups) + sort.Strings(sortedNamespaces) + + for _, namespace := range sortedNamespaces { + str += fmt.Sprintf("\n{{< collapse title=%q >}}\n", namespace) + for _, component := range groups[namespace] { + str += fmt.Sprintf("- [%[1]s]({{< relref \"../components/%[1]s.md\" >}})\n", component) + } + str += "{{< /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..867654e1648d --- /dev/null +++ b/docs/generator/links_to_types.go @@ -0,0 +1,124 @@ +package generator + +import ( + "fmt" + "regexp" + "strings" + + "github.com/grafana/agent/component/metadata" +) + +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 := ` +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} +` + + 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 + } + if strings.TrimSpace(newSection) == "" { + return nil + } + 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.AllTypesExported() { + 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.AllTypesAccepted() { + 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..c619c974a4c3 --- /dev/null +++ b/docs/sources/flow/reference/compatibility/_index.md @@ -0,0 +1,374 @@ +--- +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 data type, we provide a list of compatible components +that can export or consume it. + +{{% admonition type="note" %}} + +> The type of export may not be the only requirement for chaining components together. +> The value of an attribute may matter as well as its type. +> Please refer to each component's documentation for more details on what values are acceptable. +> +> For example: +> * A Prometheus component may always expect an `"__address__"` label inside a list of targets. +> * A `string` argument may only accept certain values like "traceID" or "spanID". + +{{% /admonition %}} + +## 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. +They can contain different key-value pairs, and you can use them with a wide range of +components. Some components require Targets to contain specific key-value pairs +to work correctly. It is recommended to always check component references for +details when working with Targets. + + +### Targets Exporters +The following components, grouped by namespace, _export_ Targets. + + + +{{< 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 >}} + +{{< 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 >}} + + + + + +### Targets Consumers +The following components, grouped by namespace, _consume_ Targets. + + + +{{< 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 >}} + +{{< 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.ebpf]({{< relref "../components/pyroscope.ebpf.md" >}}) +- [pyroscope.scrape]({{< relref "../components/pyroscope.scrape.md" >}}) +{{< /collapse >}} + + + + +## Prometheus `MetricsReceiver` + +The Prometheus metrics are sent between components using `MetricsReceiver`s. +`MetricsReceiver`s are [capsules]({{< relref "../../config-language/expressions/types_and_values/#capsules" >}}) +that are exported by components that can receive Prometheus metrics. Components that +can consume Prometheus metrics can be passed the `MetricsReceiver` as an argument. Use the +following components to build your Prometheus metrics pipeline: + + +### Prometheus `MetricsReceiver` Exporters +The following components, grouped by namespace, _export_ Prometheus `MetricsReceiver`. + + + +{{< collapse title="otelcol" >}} +- [otelcol.receiver.prometheus]({{< relref "../components/otelcol.receiver.prometheus.md" >}}) +{{< /collapse >}} + +{{< collapse title="prometheus" >}} +- [prometheus.relabel]({{< relref "../components/prometheus.relabel.md" >}}) +- [prometheus.remote_write]({{< relref "../components/prometheus.remote_write.md" >}}) +{{< /collapse >}} + + + + +### Prometheus `MetricsReceiver` Consumers +The following components, grouped by namespace, _consume_ Prometheus `MetricsReceiver`. + + + + +{{< collapse title="otelcol" >}} +- [otelcol.exporter.prometheus]({{< relref "../components/otelcol.exporter.prometheus.md" >}}) +{{< /collapse >}} + +{{< collapse title="prometheus" >}} +- [prometheus.operator.podmonitors]({{< relref "../components/prometheus.operator.podmonitors.md" >}}) +- [prometheus.operator.probes]({{< relref "../components/prometheus.operator.probes.md" >}}) +- [prometheus.operator.servicemonitors]({{< relref "../components/prometheus.operator.servicemonitors.md" >}}) +- [prometheus.receive_http]({{< relref "../components/prometheus.receive_http.md" >}}) +- [prometheus.relabel]({{< relref "../components/prometheus.relabel.md" >}}) +- [prometheus.scrape]({{< relref "../components/prometheus.scrape.md" >}}) +{{< /collapse >}} + + + + + +## 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 +The following components, grouped by namespace, _export_ Loki `LogsReceiver`. + + + +{{< 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 >}} + +{{< collapse title="otelcol" >}} +- [otelcol.receiver.loki]({{< relref "../components/otelcol.receiver.loki.md" >}}) +{{< /collapse >}} + + + + +### Loki `LogsReceiver` Consumers +The following components, grouped by namespace, _consume_ Loki `LogsReceiver`. + + + +{{< 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 >}} + + + + +## OpenTelemetry `otelcol.Consumer` + +The OpenTelemetry data is sent between components using `otelcol.Consumer`s. +`otelcol.Consumer`s are [capsules]({{< relref "../../config-language/expressions/types_and_values/#capsules" >}}) +that are exported by components that can receive OpenTelemetry data. Components that +can consume OpenTelemetry data can be passed the `otelcol.Consumer` as an argument. Note that some components +that use `otelcol.Consumer` only support a subset of telemetry signals, for example, only traces. Check the component +reference pages for more details on what is supported. Use the following components to build your OpenTelemetry pipeline: + + +### OpenTelemetry `otelcol.Consumer` Exporters +The following components, grouped by namespace, _export_ OpenTelemetry `otelcol.Consumer`. + + + +{{< collapse title="otelcol" >}} +- [otelcol.connector.servicegraph]({{< relref "../components/otelcol.connector.servicegraph.md" >}}) +- [otelcol.connector.spanlogs]({{< relref "../components/otelcol.connector.spanlogs.md" >}}) +- [otelcol.connector.spanmetrics]({{< relref "../components/otelcol.connector.spanmetrics.md" >}}) +- [otelcol.exporter.loadbalancing]({{< relref "../components/otelcol.exporter.loadbalancing.md" >}}) +- [otelcol.exporter.logging]({{< relref "../components/otelcol.exporter.logging.md" >}}) +- [otelcol.exporter.loki]({{< relref "../components/otelcol.exporter.loki.md" >}}) +- [otelcol.exporter.otlp]({{< relref "../components/otelcol.exporter.otlp.md" >}}) +- [otelcol.exporter.otlphttp]({{< relref "../components/otelcol.exporter.otlphttp.md" >}}) +- [otelcol.exporter.prometheus]({{< relref "../components/otelcol.exporter.prometheus.md" >}}) +- [otelcol.processor.attributes]({{< relref "../components/otelcol.processor.attributes.md" >}}) +- [otelcol.processor.batch]({{< relref "../components/otelcol.processor.batch.md" >}}) +- [otelcol.processor.discovery]({{< relref "../components/otelcol.processor.discovery.md" >}}) +- [otelcol.processor.filter]({{< relref "../components/otelcol.processor.filter.md" >}}) +- [otelcol.processor.k8sattributes]({{< relref "../components/otelcol.processor.k8sattributes.md" >}}) +- [otelcol.processor.memory_limiter]({{< relref "../components/otelcol.processor.memory_limiter.md" >}}) +- [otelcol.processor.probabilistic_sampler]({{< relref "../components/otelcol.processor.probabilistic_sampler.md" >}}) +- [otelcol.processor.span]({{< relref "../components/otelcol.processor.span.md" >}}) +- [otelcol.processor.tail_sampling]({{< relref "../components/otelcol.processor.tail_sampling.md" >}}) +- [otelcol.processor.transform]({{< relref "../components/otelcol.processor.transform.md" >}}) +{{< /collapse >}} + + + + +### OpenTelemetry `otelcol.Consumer` Consumers +The following components, grouped by namespace, _consume_ OpenTelemetry `otelcol.Consumer`. + + + +{{< collapse title="faro" >}} +- [faro.receiver]({{< relref "../components/faro.receiver.md" >}}) +{{< /collapse >}} + +{{< collapse title="otelcol" >}} +- [otelcol.connector.servicegraph]({{< relref "../components/otelcol.connector.servicegraph.md" >}}) +- [otelcol.connector.spanlogs]({{< relref "../components/otelcol.connector.spanlogs.md" >}}) +- [otelcol.connector.spanmetrics]({{< relref "../components/otelcol.connector.spanmetrics.md" >}}) +- [otelcol.processor.attributes]({{< relref "../components/otelcol.processor.attributes.md" >}}) +- [otelcol.processor.batch]({{< relref "../components/otelcol.processor.batch.md" >}}) +- [otelcol.processor.discovery]({{< relref "../components/otelcol.processor.discovery.md" >}}) +- [otelcol.processor.filter]({{< relref "../components/otelcol.processor.filter.md" >}}) +- [otelcol.processor.k8sattributes]({{< relref "../components/otelcol.processor.k8sattributes.md" >}}) +- [otelcol.processor.memory_limiter]({{< relref "../components/otelcol.processor.memory_limiter.md" >}}) +- [otelcol.processor.probabilistic_sampler]({{< relref "../components/otelcol.processor.probabilistic_sampler.md" >}}) +- [otelcol.processor.span]({{< relref "../components/otelcol.processor.span.md" >}}) +- [otelcol.processor.tail_sampling]({{< relref "../components/otelcol.processor.tail_sampling.md" >}}) +- [otelcol.processor.transform]({{< relref "../components/otelcol.processor.transform.md" >}}) +- [otelcol.receiver.jaeger]({{< relref "../components/otelcol.receiver.jaeger.md" >}}) +- [otelcol.receiver.kafka]({{< relref "../components/otelcol.receiver.kafka.md" >}}) +- [otelcol.receiver.loki]({{< relref "../components/otelcol.receiver.loki.md" >}}) +- [otelcol.receiver.opencensus]({{< relref "../components/otelcol.receiver.opencensus.md" >}}) +- [otelcol.receiver.otlp]({{< relref "../components/otelcol.receiver.otlp.md" >}}) +- [otelcol.receiver.prometheus]({{< relref "../components/otelcol.receiver.prometheus.md" >}}) +- [otelcol.receiver.vcenter]({{< relref "../components/otelcol.receiver.vcenter.md" >}}) +- [otelcol.receiver.zipkin]({{< relref "../components/otelcol.receiver.zipkin.md" >}}) +{{< /collapse >}} + + + + + +## Pyroscope `ProfilesReceiver` + +The Pyroscope profiles are sent between components using `ProfilesReceiver`s. +`ProfilesReceiver`s are [capsules]({{< relref "../../config-language/expressions/types_and_values/#capsules" >}}) +that are exported by components that can receive Pyroscope profiles. Components that +can consume Pyroscope profiles can be passed the `ProfilesReceiver` as an argument. Use the +following components to build your Pyroscope profiles pipeline: + + +### Pyroscope `ProfilesReceiver` Exporters +The following components, grouped by namespace, _export_ Pyroscope `ProfilesReceiver`. + + + +{{< collapse title="pyroscope" >}} +- [pyroscope.write]({{< relref "../components/pyroscope.write.md" >}}) +{{< /collapse >}} + + + + +### Pyroscope `ProfilesReceiver` Consumers +The following components, grouped by namespace, _consume_ Pyroscope `ProfilesReceiver`. + + + +{{< collapse title="pyroscope" >}} +- [pyroscope.ebpf]({{< relref "../components/pyroscope.ebpf.md" >}}) +- [pyroscope.scrape]({{< relref "../components/pyroscope.scrape.md" >}}) +{{< /collapse >}} + + + diff --git a/docs/sources/flow/reference/components/discovery.azure.md b/docs/sources/flow/reference/components/discovery.azure.md index 3297d6b62a04..83eceabdf7a6 100644 --- a/docs/sources/flow/reference/components/discovery.azure.md +++ b/docs/sources/flow/reference/components/discovery.azure.md @@ -149,3 +149,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.consul.md b/docs/sources/flow/reference/components/discovery.consul.md index 7cb0535fb994..7737131a6aa8 100644 --- a/docs/sources/flow/reference/components/discovery.consul.md +++ b/docs/sources/flow/reference/components/discovery.consul.md @@ -167,3 +167,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.consulagent.md b/docs/sources/flow/reference/components/discovery.consulagent.md index 560d6bcf8602..df923fed4496 100644 --- a/docs/sources/flow/reference/components/discovery.consulagent.md +++ b/docs/sources/flow/reference/components/discovery.consulagent.md @@ -129,3 +129,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.digitalocean.md b/docs/sources/flow/reference/components/discovery.digitalocean.md index 402424dde5d5..2a64ba7f6bec 100644 --- a/docs/sources/flow/reference/components/discovery.digitalocean.md +++ b/docs/sources/flow/reference/components/discovery.digitalocean.md @@ -119,3 +119,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.dns.md b/docs/sources/flow/reference/components/discovery.dns.md index 3a2615d5df29..d2f0217b1d73 100644 --- a/docs/sources/flow/reference/components/discovery.dns.md +++ b/docs/sources/flow/reference/components/discovery.dns.md @@ -93,4 +93,21 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.docker.md b/docs/sources/flow/reference/components/discovery.docker.md index bbaafa73d683..a9143373e12b 100644 --- a/docs/sources/flow/reference/components/discovery.docker.md +++ b/docs/sources/flow/reference/components/discovery.docker.md @@ -215,3 +215,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.dockerswarm.md b/docs/sources/flow/reference/components/discovery.dockerswarm.md index ed00064df35b..f6db10bd440c 100644 --- a/docs/sources/flow/reference/components/discovery.dockerswarm.md +++ b/docs/sources/flow/reference/components/discovery.dockerswarm.md @@ -238,3 +238,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.ec2.md b/docs/sources/flow/reference/components/discovery.ec2.md index 63a4cfc802f4..98f8b033b873 100644 --- a/docs/sources/flow/reference/components/discovery.ec2.md +++ b/docs/sources/flow/reference/components/discovery.ec2.md @@ -134,3 +134,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.eureka.md b/docs/sources/flow/reference/components/discovery.eureka.md index 57d17403b91c..952e90af1ce4 100644 --- a/docs/sources/flow/reference/components/discovery.eureka.md +++ b/docs/sources/flow/reference/components/discovery.eureka.md @@ -140,3 +140,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.file.md b/docs/sources/flow/reference/components/discovery.file.md index 2abcf29b64b1..c8493e01e62a 100644 --- a/docs/sources/flow/reference/components/discovery.file.md +++ b/docs/sources/flow/reference/components/discovery.file.md @@ -172,4 +172,21 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.gce.md b/docs/sources/flow/reference/components/discovery.gce.md index b7ca49aaf0e3..5752a4ce51b1 100644 --- a/docs/sources/flow/reference/components/discovery.gce.md +++ b/docs/sources/flow/reference/components/discovery.gce.md @@ -112,4 +112,21 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.hetzner.md b/docs/sources/flow/reference/components/discovery.hetzner.md index 2ed68df884a0..ce92bda3cb2d 100644 --- a/docs/sources/flow/reference/components/discovery.hetzner.md +++ b/docs/sources/flow/reference/components/discovery.hetzner.md @@ -176,3 +176,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.http.md b/docs/sources/flow/reference/components/discovery.http.md index 908196584b4a..17be475edbc9 100644 --- a/docs/sources/flow/reference/components/discovery.http.md +++ b/docs/sources/flow/reference/components/discovery.http.md @@ -168,3 +168,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.ionos.md b/docs/sources/flow/reference/components/discovery.ionos.md index 6214d8f3dfca..e06658b4b5d5 100644 --- a/docs/sources/flow/reference/components/discovery.ionos.md +++ b/docs/sources/flow/reference/components/discovery.ionos.md @@ -140,3 +140,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.kubelet.md b/docs/sources/flow/reference/components/discovery.kubelet.md index 74b5158b58ab..0000a74def4e 100644 --- a/docs/sources/flow/reference/components/discovery.kubelet.md +++ b/docs/sources/flow/reference/components/discovery.kubelet.md @@ -193,3 +193,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.kubernetes.md b/docs/sources/flow/reference/components/discovery.kubernetes.md index 94b8ee84d945..49ecbd09ea12 100644 --- a/docs/sources/flow/reference/components/discovery.kubernetes.md +++ b/docs/sources/flow/reference/components/discovery.kubernetes.md @@ -500,3 +500,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.kuma.md b/docs/sources/flow/reference/components/discovery.kuma.md index 7a4042cddb8e..bef9a8ccee12 100644 --- a/docs/sources/flow/reference/components/discovery.kuma.md +++ b/docs/sources/flow/reference/components/discovery.kuma.md @@ -135,3 +135,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.lightsail.md b/docs/sources/flow/reference/components/discovery.lightsail.md index a2b47841217d..81bdb0c706b9 100644 --- a/docs/sources/flow/reference/components/discovery.lightsail.md +++ b/docs/sources/flow/reference/components/discovery.lightsail.md @@ -99,3 +99,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.linode.md b/docs/sources/flow/reference/components/discovery.linode.md index 027790e2e773..f9f4b1e4e19a 100644 --- a/docs/sources/flow/reference/components/discovery.linode.md +++ b/docs/sources/flow/reference/components/discovery.linode.md @@ -174,4 +174,21 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.marathon.md b/docs/sources/flow/reference/components/discovery.marathon.md index 86d0154e7603..4327dc502fb1 100644 --- a/docs/sources/flow/reference/components/discovery.marathon.md +++ b/docs/sources/flow/reference/components/discovery.marathon.md @@ -145,3 +145,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.nerve.md b/docs/sources/flow/reference/components/discovery.nerve.md index e9cd8afcbd60..1334f6dea8e8 100644 --- a/docs/sources/flow/reference/components/discovery.nerve.md +++ b/docs/sources/flow/reference/components/discovery.nerve.md @@ -97,3 +97,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.nomad.md b/docs/sources/flow/reference/components/discovery.nomad.md index a6a1251f9958..c8bcdae99699 100644 --- a/docs/sources/flow/reference/components/discovery.nomad.md +++ b/docs/sources/flow/reference/components/discovery.nomad.md @@ -146,3 +146,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.openstack.md b/docs/sources/flow/reference/components/discovery.openstack.md index 1c9d870bcf57..83df98d8c41c 100644 --- a/docs/sources/flow/reference/components/discovery.openstack.md +++ b/docs/sources/flow/reference/components/discovery.openstack.md @@ -157,3 +157,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.puppetdb.md b/docs/sources/flow/reference/components/discovery.puppetdb.md index 86cf7c573584..34e6f14db7c3 100644 --- a/docs/sources/flow/reference/components/discovery.puppetdb.md +++ b/docs/sources/flow/reference/components/discovery.puppetdb.md @@ -156,3 +156,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.relabel.md b/docs/sources/flow/reference/components/discovery.relabel.md index 7cd4db68161b..fb0928359273 100644 --- a/docs/sources/flow/reference/components/discovery.relabel.md +++ b/docs/sources/flow/reference/components/discovery.relabel.md @@ -123,3 +123,23 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.scaleway.md b/docs/sources/flow/reference/components/discovery.scaleway.md index 5e0c2752ecd4..fc3ec8867212 100644 --- a/docs/sources/flow/reference/components/discovery.scaleway.md +++ b/docs/sources/flow/reference/components/discovery.scaleway.md @@ -174,3 +174,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.serverset.md b/docs/sources/flow/reference/components/discovery.serverset.md index c0ab1f130b6d..7eb43b5ee11d 100644 --- a/docs/sources/flow/reference/components/discovery.serverset.md +++ b/docs/sources/flow/reference/components/discovery.serverset.md @@ -95,3 +95,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.triton.md b/docs/sources/flow/reference/components/discovery.triton.md index 5b022543d9f8..f48ae7f65b17 100644 --- a/docs/sources/flow/reference/components/discovery.triton.md +++ b/docs/sources/flow/reference/components/discovery.triton.md @@ -129,3 +129,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/discovery.uyuni.md b/docs/sources/flow/reference/components/discovery.uyuni.md index 854de9e4f79c..42b77e8952b6 100644 --- a/docs/sources/flow/reference/components/discovery.uyuni.md +++ b/docs/sources/flow/reference/components/discovery.uyuni.md @@ -124,3 +124,19 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/faro.receiver.md b/docs/sources/flow/reference/components/faro.receiver.md index 99d23c2b0842..3c15253f126a 100644 --- a/docs/sources/flow/reference/components/faro.receiver.md +++ b/docs/sources/flow/reference/components/faro.receiver.md @@ -267,3 +267,22 @@ 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" >}}) +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/local.file_match.md b/docs/sources/flow/reference/components/local.file_match.md index 72be1310a749..8c3ff3a43062 100644 --- a/docs/sources/flow/reference/components/local.file_match.md +++ b/docs/sources/flow/reference/components/local.file_match.md @@ -145,3 +145,24 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.echo.md b/docs/sources/flow/reference/components/loki.echo.md index 8fff2a756433..756ffa00ee18 100644 --- a/docs/sources/flow/reference/components/loki.echo.md +++ b/docs/sources/flow/reference/components/loki.echo.md @@ -67,3 +67,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.process.md b/docs/sources/flow/reference/components/loki.process.md index 0387bb3c0af8..9af6bea9e703 100644 --- a/docs/sources/flow/reference/components/loki.process.md +++ b/docs/sources/flow/reference/components/loki.process.md @@ -1694,3 +1694,23 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.relabel.md b/docs/sources/flow/reference/components/loki.relabel.md index b3689ae656df..4344af151b22 100644 --- a/docs/sources/flow/reference/components/loki.relabel.md +++ b/docs/sources/flow/reference/components/loki.relabel.md @@ -112,3 +112,23 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.api.md b/docs/sources/flow/reference/components/loki.source.api.md index 13d21e7ad8a9..afc2f3dad112 100644 --- a/docs/sources/flow/reference/components/loki.source.api.md +++ b/docs/sources/flow/reference/components/loki.source.api.md @@ -117,3 +117,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.awsfirehose.md b/docs/sources/flow/reference/components/loki.source.awsfirehose.md index e66a095ed089..86bf634e395a 100644 --- a/docs/sources/flow/reference/components/loki.source.awsfirehose.md +++ b/docs/sources/flow/reference/components/loki.source.awsfirehose.md @@ -196,3 +196,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + 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..fcbe22aa4880 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,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.cloudflare.md b/docs/sources/flow/reference/components/loki.source.cloudflare.md index 33d1bf0015a5..cee51de6a541 100644 --- a/docs/sources/flow/reference/components/loki.source.cloudflare.md +++ b/docs/sources/flow/reference/components/loki.source.cloudflare.md @@ -209,3 +209,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.docker.md b/docs/sources/flow/reference/components/loki.source.docker.md index 0bb11ddecb17..cbf77163d646 100644 --- a/docs/sources/flow/reference/components/loki.source.docker.md +++ b/docs/sources/flow/reference/components/loki.source.docker.md @@ -153,3 +153,22 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.file.md b/docs/sources/flow/reference/components/loki.source.file.md index 2e9c8d9f333b..4583018d90a6 100644 --- a/docs/sources/flow/reference/components/loki.source.file.md +++ b/docs/sources/flow/reference/components/loki.source.file.md @@ -234,3 +234,22 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.gcplog.md b/docs/sources/flow/reference/components/loki.source.gcplog.md index 5184505fd20e..2ce88f73f398 100644 --- a/docs/sources/flow/reference/components/loki.source.gcplog.md +++ b/docs/sources/flow/reference/components/loki.source.gcplog.md @@ -193,3 +193,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.gelf.md b/docs/sources/flow/reference/components/loki.source.gelf.md index e8544fe0248f..ac5796051be5 100644 --- a/docs/sources/flow/reference/components/loki.source.gelf.md +++ b/docs/sources/flow/reference/components/loki.source.gelf.md @@ -89,3 +89,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.heroku.md b/docs/sources/flow/reference/components/loki.source.heroku.md index f8d152c66210..8f2c01cea68c 100644 --- a/docs/sources/flow/reference/components/loki.source.heroku.md +++ b/docs/sources/flow/reference/components/loki.source.heroku.md @@ -144,3 +144,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.journal.md b/docs/sources/flow/reference/components/loki.source.journal.md index 26a1922b7aeb..0448bd572d74 100644 --- a/docs/sources/flow/reference/components/loki.source.journal.md +++ b/docs/sources/flow/reference/components/loki.source.journal.md @@ -101,3 +101,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.kafka.md b/docs/sources/flow/reference/components/loki.source.kafka.md index 6c2dda736a74..eb5e04217298 100644 --- a/docs/sources/flow/reference/components/loki.source.kafka.md +++ b/docs/sources/flow/reference/components/loki.source.kafka.md @@ -173,3 +173,21 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.kubernetes.md b/docs/sources/flow/reference/components/loki.source.kubernetes.md index 86935fb515c7..e9d19237aef6 100644 --- a/docs/sources/flow/reference/components/loki.source.kubernetes.md +++ b/docs/sources/flow/reference/components/loki.source.kubernetes.md @@ -199,3 +199,22 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + 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 be46fd78fa03..4447a915cfae 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,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.podlogs.md b/docs/sources/flow/reference/components/loki.source.podlogs.md index a9698701e9cf..5e957c6ead09 100644 --- a/docs/sources/flow/reference/components/loki.source.podlogs.md +++ b/docs/sources/flow/reference/components/loki.source.podlogs.md @@ -290,3 +290,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.syslog.md b/docs/sources/flow/reference/components/loki.source.syslog.md index c9d7e9ab3e72..017cc43ee0c5 100644 --- a/docs/sources/flow/reference/components/loki.source.syslog.md +++ b/docs/sources/flow/reference/components/loki.source.syslog.md @@ -153,3 +153,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.source.windowsevent.md b/docs/sources/flow/reference/components/loki.source.windowsevent.md index 4c8faf4059f2..bb41a62cc3eb 100644 --- a/docs/sources/flow/reference/components/loki.source.windowsevent.md +++ b/docs/sources/flow/reference/components/loki.source.windowsevent.md @@ -75,3 +75,20 @@ 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" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/loki.write.md b/docs/sources/flow/reference/components/loki.write.md index 56ebb8b828b6..efbcdf34eabc 100644 --- a/docs/sources/flow/reference/components/loki.write.md +++ b/docs/sources/flow/reference/components/loki.write.md @@ -233,3 +233,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md b/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md index 8aa4fccb06ac..e7aad20d8e29 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md +++ b/docs/sources/flow/reference/components/otelcol.connector.servicegraph.md @@ -219,4 +219,23 @@ 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 +``` + +## Compatible components + +`otelcol.connector.servicegraph` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.connector.servicegraph` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 f91dd061f46b..5811b64b7733 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md +++ b/docs/sources/flow/reference/components/otelcol.connector.spanlogs.md @@ -279,3 +279,23 @@ For an input trace like this... ] } ``` + + +## Compatible components + +`otelcol.connector.spanlogs` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.connector.spanlogs` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 b0cc047fbf13..c1e887b78c9f 100644 --- a/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md +++ b/docs/sources/flow/reference/components/otelcol.connector.spanmetrics.md @@ -295,3 +295,23 @@ prometheus.remote_write "mimir" { } } ``` + + +## Compatible components + +`otelcol.connector.spanmetrics` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.connector.spanmetrics` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 11606c78e7b8..60480de6677e 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.loadbalancing.md @@ -301,3 +301,19 @@ otelcol.exporter.loadbalancing "default" { } } ``` + + +## Compatible components + +`otelcol.exporter.loadbalancing` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 97149e06ac6d..c1e4c8413948 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.logging.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.logging.md @@ -107,3 +107,19 @@ otelcol.exporter.logging "default" { sampling_thereafter = 1 } ``` + + +## Compatible components + +`otelcol.exporter.logging` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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..9a314c3b5aae 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.loki.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.loki.md @@ -157,4 +157,25 @@ 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" >}}) + +`otelcol.exporter.loki` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/otelcol.exporter.otlp.md b/docs/sources/flow/reference/components/otelcol.exporter.otlp.md index 59c775b9cfea..6236f784d705 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.otlp.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.otlp.md @@ -214,3 +214,19 @@ otelcol.auth.basic "grafana_cloud_tempo" { password = env("GRAFANA_CLOUD_API_KEY") } ``` + + +## Compatible components + +`otelcol.exporter.otlp` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 81a59e575b66..14d0c5112fad 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.otlphttp.md @@ -155,3 +155,19 @@ otelcol.exporter.otlphttp "tempo" { } } ``` + + +## Compatible components + +`otelcol.exporter.otlphttp` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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..f594934332e5 100644 --- a/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md +++ b/docs/sources/flow/reference/components/otelcol.exporter.prometheus.md @@ -45,7 +45,7 @@ Name | Type | Description | Defaul `include_scope_labels` | `boolean` | Whether to include additional OTLP labels in all metrics. | `true` | no `add_metric_suffixes` | `boolean` | Whether to add type and unit suffixes to metrics names. | `true` | no `gc_frequency` | `duration` | How often to clean up stale metrics from memory. | `"5m"` | no -`forward_to` | `list(receiver)` | Where to forward converted Prometheus metrics. | | yes +`forward_to` | `list(MetricsReceiver)` | Where to forward converted Prometheus metrics. | | yes `resource_to_telemetry_conversion` | `boolean` | Whether to convert OTel resource attributes to Prometheus labels. | `false` | no By default, OpenTelemetry resources are converted into `target_info` metrics. @@ -110,3 +110,23 @@ prometheus.remote_write "mimir" { } } ``` + + +## Compatible components + +`otelcol.exporter.prometheus` can accept arguments from the following components: + +- Components that export [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-exporters" >}}) + +`otelcol.exporter.prometheus` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 ad499a8f9ed3..ae1b1eafe555 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.attributes.md +++ b/docs/sources/flow/reference/components/otelcol.processor.attributes.md @@ -634,3 +634,23 @@ otelcol.processor.attributes "default" { } } ``` + + +## Compatible components + +`otelcol.processor.attributes` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.attributes` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 5dc8a0855dbd..7a8eff522ff5 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.batch.md +++ b/docs/sources/flow/reference/components/otelcol.processor.batch.md @@ -227,3 +227,23 @@ otelcol.exporter.otlp "production" { ``` [otelcol.exporter.otlp]: {{< relref "./otelcol.exporter.otlp.md" >}} + + +## Compatible components + +`otelcol.processor.batch` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.batch` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 c9e312ca4175..9d9b7c05e3a3 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.discovery.md +++ b/docs/sources/flow/reference/components/otelcol.processor.discovery.md @@ -191,3 +191,25 @@ otelcol.processor.discovery "default" { } } ``` + + + +## Compatible components + +`otelcol.processor.discovery` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.discovery` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/otelcol.processor.filter.md b/docs/sources/flow/reference/components/otelcol.processor.filter.md index 61d80aada506..0027c2774801 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.filter.md +++ b/docs/sources/flow/reference/components/otelcol.processor.filter.md @@ -301,3 +301,23 @@ 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 + + +## Compatible components + +`otelcol.processor.filter` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.filter` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 37e7d7b04100..6e16dcebcd48 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md +++ b/docs/sources/flow/reference/components/otelcol.processor.k8sattributes.md @@ -410,3 +410,23 @@ prometheus.remote_write "mimir" { } } ``` + + +## Compatible components + +`otelcol.processor.k8sattributes` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.k8sattributes` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 707e16454452..9d1528adf70d 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,23 @@ configuration. `otelcol.processor.memory_limiter` does not expose any component-specific debug information. + + +## Compatible components + +`otelcol.processor.memory_limiter` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.memory_limiter` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 d137b6436536..a76c85b2a21b 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,23 @@ otelcol.processor.probabilistic_sampler "default" { } } ``` + + +## Compatible components + +`otelcol.processor.probabilistic_sampler` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.probabilistic_sampler` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 c5031a1f2f0b..fe6985881007 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.span.md +++ b/docs/sources/flow/reference/components/otelcol.processor.span.md @@ -388,3 +388,23 @@ otelcol.processor.span "default" { } } ``` + + +## Compatible components + +`otelcol.processor.span` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.span` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 1442ff82d792..b6c6ccfdc0f7 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,23 @@ otelcol.exporter.otlp "production" { } } ``` + + +## Compatible components + +`otelcol.processor.tail_sampling` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.tail_sampling` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 71ab0143c0ca..cc214d8a5551 100644 --- a/docs/sources/flow/reference/components/otelcol.processor.transform.md +++ b/docs/sources/flow/reference/components/otelcol.processor.transform.md @@ -590,3 +590,23 @@ 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 + + +## Compatible components + +`otelcol.processor.transform` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.processor.transform` has exports that can be consumed by the following components: + +- Components that consume [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 dc8978dbcf18..c19bb03dba77 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.jaeger.md @@ -278,3 +278,20 @@ otelcol.exporter.otlp "default" { ## Technical details `otelcol.receiver.jaeger` supports [gzip](https://en.wikipedia.org/wiki/Gzip) for compression. + + +## Compatible components + +`otelcol.receiver.jaeger` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 3ba29806cbde..28588420609d 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.kafka.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.kafka.md @@ -330,3 +330,20 @@ otelcol.exporter.otlp "default" { } } ``` + + +## Compatible components + +`otelcol.receiver.kafka` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 790bbe999a4f..31d9877da882 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.loki.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.loki.md @@ -99,3 +99,24 @@ otelcol.exporter.otlp "default" { } } ``` + + + +## Compatible components + +`otelcol.receiver.loki` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.receiver.loki` has exports that can be consumed by the following components: + +- Components that consume [Loki `LogsReceiver`]({{< relref "../compatibility/#loki-logsreceiver-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md b/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md index c95c4978b91e..a6d7a5bb3ae3 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.opencensus.md @@ -210,3 +210,20 @@ otelcol.exporter.otlp "default" { } } ``` + + +## Compatible components + +`otelcol.receiver.opencensus` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 3f6cee9b4f6e..134098ed2de4 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.otlp.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.otlp.md @@ -248,3 +248,20 @@ otelcol.exporter.otlp "default" { ## Technical details `otelcol.receiver.otlp` supports [gzip](https://en.wikipedia.org/wiki/Gzip) for compression. + + +## Compatible components + +`otelcol.receiver.otlp` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 d5dcf811e6c5..d0723aad80c4 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.prometheus.md @@ -58,7 +58,7 @@ The following fields are exported and can be referenced by other components: Name | Type | Description ---- | ---- | ----------- -`receiver` | `receiver` | A value that other components can use to send Prometheus metrics to. +`receiver` | `MetricsReceiver` | A value that other components can use to send Prometheus metrics to. ## Component health @@ -99,3 +99,23 @@ otelcol.exporter.otlp "default" { } } ``` + + +## Compatible components + +`otelcol.receiver.prometheus` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + +`otelcol.receiver.prometheus` has exports that can be consumed by the following components: + +- Components that consume [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ No newline at end of file diff --git a/docs/sources/flow/reference/components/otelcol.receiver.vcenter.md b/docs/sources/flow/reference/components/otelcol.receiver.vcenter.md index 6d7eb6b79141..20618018e850 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.vcenter.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.vcenter.md @@ -219,3 +219,20 @@ otelcol.exporter.otlp "default" { endpoint = env("OTLP_ENDPOINT") } } + + +## Compatible components + +`otelcol.receiver.vcenter` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 9eda13c300a3..2dd3d8a9ccfb 100644 --- a/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md +++ b/docs/sources/flow/reference/components/otelcol.receiver.zipkin.md @@ -143,3 +143,20 @@ otelcol.exporter.otlp "default" { } } ``` + + +## Compatible components + +`otelcol.receiver.zipkin` can accept arguments from the following components: + +- Components that export [OpenTelemetry `otelcol.Consumer`]({{< relref "../compatibility/#opentelemetry-otelcolconsumer-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 03cbe4ff51c8..cb2dd5cda361 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.agent.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.agent.md @@ -70,3 +70,21 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.apache.md b/docs/sources/flow/reference/components/prometheus.exporter.apache.md index 5671b9180250..08f19fa2d1d9 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.apache.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.apache.md @@ -87,3 +87,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.azure.md b/docs/sources/flow/reference/components/prometheus.exporter.azure.md index 507be868e1d4..9363067fd0a7 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.azure.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.azure.md @@ -148,3 +148,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.blackbox.md b/docs/sources/flow/reference/components/prometheus.exporter.blackbox.md index acc128663f40..f509061417dd 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.blackbox.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.blackbox.md @@ -189,3 +189,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.cadvisor.md b/docs/sources/flow/reference/components/prometheus.exporter.cadvisor.md index e83a514f9597..02c923ebe898 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.cadvisor.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.cadvisor.md @@ -126,3 +126,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md b/docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md index 03ec635503e5..10313796d1cb 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.cloudwatch.md @@ -452,3 +452,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.consul.md b/docs/sources/flow/reference/components/prometheus.exporter.consul.md index 86791f6018c6..81185047459e 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.consul.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.consul.md @@ -97,3 +97,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.dnsmasq.md b/docs/sources/flow/reference/components/prometheus.exporter.dnsmasq.md index 6850c1163bc2..2f22e0048807 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.dnsmasq.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.dnsmasq.md @@ -87,3 +87,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.elasticsearch.md b/docs/sources/flow/reference/components/prometheus.exporter.elasticsearch.md index 675b0a18d67a..fec1953dbef1 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.elasticsearch.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.elasticsearch.md @@ -111,3 +111,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.gcp.md b/docs/sources/flow/reference/components/prometheus.exporter.gcp.md index 59331d5edc5b..e9a3d7ab2786 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.gcp.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.gcp.md @@ -173,3 +173,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.github.md b/docs/sources/flow/reference/components/prometheus.exporter.github.md index e9d8b0342810..753458562ab5 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.github.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.github.md @@ -95,3 +95,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.kafka.md b/docs/sources/flow/reference/components/prometheus.exporter.kafka.md index 49e90b428ec4..59400eea67fe 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.kafka.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.kafka.md @@ -107,3 +107,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.memcached.md b/docs/sources/flow/reference/components/prometheus.exporter.memcached.md index b6f8ee6f57c9..bd158d76a996 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.memcached.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.memcached.md @@ -99,3 +99,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.mongodb.md b/docs/sources/flow/reference/components/prometheus.exporter.mongodb.md index ae4b1e1a171e..1aa855542c06 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.mongodb.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.mongodb.md @@ -88,3 +88,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.mssql.md b/docs/sources/flow/reference/components/prometheus.exporter.mssql.md index 9658c7b58ca5..e2bcad76830e 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.mssql.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.mssql.md @@ -330,3 +330,20 @@ queries: committed_target_kb * 1024 AS committed_memory_target_bytes FROM sys.dm_os_sys_info ``` + + + +## Compatible components + +`prometheus.exporter.mssql` has exports that can be consumed by the following components: + +- Components that consume [Targets]({{< relref "../compatibility/#targets-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.mysql.md b/docs/sources/flow/reference/components/prometheus.exporter.mysql.md index e9e1ff425848..7c0cb90ae69f 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.mysql.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.mysql.md @@ -212,3 +212,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.oracledb.md b/docs/sources/flow/reference/components/prometheus.exporter.oracledb.md index 83d05dee3e97..10712ba290d5 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.oracledb.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.oracledb.md @@ -100,3 +100,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.postgres.md b/docs/sources/flow/reference/components/prometheus.exporter.postgres.md index f789b74ebb9a..39cfd8770108 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.postgres.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.postgres.md @@ -213,3 +213,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.process.md b/docs/sources/flow/reference/components/prometheus.exporter.process.md index d11075517e5e..ddd315f28797 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.process.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.process.md @@ -133,3 +133,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.redis.md b/docs/sources/flow/reference/components/prometheus.exporter.redis.md index 29b380b18b88..cebbbdd02906 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.redis.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.redis.md @@ -131,3 +131,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.snmp.md b/docs/sources/flow/reference/components/prometheus.exporter.snmp.md index d0cd8bf512cd..1e69da7fb941 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.snmp.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.snmp.md @@ -198,3 +198,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.snowflake.md b/docs/sources/flow/reference/components/prometheus.exporter.snowflake.md index f1c29608c2cc..f384fd1a6805 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.snowflake.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.snowflake.md @@ -101,3 +101,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.squid.md b/docs/sources/flow/reference/components/prometheus.exporter.squid.md index c4a8bd728e80..49a8639c129d 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.squid.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.squid.md @@ -93,3 +93,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.statsd.md b/docs/sources/flow/reference/components/prometheus.exporter.statsd.md index d985159381d4..2e00b8db35b0 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.statsd.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.statsd.md @@ -126,3 +126,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.unix.md b/docs/sources/flow/reference/components/prometheus.exporter.unix.md index 3f33c4240f6d..ab2d88c8175e 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.unix.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.unix.md @@ -409,3 +409,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.vsphere.md b/docs/sources/flow/reference/components/prometheus.exporter.vsphere.md index ad94df449ea5..61c951e9c71d 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.vsphere.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.vsphere.md @@ -89,3 +89,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.exporter.windows.md b/docs/sources/flow/reference/components/prometheus.exporter.windows.md index 587825a8a86a..4ad33effdd4a 100644 --- a/docs/sources/flow/reference/components/prometheus.exporter.windows.md +++ b/docs/sources/flow/reference/components/prometheus.exporter.windows.md @@ -307,3 +307,20 @@ 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" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/prometheus.operator.podmonitors.md b/docs/sources/flow/reference/components/prometheus.operator.podmonitors.md index f42b95d27037..fa324640d0ee 100644 --- a/docs/sources/flow/reference/components/prometheus.operator.podmonitors.md +++ b/docs/sources/flow/reference/components/prometheus.operator.podmonitors.md @@ -256,3 +256,20 @@ prometheus.operator.podmonitors "pods" { } } ``` + + +## Compatible components + +`prometheus.operator.podmonitors` can accept arguments from the following components: + +- Components that export [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 9b30ce467df2..256634a88438 100644 --- a/docs/sources/flow/reference/components/prometheus.operator.probes.md +++ b/docs/sources/flow/reference/components/prometheus.operator.probes.md @@ -191,7 +191,7 @@ If {{< param "PRODUCT_NAME" >}} is _not_ running in clustered mode, then the blo ## Exported fields -`prometheus.operator.probes` does not export any fields. It forwards all metrics it scrapes to the receiver configures with the `forward_to` argument. +`prometheus.operator.probes` does not export any fields. It forwards all metrics it scrapes to the receivers configured with the `forward_to` argument. ## Component health @@ -258,3 +258,20 @@ prometheus.operator.probes "probes" { } } ``` + + +## Compatible components + +`prometheus.operator.probes` can accept arguments from the following components: + +- Components that export [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 db88a535c94b..8b2e0ce29cdf 100644 --- a/docs/sources/flow/reference/components/prometheus.operator.servicemonitors.md +++ b/docs/sources/flow/reference/components/prometheus.operator.servicemonitors.md @@ -258,3 +258,20 @@ prometheus.operator.servicemonitors "services" { } } ``` + + +## Compatible components + +`prometheus.operator.servicemonitors` can accept arguments from the following components: + +- Components that export [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 6b856ddacc21..d48985cc3f18 100644 --- a/docs/sources/flow/reference/components/prometheus.receive_http.md +++ b/docs/sources/flow/reference/components/prometheus.receive_http.md @@ -40,7 +40,7 @@ The component will start an HTTP server supporting the following endpoint: Name | Type | Description | Default | Required -------------|------------------|---------------------------------------|---------|--------- -`forward_to` | `list(receiver)` | List of receivers to send metrics to. | | yes +`forward_to` | `list(MetricsReceiver)` | List of receivers to send metrics to. | | yes ## Blocks @@ -129,3 +129,20 @@ prometheus.remote_write "local" { ## Technical details `prometheus.receive_http` uses [snappy](https://en.wikipedia.org/wiki/Snappy_(compression)) for compression. + + +## Compatible components + +`prometheus.receive_http` can accept arguments from the following components: + +- Components that export [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 98f07b1262ab..93645aec83b6 100644 --- a/docs/sources/flow/reference/components/prometheus.relabel.md +++ b/docs/sources/flow/reference/components/prometheus.relabel.md @@ -55,7 +55,7 @@ The following arguments are supported: Name | Type | Description | Default | Required ---- | ---- | ----------- | ------- | -------- -`forward_to` | `list(receiver)` | Where the metrics should be forwarded to, after relabeling takes place. | | yes +`forward_to` | `list(MetricsReceiver)` | Where the metrics should be forwarded to, after relabeling takes place. | | yes ## Blocks @@ -77,7 +77,7 @@ The following fields are exported and can be referenced by other components: Name | Type | Description ---- | ---- | ----------- -`receiver` | `receiver` | The input receiver where samples are sent to be relabeled. +`receiver` | `MetricsReceiver` | The input receiver where samples are sent to be relabeled. `rules` | `RelabelRules` | The currently configured relabeling rules. ## Component health @@ -168,3 +168,23 @@ 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. + + +## Compatible components + +`prometheus.relabel` can accept arguments from the following components: + +- Components that export [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-exporters" >}}) + +`prometheus.relabel` has exports that can be consumed by the following components: + +- Components that consume [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 59c158cedc88..6348b7b9c3ff 100644 --- a/docs/sources/flow/reference/components/prometheus.remote_write.md +++ b/docs/sources/flow/reference/components/prometheus.remote_write.md @@ -242,7 +242,7 @@ The following fields are exported and can be referenced by other components: Name | Type | Description ---- | ---- | ----------- -`receiver` | `receiver` | A value which other components can use to send metrics to. +`receiver` | `MetricsReceiver` | A value which other components can use to send metrics to. ## Component health @@ -405,3 +405,19 @@ Any labels that start with `__` will be removed before sending to the endpoint. {{< docs/shared source="agent" lookup="/wal-data-retention.md" version="" >}} + + +## Compatible components + +`prometheus.remote_write` has exports that can be consumed by the following components: + +- Components that consume [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ 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 a240f552deb3..cb86c6c9a8e8 100644 --- a/docs/sources/flow/reference/components/prometheus.scrape.md +++ b/docs/sources/flow/reference/components/prometheus.scrape.md @@ -287,3 +287,22 @@ 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" >}}) +- Components that export [Prometheus `MetricsReceiver`]({{< relref "../compatibility/#prometheus-metricsreceiver-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/pyroscope.ebpf.md b/docs/sources/flow/reference/components/pyroscope.ebpf.md index aed88392230d..a324e71293ab 100644 --- a/docs/sources/flow/reference/components/pyroscope.ebpf.md +++ b/docs/sources/flow/reference/components/pyroscope.ebpf.md @@ -288,3 +288,21 @@ pyroscope.ebpf "default" { targets = discovery.relabel.local_containers.output } ``` + + +## Compatible components + +`pyroscope.ebpf` can accept arguments from the following components: + +- Components that export [Targets]({{< relref "../compatibility/#targets-exporters" >}}) +- Components that export [Pyroscope `ProfilesReceiver`]({{< relref "../compatibility/#pyroscope-profilesreceiver-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/pyroscope.scrape.md b/docs/sources/flow/reference/components/pyroscope.scrape.md index 29f9ccdb4468..c2c54a83bfc8 100644 --- a/docs/sources/flow/reference/components/pyroscope.scrape.md +++ b/docs/sources/flow/reference/components/pyroscope.scrape.md @@ -428,3 +428,22 @@ 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" >}}) +- Components that export [Pyroscope `ProfilesReceiver`]({{< relref "../compatibility/#pyroscope-profilesreceiver-exporters" >}}) + + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + diff --git a/docs/sources/flow/reference/components/pyroscope.write.md b/docs/sources/flow/reference/components/pyroscope.write.md index e333d98366bf..38b6b542abc0 100644 --- a/docs/sources/flow/reference/components/pyroscope.write.md +++ b/docs/sources/flow/reference/components/pyroscope.write.md @@ -160,3 +160,19 @@ pyroscope.scrape "default" { forward_to = [pyroscope.write.staging.receiver] } ``` + + +## Compatible components + +`pyroscope.write` has exports that can be consumed by the following components: + +- Components that consume [Pyroscope `ProfilesReceiver`]({{< relref "../compatibility/#pyroscope-profilesreceiver-consumers" >}}) + +{{% admonition type="note" %}} + +Connecting some components may not be sensible or components may require further configuration to make the +connection work correctly. Refer to the linked documentation for more details. + +{{% /admonition %}} + + \ No newline at end of file