mirror of
https://github.com/carlosedp/cluster-monitoring.git
synced 2024-12-28 00:07:44 +01:00
45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
local utils = import '../utils.libsonnet';
|
|
local k = import 'ksonnet/ksonnet.beta.4/k.libsonnet';
|
|
|
|
{
|
|
_config+:: {
|
|
namespace: 'monitoring',
|
|
grafanaDashboards+:: {
|
|
'nginx-dashboard.json': (import '../grafana-dashboards/nginx-dashboard.json'),
|
|
},
|
|
},
|
|
|
|
nginxExporter+:: {
|
|
serviceMonitor:
|
|
utils.newServiceMonitor('nginx', $._config.namespace, { 'app.kubernetes.io/name': 'ingress-nginx' }, 'ingress-nginx', 'prometheus', 'http'),
|
|
|
|
service:
|
|
local service = k.core.v1.service;
|
|
local servicePort = k.core.v1.service.mixin.spec.portsType;
|
|
local nginxPort = servicePort.newNamed('prometheus', 10254, 10254);
|
|
|
|
service.new('ingress-nginx-metrics', {'app.kubernetes.io/name': 'ingress-nginx'}, nginxPort) +
|
|
service.mixin.metadata.withNamespace('ingress-nginx') +
|
|
service.mixin.metadata.withLabels({'app.kubernetes.io/name': 'ingress-nginx'}) +
|
|
service.mixin.spec.withClusterIp('None'),
|
|
|
|
clusterRole:
|
|
utils.newClusterRole('nginx-exporter', [
|
|
{
|
|
apis: [''],
|
|
res: ['services', 'endpoints', 'pods'],
|
|
verbs: ['get', 'list', 'watch'],
|
|
},
|
|
], null),
|
|
|
|
|
|
serviceAccount:
|
|
utils.newServiceAccount('nginx-exporter', $._config.namespace, null),
|
|
|
|
|
|
clusterRoleBinding:
|
|
utils.newClusterRoleBinding('nginx-exporter', 'nginx-exporter', $._config.namespace, 'nginx-exporter', null),
|
|
|
|
},
|
|
}
|