Skip to content

Commit

Permalink
Update to Prometheus v0.54.1
Browse files Browse the repository at this point in the history
  • Loading branch information
ptodev committed Feb 5, 2025
1 parent 60f43c5 commit 2558a85
Show file tree
Hide file tree
Showing 39 changed files with 392 additions and 166 deletions.
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,15 @@ Main (unreleased)

- Change profile handling in `pyroscope.receive_http` and `pyroscope.write` components to use in-memory processing instead of pipes. (@marcsanmi)

### Other changes

- Upgrading to Prometheus v2.54.1. (@ptodev)
- `discovery.docker` has a new `match_first_network` attribute for matching the first network
if the container has multiple networks defined, thus avoiding collecting duplicate targets.
- `discovery.ec2`, `discovery.kubernetes`, `discovery.openstack`, and `discovery.ovhcloud`
add extra `__meta_` labels.
- `prometheus.remote_write` supports Azure OAuth and Azure SDK authentication.
- `discovery.linode` has a new `region` attribute, as well as extra `__meta_` labels.

v1.6.1
-----------------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ Name | Type | Description
`enable_http2` | `bool` | Whether HTTP2 is supported for requests. | `true` | no
`follow_redirects` | `bool` | Whether redirects returned by the server should be followed. | `true` | no
`host_networking_host` | `string` | Host to use if the container is in host networking mode. | `"localhost"` | no
`match_first_network` | `bool` | Match the first network if the container has multiple networks defined, thus avoiding collecting duplicate targets. | `true` | no
`no_proxy` | `string` | Comma-separated list of IP addresses, CIDR notations, and domain names to exclude from proxying. | | no
`port` | `number` | Port to use for collecting metrics when containers don't have any port mappings. | `80` | no
`proxy_connect_header` | `map(list(secret))` | Specifies headers to send to proxies during CONNECT requests. | | no
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@ Each target includes the following labels:
* `__meta_ec2_ipv6_addresses`: Comma-separated list of IPv6 addresses assigned to the instance's network interfaces, if present.
* `__meta_ec2_owner_id`: The ID of the AWS account that owns the EC2 instance.
* `__meta_ec2_platform`: The Operating System platform, set to 'windows' on Windows servers, absent otherwise.
* `__meta_ec2_primary_ipv6_addresses`: Comma separated list of the Primary IPv6 addresses of the instance, if present. The list is ordered based on the position of each corresponding network interface in the attachment order.
* `__meta_ec2_primary_subnet_id`: The subnet ID of the primary network interface, if available.
* `__meta_ec2_private_dns_name`: The private DNS name of the instance, if available.
* `__meta_ec2_private_ip`: The private IP address of the instance, if present.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,9 @@ The following labels are included for discovered endpoint slices:
* `__meta_kubernetes_endpointslice_endpoint_conditions_ready`: Set to `true` or `false` for the referenced endpoint's ready state.
* `__meta_kubernetes_endpointslice_endpoint_topology_kubernetes_io_hostname`: Name of the node hosting the referenced endpoint.
* `__meta_kubernetes_endpointslice_endpoint_topology_present_kubernetes_io_hostname`: `true` if the referenced object has a `kubernetes.io/hostname` annotation.
* `__meta_kubernetes_endpointslice_endpoint_hostname`: Hostname of the referenced endpoint.
* `__meta_kubernetes_endpointslice_endpoint_node_name`: Name of the Node hosting the referenced endpoint.
* `__meta_kubernetes_endpointslice_endpoint_zone`: Zone the referenced endpoint exists in (only available when using the `discovery.k8s.io/v1` API group).
* `__meta_kubernetes_endpointslice_port_name`: Named port of the referenced endpoint.
* `__meta_kubernetes_endpointslice_port_protocol`: Protocol of the referenced endpoint.
* `__meta_kubernetes_endpointslice_port`: Port of the referenced endpoint.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ Name | Type | Description
`proxy_from_environment` | `bool` | Use the proxy URL indicated by environment variables. | `false` | no
`proxy_url` | `string` | HTTP proxy to send requests through. | | no
`refresh_interval` | `duration` | The time to wait between polling update requests. | `"60s"` | no
`region` | `string` | A region to filter on. | `""` | no
`tag_separator` | `string` | The string by which Linode Instance tags are joined into the tag label. | `,` | no

At most, one of the following can be provided:
Expand Down Expand Up @@ -114,13 +115,17 @@ The following meta labels are available on targets and can be used by the discov
* `__meta_linode_backups`: The backup service status of the Linode instance.
* `__meta_linode_extra_ips`: A list of all extra IPv4 addresses assigned to the Linode instance joined by the tag separator.
* `__meta_linode_group`: The display group a Linode instance is a member of.
* `__meta_linode_gpus`: The number of GPUs of the linode instance.
* `__meta_linode_hypervisor`: The virtualization software powering the Linode instance.
* `__meta_linode_image`: The slug of the Linode instance's image.
* `__meta_linode_instance_id`: The ID of the Linode instance.
* `__meta_linode_instance_label`: The label of the Linode instance.
* `__meta_linode_private_ipv4`: The private IPv4 of the Linode instance.
* `__meta_linode_private_ipv4_rdns`: the reverse DNS for the first private IPv4 of the linode instance
* `__meta_linode_public_ipv4`: The public IPv4 of the Linode instance.
* `__meta_linode_public_ipv4_rdns`: the reverse DNS for the first public IPv4 of the linode instance
* `__meta_linode_public_ipv6`: The public IPv6 of the Linode instance.
* `__meta_linode_public_ipv6_rdns`: the reverse DNS for the first public IPv6 of the linode instance
* `__meta_linode_region`: The region of the Linode instance.
* `__meta_linode_specs_disk_bytes`: The amount of storage space the Linode instance has access to.
* `__meta_linode_specs_memory_bytes`: The amount of RAM the Linode instance has access to.
Expand All @@ -129,6 +134,7 @@ The following meta labels are available on targets and can be used by the discov
* `__meta_linode_status`: The status of the Linode instance.
* `__meta_linode_tags`: A list of tags of the Linode instance joined by the tag separator.
* `__meta_linode_type`: The type of the Linode instance.
* `__meta_linode_ipv6_ranges`: A list of IPv6 ranges with mask assigned to the linode instance joined by the tag separator.

## Component health

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -103,15 +103,15 @@ The `instance` role discovers one target per network interface of Nova instance.
The target address defaults to the private IP address of the network interface.

* `__meta_openstack_address_pool`: The pool of the private IP.
* `__meta_openstack_instance_flavor`: The flavor of the OpenStack instance.
* `__meta_openstack_instance_flavor`: The flavor of the OpenStack instance, or the flavor ID if the flavor name isn't available.
* `__meta_openstack_instance_id`: The OpenStack instance ID.
* `__meta_openstack_instance_image`: The ID of the image the OpenStack instance is using.
* `__meta_openstack_instance_name`: The OpenStack instance name.
* `__meta_openstack_instance_status`: The status of the OpenStack instance.
* `__meta_openstack_private_ip`: The private IP of the OpenStack instance.
* `__meta_openstack_project_id`: The project (tenant) owning this instance.
* `__meta_openstack_public_ip`: The public IP of the OpenStack instance.
* `__meta_openstack_tag_<tagkey>`: Each tag value of the instance.
* `__meta_openstack_tag_<key>`: Each metadata item of the instance, with any unsupported characters converted to an underscore.
* `__meta_openstack_user_id`: The user account owning the tenant.

## Component health
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ Multiple meta labels are available on `targets` and can be used by the `discover
* `__meta_ovhcloud_dedicated_server_ipv6`: The IPv6 of the server.
* `__meta_ovhcloud_dedicated_server_link_speed`: The link speed of the server.
* `__meta_ovhcloud_dedicated_server_name`: The name of the server.
* `__meta_ovhcloud_dedicated_server_no_intervention`: Whether datacenter intervention is disabled for the server.
* `__meta_ovhcloud_dedicated_server_os`: The operating system of the server.
* `__meta_ovhcloud_dedicated_server_rack`: The rack of the server.
* `__meta_ovhcloud_dedicated_server_reverse`: The reverse DNS name of the server.
Expand Down
4 changes: 3 additions & 1 deletion docs/sources/reference/components/loki/loki.source.syslog.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ The component starts a new syslog listener for each of the given `config`
blocks and fans out incoming entries to the list of receivers in `forward_to`.

Multiple `loki.source.syslog` components can be specified by giving them different labels.
[RFC5424]: https://www.rfc-editor.org/rfc/rfc5424
[RFC3164]: https://www.rfc-editor.org/rfc/rfc3164

## Usage

Expand Down Expand Up @@ -76,7 +78,7 @@ Name | Type | Description
-------------------------|---------------|-------------------------------------------------------------------------------|-----------|---------
`address` | `string` | The `<host:port>` address to listen to for syslog messages. | | yes
`protocol` | `string` | The protocol to listen to for syslog messages. Must be either `tcp` or `udp`. | `tcp` | no
`idle_timeout` | `duration` | The idle timeout for tcp connections. | `"120s" ` | no
`idle_timeout` | `duration` | The idle timeout for tcp connections. | `"120s"` | no
`label_structured_data` | `bool` | Whether to translate syslog structured data to loki labels. | `false` | no
`labels` | `map(string)` | The labels to associate with each received syslog record. | `{}` | no
`use_incoming_timestamp` | `bool` | Whether to set the timestamp to the incoming syslog record timestamp. | `false` | no
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ endpoint > oauth2 > tls_config | [tls_config][] | Configure TLS settings for con
endpoint > sigv4 | [sigv4][] | Configure AWS Signature Verification 4 for authenticating to the endpoint. | no
endpoint > azuread | [azuread][] | Configure AzureAD for authenticating to the endpoint. | no
endpoint > azuread > managed_identity | [managed_identity][] | Configure Azure user-assigned managed identity. | yes
endpoint > azuread > oauth | [oauth][] | Configure Azure OAuth. | yes
endpoint > azuread > sdk | [sdk][] | Configure Azure SDK authentication. | yes
endpoint > tls_config | [tls_config][] | Configure TLS settings for connecting to the endpoint. | no
endpoint > queue_config | [queue_config][] | Configuration for how metrics are batched before sending. | no
endpoint > metadata_config | [metadata_config][] | Configuration for how metric metadata is sent. | no
Expand All @@ -72,6 +74,8 @@ basic_auth` refers to a `basic_auth` block defined inside an
[sigv4]: #sigv4-block
[azuread]: #azuread-block
[managed_identity]: #managed_identity-block
[oauth]: #oauth-block
[sdk]: #sdk-block
[tls_config]: #tls_config-block
[queue_config]: #queue_config-block
[metadata_config]: #metadata_config-block
Expand Down Expand Up @@ -149,7 +153,15 @@ metrics fails.

### managed_identity block

{{< docs/shared lookup="reference/components/managed_identity-block.md" source="alloy" version="<ALLOY_VERSION>" >}}
{{< docs/shared lookup="reference/components/azure-managed_identity-block.md" source="alloy" version="<ALLOY_VERSION>" >}}

### oauth block

{{< docs/shared lookup="reference/components/azure-oauth-block.md" source="alloy" version="<ALLOY_VERSION>" >}}

### sdk block

{{< docs/shared lookup="reference/components/azure-sdk-block.md" source="alloy" version="<ALLOY_VERSION>" >}}

### tls_config block

Expand Down
11 changes: 11 additions & 0 deletions docs/sources/shared/reference/components/azure-oauth-block.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
canonical: https://grafana.com/docs/alloy/latest/shared/reference/components/azuread-oauth-block/
description: Shared content, oauth block
headless: true
---

Name | Type | Description | Default | Required
----------------|----------|-------------------------------------------------------------------------------------------------|---------|---------
`client_id` | `string` | The client ID of the Azure Active Directory application that is being used to authenticate. | | yes
`client_secret` | `secret` | The client secret of the Azure Active Directory application that is being used to authenticate. | | yes
`tenant_id` | `string` | The tenant ID of the Azure Active Directory application that is being used to authenticate. | | yes
13 changes: 13 additions & 0 deletions docs/sources/shared/reference/components/azuread-sdk.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
canonical: https://grafana.com/docs/alloy/latest/shared/reference/components/azuread-sdk-block/
description: Shared content, sdk block
headless: true
---

This block configures [Azure SDK authentication][sdk-auth].

Name | Type | Description | Default | Required
------------|----------|---------------------------------------------------------------------------------------------|---------|---------
`tenant_id` | `string` | The tenant ID of the Azure Active Directory application that is being used to authenticate. | | yes

[sdk-auth]: https://learn.microsoft.com/en-us/azure/developer/go/azure-sdk-authentication
Loading

0 comments on commit 2558a85

Please sign in to comment.