victoriametrics入门

安装victoriametrics operator

kubectl create ns monitoring-system
kubectl apply -n monitoring-system -f https://github.com/VictoriaMetrics/operator/releases/download/v0.62.0/install-with-webhook.yaml

创建vmcluster

kind: VMCluster
metadata:
  name: vm
  namespace: monitoring-system
spec:
  replicationFactor: 2
  retentionPeriod: 7d
  vmstorage:
    readinessProbe:
      httpGet:
        path: /
        port: 8482
      timeoutSeconds: 3
      periodSeconds: 10
      successThreshold: 3
      failureThreshold: 1
    podMetadata:
      labels:
        app: vm
        component: vmstorage
    replicaCount: 2
    storageDataPath: "/vmstorage"
    storage:
      volumeClaimTemplate:
        spec:
          resources:
            requests:
              storage: 10Gi
    resources:
      limits:
        cpu: "1"
        memory: 2Gi
  vmselect:
    readinessProbe:
      httpGet:
        path: /
        port: 8481
      timeoutSeconds: 3
      periodSeconds: 10
      successThreshold: 3
      failureThreshold: 1
    clusterNativeListenPort: "8482"
    podMetadata:
      labels:
        app: vm
        component: vmselect
    replicaCount: 2
    cacheMountPath: "/vmselect-cache"
    storage:
      volumeClaimTemplate:
        spec:
          resources:
            requests:
              storage: 10Gi
    resources:
      limits:
        cpu: "1"
        memory: "2Gi"
  vminsert:
    readinessProbe:
      httpGet:
        path: /
        port: 8480
      timeoutSeconds: 3
      periodSeconds: 10
      successThreshold: 3
      failureThreshold: 1
    podMetadata:
      labels:
        app: vm
        component: vminsert
    replicaCount: 2
    resources:
      limits:
        cpu: "1"
        memory: "2Gi"

创建demo workload

apiVersion: apps/v1
kind: Deployment
metadata:
  name: demo
  namespace: monitoring-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: demo
  template:
    metadata:
      labels:
        app.kubernetes.io/name: demo
    spec:
      containers:
      - name: app
        image: nginx
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/name: demo
  name: demo
  namespace: monitoring-system
spec:
  ports:
  - name: metrics
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app.kubernetes.io/name: demo
  type: ClusterIP

创建vm auth

ingress.class_name替换为实际的ingress className
ingress.host替换为实际的host

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAuth
metadata:
  name: vmauth
  namespace: monitoring-system
spec:
  ingress:
    class_name: nginx
    host: vmauth.com
  selectAllByDefault: true

创建vm user

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMUser
metadata:
  name: vmagent
  namespace: monitoring-system
spec:
  password: yourpassword
  targetRefs:
  - crd:
      kind: VMCluster/vminsert
      name: vm
      namespace: monitoring-system
    target_path_suffix: /insert/0/prometheus
  username: vmagent

创建vm agent

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAgent
metadata:
  name: node-exporter
  namespace: monitoring-system
spec:
  serviceScrapeNamespaceSelector: {}
  nodeScrapeSelector: {}
  scrapeInterval: 10s
  remoteWrite:
  - url: "http://vmauth-vmauth.monitoring-system.svc:8427"
    basicAuth:
      username:
        name: vmagent
        key: username
      password:
        name: vmagent
        key: password

创建service scrape

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMServiceScrape
metadata:
  name: demo
  namespace: monitoring-system
spec:
  endpoints:
  - port: metrics
    path: /metrics
    interval: 15s
    scheme: http
  selector:
    matchLabels:
      app.kubernetes.io/name: demo
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容