From abd16f1b991a1f5dfcaef7bb0089eb245c817f2e Mon Sep 17 00:00:00 2001
From: Frederic Branczyk <fbranczyk@gmail.com>
Date: Wed, 24 Apr 2019 10:29:13 +0200
Subject: [PATCH] alerts: Replace ntp with timex metrics

A local ntp server is optional, while timex is in kernel and always
present. Some ntp daemons like chrony can also only be run in a client
mode, which synchronizes the kernel but doesn't expose an ntp server.
Using the timex metrics is a more reliable approach.
---
 jsonnet/kube-prometheus/alerts/node.libsonnet                 | 2 +-
 jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/jsonnet/kube-prometheus/alerts/node.libsonnet b/jsonnet/kube-prometheus/alerts/node.libsonnet
index 27de83b8..68a42425 100644
--- a/jsonnet/kube-prometheus/alerts/node.libsonnet
+++ b/jsonnet/kube-prometheus/alerts/node.libsonnet
@@ -41,7 +41,7 @@
               message: 'Clock skew detected on node-exporter {{ $labels.namespace }}/{{ $labels.pod }}. Ensure NTP is configured correctly on this host.',
             },
             expr: |||
-              node_ntp_offset_seconds{%(nodeExporterSelector)s} < -0.03 or node_ntp_offset_seconds{%(nodeExporterSelector)s} > 0.03
+              abs(node_timex_offset_seconds{%(nodeExporterSelector)s}) > 0.03
             ||| % $._config,
             'for': '2m',
             labels: {
diff --git a/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet b/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet
index 8aae5b86..6b7f7f8a 100644
--- a/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet
+++ b/jsonnet/kube-prometheus/node-exporter/node-exporter.libsonnet
@@ -101,7 +101,6 @@ local k = import 'ksonnet/ksonnet.beta.3/k.libsonnet';
           // Once node exporter is being released with those settings, this can be removed.
           '--collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+)($|/)',
           '--collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|cgroup|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|mqueue|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|sysfs|tracefs)$',
-          '--collector.ntp',
         ]) +
         container.withVolumeMounts([procVolumeMount, sysVolumeMount, rootVolumeMount]) +
         container.mixin.resources.withRequests({ cpu: '102m', memory: '180Mi' }) +
-- 
GitLab