Skip to content

Commit eec06d7

Browse files
Support creating LogFileMetricsExporter CR (#147)
In logging version 5.8 and newer versions, the LogFileMetricExporter is no longer deployed with the collector by default. You must manually create a LogFileMetricExporter custom resource (CR) to generate metrics from the logs produced by running containers. If you do not create the LogFileMetricExporter CR, you may see a No datapoints found message in the OpenShift Container Platform web console dashboard for Produced Logs.
1 parent 36503f7 commit eec06d7

File tree

4 files changed

+74
-0
lines changed

4 files changed

+74
-0
lines changed

class/defaults.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,18 @@ parameters:
5757
threshold: 85
5858
for: 6h
5959
severity: warning
60+
logmetrics:
61+
enabled: false
62+
spec:
63+
nodeSelector:
64+
node-role.kubernetes.io/infra: ''
65+
resources:
66+
limits:
67+
cpu: 500m
68+
memory: 256Mi
69+
requests:
70+
cpu: 200m
71+
memory: 128Mi
6072

6173
clusterLogging: {}
6274

component/logmetrics.libsonnet

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
local kap = import 'lib/kapitan.libjsonnet';
2+
local kube = import 'lib/kube.libjsonnet';
3+
4+
local inv = kap.inventory();
5+
local logmetrics = inv.parameters.openshift4_logging.components.logmetrics;
6+
7+
local logMetricExporter = kube._Object('logging.openshift.io/v1alpha1', 'LogFileMetricExporter', 'instance') {
8+
spec: logmetrics.spec,
9+
};
10+
11+
12+
// Define outputs below
13+
if logmetrics.enabled then
14+
{
15+
'70_logmetricsexporter': logMetricExporter,
16+
}
17+
else
18+
std.trace(
19+
'Logmetrics disabled, not deploying LogFileMetricExporter',
20+
{}
21+
)

component/main.jsonnet

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,3 +95,4 @@ local subscriptions = std.filter(function(it) it != null, [
9595
+ (import 'loki.libsonnet')
9696
+ (import 'elasticsearch.libsonnet')
9797
+ (import 'alertrules.libsonnet')
98+
+ (import 'logmetrics.libsonnet')

docs/modules/ROOT/pages/references/parameters.adoc

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,46 @@ The default of 5 MiB/s allows up to ~420 GiB of logs per day for a tenant.
295295
See the https://docs.openshift.com/container-platform/latest/observability/logging/cluster-logging-deploying.html#configuring-log-storage-cr_cluster-logging-deploying[Openshift Docs] for available parameters.
296296
See the https://loki-operator.dev/docs/api.md/[Loki Operator Docs] for available Lokistack specs.
297297

298+
299+
== `components.logmetrics`
300+
301+
Configuration of the logfile metrics component.
302+
See subsections for supported keys.
303+
304+
=== `components.logmetrics.enabled`
305+
306+
[horizontal]
307+
type:: boolean
308+
default:: `false`
309+
310+
Whether to deploy the LogFileMetricsExporter on the cluster.
311+
312+
313+
=== `components.logmetrics.spec`
314+
315+
[horizontal]
316+
type:: dictionary
317+
default::
318+
+
319+
[source,yaml]
320+
----
321+
spec:
322+
nodeSelector: <1>
323+
node-role.kubernetes.io/infra: ''
324+
resources: <2>
325+
limits:
326+
cpu: 500m
327+
memory: 256Mi
328+
requests:
329+
cpu: 200m
330+
memory: 128Mi
331+
----
332+
<1> configure nodeSelector
333+
<2> configure resources
334+
335+
See the https://docs.openshift.com/container-platform/latest/observability/logging/log_collection_forwarding/cluster-logging-collector.html#creating-logfilesmetricexporter_cluster-logging-collector[LogCollection Docs] for available specs.
336+
337+
298338
== `operatorResources`
299339

300340
[horizontal]

0 commit comments

Comments
 (0)