Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Prometheus v2.54.1 #1574

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,20 @@ Main (unreleased)

- Add support for pushv1.PusherService Connect API in `pyroscope.receive_http`. (@simonswine)

### 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.
- A new `scrape_native_histograms` argument for `prometheus.scrape`.
This is enabled by default and can be used to explicitly disable native histogram support.
In previous versions of Alloy, native histogram support has also been enabled by default
as long as `scrape_protocols` starts with `PrometheusProto`.

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
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
ptodev marked this conversation as resolved.
Show resolved Hide resolved

## 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
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ The following arguments are supported:
| `track_timestamps_staleness` | `bool` | Indicator whether to track the staleness of the scraped timestamps. | `false` | no |
| `params` | `map(list(string))` | A set of query parameters with which the target is scraped. | | no |
| `scrape_classic_histograms` | `bool` | Whether to scrape a classic histogram that is also exposed as a native histogram. | `false` | no |
| `scrape_native_histograms` | `bool` | Whether to scrape native histograms. | `true` | no |
| `scrape_interval` | `duration` | How frequently to scrape the targets of this scrape configuration. | `"60s"` | no |
| `scrape_timeout` | `duration` | The timeout for scraping targets of this configuration. | `"10s"` | no |
| `scrape_protocols` | `list(string)` | The protocols to negotiate during a scrape, in order of preference. See below for available values. | `["OpenMetricsText1.0.0", "OpenMetricsText0.0.1", "PrometheusText0.0.4"]` | no |
Expand Down Expand Up @@ -89,6 +90,10 @@ a scrape. The following values are supported:
If you were using the now deprecated `enable_protobuf_negotiation` argument, switch
to using `scrape_protocols = ["PrometheusProto", "OpenMetricsText1.0.0", "OpenMetricsText0.0.1", "PrometheusText0.0.4"]` instead.

For now, native histograms are only available through the Prometheus Protobuf exposition format.
To scrape native histograms, `scrape_native_histograms` must be set to `true` and
the first item in `scrape_protocols` must be `PrometheusProto`.

{{< docs/shared lookup="reference/components/http-client-proxy-config-description.md" source="alloy" version="<ALLOY_VERSION>" >}}

`track_timestamps_staleness` controls whether Prometheus tracks [staleness][prom-staleness] of metrics with an explicit timestamp present in scraped data.
Expand Down Expand Up @@ -269,6 +274,7 @@ negotiate, for example:
```alloy
prometheus.scrape "prometheus" {
...
scrape_native_histograms = true
scrape_protocols = ["PrometheusProto", "OpenMetricsText1.0.0", "OpenMetricsText0.0.1", "PrometheusText0.0.4"]
}
```
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
Loading