mirror of
https://github.com/prometheus-operator/prometheus-operator.git
synced 2025-04-16 01:06:27 +00:00
feat: add support fallback_scrape_protocol
option for each scrape CRD and globally (#7131)
* add fallback scrape protocol --------- Signed-off-by: dongjiang1989 <dongjiang1989@126.com>
This commit is contained in:
parent
ef69943905
commit
d3b8e5921d
45 changed files with 1102 additions and 0 deletions
195
Documentation/api.md
generated
195
Documentation/api.md
generated
|
@ -1000,6 +1000,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>labelLimit</code><br/>
|
<code>labelLimit</code><br/>
|
||||||
<em>
|
<em>
|
||||||
uint64
|
uint64
|
||||||
|
@ -1408,6 +1423,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>labelLimit</code><br/>
|
<code>labelLimit</code><br/>
|
||||||
<em>
|
<em>
|
||||||
uint64
|
uint64
|
||||||
|
@ -1964,6 +1994,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>externalLabels</code><br/>
|
<code>externalLabels</code><br/>
|
||||||
<em>
|
<em>
|
||||||
map[string]string
|
map[string]string
|
||||||
|
@ -3652,6 +3697,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>targetLimit</code><br/>
|
<code>targetLimit</code><br/>
|
||||||
<em>
|
<em>
|
||||||
uint64
|
uint64
|
||||||
|
@ -6969,6 +7029,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>externalLabels</code><br/>
|
<code>externalLabels</code><br/>
|
||||||
<em>
|
<em>
|
||||||
map[string]string
|
map[string]string
|
||||||
|
@ -10545,6 +10620,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>labelLimit</code><br/>
|
<code>labelLimit</code><br/>
|
||||||
<em>
|
<em>
|
||||||
uint64
|
uint64
|
||||||
|
@ -10904,6 +10994,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>labelLimit</code><br/>
|
<code>labelLimit</code><br/>
|
||||||
<em>
|
<em>
|
||||||
uint64
|
uint64
|
||||||
|
@ -11746,6 +11851,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>externalLabels</code><br/>
|
<code>externalLabels</code><br/>
|
||||||
<em>
|
<em>
|
||||||
map[string]string
|
map[string]string
|
||||||
|
@ -15367,6 +15487,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>targetLimit</code><br/>
|
<code>targetLimit</code><br/>
|
||||||
<em>
|
<em>
|
||||||
uint64
|
uint64
|
||||||
|
@ -18409,6 +18544,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>externalLabels</code><br/>
|
<code>externalLabels</code><br/>
|
||||||
<em>
|
<em>
|
||||||
map[string]string
|
map[string]string
|
||||||
|
@ -19977,6 +20127,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>honorTimestamps</code><br/>
|
<code>honorTimestamps</code><br/>
|
||||||
<em>
|
<em>
|
||||||
bool
|
bool
|
||||||
|
@ -26294,6 +26459,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>externalLabels</code><br/>
|
<code>externalLabels</code><br/>
|
||||||
<em>
|
<em>
|
||||||
map[string]string
|
map[string]string
|
||||||
|
@ -29039,6 +29219,21 @@ protocols supported by Prometheus in order of preference (from most to least pre
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
|
<code>scrapeFallbackProtocol</code><br/>
|
||||||
|
<em>
|
||||||
|
<a href="#monitoring.coreos.com/v1.ScrapeProtocol">
|
||||||
|
ScrapeProtocol
|
||||||
|
</a>
|
||||||
|
</em>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<em>(Optional)</em>
|
||||||
|
<p>The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.</p>
|
||||||
|
<p>It requires Prometheus >= v3.0.0.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
<code>honorTimestamps</code><br/>
|
<code>honorTimestamps</code><br/>
|
||||||
<em>
|
<em>
|
||||||
bool
|
bool
|
||||||
|
|
72
bundle.yaml
generated
72
bundle.yaml
generated
|
@ -19690,6 +19690,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
@ -20462,6 +20474,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
@ -27746,6 +27770,18 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
default: 30s
|
default: 30s
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -40041,6 +40077,18 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
default: 30s
|
default: 30s
|
||||||
description: |-
|
description: |-
|
||||||
|
@ -55805,6 +55853,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
description: ScrapeInterval is the interval between consecutive scrapes.
|
description: ScrapeInterval is the interval between consecutive scrapes.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
@ -57157,6 +57217,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
|
|
@ -1086,6 +1086,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
|
|
@ -681,6 +681,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
|
|
@ -6803,6 +6803,18 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
default: 30s
|
default: 30s
|
||||||
description: |-
|
description: |-
|
||||||
|
|
|
@ -8450,6 +8450,18 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
default: 30s
|
default: 30s
|
||||||
description: |-
|
description: |-
|
||||||
|
|
|
@ -11248,6 +11248,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
description: ScrapeInterval is the interval between consecutive scrapes.
|
description: ScrapeInterval is the interval between consecutive scrapes.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
|
|
@ -1106,6 +1106,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
|
|
@ -1087,6 +1087,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
|
|
@ -682,6 +682,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
|
|
@ -6804,6 +6804,18 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
default: 30s
|
default: 30s
|
||||||
description: |-
|
description: |-
|
||||||
|
|
|
@ -8451,6 +8451,18 @@ spec:
|
||||||
type: object
|
type: object
|
||||||
type: object
|
type: object
|
||||||
x-kubernetes-map-type: atomic
|
x-kubernetes-map-type: atomic
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
default: 30s
|
default: 30s
|
||||||
description: |-
|
description: |-
|
||||||
|
|
|
@ -11249,6 +11249,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeInterval:
|
scrapeInterval:
|
||||||
description: ScrapeInterval is the interval between consecutive scrapes.
|
description: ScrapeInterval is the interval between consecutive scrapes.
|
||||||
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
pattern: ^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
|
||||||
|
|
|
@ -1107,6 +1107,18 @@ spec:
|
||||||
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
Whether to scrape a classic histogram that is also exposed as a native histogram.
|
||||||
It requires Prometheus >= v2.45.0.
|
It requires Prometheus >= v2.45.0.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
scrapeFallbackProtocol:
|
||||||
|
description: |-
|
||||||
|
The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
|
||||||
|
It requires Prometheus >= v3.0.0.
|
||||||
|
enum:
|
||||||
|
- PrometheusProto
|
||||||
|
- OpenMetricsText0.0.1
|
||||||
|
- OpenMetricsText1.0.0
|
||||||
|
- PrometheusText0.0.4
|
||||||
|
- PrometheusText1.0.0
|
||||||
|
type: string
|
||||||
scrapeProtocols:
|
scrapeProtocols:
|
||||||
description: |-
|
description: |-
|
||||||
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the
|
||||||
|
|
|
@ -942,6 +942,17 @@
|
||||||
"description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
|
"description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
"scrapeFallbackProtocol": {
|
||||||
|
"description": "The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.\n\nIt requires Prometheus >= v3.0.0.",
|
||||||
|
"enum": [
|
||||||
|
"PrometheusProto",
|
||||||
|
"OpenMetricsText0.0.1",
|
||||||
|
"OpenMetricsText1.0.0",
|
||||||
|
"PrometheusText0.0.4",
|
||||||
|
"PrometheusText1.0.0"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"scrapeProtocols": {
|
"scrapeProtocols": {
|
||||||
"description": "`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0.",
|
"description": "`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0.",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -626,6 +626,17 @@
|
||||||
"description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
|
"description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
"scrapeFallbackProtocol": {
|
||||||
|
"description": "The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.\n\nIt requires Prometheus >= v3.0.0.",
|
||||||
|
"enum": [
|
||||||
|
"PrometheusProto",
|
||||||
|
"OpenMetricsText0.0.1",
|
||||||
|
"OpenMetricsText1.0.0",
|
||||||
|
"PrometheusText0.0.4",
|
||||||
|
"PrometheusText1.0.0"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"scrapeProtocols": {
|
"scrapeProtocols": {
|
||||||
"description": "`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0.",
|
"description": "`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0.",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -5826,6 +5826,17 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"x-kubernetes-map-type": "atomic"
|
"x-kubernetes-map-type": "atomic"
|
||||||
},
|
},
|
||||||
|
"scrapeFallbackProtocol": {
|
||||||
|
"description": "The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.\n\nIt requires Prometheus >= v3.0.0.",
|
||||||
|
"enum": [
|
||||||
|
"PrometheusProto",
|
||||||
|
"OpenMetricsText0.0.1",
|
||||||
|
"OpenMetricsText1.0.0",
|
||||||
|
"PrometheusText0.0.4",
|
||||||
|
"PrometheusText1.0.0"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"scrapeInterval": {
|
"scrapeInterval": {
|
||||||
"default": "30s",
|
"default": "30s",
|
||||||
"description": "Interval between consecutive scrapes.\n\nDefault: \"30s\"",
|
"description": "Interval between consecutive scrapes.\n\nDefault: \"30s\"",
|
||||||
|
|
|
@ -7284,6 +7284,17 @@
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"x-kubernetes-map-type": "atomic"
|
"x-kubernetes-map-type": "atomic"
|
||||||
},
|
},
|
||||||
|
"scrapeFallbackProtocol": {
|
||||||
|
"description": "The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.\n\nIt requires Prometheus >= v3.0.0.",
|
||||||
|
"enum": [
|
||||||
|
"PrometheusProto",
|
||||||
|
"OpenMetricsText0.0.1",
|
||||||
|
"OpenMetricsText1.0.0",
|
||||||
|
"PrometheusText0.0.4",
|
||||||
|
"PrometheusText1.0.0"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"scrapeInterval": {
|
"scrapeInterval": {
|
||||||
"default": "30s",
|
"default": "30s",
|
||||||
"description": "Interval between consecutive scrapes.\n\nDefault: \"30s\"",
|
"description": "Interval between consecutive scrapes.\n\nDefault: \"30s\"",
|
||||||
|
|
|
@ -10675,6 +10675,17 @@
|
||||||
"description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
|
"description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
"scrapeFallbackProtocol": {
|
||||||
|
"description": "The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.\n\nIt requires Prometheus >= v3.0.0.",
|
||||||
|
"enum": [
|
||||||
|
"PrometheusProto",
|
||||||
|
"OpenMetricsText0.0.1",
|
||||||
|
"OpenMetricsText1.0.0",
|
||||||
|
"PrometheusText0.0.4",
|
||||||
|
"PrometheusText1.0.0"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"scrapeInterval": {
|
"scrapeInterval": {
|
||||||
"description": "ScrapeInterval is the interval between consecutive scrapes.",
|
"description": "ScrapeInterval is the interval between consecutive scrapes.",
|
||||||
"pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
|
"pattern": "^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$",
|
||||||
|
|
|
@ -958,6 +958,17 @@
|
||||||
"description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
|
"description": "Whether to scrape a classic histogram that is also exposed as a native histogram.\nIt requires Prometheus >= v2.45.0.",
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
|
"scrapeFallbackProtocol": {
|
||||||
|
"description": "The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.\n\nIt requires Prometheus >= v3.0.0.",
|
||||||
|
"enum": [
|
||||||
|
"PrometheusProto",
|
||||||
|
"OpenMetricsText0.0.1",
|
||||||
|
"OpenMetricsText1.0.0",
|
||||||
|
"PrometheusText0.0.4",
|
||||||
|
"PrometheusText1.0.0"
|
||||||
|
],
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
"scrapeProtocols": {
|
"scrapeProtocols": {
|
||||||
"description": "`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0.",
|
"description": "`scrapeProtocols` defines the protocols to negotiate during a scrape. It tells clients the\nprotocols supported by Prometheus in order of preference (from most to least preferred).\n\nIf unset, Prometheus uses its default value.\n\nIt requires Prometheus >= v2.49.0.",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
|
@ -105,6 +105,12 @@ type PodMonitorSpec struct {
|
||||||
// +optional
|
// +optional
|
||||||
ScrapeProtocols []ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
|
||||||
|
// The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
//
|
||||||
|
// It requires Prometheus >= v3.0.0.
|
||||||
|
// +optional
|
||||||
|
ScrapeFallbackProtocol *ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
|
|
||||||
// Per-scrape limit on number of labels that will be accepted for a sample.
|
// Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
//
|
//
|
||||||
// It requires Prometheus >= v2.27.0.
|
// It requires Prometheus >= v2.27.0.
|
||||||
|
|
|
@ -100,6 +100,11 @@ type ProbeSpec struct {
|
||||||
// +listType=set
|
// +listType=set
|
||||||
// +optional
|
// +optional
|
||||||
ScrapeProtocols []ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
// The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
//
|
||||||
|
// It requires Prometheus >= v3.0.0.
|
||||||
|
// +optional
|
||||||
|
ScrapeFallbackProtocol *ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
// Per-scrape limit on number of labels that will be accepted for a sample.
|
// Per-scrape limit on number of labels that will be accepted for a sample.
|
||||||
// Only valid in Prometheus versions 2.27.0 and newer.
|
// Only valid in Prometheus versions 2.27.0 and newer.
|
||||||
// +optional
|
// +optional
|
||||||
|
|
|
@ -300,6 +300,12 @@ type CommonPrometheusFields struct {
|
||||||
// +optional
|
// +optional
|
||||||
ScrapeProtocols []ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
|
||||||
|
// The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
//
|
||||||
|
// It requires Prometheus >= v3.0.0.
|
||||||
|
// +optional
|
||||||
|
ScrapeFallbackProtocol *ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
|
|
||||||
// The labels to add to any time series or alerts when communicating with
|
// The labels to add to any time series or alerts when communicating with
|
||||||
// external systems (federation, remote storage, Alertmanager).
|
// external systems (federation, remote storage, Alertmanager).
|
||||||
// Labels defined by `spec.replicaExternalLabelName` and
|
// Labels defined by `spec.replicaExternalLabelName` and
|
||||||
|
|
|
@ -104,6 +104,12 @@ type ServiceMonitorSpec struct {
|
||||||
// +optional
|
// +optional
|
||||||
ScrapeProtocols []ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
|
||||||
|
// The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
//
|
||||||
|
// It requires Prometheus >= v3.0.0.
|
||||||
|
// +optional
|
||||||
|
ScrapeFallbackProtocol *ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
|
|
||||||
// `targetLimit` defines a limit on the number of scraped targets that will
|
// `targetLimit` defines a limit on the number of scraped targets that will
|
||||||
// be accepted.
|
// be accepted.
|
||||||
//
|
//
|
||||||
|
|
20
pkg/apis/monitoring/v1/zz_generated.deepcopy.go
generated
20
pkg/apis/monitoring/v1/zz_generated.deepcopy.go
generated
|
@ -745,6 +745,11 @@ func (in *CommonPrometheusFields) DeepCopyInto(out *CommonPrometheusFields) {
|
||||||
*out = make([]ScrapeProtocol, len(*in))
|
*out = make([]ScrapeProtocol, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
|
if in.ScrapeFallbackProtocol != nil {
|
||||||
|
in, out := &in.ScrapeFallbackProtocol, &out.ScrapeFallbackProtocol
|
||||||
|
*out = new(ScrapeProtocol)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
if in.ExternalLabels != nil {
|
if in.ExternalLabels != nil {
|
||||||
in, out := &in.ExternalLabels, &out.ExternalLabels
|
in, out := &in.ExternalLabels, &out.ExternalLabels
|
||||||
*out = make(map[string]string, len(*in))
|
*out = make(map[string]string, len(*in))
|
||||||
|
@ -1807,6 +1812,11 @@ func (in *PodMonitorSpec) DeepCopyInto(out *PodMonitorSpec) {
|
||||||
*out = make([]ScrapeProtocol, len(*in))
|
*out = make([]ScrapeProtocol, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
|
if in.ScrapeFallbackProtocol != nil {
|
||||||
|
in, out := &in.ScrapeFallbackProtocol, &out.ScrapeFallbackProtocol
|
||||||
|
*out = new(ScrapeProtocol)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
if in.LabelLimit != nil {
|
if in.LabelLimit != nil {
|
||||||
in, out := &in.LabelLimit, &out.LabelLimit
|
in, out := &in.LabelLimit, &out.LabelLimit
|
||||||
*out = new(uint64)
|
*out = new(uint64)
|
||||||
|
@ -1949,6 +1959,11 @@ func (in *ProbeSpec) DeepCopyInto(out *ProbeSpec) {
|
||||||
*out = make([]ScrapeProtocol, len(*in))
|
*out = make([]ScrapeProtocol, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
|
if in.ScrapeFallbackProtocol != nil {
|
||||||
|
in, out := &in.ScrapeFallbackProtocol, &out.ScrapeFallbackProtocol
|
||||||
|
*out = new(ScrapeProtocol)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
if in.LabelLimit != nil {
|
if in.LabelLimit != nil {
|
||||||
in, out := &in.LabelLimit, &out.LabelLimit
|
in, out := &in.LabelLimit, &out.LabelLimit
|
||||||
*out = new(uint64)
|
*out = new(uint64)
|
||||||
|
@ -3064,6 +3079,11 @@ func (in *ServiceMonitorSpec) DeepCopyInto(out *ServiceMonitorSpec) {
|
||||||
*out = make([]ScrapeProtocol, len(*in))
|
*out = make([]ScrapeProtocol, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
|
if in.ScrapeFallbackProtocol != nil {
|
||||||
|
in, out := &in.ScrapeFallbackProtocol, &out.ScrapeFallbackProtocol
|
||||||
|
*out = new(ScrapeProtocol)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
if in.TargetLimit != nil {
|
if in.TargetLimit != nil {
|
||||||
in, out := &in.TargetLimit, &out.TargetLimit
|
in, out := &in.TargetLimit, &out.TargetLimit
|
||||||
*out = new(uint64)
|
*out = new(uint64)
|
||||||
|
|
|
@ -251,6 +251,11 @@ type ScrapeConfigSpec struct {
|
||||||
// +kubebuilder:validation:MinItems:=1
|
// +kubebuilder:validation:MinItems:=1
|
||||||
// +optional
|
// +optional
|
||||||
ScrapeProtocols []v1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []v1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
// The protocol to use if a scrape returns blank, unparseable, or otherwise invalid Content-Type.
|
||||||
|
//
|
||||||
|
// It requires Prometheus >= v3.0.0.
|
||||||
|
// +optional
|
||||||
|
ScrapeFallbackProtocol *v1.ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
// HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
|
// HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
|
||||||
// +optional
|
// +optional
|
||||||
HonorTimestamps *bool `json:"honorTimestamps,omitempty"`
|
HonorTimestamps *bool `json:"honorTimestamps,omitempty"`
|
||||||
|
|
|
@ -2492,6 +2492,11 @@ func (in *ScrapeConfigSpec) DeepCopyInto(out *ScrapeConfigSpec) {
|
||||||
*out = make([]monitoringv1.ScrapeProtocol, len(*in))
|
*out = make([]monitoringv1.ScrapeProtocol, len(*in))
|
||||||
copy(*out, *in)
|
copy(*out, *in)
|
||||||
}
|
}
|
||||||
|
if in.ScrapeFallbackProtocol != nil {
|
||||||
|
in, out := &in.ScrapeFallbackProtocol, &out.ScrapeFallbackProtocol
|
||||||
|
*out = new(monitoringv1.ScrapeProtocol)
|
||||||
|
**out = **in
|
||||||
|
}
|
||||||
if in.HonorTimestamps != nil {
|
if in.HonorTimestamps != nil {
|
||||||
in, out := &in.HonorTimestamps, &out.HonorTimestamps
|
in, out := &in.HonorTimestamps, &out.HonorTimestamps
|
||||||
*out = new(bool)
|
*out = new(bool)
|
||||||
|
|
|
@ -49,6 +49,7 @@ type CommonPrometheusFieldsApplyConfiguration struct {
|
||||||
ScrapeInterval *monitoringv1.Duration `json:"scrapeInterval,omitempty"`
|
ScrapeInterval *monitoringv1.Duration `json:"scrapeInterval,omitempty"`
|
||||||
ScrapeTimeout *monitoringv1.Duration `json:"scrapeTimeout,omitempty"`
|
ScrapeTimeout *monitoringv1.Duration `json:"scrapeTimeout,omitempty"`
|
||||||
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
ScrapeFallbackProtocol *monitoringv1.ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
ExternalLabels map[string]string `json:"externalLabels,omitempty"`
|
ExternalLabels map[string]string `json:"externalLabels,omitempty"`
|
||||||
EnableRemoteWriteReceiver *bool `json:"enableRemoteWriteReceiver,omitempty"`
|
EnableRemoteWriteReceiver *bool `json:"enableRemoteWriteReceiver,omitempty"`
|
||||||
EnableOTLPReceiver *bool `json:"enableOTLPReceiver,omitempty"`
|
EnableOTLPReceiver *bool `json:"enableOTLPReceiver,omitempty"`
|
||||||
|
@ -312,6 +313,14 @@ func (b *CommonPrometheusFieldsApplyConfiguration) WithScrapeProtocols(values ..
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithScrapeFallbackProtocol sets the ScrapeFallbackProtocol field in the declarative configuration to the given value
|
||||||
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
|
// If called multiple times, the ScrapeFallbackProtocol field is set to the value of the last call.
|
||||||
|
func (b *CommonPrometheusFieldsApplyConfiguration) WithScrapeFallbackProtocol(value monitoringv1.ScrapeProtocol) *CommonPrometheusFieldsApplyConfiguration {
|
||||||
|
b.ScrapeFallbackProtocol = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// WithExternalLabels puts the entries into the ExternalLabels field in the declarative configuration
|
// WithExternalLabels puts the entries into the ExternalLabels field in the declarative configuration
|
||||||
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
||||||
// If called multiple times, the entries provided by each call will be put on the ExternalLabels field,
|
// If called multiple times, the entries provided by each call will be put on the ExternalLabels field,
|
||||||
|
|
|
@ -33,6 +33,7 @@ type PodMonitorSpecApplyConfiguration struct {
|
||||||
SampleLimit *uint64 `json:"sampleLimit,omitempty"`
|
SampleLimit *uint64 `json:"sampleLimit,omitempty"`
|
||||||
TargetLimit *uint64 `json:"targetLimit,omitempty"`
|
TargetLimit *uint64 `json:"targetLimit,omitempty"`
|
||||||
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
ScrapeFallbackProtocol *monitoringv1.ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
LabelLimit *uint64 `json:"labelLimit,omitempty"`
|
LabelLimit *uint64 `json:"labelLimit,omitempty"`
|
||||||
LabelNameLengthLimit *uint64 `json:"labelNameLengthLimit,omitempty"`
|
LabelNameLengthLimit *uint64 `json:"labelNameLengthLimit,omitempty"`
|
||||||
LabelValueLengthLimit *uint64 `json:"labelValueLengthLimit,omitempty"`
|
LabelValueLengthLimit *uint64 `json:"labelValueLengthLimit,omitempty"`
|
||||||
|
@ -122,6 +123,14 @@ func (b *PodMonitorSpecApplyConfiguration) WithScrapeProtocols(values ...monitor
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithScrapeFallbackProtocol sets the ScrapeFallbackProtocol field in the declarative configuration to the given value
|
||||||
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
|
// If called multiple times, the ScrapeFallbackProtocol field is set to the value of the last call.
|
||||||
|
func (b *PodMonitorSpecApplyConfiguration) WithScrapeFallbackProtocol(value monitoringv1.ScrapeProtocol) *PodMonitorSpecApplyConfiguration {
|
||||||
|
b.ScrapeFallbackProtocol = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// WithLabelLimit sets the LabelLimit field in the declarative configuration to the given value
|
// WithLabelLimit sets the LabelLimit field in the declarative configuration to the given value
|
||||||
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
// If called multiple times, the LabelLimit field is set to the value of the last call.
|
// If called multiple times, the LabelLimit field is set to the value of the last call.
|
||||||
|
|
|
@ -40,6 +40,7 @@ type ProbeSpecApplyConfiguration struct {
|
||||||
SampleLimit *uint64 `json:"sampleLimit,omitempty"`
|
SampleLimit *uint64 `json:"sampleLimit,omitempty"`
|
||||||
TargetLimit *uint64 `json:"targetLimit,omitempty"`
|
TargetLimit *uint64 `json:"targetLimit,omitempty"`
|
||||||
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
ScrapeFallbackProtocol *monitoringv1.ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
LabelLimit *uint64 `json:"labelLimit,omitempty"`
|
LabelLimit *uint64 `json:"labelLimit,omitempty"`
|
||||||
LabelNameLengthLimit *uint64 `json:"labelNameLengthLimit,omitempty"`
|
LabelNameLengthLimit *uint64 `json:"labelNameLengthLimit,omitempty"`
|
||||||
LabelValueLengthLimit *uint64 `json:"labelValueLengthLimit,omitempty"`
|
LabelValueLengthLimit *uint64 `json:"labelValueLengthLimit,omitempty"`
|
||||||
|
@ -181,6 +182,14 @@ func (b *ProbeSpecApplyConfiguration) WithScrapeProtocols(values ...monitoringv1
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithScrapeFallbackProtocol sets the ScrapeFallbackProtocol field in the declarative configuration to the given value
|
||||||
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
|
// If called multiple times, the ScrapeFallbackProtocol field is set to the value of the last call.
|
||||||
|
func (b *ProbeSpecApplyConfiguration) WithScrapeFallbackProtocol(value monitoringv1.ScrapeProtocol) *ProbeSpecApplyConfiguration {
|
||||||
|
b.ScrapeFallbackProtocol = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// WithLabelLimit sets the LabelLimit field in the declarative configuration to the given value
|
// WithLabelLimit sets the LabelLimit field in the declarative configuration to the given value
|
||||||
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
// If called multiple times, the LabelLimit field is set to the value of the last call.
|
// If called multiple times, the LabelLimit field is set to the value of the last call.
|
||||||
|
|
|
@ -245,6 +245,14 @@ func (b *PrometheusSpecApplyConfiguration) WithScrapeProtocols(values ...monitor
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithScrapeFallbackProtocol sets the ScrapeFallbackProtocol field in the declarative configuration to the given value
|
||||||
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
|
// If called multiple times, the ScrapeFallbackProtocol field is set to the value of the last call.
|
||||||
|
func (b *PrometheusSpecApplyConfiguration) WithScrapeFallbackProtocol(value monitoringv1.ScrapeProtocol) *PrometheusSpecApplyConfiguration {
|
||||||
|
b.ScrapeFallbackProtocol = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// WithExternalLabels puts the entries into the ExternalLabels field in the declarative configuration
|
// WithExternalLabels puts the entries into the ExternalLabels field in the declarative configuration
|
||||||
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
||||||
// If called multiple times, the entries provided by each call will be put on the ExternalLabels field,
|
// If called multiple times, the entries provided by each call will be put on the ExternalLabels field,
|
||||||
|
|
|
@ -33,6 +33,7 @@ type ServiceMonitorSpecApplyConfiguration struct {
|
||||||
NamespaceSelector *NamespaceSelectorApplyConfiguration `json:"namespaceSelector,omitempty"`
|
NamespaceSelector *NamespaceSelectorApplyConfiguration `json:"namespaceSelector,omitempty"`
|
||||||
SampleLimit *uint64 `json:"sampleLimit,omitempty"`
|
SampleLimit *uint64 `json:"sampleLimit,omitempty"`
|
||||||
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
ScrapeFallbackProtocol *monitoringv1.ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
TargetLimit *uint64 `json:"targetLimit,omitempty"`
|
TargetLimit *uint64 `json:"targetLimit,omitempty"`
|
||||||
LabelLimit *uint64 `json:"labelLimit,omitempty"`
|
LabelLimit *uint64 `json:"labelLimit,omitempty"`
|
||||||
LabelNameLengthLimit *uint64 `json:"labelNameLengthLimit,omitempty"`
|
LabelNameLengthLimit *uint64 `json:"labelNameLengthLimit,omitempty"`
|
||||||
|
@ -125,6 +126,14 @@ func (b *ServiceMonitorSpecApplyConfiguration) WithScrapeProtocols(values ...mon
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithScrapeFallbackProtocol sets the ScrapeFallbackProtocol field in the declarative configuration to the given value
|
||||||
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
|
// If called multiple times, the ScrapeFallbackProtocol field is set to the value of the last call.
|
||||||
|
func (b *ServiceMonitorSpecApplyConfiguration) WithScrapeFallbackProtocol(value monitoringv1.ScrapeProtocol) *ServiceMonitorSpecApplyConfiguration {
|
||||||
|
b.ScrapeFallbackProtocol = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// WithTargetLimit sets the TargetLimit field in the declarative configuration to the given value
|
// WithTargetLimit sets the TargetLimit field in the declarative configuration to the given value
|
||||||
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
// If called multiple times, the TargetLimit field is set to the value of the last call.
|
// If called multiple times, the TargetLimit field is set to the value of the last call.
|
||||||
|
|
|
@ -233,6 +233,14 @@ func (b *PrometheusAgentSpecApplyConfiguration) WithScrapeProtocols(values ...mo
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithScrapeFallbackProtocol sets the ScrapeFallbackProtocol field in the declarative configuration to the given value
|
||||||
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
|
// If called multiple times, the ScrapeFallbackProtocol field is set to the value of the last call.
|
||||||
|
func (b *PrometheusAgentSpecApplyConfiguration) WithScrapeFallbackProtocol(value monitoringv1.ScrapeProtocol) *PrometheusAgentSpecApplyConfiguration {
|
||||||
|
b.ScrapeFallbackProtocol = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// WithExternalLabels puts the entries into the ExternalLabels field in the declarative configuration
|
// WithExternalLabels puts the entries into the ExternalLabels field in the declarative configuration
|
||||||
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
// and returns the receiver, so that objects can be build by chaining "With" function invocations.
|
||||||
// If called multiple times, the entries provided by each call will be put on the ExternalLabels field,
|
// If called multiple times, the entries provided by each call will be put on the ExternalLabels field,
|
||||||
|
|
|
@ -55,6 +55,7 @@ type ScrapeConfigSpecApplyConfiguration struct {
|
||||||
ScrapeInterval *monitoringv1.Duration `json:"scrapeInterval,omitempty"`
|
ScrapeInterval *monitoringv1.Duration `json:"scrapeInterval,omitempty"`
|
||||||
ScrapeTimeout *monitoringv1.Duration `json:"scrapeTimeout,omitempty"`
|
ScrapeTimeout *monitoringv1.Duration `json:"scrapeTimeout,omitempty"`
|
||||||
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
ScrapeProtocols []monitoringv1.ScrapeProtocol `json:"scrapeProtocols,omitempty"`
|
||||||
|
ScrapeFallbackProtocol *monitoringv1.ScrapeProtocol `json:"scrapeFallbackProtocol,omitempty"`
|
||||||
HonorTimestamps *bool `json:"honorTimestamps,omitempty"`
|
HonorTimestamps *bool `json:"honorTimestamps,omitempty"`
|
||||||
TrackTimestampsStaleness *bool `json:"trackTimestampsStaleness,omitempty"`
|
TrackTimestampsStaleness *bool `json:"trackTimestampsStaleness,omitempty"`
|
||||||
HonorLabels *bool `json:"honorLabels,omitempty"`
|
HonorLabels *bool `json:"honorLabels,omitempty"`
|
||||||
|
@ -438,6 +439,14 @@ func (b *ScrapeConfigSpecApplyConfiguration) WithScrapeProtocols(values ...monit
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// WithScrapeFallbackProtocol sets the ScrapeFallbackProtocol field in the declarative configuration to the given value
|
||||||
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
|
// If called multiple times, the ScrapeFallbackProtocol field is set to the value of the last call.
|
||||||
|
func (b *ScrapeConfigSpecApplyConfiguration) WithScrapeFallbackProtocol(value monitoringv1.ScrapeProtocol) *ScrapeConfigSpecApplyConfiguration {
|
||||||
|
b.ScrapeFallbackProtocol = &value
|
||||||
|
return b
|
||||||
|
}
|
||||||
|
|
||||||
// WithHonorTimestamps sets the HonorTimestamps field in the declarative configuration to the given value
|
// WithHonorTimestamps sets the HonorTimestamps field in the declarative configuration to the given value
|
||||||
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
||||||
// If called multiple times, the HonorTimestamps field is set to the value of the last call.
|
// If called multiple times, the HonorTimestamps field is set to the value of the last call.
|
||||||
|
|
|
@ -385,6 +385,15 @@ func (cg *ConfigGenerator) addScrapeProtocols(cfg yaml.MapSlice, scrapeProtocols
|
||||||
return cg.WithMinimumVersion("2.49.0").AppendMapItem(cfg, "scrape_protocols", sps)
|
return cg.WithMinimumVersion("2.49.0").AppendMapItem(cfg, "scrape_protocols", sps)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// addScrapeFallbackProtocol adds the fallback_scrape_protocol field into the configuration.
|
||||||
|
func (cg *ConfigGenerator) addScrapeFallbackProtocol(cfg yaml.MapSlice, scrapeFallbackProtocol *monitoringv1.ScrapeProtocol) yaml.MapSlice {
|
||||||
|
if scrapeFallbackProtocol == nil {
|
||||||
|
return cfg
|
||||||
|
}
|
||||||
|
|
||||||
|
return cg.WithMinimumVersion("3.0.0-rc.0").AppendMapItem(cfg, "fallback_scrape_protocol", scrapeFallbackProtocol)
|
||||||
|
}
|
||||||
|
|
||||||
// AddHonorLabels adds the honor_labels field into scrape configurations.
|
// AddHonorLabels adds the honor_labels field into scrape configurations.
|
||||||
// if OverrideHonorLabels is true then honor_labels is always false.
|
// if OverrideHonorLabels is true then honor_labels is always false.
|
||||||
func (cg *ConfigGenerator) AddHonorLabels(cfg yaml.MapSlice, honorLabels bool) yaml.MapSlice {
|
func (cg *ConfigGenerator) AddHonorLabels(cfg yaml.MapSlice, honorLabels bool) yaml.MapSlice {
|
||||||
|
@ -1372,6 +1381,7 @@ func (cg *ConfigGenerator) generatePodMonitorConfig(
|
||||||
cfg = cg.AddLimitsToYAML(cfg, keepDroppedTargetsKey, m.Spec.KeepDroppedTargets, cpf.EnforcedKeepDroppedTargets)
|
cfg = cg.AddLimitsToYAML(cfg, keepDroppedTargetsKey, m.Spec.KeepDroppedTargets, cpf.EnforcedKeepDroppedTargets)
|
||||||
cfg = cg.addNativeHistogramConfig(cfg, m.Spec.NativeHistogramConfig)
|
cfg = cg.addNativeHistogramConfig(cfg, m.Spec.NativeHistogramConfig)
|
||||||
cfg = cg.addScrapeProtocols(cfg, m.Spec.ScrapeProtocols)
|
cfg = cg.addScrapeProtocols(cfg, m.Spec.ScrapeProtocols)
|
||||||
|
cfg = cg.addScrapeFallbackProtocol(cfg, m.Spec.ScrapeFallbackProtocol)
|
||||||
|
|
||||||
if bodySizeLimit := getLowerByteSize(m.Spec.BodySizeLimit, &cpf); !isByteSizeEmpty(bodySizeLimit) {
|
if bodySizeLimit := getLowerByteSize(m.Spec.BodySizeLimit, &cpf); !isByteSizeEmpty(bodySizeLimit) {
|
||||||
cfg = cg.WithMinimumVersion("2.28.0").AppendMapItem(cfg, "body_size_limit", bodySizeLimit)
|
cfg = cg.WithMinimumVersion("2.28.0").AppendMapItem(cfg, "body_size_limit", bodySizeLimit)
|
||||||
|
@ -1440,6 +1450,7 @@ func (cg *ConfigGenerator) generateProbeConfig(
|
||||||
cfg = cg.AddLimitsToYAML(cfg, keepDroppedTargetsKey, m.Spec.KeepDroppedTargets, cpf.EnforcedKeepDroppedTargets)
|
cfg = cg.AddLimitsToYAML(cfg, keepDroppedTargetsKey, m.Spec.KeepDroppedTargets, cpf.EnforcedKeepDroppedTargets)
|
||||||
cfg = cg.addNativeHistogramConfig(cfg, m.Spec.NativeHistogramConfig)
|
cfg = cg.addNativeHistogramConfig(cfg, m.Spec.NativeHistogramConfig)
|
||||||
cfg = cg.addScrapeProtocols(cfg, m.Spec.ScrapeProtocols)
|
cfg = cg.addScrapeProtocols(cfg, m.Spec.ScrapeProtocols)
|
||||||
|
cfg = cg.addScrapeFallbackProtocol(cfg, m.Spec.ScrapeFallbackProtocol)
|
||||||
|
|
||||||
if cpf.EnforcedBodySizeLimit != "" {
|
if cpf.EnforcedBodySizeLimit != "" {
|
||||||
cfg = cg.WithMinimumVersion("2.28.0").AppendMapItem(cfg, "body_size_limit", cpf.EnforcedBodySizeLimit)
|
cfg = cg.WithMinimumVersion("2.28.0").AppendMapItem(cfg, "body_size_limit", cpf.EnforcedBodySizeLimit)
|
||||||
|
@ -1889,6 +1900,7 @@ func (cg *ConfigGenerator) generateServiceMonitorConfig(
|
||||||
cfg = cg.AddLimitsToYAML(cfg, keepDroppedTargetsKey, m.Spec.KeepDroppedTargets, cpf.EnforcedKeepDroppedTargets)
|
cfg = cg.AddLimitsToYAML(cfg, keepDroppedTargetsKey, m.Spec.KeepDroppedTargets, cpf.EnforcedKeepDroppedTargets)
|
||||||
cfg = cg.addNativeHistogramConfig(cfg, m.Spec.NativeHistogramConfig)
|
cfg = cg.addNativeHistogramConfig(cfg, m.Spec.NativeHistogramConfig)
|
||||||
cfg = cg.addScrapeProtocols(cfg, m.Spec.ScrapeProtocols)
|
cfg = cg.addScrapeProtocols(cfg, m.Spec.ScrapeProtocols)
|
||||||
|
cfg = cg.addScrapeFallbackProtocol(cfg, m.Spec.ScrapeFallbackProtocol)
|
||||||
|
|
||||||
if bodySizeLimit := getLowerByteSize(m.Spec.BodySizeLimit, &cpf); !isByteSizeEmpty(bodySizeLimit) {
|
if bodySizeLimit := getLowerByteSize(m.Spec.BodySizeLimit, &cpf); !isByteSizeEmpty(bodySizeLimit) {
|
||||||
cfg = cg.WithMinimumVersion("2.28.0").AppendMapItem(cfg, "body_size_limit", bodySizeLimit)
|
cfg = cg.WithMinimumVersion("2.28.0").AppendMapItem(cfg, "body_size_limit", bodySizeLimit)
|
||||||
|
@ -2949,6 +2961,7 @@ func (cg *ConfigGenerator) generateScrapeConfig(
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg = cg.addScrapeProtocols(cfg, sc.Spec.ScrapeProtocols)
|
cfg = cg.addScrapeProtocols(cfg, sc.Spec.ScrapeProtocols)
|
||||||
|
cfg = cg.addScrapeFallbackProtocol(cfg, sc.Spec.ScrapeFallbackProtocol)
|
||||||
|
|
||||||
if sc.Spec.Scheme != nil {
|
if sc.Spec.Scheme != nil {
|
||||||
cfg = append(cfg, yaml.MapItem{Key: "scheme", Value: strings.ToLower(*sc.Spec.Scheme)})
|
cfg = append(cfg, yaml.MapItem{Key: "scheme", Value: strings.ToLower(*sc.Spec.Scheme)})
|
||||||
|
@ -4674,6 +4687,7 @@ func (cg *ConfigGenerator) buildGlobalConfig() yaml.MapSlice {
|
||||||
cfg := yaml.MapSlice{}
|
cfg := yaml.MapSlice{}
|
||||||
cfg = cg.appendScrapeIntervals(cfg)
|
cfg = cg.appendScrapeIntervals(cfg)
|
||||||
cfg = cg.addScrapeProtocols(cfg, cg.prom.GetCommonPrometheusFields().ScrapeProtocols)
|
cfg = cg.addScrapeProtocols(cfg, cg.prom.GetCommonPrometheusFields().ScrapeProtocols)
|
||||||
|
cfg = cg.addScrapeFallbackProtocol(cfg, cg.prom.GetCommonPrometheusFields().ScrapeFallbackProtocol)
|
||||||
cfg = cg.appendExternalLabels(cfg)
|
cfg = cg.appendExternalLabels(cfg)
|
||||||
cfg = cg.appendScrapeLimits(cfg)
|
cfg = cg.appendScrapeLimits(cfg)
|
||||||
if cpf.NameValidationScheme != nil {
|
if cpf.NameValidationScheme != nil {
|
||||||
|
|
|
@ -125,6 +125,7 @@ func TestGlobalSettings(t *testing.T) {
|
||||||
ScrapeInterval monitoringv1.Duration
|
ScrapeInterval monitoringv1.Duration
|
||||||
ScrapeTimeout monitoringv1.Duration
|
ScrapeTimeout monitoringv1.Duration
|
||||||
ScrapeProtocols []monitoringv1.ScrapeProtocol
|
ScrapeProtocols []monitoringv1.ScrapeProtocol
|
||||||
|
ScrapeFallbackProtocol *monitoringv1.ScrapeProtocol
|
||||||
ExternalLabels map[string]string
|
ExternalLabels map[string]string
|
||||||
PrometheusExternalLabelName *string
|
PrometheusExternalLabelName *string
|
||||||
ReplicaExternalLabelName *string
|
ReplicaExternalLabelName *string
|
||||||
|
@ -264,6 +265,22 @@ func TestGlobalSettings(t *testing.T) {
|
||||||
},
|
},
|
||||||
Golden: "valid_global_config_with_unsupported_scrape_protocols.golden",
|
Golden: "valid_global_config_with_unsupported_scrape_protocols.golden",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Scenario: "valid global config with scrape fallback protocol",
|
||||||
|
Version: "v3.0.0-rc.0",
|
||||||
|
ScrapeInterval: "30s",
|
||||||
|
EvaluationInterval: "30s",
|
||||||
|
ScrapeFallbackProtocol: ptr.To(monitoringv1.PrometheusText1_0_0),
|
||||||
|
Golden: "valid_global_config_with_scrape_fallback_protocol.golden",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
Scenario: "valid global config scrape protocols with unsupported version",
|
||||||
|
Version: "v2.55.0",
|
||||||
|
ScrapeInterval: "30s",
|
||||||
|
EvaluationInterval: "30s",
|
||||||
|
ScrapeFallbackProtocol: ptr.To(monitoringv1.PrometheusProto),
|
||||||
|
Golden: "valid_global_config_with_unsupported_scrape_fallback_protocols.golden",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Scenario: "valid global config without rule query offset if prometheus version less required",
|
Scenario: "valid global config without rule query offset if prometheus version less required",
|
||||||
Version: "v2.52.0",
|
Version: "v2.52.0",
|
||||||
|
@ -292,6 +309,7 @@ func TestGlobalSettings(t *testing.T) {
|
||||||
ScrapeInterval: tc.ScrapeInterval,
|
ScrapeInterval: tc.ScrapeInterval,
|
||||||
ScrapeTimeout: tc.ScrapeTimeout,
|
ScrapeTimeout: tc.ScrapeTimeout,
|
||||||
ScrapeProtocols: tc.ScrapeProtocols,
|
ScrapeProtocols: tc.ScrapeProtocols,
|
||||||
|
ScrapeFallbackProtocol: tc.ScrapeFallbackProtocol,
|
||||||
ExternalLabels: tc.ExternalLabels,
|
ExternalLabels: tc.ExternalLabels,
|
||||||
PrometheusExternalLabelName: tc.PrometheusExternalLabelName,
|
PrometheusExternalLabelName: tc.PrometheusExternalLabelName,
|
||||||
ReplicaExternalLabelName: tc.ReplicaExternalLabelName,
|
ReplicaExternalLabelName: tc.ReplicaExternalLabelName,
|
||||||
|
@ -2157,6 +2175,67 @@ func TestSettingScrapeProtocolsInServiceMonitor(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSettingScrapeFallbackProtocolInServiceMonitor(t *testing.T) {
|
||||||
|
for _, tc := range []struct {
|
||||||
|
name string
|
||||||
|
version string
|
||||||
|
scrapeFallbackProtocol *monitoringv1.ScrapeProtocol
|
||||||
|
golden string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "setting ScrapeFallbackProtocol in ServiceMonitor with prometheus old version",
|
||||||
|
version: "v2.55.0",
|
||||||
|
scrapeFallbackProtocol: ptr.To(monitoringv1.OpenMetricsText1_0_0),
|
||||||
|
golden: "SettingScrapeFallbackProtocolInServiceMonitor_OldVersion.golden",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "setting ScrapeFallbackProtocol in ServiceMonitor with prometheus new version",
|
||||||
|
version: "v3.0.0",
|
||||||
|
scrapeFallbackProtocol: ptr.To(monitoringv1.OpenMetricsText0_0_1),
|
||||||
|
golden: "SettingScrapeFallbackProtocolInServiceMonitor_NewVersion.golden",
|
||||||
|
},
|
||||||
|
} {
|
||||||
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
p := defaultPrometheus()
|
||||||
|
p.Spec.CommonPrometheusFields.Version = tc.version
|
||||||
|
|
||||||
|
cg := mustNewConfigGenerator(t, p)
|
||||||
|
cfg, err := cg.GenerateServerConfiguration(
|
||||||
|
p,
|
||||||
|
map[string]*monitoringv1.ServiceMonitor{
|
||||||
|
"testservicemonitor1": {
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "testservicemonitor1",
|
||||||
|
Namespace: "default",
|
||||||
|
},
|
||||||
|
Spec: monitoringv1.ServiceMonitorSpec{
|
||||||
|
TargetLabels: []string{"example", "env"},
|
||||||
|
ScrapeFallbackProtocol: tc.scrapeFallbackProtocol,
|
||||||
|
Endpoints: []monitoringv1.Endpoint{
|
||||||
|
{
|
||||||
|
HonorTimestamps: ptr.To(false),
|
||||||
|
Port: "web",
|
||||||
|
Interval: "30s",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
&assets.StoreBuilder{},
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
|
require.NoError(t, err)
|
||||||
|
golden.Assert(t, string(cfg), tc.golden)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestSettingScrapeProtocolsInPodMonitor(t *testing.T) {
|
func TestSettingScrapeProtocolsInPodMonitor(t *testing.T) {
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
name string
|
name string
|
||||||
|
@ -2224,6 +2303,67 @@ func TestSettingScrapeProtocolsInPodMonitor(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestSettingScrapeFallbackProtocolInPodMonitor(t *testing.T) {
|
||||||
|
for _, tc := range []struct {
|
||||||
|
name string
|
||||||
|
version string
|
||||||
|
scrapeFallbackProtocol *monitoringv1.ScrapeProtocol
|
||||||
|
golden string
|
||||||
|
}{
|
||||||
|
{
|
||||||
|
name: "setting ScrapeFallbackProtocol in PodMonitor with prometheus old version",
|
||||||
|
version: "v2.55.0",
|
||||||
|
scrapeFallbackProtocol: ptr.To(monitoringv1.OpenMetricsText0_0_1),
|
||||||
|
golden: "SettingScrapeFallbackProtocolInPodMonitor_OldVersion.golden",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "setting ScrapeFallbackProtocol in PodMonitor with prometheus new version",
|
||||||
|
version: "v3.0.0",
|
||||||
|
scrapeFallbackProtocol: ptr.To(monitoringv1.OpenMetricsText1_0_0),
|
||||||
|
golden: "SettingScrapeFallbackProtocolInPodMonitor_NewVersion.golden",
|
||||||
|
},
|
||||||
|
} {
|
||||||
|
t.Run(tc.name, func(t *testing.T) {
|
||||||
|
p := defaultPrometheus()
|
||||||
|
p.Spec.CommonPrometheusFields.Version = tc.version
|
||||||
|
|
||||||
|
cg := mustNewConfigGenerator(t, p)
|
||||||
|
cfg, err := cg.GenerateServerConfiguration(
|
||||||
|
p,
|
||||||
|
nil,
|
||||||
|
map[string]*monitoringv1.PodMonitor{
|
||||||
|
"testpodmonitor1": {
|
||||||
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
|
Name: "testpodmonitor1",
|
||||||
|
Namespace: "default",
|
||||||
|
},
|
||||||
|
Spec: monitoringv1.PodMonitorSpec{
|
||||||
|
PodTargetLabels: []string{"example", "env"},
|
||||||
|
ScrapeFallbackProtocol: tc.scrapeFallbackProtocol,
|
||||||
|
PodMetricsEndpoints: []monitoringv1.PodMetricsEndpoint{
|
||||||
|
{
|
||||||
|
TrackTimestampsStaleness: ptr.To(false),
|
||||||
|
Port: "web",
|
||||||
|
Interval: "30s",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
&assets.StoreBuilder{},
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
nil,
|
||||||
|
)
|
||||||
|
require.NoError(t, err)
|
||||||
|
golden.Assert(t, string(cfg), tc.golden)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestHonorTimestampsOverriding(t *testing.T) {
|
func TestHonorTimestampsOverriding(t *testing.T) {
|
||||||
p := defaultPrometheus()
|
p := defaultPrometheus()
|
||||||
p.Spec.CommonPrometheusFields.OverrideHonorTimestamps = true
|
p.Spec.CommonPrometheusFields.OverrideHonorTimestamps = true
|
||||||
|
@ -5960,6 +6100,22 @@ func TestScrapeConfigSpecConfig(t *testing.T) {
|
||||||
},
|
},
|
||||||
golden: "ScrapeConfigSpecConfig_ScrapeProtocols.golden",
|
golden: "ScrapeConfigSpecConfig_ScrapeProtocols.golden",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "fallback_scrape_protocol",
|
||||||
|
version: "v3.0.0",
|
||||||
|
scSpec: monitoringv1alpha1.ScrapeConfigSpec{
|
||||||
|
ScrapeFallbackProtocol: ptr.To(monitoringv1.OpenMetricsText1_0_0),
|
||||||
|
},
|
||||||
|
golden: "ScrapeConfigSpecConfig_ScrapeFallbackProtocol.golden",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "fallback_scrape_protocol_with_unsupported_version",
|
||||||
|
version: "v2.55.0",
|
||||||
|
scSpec: monitoringv1alpha1.ScrapeConfigSpec{
|
||||||
|
ScrapeFallbackProtocol: ptr.To(monitoringv1.OpenMetricsText1_0_0),
|
||||||
|
},
|
||||||
|
golden: "ScrapeConfigSpecConfig_ScrapeFallbackProtocol_OldVersion.golden",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "non_empty_metric_relabel_config",
|
name: "non_empty_metric_relabel_config",
|
||||||
scSpec: monitoringv1alpha1.ScrapeConfigSpec{
|
scSpec: monitoringv1alpha1.ScrapeConfigSpec{
|
||||||
|
|
13
pkg/prometheus/testdata/ScrapeConfigSpecConfig_ScrapeFallbackProtocol.golden
generated
vendored
Normal file
13
pkg/prometheus/testdata/ScrapeConfigSpecConfig_ScrapeFallbackProtocol.golden
generated
vendored
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: default/test
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: scrapeConfig/default/testscrapeconfig1
|
||||||
|
fallback_scrape_protocol: OpenMetricsText1.0.0
|
||||||
|
relabel_configs:
|
||||||
|
- source_labels:
|
||||||
|
- job
|
||||||
|
target_label: __tmp_prometheus_job_name
|
12
pkg/prometheus/testdata/ScrapeConfigSpecConfig_ScrapeFallbackProtocol_OldVersion.golden
generated
vendored
Normal file
12
pkg/prometheus/testdata/ScrapeConfigSpecConfig_ScrapeFallbackProtocol_OldVersion.golden
generated
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: default/test
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: scrapeConfig/default/testscrapeconfig1
|
||||||
|
relabel_configs:
|
||||||
|
- source_labels:
|
||||||
|
- job
|
||||||
|
target_label: __tmp_prometheus_job_name
|
61
pkg/prometheus/testdata/SettingScrapeFallbackProtocolInPodMonitor_NewVersion.golden
generated
vendored
Normal file
61
pkg/prometheus/testdata/SettingScrapeFallbackProtocolInPodMonitor_NewVersion.golden
generated
vendored
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: default/test
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: podMonitor/default/testpodmonitor1/0
|
||||||
|
honor_labels: false
|
||||||
|
track_timestamps_staleness: false
|
||||||
|
kubernetes_sd_configs:
|
||||||
|
- role: pod
|
||||||
|
namespaces:
|
||||||
|
names:
|
||||||
|
- default
|
||||||
|
scrape_interval: 30s
|
||||||
|
relabel_configs:
|
||||||
|
- source_labels:
|
||||||
|
- job
|
||||||
|
target_label: __tmp_prometheus_job_name
|
||||||
|
- action: drop
|
||||||
|
source_labels:
|
||||||
|
- __meta_kubernetes_pod_phase
|
||||||
|
regex: (Failed|Succeeded)
|
||||||
|
- action: keep
|
||||||
|
source_labels:
|
||||||
|
- __meta_kubernetes_pod_container_port_name
|
||||||
|
regex: web
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_namespace
|
||||||
|
target_label: namespace
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_container_name
|
||||||
|
target_label: container
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_name
|
||||||
|
target_label: pod
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_label_example
|
||||||
|
target_label: example
|
||||||
|
regex: (.+)
|
||||||
|
replacement: ${1}
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_label_env
|
||||||
|
target_label: env
|
||||||
|
regex: (.+)
|
||||||
|
replacement: ${1}
|
||||||
|
- target_label: job
|
||||||
|
replacement: default/testpodmonitor1
|
||||||
|
- target_label: endpoint
|
||||||
|
replacement: web
|
||||||
|
- source_labels:
|
||||||
|
- __address__
|
||||||
|
target_label: __tmp_hash
|
||||||
|
modulus: 1
|
||||||
|
action: hashmod
|
||||||
|
- source_labels:
|
||||||
|
- __tmp_hash
|
||||||
|
regex: $(SHARD)
|
||||||
|
action: keep
|
||||||
|
fallback_scrape_protocol: OpenMetricsText1.0.0
|
60
pkg/prometheus/testdata/SettingScrapeFallbackProtocolInPodMonitor_OldVersion.golden
generated
vendored
Normal file
60
pkg/prometheus/testdata/SettingScrapeFallbackProtocolInPodMonitor_OldVersion.golden
generated
vendored
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: default/test
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: podMonitor/default/testpodmonitor1/0
|
||||||
|
honor_labels: false
|
||||||
|
track_timestamps_staleness: false
|
||||||
|
kubernetes_sd_configs:
|
||||||
|
- role: pod
|
||||||
|
namespaces:
|
||||||
|
names:
|
||||||
|
- default
|
||||||
|
scrape_interval: 30s
|
||||||
|
relabel_configs:
|
||||||
|
- source_labels:
|
||||||
|
- job
|
||||||
|
target_label: __tmp_prometheus_job_name
|
||||||
|
- action: drop
|
||||||
|
source_labels:
|
||||||
|
- __meta_kubernetes_pod_phase
|
||||||
|
regex: (Failed|Succeeded)
|
||||||
|
- action: keep
|
||||||
|
source_labels:
|
||||||
|
- __meta_kubernetes_pod_container_port_name
|
||||||
|
regex: web
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_namespace
|
||||||
|
target_label: namespace
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_container_name
|
||||||
|
target_label: container
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_name
|
||||||
|
target_label: pod
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_label_example
|
||||||
|
target_label: example
|
||||||
|
regex: (.+)
|
||||||
|
replacement: ${1}
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_label_env
|
||||||
|
target_label: env
|
||||||
|
regex: (.+)
|
||||||
|
replacement: ${1}
|
||||||
|
- target_label: job
|
||||||
|
replacement: default/testpodmonitor1
|
||||||
|
- target_label: endpoint
|
||||||
|
replacement: web
|
||||||
|
- source_labels:
|
||||||
|
- __address__
|
||||||
|
target_label: __tmp_hash
|
||||||
|
modulus: 1
|
||||||
|
action: hashmod
|
||||||
|
- source_labels:
|
||||||
|
- __tmp_hash
|
||||||
|
regex: $(SHARD)
|
||||||
|
action: keep
|
80
pkg/prometheus/testdata/SettingScrapeFallbackProtocolInServiceMonitor_NewVersion.golden
generated
vendored
Normal file
80
pkg/prometheus/testdata/SettingScrapeFallbackProtocolInServiceMonitor_NewVersion.golden
generated
vendored
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: default/test
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: serviceMonitor/default/testservicemonitor1/0
|
||||||
|
honor_labels: false
|
||||||
|
honor_timestamps: false
|
||||||
|
kubernetes_sd_configs:
|
||||||
|
- role: endpoints
|
||||||
|
namespaces:
|
||||||
|
names:
|
||||||
|
- default
|
||||||
|
scrape_interval: 30s
|
||||||
|
relabel_configs:
|
||||||
|
- source_labels:
|
||||||
|
- job
|
||||||
|
target_label: __tmp_prometheus_job_name
|
||||||
|
- action: keep
|
||||||
|
source_labels:
|
||||||
|
- __meta_kubernetes_endpoint_port_name
|
||||||
|
regex: web
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_endpoint_address_target_kind
|
||||||
|
- __meta_kubernetes_endpoint_address_target_name
|
||||||
|
separator: ;
|
||||||
|
regex: Node;(.*)
|
||||||
|
replacement: ${1}
|
||||||
|
target_label: node
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_endpoint_address_target_kind
|
||||||
|
- __meta_kubernetes_endpoint_address_target_name
|
||||||
|
separator: ;
|
||||||
|
regex: Pod;(.*)
|
||||||
|
replacement: ${1}
|
||||||
|
target_label: pod
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_namespace
|
||||||
|
target_label: namespace
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_service_name
|
||||||
|
target_label: service
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_name
|
||||||
|
target_label: pod
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_container_name
|
||||||
|
target_label: container
|
||||||
|
- action: drop
|
||||||
|
source_labels:
|
||||||
|
- __meta_kubernetes_pod_phase
|
||||||
|
regex: (Failed|Succeeded)
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_service_label_example
|
||||||
|
target_label: example
|
||||||
|
regex: (.+)
|
||||||
|
replacement: ${1}
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_service_label_env
|
||||||
|
target_label: env
|
||||||
|
regex: (.+)
|
||||||
|
replacement: ${1}
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_service_name
|
||||||
|
target_label: job
|
||||||
|
replacement: ${1}
|
||||||
|
- target_label: endpoint
|
||||||
|
replacement: web
|
||||||
|
- source_labels:
|
||||||
|
- __address__
|
||||||
|
target_label: __tmp_hash
|
||||||
|
modulus: 1
|
||||||
|
action: hashmod
|
||||||
|
- source_labels:
|
||||||
|
- __tmp_hash
|
||||||
|
regex: $(SHARD)
|
||||||
|
action: keep
|
||||||
|
fallback_scrape_protocol: OpenMetricsText0.0.1
|
79
pkg/prometheus/testdata/SettingScrapeFallbackProtocolInServiceMonitor_OldVersion.golden
generated
vendored
Normal file
79
pkg/prometheus/testdata/SettingScrapeFallbackProtocolInServiceMonitor_OldVersion.golden
generated
vendored
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: default/test
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_configs:
|
||||||
|
- job_name: serviceMonitor/default/testservicemonitor1/0
|
||||||
|
honor_labels: false
|
||||||
|
honor_timestamps: false
|
||||||
|
kubernetes_sd_configs:
|
||||||
|
- role: endpoints
|
||||||
|
namespaces:
|
||||||
|
names:
|
||||||
|
- default
|
||||||
|
scrape_interval: 30s
|
||||||
|
relabel_configs:
|
||||||
|
- source_labels:
|
||||||
|
- job
|
||||||
|
target_label: __tmp_prometheus_job_name
|
||||||
|
- action: keep
|
||||||
|
source_labels:
|
||||||
|
- __meta_kubernetes_endpoint_port_name
|
||||||
|
regex: web
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_endpoint_address_target_kind
|
||||||
|
- __meta_kubernetes_endpoint_address_target_name
|
||||||
|
separator: ;
|
||||||
|
regex: Node;(.*)
|
||||||
|
replacement: ${1}
|
||||||
|
target_label: node
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_endpoint_address_target_kind
|
||||||
|
- __meta_kubernetes_endpoint_address_target_name
|
||||||
|
separator: ;
|
||||||
|
regex: Pod;(.*)
|
||||||
|
replacement: ${1}
|
||||||
|
target_label: pod
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_namespace
|
||||||
|
target_label: namespace
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_service_name
|
||||||
|
target_label: service
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_name
|
||||||
|
target_label: pod
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_pod_container_name
|
||||||
|
target_label: container
|
||||||
|
- action: drop
|
||||||
|
source_labels:
|
||||||
|
- __meta_kubernetes_pod_phase
|
||||||
|
regex: (Failed|Succeeded)
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_service_label_example
|
||||||
|
target_label: example
|
||||||
|
regex: (.+)
|
||||||
|
replacement: ${1}
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_service_label_env
|
||||||
|
target_label: env
|
||||||
|
regex: (.+)
|
||||||
|
replacement: ${1}
|
||||||
|
- source_labels:
|
||||||
|
- __meta_kubernetes_service_name
|
||||||
|
target_label: job
|
||||||
|
replacement: ${1}
|
||||||
|
- target_label: endpoint
|
||||||
|
replacement: web
|
||||||
|
- source_labels:
|
||||||
|
- __address__
|
||||||
|
target_label: __tmp_hash
|
||||||
|
modulus: 1
|
||||||
|
action: hashmod
|
||||||
|
- source_labels:
|
||||||
|
- __tmp_hash
|
||||||
|
regex: $(SHARD)
|
||||||
|
action: keep
|
8
pkg/prometheus/testdata/valid_global_config_with_scrape_fallback_protocol.golden
generated
vendored
Normal file
8
pkg/prometheus/testdata/valid_global_config_with_scrape_fallback_protocol.golden
generated
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
fallback_scrape_protocol: PrometheusText1.0.0
|
||||||
|
external_labels:
|
||||||
|
prometheus: test/example
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_configs: []
|
7
pkg/prometheus/testdata/valid_global_config_with_unsupported_scrape_fallback_protocols.golden
generated
vendored
Normal file
7
pkg/prometheus/testdata/valid_global_config_with_unsupported_scrape_fallback_protocols.golden
generated
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
global:
|
||||||
|
scrape_interval: 30s
|
||||||
|
external_labels:
|
||||||
|
prometheus: test/example
|
||||||
|
prometheus_replica: $(POD_NAME)
|
||||||
|
evaluation_interval: 30s
|
||||||
|
scrape_configs: []
|
|
@ -1778,6 +1778,27 @@ var ScrapeConfigCRDTestCases = []scrapeCRDTestCase{
|
||||||
},
|
},
|
||||||
expectedError: false,
|
expectedError: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "ScrapeFallbackProtocol: Valid Value",
|
||||||
|
scrapeConfigSpec: monitoringv1alpha1.ScrapeConfigSpec{
|
||||||
|
ScrapeFallbackProtocol: ptr.To(monitoringv1.OpenMetricsText0_0_1),
|
||||||
|
},
|
||||||
|
expectedError: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ScrapeFallbackProtocol: Invalid Protocol",
|
||||||
|
scrapeConfigSpec: monitoringv1alpha1.ScrapeConfigSpec{
|
||||||
|
ScrapeFallbackProtocol: ptr.To(monitoringv1.ScrapeProtocol("InvalidProtocol")),
|
||||||
|
},
|
||||||
|
expectedError: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "ScrapeFallbackProtocol: Setting nil",
|
||||||
|
scrapeConfigSpec: monitoringv1alpha1.ScrapeConfigSpec{
|
||||||
|
ScrapeFallbackProtocol: nil,
|
||||||
|
},
|
||||||
|
expectedError: false,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var staticConfigTestCases = []scrapeCRDTestCase{
|
var staticConfigTestCases = []scrapeCRDTestCase{
|
||||||
|
|
Loading…
Add table
Reference in a new issue