Initial commit
This commit is contained in:
146
victoria-metrics/httproute.yaml
Normal file
146
victoria-metrics/httproute.yaml
Normal file
@@ -0,0 +1,146 @@
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: grafana-route
|
||||
namespace: victoria-metrics
|
||||
spec:
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
name: gateway-internal
|
||||
namespace: envoy-gateway
|
||||
sectionName: grafana
|
||||
# Uncomment to expose Grafana publicly — ensure auth is properly configured first
|
||||
# - group: gateway.networking.k8s.io
|
||||
# kind: Gateway
|
||||
# name: gateway-public
|
||||
# namespace: envoy-gateway
|
||||
# sectionName: grafana
|
||||
hostnames:
|
||||
- "grafana.jsme.be"
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
filters:
|
||||
- type: RequestHeaderModifier
|
||||
requestHeaderModifier:
|
||||
set:
|
||||
- name: X-Forwarded-Host
|
||||
value: "grafana.jsme.be"
|
||||
- name: X-Forwarded-Proto
|
||||
value: https
|
||||
- type: ResponseHeaderModifier
|
||||
responseHeaderModifier:
|
||||
set:
|
||||
- name: Strict-Transport-Security
|
||||
value: "max-age=31536000; includeSubDomains"
|
||||
- name: X-Content-Type-Options
|
||||
value: nosniff
|
||||
- name: X-Frame-Options
|
||||
value: SAMEORIGIN
|
||||
- name: Referrer-Policy
|
||||
value: strict-origin-when-cross-origin
|
||||
- name: Permissions-Policy
|
||||
value: "camera=(), microphone=(), geolocation=(), payment=()"
|
||||
backendRefs:
|
||||
- name: vm-grafana
|
||||
port: 80
|
||||
kind: Service
|
||||
group: ""
|
||||
weight: 1
|
||||
---
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: vmagent-route
|
||||
namespace: victoria-metrics
|
||||
spec:
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
name: gateway-internal
|
||||
namespace: envoy-gateway
|
||||
sectionName: vmagent
|
||||
hostnames:
|
||||
- "vmagent.jsme.be"
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
filters:
|
||||
- type: RequestHeaderModifier
|
||||
requestHeaderModifier:
|
||||
set:
|
||||
- name: X-Forwarded-Host
|
||||
value: "vmagent.jsme.be"
|
||||
- name: X-Forwarded-Proto
|
||||
value: https
|
||||
- type: ResponseHeaderModifier
|
||||
responseHeaderModifier:
|
||||
set:
|
||||
- name: Strict-Transport-Security
|
||||
value: "max-age=31536000; includeSubDomains"
|
||||
- name: X-Content-Type-Options
|
||||
value: nosniff
|
||||
- name: X-Frame-Options
|
||||
value: SAMEORIGIN
|
||||
- name: Referrer-Policy
|
||||
value: strict-origin-when-cross-origin
|
||||
- name: Permissions-Policy
|
||||
value: "camera=(), microphone=(), geolocation=(), payment=()"
|
||||
backendRefs:
|
||||
- name: vmagent-vm-victoria-metrics-k8s-stack
|
||||
port: 8429
|
||||
kind: Service
|
||||
group: ""
|
||||
weight: 1
|
||||
---
|
||||
apiVersion: gateway.networking.k8s.io/v1
|
||||
kind: HTTPRoute
|
||||
metadata:
|
||||
name: vmetrics-route
|
||||
namespace: victoria-metrics
|
||||
spec:
|
||||
parentRefs:
|
||||
- group: gateway.networking.k8s.io
|
||||
kind: Gateway
|
||||
name: gateway-internal
|
||||
namespace: envoy-gateway
|
||||
sectionName: vmetrics
|
||||
hostnames:
|
||||
- "vmetrics.jsme.be"
|
||||
rules:
|
||||
- matches:
|
||||
- path:
|
||||
type: PathPrefix
|
||||
value: /
|
||||
filters:
|
||||
- type: RequestHeaderModifier
|
||||
requestHeaderModifier:
|
||||
set:
|
||||
- name: X-Forwarded-Host
|
||||
value: "vmetrics.jsme.be"
|
||||
- name: X-Forwarded-Proto
|
||||
value: https
|
||||
- type: ResponseHeaderModifier
|
||||
responseHeaderModifier:
|
||||
set:
|
||||
- name: Strict-Transport-Security
|
||||
value: "max-age=31536000; includeSubDomains"
|
||||
- name: X-Content-Type-Options
|
||||
value: nosniff
|
||||
- name: X-Frame-Options
|
||||
value: SAMEORIGIN
|
||||
- name: Referrer-Policy
|
||||
value: strict-origin-when-cross-origin
|
||||
- name: Permissions-Policy
|
||||
value: "camera=(), microphone=(), geolocation=(), payment=()"
|
||||
backendRefs:
|
||||
- name: vmsingle-vm-victoria-metrics-k8s-stack
|
||||
port: 8428
|
||||
kind: Service
|
||||
group: ""
|
||||
weight: 1
|
||||
15
victoria-metrics/service-scrapers/minecraft.yaml
Normal file
15
victoria-metrics/service-scrapers/minecraft.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
apiVersion: operator.victoriametrics.com/v1beta1
|
||||
kind: VMServiceScrape
|
||||
metadata:
|
||||
name: minecraft-homestead
|
||||
namespace: monitoring
|
||||
spec:
|
||||
namespaceSelector:
|
||||
matchNames:
|
||||
- minecraft
|
||||
selector:
|
||||
matchLabels:
|
||||
app: homestead
|
||||
endpoints:
|
||||
- port: prometheus
|
||||
interval: 10s
|
||||
215
victoria-metrics/values.yaml
Normal file
215
victoria-metrics/values.yaml
Normal file
@@ -0,0 +1,215 @@
|
||||
victoria-metrics-operator:
|
||||
enabled: true
|
||||
crds:
|
||||
plain: true
|
||||
cleanup:
|
||||
enabled: true
|
||||
image:
|
||||
repository: rancher/kubectl
|
||||
pullPolicy: IfNotPresent
|
||||
serviceMonitor:
|
||||
enabled: true
|
||||
operator:
|
||||
disable_prometheus_converter: true
|
||||
|
||||
defaultDashboards:
|
||||
enabled: true
|
||||
defaultTimezone: Europe/Brussels
|
||||
dashboards:
|
||||
victoriametrics-vmalert:
|
||||
enabled: true
|
||||
victoriametrics-operator:
|
||||
enabled: true
|
||||
node-exporter-full:
|
||||
enabled: true
|
||||
|
||||
defaultRules:
|
||||
create: true
|
||||
groups:
|
||||
etcd:
|
||||
create: false
|
||||
kubeScheduler:
|
||||
create: false
|
||||
kubernetesSystemControllerManager:
|
||||
create: false
|
||||
kubernetesSystemScheduler:
|
||||
create: false
|
||||
|
||||
vmsingle:
|
||||
enabled: true
|
||||
spec:
|
||||
retentionPeriod: "90d"
|
||||
storage:
|
||||
storageClassName: longhorn-static
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
alertmanager:
|
||||
enabled: true
|
||||
spec:
|
||||
selectAllByDefault: true
|
||||
image:
|
||||
tag: v0.28.1
|
||||
storage:
|
||||
volumeClaimTemplate:
|
||||
spec:
|
||||
storageClassName: longhorn-static
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 2Gi
|
||||
config:
|
||||
route:
|
||||
receiver: "blackhole"
|
||||
receivers:
|
||||
- name: blackhole
|
||||
monzoTemplate:
|
||||
enabled: true
|
||||
|
||||
vmalert:
|
||||
enabled: true
|
||||
spec:
|
||||
selectAllByDefault: true
|
||||
evaluationInterval: 20s
|
||||
|
||||
vmagent:
|
||||
enabled: true
|
||||
spec:
|
||||
selectAllByDefault: true
|
||||
scrapeInterval: 10s
|
||||
extraArgs:
|
||||
promscrape.streamParse: "true"
|
||||
promscrape.dropOriginalLabels: "true"
|
||||
ingress:
|
||||
enabled: false
|
||||
|
||||
grafana:
|
||||
enabled: true
|
||||
adminUser: admin
|
||||
envValueFrom:
|
||||
GF_SECURITY_ADMIN_PASSWORD:
|
||||
secretKeyRef:
|
||||
name: victoria-metrics-secrets
|
||||
key: grafana_admin_password
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClassName: longhorn-static
|
||||
size: 10Gi
|
||||
sidecar:
|
||||
datasources:
|
||||
enabled: true
|
||||
label: grafana_datasource
|
||||
labelValue: "1"
|
||||
dashboards:
|
||||
provider:
|
||||
name: default
|
||||
orgid: 1
|
||||
folder: /var/lib/grafana/dashboards
|
||||
defaultFolderName: default
|
||||
enabled: true
|
||||
label: grafana_dashboard
|
||||
labelValue: "1"
|
||||
ingress:
|
||||
enabled: false
|
||||
vmScrape:
|
||||
enabled: true
|
||||
|
||||
prometheus-node-exporter:
|
||||
enabled: true
|
||||
service:
|
||||
labels:
|
||||
jobLabel: node-exporter
|
||||
extraArgs:
|
||||
- --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)($|/)
|
||||
- --collector.filesystem.ignored-fs-types=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|erofs|sysfs|tracefs)$
|
||||
vmScrape:
|
||||
enabled: true
|
||||
spec:
|
||||
jobLabel: jobLabel
|
||||
endpoints:
|
||||
- port: metrics
|
||||
metricRelabelConfigs:
|
||||
- action: drop
|
||||
source_labels: [mountpoint]
|
||||
regex: "/var/lib/kubelet/pods.+"
|
||||
|
||||
kube-state-metrics:
|
||||
enabled: true
|
||||
vmScrape:
|
||||
enabled: true
|
||||
|
||||
kubelet:
|
||||
enabled: true
|
||||
vmScrapes:
|
||||
cadvisor:
|
||||
enabled: true
|
||||
spec:
|
||||
path: /metrics/cadvisor
|
||||
probes:
|
||||
enabled: true
|
||||
spec:
|
||||
path: /metrics/probes
|
||||
resources:
|
||||
enabled: true
|
||||
spec:
|
||||
path: /metrics/resource
|
||||
kubelet:
|
||||
spec: {}
|
||||
vmScrape:
|
||||
kind: VMNodeScrape
|
||||
spec:
|
||||
scheme: "https"
|
||||
honorLabels: true
|
||||
interval: "30s"
|
||||
scrapeTimeout: "5s"
|
||||
tlsConfig:
|
||||
insecureSkipVerify: true
|
||||
caFile: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||
bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
|
||||
metricRelabelConfigs:
|
||||
- action: labeldrop
|
||||
regex: (uid)
|
||||
- action: labeldrop
|
||||
regex: (id|name)
|
||||
- action: drop
|
||||
source_labels: [__name__]
|
||||
regex: (rest_client_request_duration_seconds_bucket|rest_client_request_duration_seconds_sum|rest_client_request_duration_seconds_count)
|
||||
relabelConfigs:
|
||||
- action: labelmap
|
||||
regex: __meta_kubernetes_node_label_(.+)
|
||||
- sourceLabels: [__metrics_path__]
|
||||
targetLabel: metrics_path
|
||||
- targetLabel: job
|
||||
replacement: kubelet
|
||||
honorTimestamps: false
|
||||
|
||||
kubeApiServer:
|
||||
enabled: true
|
||||
|
||||
coreDns:
|
||||
enabled: true
|
||||
service:
|
||||
enabled: true
|
||||
port: 9153
|
||||
targetPort: 9153
|
||||
selector:
|
||||
k8s-app: kube-dns
|
||||
kubernetes.io/name: CoreDNS
|
||||
|
||||
# k3s - these components run embedded, not as separate pods
|
||||
kubeControllerManager:
|
||||
enabled: false
|
||||
kubeScheduler:
|
||||
enabled: false
|
||||
kubeEtcd:
|
||||
enabled: false
|
||||
kubeProxy:
|
||||
enabled: false
|
||||
kubeDns:
|
||||
enabled: false
|
||||
Reference in New Issue
Block a user