Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The pipelineGroups resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Monitor/pipelineGroups resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Monitor/pipelineGroups@2024-10-01-preview' = {
extendedLocation: {
name: 'string'
type: 'string'
}
location: 'string'
name: 'string'
properties: {
exporters: [
{
azureMonitorWorkspaceLogs: {
api: {
dataCollectionEndpointUrl: 'string'
dataCollectionRule: 'string'
schema: {
recordMap: [
{
from: 'string'
to: 'string'
}
]
resourceMap: [
{
from: 'string'
to: 'string'
}
]
scopeMap: [
{
from: 'string'
to: 'string'
}
]
}
stream: 'string'
}
cache: {
maxStorageUsage: int
retentionPeriod: int
}
concurrency: {
batchQueueSize: int
workerCount: int
}
}
name: 'string'
tcp: {
url: 'string'
}
type: 'string'
}
]
networkingConfigurations: [
{
externalNetworkingMode: 'string'
host: 'string'
routes: [
{
path: 'string'
port: int
receiver: 'string'
subdomain: 'string'
}
]
}
]
processors: [
{
batch: {
batchSize: int
timeout: int
}
name: 'string'
type: 'string'
}
]
receivers: [
{
name: 'string'
otlp: {
endpoint: 'string'
}
syslog: {
endpoint: 'string'
protocol: 'string'
}
type: 'string'
udp: {
encoding: 'string'
endpoint: 'string'
jsonArrayMapper: {
destinationField: {
destination: 'string'
fieldName: 'string'
}
keys: [
'string'
]
sourceField: {
fieldName: 'string'
}
}
readQueueLength: int
}
}
]
replicas: int
service: {
persistence: {
persistentVolumeName: 'string'
}
pipelines: [
{
exporters: [
'string'
]
name: 'string'
processors: [
'string'
]
receivers: [
'string'
]
type: 'string'
}
]
}
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.Monitor/pipelineGroups
| Name | Description | Value |
|---|---|---|
| extendedLocation | The complex type of the extended location. | AzureResourceManagerCommonTypesExtendedLocation |
| location | The geo-location where the resource lives | string (required) |
| name | The resource name | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| properties | The resource-specific properties for this resource. | PipelineGroupProperties |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
AzureMonitorWorkspaceLogsApiConfig
| Name | Description | Value |
|---|---|---|
| dataCollectionEndpointUrl | Data collection endpoint ingestion url. | string Constraints: Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required) |
| dataCollectionRule | Data Collection Rule (DCR) immutable id. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9.-]{1,1000}[^-]$ (required) |
| schema | The schema mapping for incoming data. | SchemaMap (required) |
| stream | Stream name in destination. Azure Monitor stream is related to the destination table. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9._-]{1,1000}[^-]$ (required) |
AzureMonitorWorkspaceLogsExporter
| Name | Description | Value |
|---|---|---|
| api | API configurations for Azure Monitor workspace exporter. | AzureMonitorWorkspaceLogsApiConfig (required) |
| cache | Cache configurations. | CacheConfiguration |
| concurrency | Concurrency configuration for the exporter. | ConcurrencyConfiguration |
AzureResourceManagerCommonTypesExtendedLocation
| Name | Description | Value |
|---|---|---|
| name | The name of the extended location. | string (required) |
| type | The type of the extended location. | 'CustomLocation' 'EdgeZone' (required) |
BatchProcessor
| Name | Description | Value |
|---|---|---|
| batchSize | Size of the batch. | int Constraints: Min value = 10 Max value = 100000 |
| timeout | Timeout in milliseconds. | int Constraints: Min value = 10 Max value = 60000 |
CacheConfiguration
| Name | Description | Value |
|---|---|---|
| maxStorageUsage | Max storage usage in megabytes. | int |
| retentionPeriod | Retention period in minutes. | int |
ConcurrencyConfiguration
| Name | Description | Value |
|---|---|---|
| batchQueueSize | Size of the queue for log batches. | int |
| workerCount | Number of parallel workers processing the log queues. | int |
Exporter
| Name | Description | Value |
|---|---|---|
| azureMonitorWorkspaceLogs | Azure Monitor Workspace Logs specific configurations. | AzureMonitorWorkspaceLogsExporter |
| name | The name of exporter. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| tcp | TCP based exporter. Used for pipelineGroup exporter. | TcpExporter |
| type | The type of exporter. | 'AzureMonitorWorkspaceLogs' 'PipelineGroup' (required) |
JsonArrayMapper
| Name | Description | Value |
|---|---|---|
| destinationField | Define a destination field to which the parsed output will be written. The output is a map, it's keys is the given keys array and the matching values are the parsed json array elements. | JsonMapperDestinationField |
| keys | Define the names of the keys in the resulting map. The input json array elements are mapped in order, one for every key. | string[] (required) |
| sourceField | Define a source field from which a json array will be read and parsed to it's elements. The number of elements in the json array is expected to be the same as the length of keys. | JsonMapperSourceField |
JsonMapperDestinationField
| Name | Description | Value |
|---|---|---|
| destination | Define the destination's element. The element is the body or the attributes of the message, to which the json array mapper will write the output map. | 'attributes' 'body' |
| fieldName | Define a destination field name under the given element. Leaving this empty, means the root of the element. In case element=attributes and fieldName is empty, the object's attributes themselves will contain the key value output pairs. | string |
JsonMapperSourceField
| Name | Description | Value |
|---|---|---|
| fieldName | Define a source field name from which the json array mapper will read the json array. Leaving this empty, means reading the body of the message itself. | string |
NetworkingConfiguration
| Name | Description | Value |
|---|---|---|
| externalNetworkingMode | External networking mode. | 'LoadBalancerOnly' (required) |
| host | The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+$ |
| routes | Networking routes configuration. | NetworkingRoute[] (required) |
NetworkingRoute
| Name | Description | Value |
|---|---|---|
| path | Route path. | string Constraints: Pattern = ^[a-zA-Z0-9-/\.]+$ |
| port | The port that will be configured externally. If not specified, it will use the port from the receiver definition. | int Constraints: Min value = 1 Max value = 65535 |
| receiver | The name of the previously defined receiver. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| subdomain | Route subdomain. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+$ |
OtlpReceiver
| Name | Description | Value |
|---|---|---|
| endpoint | OTLP GRPC endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
PersistenceConfigurations
| Name | Description | Value |
|---|---|---|
| persistentVolumeName | The name of the mounted persistent volume. | string (required) |
Pipeline
| Name | Description | Value |
|---|---|---|
| exporters | Reference to exporters configured for the pipeline. | string[] (required) |
| name | Name of the pipeline. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| processors | Reference to processors configured for the pipeline. | string[] |
| receivers | Reference to receivers configured for the pipeline. | string[] (required) |
| type | The type of pipeline | 'Logs' (required) |
PipelineGroupProperties
| Name | Description | Value |
|---|---|---|
| exporters | The exporters specified for a pipeline group instance. | Exporter[] (required) |
| networkingConfigurations | Networking configurations for the pipeline group instance. | NetworkingConfiguration[] |
| processors | The processors specified for a pipeline group instance. | Processor[] (required) |
| receivers | The receivers specified for a pipeline group instance. | Receiver[] (required) |
| replicas | Defines the amount of replicas of the pipeline group instance. | int |
| service | The service section for a given pipeline group instance. | Service (required) |
Processor
| Name | Description | Value |
|---|---|---|
| batch | Batch processor configurations. | BatchProcessor |
| name | The name of processor. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| type | The type of processor. | 'Batch' (required) |
Receiver
| Name | Description | Value |
|---|---|---|
| name | The name of receiver. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| otlp | OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. | OtlpReceiver |
| syslog | Syslog configurations. This field is mandatory for syslog type receivers. | SyslogReceiver |
| type | The type of receiver. | 'Ama' 'OTLP' 'PipelineGroup' 'Syslog' 'UDP' (required) |
| udp | UDP receiver configurations. This field is mandatory for UDP receivers. | UdpReceiver |
RecordMap
| Name | Description | Value |
|---|---|---|
| from | Record Map Key. | string (required) |
| to | Record Map Value. | string (required) |
ResourceMap
| Name | Description | Value |
|---|---|---|
| from | Resource Map Key. | string (required) |
| to | Resource Map Value. | string (required) |
SchemaMap
| Name | Description | Value |
|---|---|---|
| recordMap | Record Map. | RecordMap[] (required) |
| resourceMap | Resource Map captures information about the entity for which telemetry is recorded. For example, metrics exposed by a Kubernetes container can be linked to a resource that specifies the cluster, namespace, pod, and container name.Resource may capture an entire hierarchy of entity identification. It may describe the host in the cloud and specific container or an application running in the process. | ResourceMap[] |
| scopeMap | A scope map is a logical unit of the application code with which the emitted telemetry can be associated. | ScopeMap[] |
ScopeMap
| Name | Description | Value |
|---|---|---|
| from | Scope Map Key. | string (required) |
| to | Scope Map Value. | string (required) |
Service
| Name | Description | Value |
|---|---|---|
| persistence | Persistence options to all pipelines in the instance. | PersistenceConfigurations |
| pipelines | Pipelines belonging to a given pipeline group. | Pipeline[] (required) |
SyslogReceiver
| Name | Description | Value |
|---|---|---|
| endpoint | Syslog receiver endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
| protocol | Protocol to parse syslog messages. Default rfc3164 | 'rfc3164' 'rfc5424' |
TcpExporter
| Name | Description | Value |
|---|---|---|
| url | TCP url to export. | string Constraints: Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required) |
TrackedResourceTags
| Name | Description | Value |
|---|
UdpReceiver
| Name | Description | Value |
|---|---|---|
| encoding | The encoding of the stream being received. | 'ascii' 'big5' 'nop' 'utf-16be' 'utf-16le' 'utf-8' |
| endpoint | TCP endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
| jsonArrayMapper | Json array mapper - allows this udp receiver to parse a value from a given source field as a json array, match a key to each parsed value and output the key-value map to a given output field. | JsonArrayMapper |
| readQueueLength | Max read queue length. | int Constraints: Min value = 100 Max value = 100000 |
ARM template resource definition
The pipelineGroups resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands For a list of changed properties in each API version, see change log.
Usage Examples
Resource format
To create a Microsoft.Monitor/pipelineGroups resource, add the following JSON to your template.
{
"type": "Microsoft.Monitor/pipelineGroups",
"apiVersion": "2024-10-01-preview",
"name": "string",
"extendedLocation": {
"name": "string",
"type": "string"
},
"location": "string",
"properties": {
"exporters": [
{
"azureMonitorWorkspaceLogs": {
"api": {
"dataCollectionEndpointUrl": "string",
"dataCollectionRule": "string",
"schema": {
"recordMap": [
{
"from": "string",
"to": "string"
}
],
"resourceMap": [
{
"from": "string",
"to": "string"
}
],
"scopeMap": [
{
"from": "string",
"to": "string"
}
]
},
"stream": "string"
},
"cache": {
"maxStorageUsage": "int",
"retentionPeriod": "int"
},
"concurrency": {
"batchQueueSize": "int",
"workerCount": "int"
}
},
"name": "string",
"tcp": {
"url": "string"
},
"type": "string"
}
],
"networkingConfigurations": [
{
"externalNetworkingMode": "string",
"host": "string",
"routes": [
{
"path": "string",
"port": "int",
"receiver": "string",
"subdomain": "string"
}
]
}
],
"processors": [
{
"batch": {
"batchSize": "int",
"timeout": "int"
},
"name": "string",
"type": "string"
}
],
"receivers": [
{
"name": "string",
"otlp": {
"endpoint": "string"
},
"syslog": {
"endpoint": "string",
"protocol": "string"
},
"type": "string",
"udp": {
"encoding": "string",
"endpoint": "string",
"jsonArrayMapper": {
"destinationField": {
"destination": "string",
"fieldName": "string"
},
"keys": [ "string" ],
"sourceField": {
"fieldName": "string"
}
},
"readQueueLength": "int"
}
}
],
"replicas": "int",
"service": {
"persistence": {
"persistentVolumeName": "string"
},
"pipelines": [
{
"exporters": [ "string" ],
"name": "string",
"processors": [ "string" ],
"receivers": [ "string" ],
"type": "string"
}
]
}
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.Monitor/pipelineGroups
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2024-10-01-preview' |
| extendedLocation | The complex type of the extended location. | AzureResourceManagerCommonTypesExtendedLocation |
| location | The geo-location where the resource lives | string (required) |
| name | The resource name | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| properties | The resource-specific properties for this resource. | PipelineGroupProperties |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
| type | The resource type | 'Microsoft.Monitor/pipelineGroups' |
AzureMonitorWorkspaceLogsApiConfig
| Name | Description | Value |
|---|---|---|
| dataCollectionEndpointUrl | Data collection endpoint ingestion url. | string Constraints: Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required) |
| dataCollectionRule | Data Collection Rule (DCR) immutable id. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9.-]{1,1000}[^-]$ (required) |
| schema | The schema mapping for incoming data. | SchemaMap (required) |
| stream | Stream name in destination. Azure Monitor stream is related to the destination table. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9._-]{1,1000}[^-]$ (required) |
AzureMonitorWorkspaceLogsExporter
| Name | Description | Value |
|---|---|---|
| api | API configurations for Azure Monitor workspace exporter. | AzureMonitorWorkspaceLogsApiConfig (required) |
| cache | Cache configurations. | CacheConfiguration |
| concurrency | Concurrency configuration for the exporter. | ConcurrencyConfiguration |
AzureResourceManagerCommonTypesExtendedLocation
| Name | Description | Value |
|---|---|---|
| name | The name of the extended location. | string (required) |
| type | The type of the extended location. | 'CustomLocation' 'EdgeZone' (required) |
BatchProcessor
| Name | Description | Value |
|---|---|---|
| batchSize | Size of the batch. | int Constraints: Min value = 10 Max value = 100000 |
| timeout | Timeout in milliseconds. | int Constraints: Min value = 10 Max value = 60000 |
CacheConfiguration
| Name | Description | Value |
|---|---|---|
| maxStorageUsage | Max storage usage in megabytes. | int |
| retentionPeriod | Retention period in minutes. | int |
ConcurrencyConfiguration
| Name | Description | Value |
|---|---|---|
| batchQueueSize | Size of the queue for log batches. | int |
| workerCount | Number of parallel workers processing the log queues. | int |
Exporter
| Name | Description | Value |
|---|---|---|
| azureMonitorWorkspaceLogs | Azure Monitor Workspace Logs specific configurations. | AzureMonitorWorkspaceLogsExporter |
| name | The name of exporter. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| tcp | TCP based exporter. Used for pipelineGroup exporter. | TcpExporter |
| type | The type of exporter. | 'AzureMonitorWorkspaceLogs' 'PipelineGroup' (required) |
JsonArrayMapper
| Name | Description | Value |
|---|---|---|
| destinationField | Define a destination field to which the parsed output will be written. The output is a map, it's keys is the given keys array and the matching values are the parsed json array elements. | JsonMapperDestinationField |
| keys | Define the names of the keys in the resulting map. The input json array elements are mapped in order, one for every key. | string[] (required) |
| sourceField | Define a source field from which a json array will be read and parsed to it's elements. The number of elements in the json array is expected to be the same as the length of keys. | JsonMapperSourceField |
JsonMapperDestinationField
| Name | Description | Value |
|---|---|---|
| destination | Define the destination's element. The element is the body or the attributes of the message, to which the json array mapper will write the output map. | 'attributes' 'body' |
| fieldName | Define a destination field name under the given element. Leaving this empty, means the root of the element. In case element=attributes and fieldName is empty, the object's attributes themselves will contain the key value output pairs. | string |
JsonMapperSourceField
| Name | Description | Value |
|---|---|---|
| fieldName | Define a source field name from which the json array mapper will read the json array. Leaving this empty, means reading the body of the message itself. | string |
NetworkingConfiguration
| Name | Description | Value |
|---|---|---|
| externalNetworkingMode | External networking mode. | 'LoadBalancerOnly' (required) |
| host | The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+$ |
| routes | Networking routes configuration. | NetworkingRoute[] (required) |
NetworkingRoute
| Name | Description | Value |
|---|---|---|
| path | Route path. | string Constraints: Pattern = ^[a-zA-Z0-9-/\.]+$ |
| port | The port that will be configured externally. If not specified, it will use the port from the receiver definition. | int Constraints: Min value = 1 Max value = 65535 |
| receiver | The name of the previously defined receiver. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| subdomain | Route subdomain. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+$ |
OtlpReceiver
| Name | Description | Value |
|---|---|---|
| endpoint | OTLP GRPC endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
PersistenceConfigurations
| Name | Description | Value |
|---|---|---|
| persistentVolumeName | The name of the mounted persistent volume. | string (required) |
Pipeline
| Name | Description | Value |
|---|---|---|
| exporters | Reference to exporters configured for the pipeline. | string[] (required) |
| name | Name of the pipeline. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| processors | Reference to processors configured for the pipeline. | string[] |
| receivers | Reference to receivers configured for the pipeline. | string[] (required) |
| type | The type of pipeline | 'Logs' (required) |
PipelineGroupProperties
| Name | Description | Value |
|---|---|---|
| exporters | The exporters specified for a pipeline group instance. | Exporter[] (required) |
| networkingConfigurations | Networking configurations for the pipeline group instance. | NetworkingConfiguration[] |
| processors | The processors specified for a pipeline group instance. | Processor[] (required) |
| receivers | The receivers specified for a pipeline group instance. | Receiver[] (required) |
| replicas | Defines the amount of replicas of the pipeline group instance. | int |
| service | The service section for a given pipeline group instance. | Service (required) |
Processor
| Name | Description | Value |
|---|---|---|
| batch | Batch processor configurations. | BatchProcessor |
| name | The name of processor. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| type | The type of processor. | 'Batch' (required) |
Receiver
| Name | Description | Value |
|---|---|---|
| name | The name of receiver. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| otlp | OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. | OtlpReceiver |
| syslog | Syslog configurations. This field is mandatory for syslog type receivers. | SyslogReceiver |
| type | The type of receiver. | 'Ama' 'OTLP' 'PipelineGroup' 'Syslog' 'UDP' (required) |
| udp | UDP receiver configurations. This field is mandatory for UDP receivers. | UdpReceiver |
RecordMap
| Name | Description | Value |
|---|---|---|
| from | Record Map Key. | string (required) |
| to | Record Map Value. | string (required) |
ResourceMap
| Name | Description | Value |
|---|---|---|
| from | Resource Map Key. | string (required) |
| to | Resource Map Value. | string (required) |
SchemaMap
| Name | Description | Value |
|---|---|---|
| recordMap | Record Map. | RecordMap[] (required) |
| resourceMap | Resource Map captures information about the entity for which telemetry is recorded. For example, metrics exposed by a Kubernetes container can be linked to a resource that specifies the cluster, namespace, pod, and container name.Resource may capture an entire hierarchy of entity identification. It may describe the host in the cloud and specific container or an application running in the process. | ResourceMap[] |
| scopeMap | A scope map is a logical unit of the application code with which the emitted telemetry can be associated. | ScopeMap[] |
ScopeMap
| Name | Description | Value |
|---|---|---|
| from | Scope Map Key. | string (required) |
| to | Scope Map Value. | string (required) |
Service
| Name | Description | Value |
|---|---|---|
| persistence | Persistence options to all pipelines in the instance. | PersistenceConfigurations |
| pipelines | Pipelines belonging to a given pipeline group. | Pipeline[] (required) |
SyslogReceiver
| Name | Description | Value |
|---|---|---|
| endpoint | Syslog receiver endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
| protocol | Protocol to parse syslog messages. Default rfc3164 | 'rfc3164' 'rfc5424' |
TcpExporter
| Name | Description | Value |
|---|---|---|
| url | TCP url to export. | string Constraints: Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required) |
TrackedResourceTags
| Name | Description | Value |
|---|
UdpReceiver
| Name | Description | Value |
|---|---|---|
| encoding | The encoding of the stream being received. | 'ascii' 'big5' 'nop' 'utf-16be' 'utf-16le' 'utf-8' |
| endpoint | TCP endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
| jsonArrayMapper | Json array mapper - allows this udp receiver to parse a value from a given source field as a json array, match a key to each parsed value and output the key-value map to a given output field. | JsonArrayMapper |
| readQueueLength | Max read queue length. | int Constraints: Min value = 100 Max value = 100000 |
Terraform (AzAPI provider) resource definition
The pipelineGroups resource type can be deployed with operations that target:
- Resource groups For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Monitor/pipelineGroups resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Monitor/pipelineGroups@2024-10-01-preview"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
extendedLocation = {
name = "string"
type = "string"
}
properties = {
exporters = [
{
azureMonitorWorkspaceLogs = {
api = {
dataCollectionEndpointUrl = "string"
dataCollectionRule = "string"
schema = {
recordMap = [
{
from = "string"
to = "string"
}
]
resourceMap = [
{
from = "string"
to = "string"
}
]
scopeMap = [
{
from = "string"
to = "string"
}
]
}
stream = "string"
}
cache = {
maxStorageUsage = int
retentionPeriod = int
}
concurrency = {
batchQueueSize = int
workerCount = int
}
}
name = "string"
tcp = {
url = "string"
}
type = "string"
}
]
networkingConfigurations = [
{
externalNetworkingMode = "string"
host = "string"
routes = [
{
path = "string"
port = int
receiver = "string"
subdomain = "string"
}
]
}
]
processors = [
{
batch = {
batchSize = int
timeout = int
}
name = "string"
type = "string"
}
]
receivers = [
{
name = "string"
otlp = {
endpoint = "string"
}
syslog = {
endpoint = "string"
protocol = "string"
}
type = "string"
udp = {
encoding = "string"
endpoint = "string"
jsonArrayMapper = {
destinationField = {
destination = "string"
fieldName = "string"
}
keys = [
"string"
]
sourceField = {
fieldName = "string"
}
}
readQueueLength = int
}
}
]
replicas = int
service = {
persistence = {
persistentVolumeName = "string"
}
pipelines = [
{
exporters = [
"string"
]
name = "string"
processors = [
"string"
]
receivers = [
"string"
]
type = "string"
}
]
}
}
}
}
Property Values
Microsoft.Monitor/pipelineGroups
| Name | Description | Value |
|---|---|---|
| extendedLocation | The complex type of the extended location. | AzureResourceManagerCommonTypesExtendedLocation |
| location | The geo-location where the resource lives | string (required) |
| name | The resource name | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| properties | The resource-specific properties for this resource. | PipelineGroupProperties |
| tags | Resource tags | Dictionary of tag names and values. |
| type | The resource type | "Microsoft.Monitor/pipelineGroups@2024-10-01-preview" |
AzureMonitorWorkspaceLogsApiConfig
| Name | Description | Value |
|---|---|---|
| dataCollectionEndpointUrl | Data collection endpoint ingestion url. | string Constraints: Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required) |
| dataCollectionRule | Data Collection Rule (DCR) immutable id. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9.-]{1,1000}[^-]$ (required) |
| schema | The schema mapping for incoming data. | SchemaMap (required) |
| stream | Stream name in destination. Azure Monitor stream is related to the destination table. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9._-]{1,1000}[^-]$ (required) |
AzureMonitorWorkspaceLogsExporter
| Name | Description | Value |
|---|---|---|
| api | API configurations for Azure Monitor workspace exporter. | AzureMonitorWorkspaceLogsApiConfig (required) |
| cache | Cache configurations. | CacheConfiguration |
| concurrency | Concurrency configuration for the exporter. | ConcurrencyConfiguration |
AzureResourceManagerCommonTypesExtendedLocation
| Name | Description | Value |
|---|---|---|
| name | The name of the extended location. | string (required) |
| type | The type of the extended location. | 'CustomLocation' 'EdgeZone' (required) |
BatchProcessor
| Name | Description | Value |
|---|---|---|
| batchSize | Size of the batch. | int Constraints: Min value = 10 Max value = 100000 |
| timeout | Timeout in milliseconds. | int Constraints: Min value = 10 Max value = 60000 |
CacheConfiguration
| Name | Description | Value |
|---|---|---|
| maxStorageUsage | Max storage usage in megabytes. | int |
| retentionPeriod | Retention period in minutes. | int |
ConcurrencyConfiguration
| Name | Description | Value |
|---|---|---|
| batchQueueSize | Size of the queue for log batches. | int |
| workerCount | Number of parallel workers processing the log queues. | int |
Exporter
| Name | Description | Value |
|---|---|---|
| azureMonitorWorkspaceLogs | Azure Monitor Workspace Logs specific configurations. | AzureMonitorWorkspaceLogsExporter |
| name | The name of exporter. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| tcp | TCP based exporter. Used for pipelineGroup exporter. | TcpExporter |
| type | The type of exporter. | 'AzureMonitorWorkspaceLogs' 'PipelineGroup' (required) |
JsonArrayMapper
| Name | Description | Value |
|---|---|---|
| destinationField | Define a destination field to which the parsed output will be written. The output is a map, it's keys is the given keys array and the matching values are the parsed json array elements. | JsonMapperDestinationField |
| keys | Define the names of the keys in the resulting map. The input json array elements are mapped in order, one for every key. | string[] (required) |
| sourceField | Define a source field from which a json array will be read and parsed to it's elements. The number of elements in the json array is expected to be the same as the length of keys. | JsonMapperSourceField |
JsonMapperDestinationField
| Name | Description | Value |
|---|---|---|
| destination | Define the destination's element. The element is the body or the attributes of the message, to which the json array mapper will write the output map. | 'attributes' 'body' |
| fieldName | Define a destination field name under the given element. Leaving this empty, means the root of the element. In case element=attributes and fieldName is empty, the object's attributes themselves will contain the key value output pairs. | string |
JsonMapperSourceField
| Name | Description | Value |
|---|---|---|
| fieldName | Define a source field name from which the json array mapper will read the json array. Leaving this empty, means reading the body of the message itself. | string |
NetworkingConfiguration
| Name | Description | Value |
|---|---|---|
| externalNetworkingMode | External networking mode. | 'LoadBalancerOnly' (required) |
| host | The address exposed on the cluster. Example: azuremonitorpipeline.contoso.com. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+$ |
| routes | Networking routes configuration. | NetworkingRoute[] (required) |
NetworkingRoute
| Name | Description | Value |
|---|---|---|
| path | Route path. | string Constraints: Pattern = ^[a-zA-Z0-9-/\.]+$ |
| port | The port that will be configured externally. If not specified, it will use the port from the receiver definition. | int Constraints: Min value = 1 Max value = 65535 |
| receiver | The name of the previously defined receiver. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| subdomain | Route subdomain. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+$ |
OtlpReceiver
| Name | Description | Value |
|---|---|---|
| endpoint | OTLP GRPC endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
PersistenceConfigurations
| Name | Description | Value |
|---|---|---|
| persistentVolumeName | The name of the mounted persistent volume. | string (required) |
Pipeline
| Name | Description | Value |
|---|---|---|
| exporters | Reference to exporters configured for the pipeline. | string[] (required) |
| name | Name of the pipeline. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| processors | Reference to processors configured for the pipeline. | string[] |
| receivers | Reference to receivers configured for the pipeline. | string[] (required) |
| type | The type of pipeline | 'Logs' (required) |
PipelineGroupProperties
| Name | Description | Value |
|---|---|---|
| exporters | The exporters specified for a pipeline group instance. | Exporter[] (required) |
| networkingConfigurations | Networking configurations for the pipeline group instance. | NetworkingConfiguration[] |
| processors | The processors specified for a pipeline group instance. | Processor[] (required) |
| receivers | The receivers specified for a pipeline group instance. | Receiver[] (required) |
| replicas | Defines the amount of replicas of the pipeline group instance. | int |
| service | The service section for a given pipeline group instance. | Service (required) |
Processor
| Name | Description | Value |
|---|---|---|
| batch | Batch processor configurations. | BatchProcessor |
| name | The name of processor. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| type | The type of processor. | 'Batch' (required) |
Receiver
| Name | Description | Value |
|---|---|---|
| name | The name of receiver. | string Constraints: Pattern = ^(?!-)[a-zA-Z0-9-]{3,32}[^-]$ (required) |
| otlp | OTLP receiver configurations. This field is mandatory for OTLP and pipelineGroup receivers. | OtlpReceiver |
| syslog | Syslog configurations. This field is mandatory for syslog type receivers. | SyslogReceiver |
| type | The type of receiver. | 'Ama' 'OTLP' 'PipelineGroup' 'Syslog' 'UDP' (required) |
| udp | UDP receiver configurations. This field is mandatory for UDP receivers. | UdpReceiver |
RecordMap
| Name | Description | Value |
|---|---|---|
| from | Record Map Key. | string (required) |
| to | Record Map Value. | string (required) |
ResourceMap
| Name | Description | Value |
|---|---|---|
| from | Resource Map Key. | string (required) |
| to | Resource Map Value. | string (required) |
SchemaMap
| Name | Description | Value |
|---|---|---|
| recordMap | Record Map. | RecordMap[] (required) |
| resourceMap | Resource Map captures information about the entity for which telemetry is recorded. For example, metrics exposed by a Kubernetes container can be linked to a resource that specifies the cluster, namespace, pod, and container name.Resource may capture an entire hierarchy of entity identification. It may describe the host in the cloud and specific container or an application running in the process. | ResourceMap[] |
| scopeMap | A scope map is a logical unit of the application code with which the emitted telemetry can be associated. | ScopeMap[] |
ScopeMap
| Name | Description | Value |
|---|---|---|
| from | Scope Map Key. | string (required) |
| to | Scope Map Value. | string (required) |
Service
| Name | Description | Value |
|---|---|---|
| persistence | Persistence options to all pipelines in the instance. | PersistenceConfigurations |
| pipelines | Pipelines belonging to a given pipeline group. | Pipeline[] (required) |
SyslogReceiver
| Name | Description | Value |
|---|---|---|
| endpoint | Syslog receiver endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
| protocol | Protocol to parse syslog messages. Default rfc3164 | 'rfc3164' 'rfc5424' |
TcpExporter
| Name | Description | Value |
|---|---|---|
| url | TCP url to export. | string Constraints: Pattern = ^(https?)://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*$ (required) |
TrackedResourceTags
| Name | Description | Value |
|---|
UdpReceiver
| Name | Description | Value |
|---|---|---|
| encoding | The encoding of the stream being received. | 'ascii' 'big5' 'nop' 'utf-16be' 'utf-16le' 'utf-8' |
| endpoint | TCP endpoint definition. Example: 0.0.0.0:<port>. | string Constraints: Pattern = ^[a-zA-Z0-9-\.]+:[0-9]+$ (required) |
| jsonArrayMapper | Json array mapper - allows this udp receiver to parse a value from a given source field as a json array, match a key to each parsed value and output the key-value map to a given output field. | JsonArrayMapper |
| readQueueLength | Max read queue length. | int Constraints: Min value = 100 Max value = 100000 |