victoriametrics 部署

添加helm仓库

helm repo add vm https://victoriametrics.github.io/helm-charts/
helm repo update

搜索victoriametrics仓库

helm search repo vm/
NAME                            CHART VERSION   APP VERSION     DESCRIPTION                                       
vm/victoria-logs-single         0.9.2           v1.14.0         Victoria Logs Single version - high-performance...
vm/victoria-metrics-agent       0.17.0          v1.113.0        Victoria Metrics Agent - collects metrics from ...
vm/victoria-metrics-alert       0.15.0          v1.113.0        Victoria Metrics Alert - executes a list of giv...
vm/victoria-metrics-anomaly     1.8.0           v1.20.0         Victoria Metrics Anomaly Detection - a service ...
vm/victoria-metrics-auth        0.10.0          v1.113.0        Victoria Metrics Auth - is a simple auth proxy ...
vm/victoria-metrics-cluster     0.19.0          v1.113.0        Victoria Metrics Cluster version - high-perform...
vm/victoria-metrics-common      0.0.41                          Victoria Metrics Common - contains shared templ...
vm/victoria-metrics-distributed 0.9.0           v1.113.0        A Helm chart for Running VMCluster on Multiple ...
vm/victoria-metrics-gateway     0.8.0           v1.113.0        Victoria Metrics Gateway - Auth & Rate-Limittin...
vm/victoria-metrics-k8s-stack   0.39.0          v1.113.0        Kubernetes monitoring on VictoriaMetrics stack....
vm/victoria-metrics-operator    0.43.0          v0.54.1         Victoria Metrics Operator                         
vm/victoria-metrics-single      0.15.0          v1.113.0        Victoria Metrics Single version - high-performa...

拉取victoria-metrics-operator的chart包

helm pull vm/victoria-metrics-operator

如果遇到如下问题,说明需要科学shangwang,下载victoria-metrics-operator-0.43.0.tgz压缩包

Error: Get "https://github.com/VictoriaMetrics/helm-charts/releases/download/victoria-metrics-operator-0.43.0/victoria-metrics-operator-0.43.0.tgz": read tcp 10.0.2.21:36530->20.205.243.166:443: read: connection reset by peer

安装victoria-metrics-operator

创建命名空间

kubectl create namespace vmtrics-monitor
tar -xvf victoria-metrics-operator-0.43.0.tgz
cd victoria-metrics-operator-0.43.0
helm install vmoperator . -f values.yaml -n vmtrics-monitor

如果已经可以科学shangwang可以直接使用如下命令:

helm install vmoperator vm/victoria-metrics-operator -f values.yaml -n vmtrics-monitor

安装成功提示

NOTES:
victoria-metrics-operator has been installed. Check its status by running:kubectl --namespace vmtrics-monitor get pods -l "app.kubernetes.io/instance=vmoperator"Get more information on https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator.
See "Getting started guide for VM Operator" on https://docs.victoriametrics.com/guides/getting-started-with-vm-operator

这个helm install vmoperator . -f values.yaml -n vmtrics-monitor执行后,需要等待一定的时间。检查victoria-metrics-operator是否启动成功

kubectl --namespace vmtrics-monitor get pods -l "app.kubernetes.io/instance=vmoperator"

大概会出现以下错误,是因为拉取不到镜像失败

NAME                                                    READY   STATUS             RESTARTS   AGE
vmoperator-victoria-metrics-operator-5b8dc96466-zcc2g   0/1     ImagePullBackOff   0          13m

通过以下地址搜索国内镜像

https://docker.aityp.com/

修改values.yaml文件

image:# -- Image registryregistry: ""# -- Image repositoryrepository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/victoriametrics/operator  #修改镜像仓库# -- Image tag# override Chart.AppVersiontag: "v0.53.0"  #修改镜像tag

再次参考安装情况

helm list --all-namespaces
kubectl get all -n vmtrics-monitor

显示结果

[root@mk8s-master op]# helm list --all-namespaces
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                                   APP VERSION
vmoperator      vmtrics-monitor 1               2025-03-14 17:02:58.383908049 +0800 CST deployed        victoria-metrics-operator-0.43.0        v0.54.1    
[root@mk8s-master op]# kubectl get all -n vmtrics-monitor 
NAME                                                        READY   STATUS    RESTARTS   AGE
pod/vmoperator-victoria-metrics-operator-684997574c-5sll5   1/1     Running   0          5m30sNAME                                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
service/vmoperator-victoria-metrics-operator   ClusterIP   10.106.48.186   <none>        8080/TCP,9443/TCP   5m30sNAME                                                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/vmoperator-victoria-metrics-operator   1/1     1            1           5m30sNAME                                                              DESIRED   CURRENT   READY   AGE
replicaset.apps/vmoperator-victoria-metrics-operator-684997574c   1         1         1       5m30s

安装victoria-metrics相关组件

创建文件vmcluster.yaml

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMCluster
metadata:name: demonamespace: vmtrics-monitor
spec:retentionPeriod: "1"replicationFactor: 2vmstorage:image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/victoriametrics/vmstoragetag: v1.110.0-clusterpullPolicy: AlwaysreplicaCount: 1storageDataPath: "/vm-data"storage:volumeClaimTemplate:spec:accessModes:- ReadWriteOncestorageClassName: nfs-scresources:requests:storage: "1Gi"resources:limits:cpu: "1"memory: "1Gi"vmselect:image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/victoriametrics/vmselecttag: v1.110.0-clusterpullPolicy: AlwaysreplicaCount: 1cacheMountPath: "/select-cache"storage:volumeClaimTemplate:spec:accessModes:- ReadWriteOncestorageClassName: nfs-scresources:requests:storage: "1Gi"resources:limits:cpu: "1"memory: "1Gi"requests:cpu: "0.5"memory: "500Mi"vminsert:image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/victoriametrics/vminserttag: v1.110.0-clusterpullPolicy: AlwaysreplicaCount: 1resources:limits:cpu: "1"memory: "1Gi"requests:cpu: "0.5"memory: "500Mi"

部署组件

kubectl apply -f vmcluster.yaml

查看组件部署结果

kubectl get pods -n vmtrics-monitor -l "app.kubernetes.io/instance=my-vm"

Scraping

安装VMAgent

创建vmagent.yaml

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAgent
metadata:name: demonamespace: vmtrics-monitor
spec:image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/victoriametrics/vmagenttag: v1.110.0pullPolicy: AlwaysselectAllByDefault: trueremoteWrite:- url: "http://vminsert-demo.vmtrics-monitor.svc:8480/insert/0/prometheus/api/v1/write"

部署vmagent.yaml

kubectl apply -f vmagent.yaml 

查看是否启动

kubectl get pods -n vmtrics-monitor -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.io/name=vmagent"
kubectl port-forward svc/vmagent-demo 8429:8429 -n vmtrics-monitor

vmagent-service.yaml

apiVersion: v1
kind: Service
metadata:name: vmagent-demo-nodeportnamespace: vm
spec:ports:- name: httpport: 8429protocol: TCPtargetPort: 8429selector:app.kubernetes.io/component: monitoringapp.kubernetes.io/instance: demoapp.kubernetes.io/name: vmagenttype: NodePort

安装VMServiceScrape

创建vmservicescrape.yaml

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMServiceScrape
metadata:name: vmoperator-demonamespace: vmtrics-monitor
spec:selector:matchLabels:app.kubernetes.io/instance: vmoperatorapp.kubernetes.io/name: victoria-metrics-operatornamespaceSelector:matchNames:- vmtrics-monitorendpoints:- port: http

部署vmservicescrape.yaml

kubectl apply -f vmservicescrape.yaml

查看结果

kubectl get VMServiceScrape -n vmtrics-monitor 

Access

VMAuth

创建vmauth.yaml

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAuth
metadata:name: demonamespace: vmtrics-monitorlabels:app: vmauth-demo
spec:image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/victoriametrics/vmauthtag: v1.108.1pullPolicy: AlwaysselectAllByDefault: trueuserNamespaceSelector: {}userSelector: {}

部署

kubectl apply -f vmauth.yaml

查看

kubectl get svc -n vmtrics-monitor | grep vmauth-demo

转发

kubectl port-forward svc/vmauth-demo 8427:8427 -n vmtrics-monitor

vmauth-service.yaml

apiVersion: v1
kind: Service
metadata:name: vmauth-demo-nodeportnamespace: vm
spec:ports:- name: httpport: 8427protocol: TCPtargetPort: 8427selector:app.kubernetes.io/component: monitoringapp.kubernetes.io/instance: demoapp.kubernetes.io/name: vmauthtype: NodePort

VMUser

创建vmuser.yaml

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMUser
metadata:name: demonamespace: vmtrics-monitor
spec:name: demousername: demogeneratePassword: truetargetRefs:# vmui + vmselect- crd:kind: VMCluster/vmselectname: demonamespace: vmtrics-monitortarget_path_suffix: "/select/0"paths:- "/vmui"- "/vmui/.*"- "/prometheus/api/v1/query"- "/prometheus/api/v1/query_range"- "/prometheus/api/v1/series"- "/prometheus/api/v1/status/.*"- "/prometheus/api/v1/label/"- "/prometheus/api/v1/label/[^/]+/values"

部署

kubectl apply -f vmauth.yaml 

查看是否部署成功

kubectl get secret -n vmtrics-monitor -l "app.kubernetes.io/instance=demo" -l "app.kubernetes.io/name=vmuser"

查看密码

kubectl get secret -n vm vmuser-demo -o jsonpath="{.data.password}" | base64 --decode

vmalert配置

vmalert

通过指定alertmanager url方式配置vmalert

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlert
metadata:name: example-hanamespace: vmonitor
spec:configReloaderImageTag: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jimmidyson/configmap-reload:v0.3.0image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/victoriametrics/vmalerttag: v1.110.0pullPolicy: AlwaysreplicaCount: 2evaluationInterval: "10s"selectAllByDefault: truedatasource:url: http://vmselect-demo.vmonitor.svc:8481/select/0/prometheusnotifiers:- url: http://vmalertmanager-example-vmalertmanager.vmonitor.default.svc:9093remoteWrite:url: http://vminsert-demo.vmonitor.svc:8480/insert/0/prometheusremoteRead:url: http://vmselect-demo.vmonitor.svc:8481/select/0/prometheus

通过服务发现alertmanager配置vmalert

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlert
metadata:name: vmalert-2namespace: vmonitor
spec:configReloaderImageTag: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jimmidyson/configmap-reload:v0.3.0image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/victoriametrics/vmalerttag: v1.110.0pullPolicy: AlwaysreplicaCount: 2datasource:url: http://vmselect-demo.vmonitor.svc:8481/select/0/prometheusnotifiers:- selector:namespaceSelector:matchNames:- vmonitorlabelSelector:matchLabels:isalertmanager: "true"evaluationInterval: "10s"ruleSelector: {}

配置alertmanager

默认配置文件配置alertmanager

apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlertmanager
metadata:name: example-vmalertmanagernamespace: vmonitorlabels:isalertmanager: "true"
spec:configReloaderImageTag: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jimmidyson/configmap-reload:v0.3.0image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/prom/alertmanagertag: v0.27.0pullPolicy: Always

指定alertmanager配置文件

alertmanager配置文件

apiVersion: v1
kind: Secret
metadata:name: vmalertmanager-example-alertmanagerlabels:app: vm-operator
type: Opaque
stringData:alertmanager.yaml: |global:resolve_timeout: 5mroute:group_by: ['job']group_wait: 30sgroup_interval: 5mrepeat_interval: 12hreceiver: 'webhook'receivers:- name: 'webhook'webhook_configs:- send_resolved: trueurl: 'http://alertmanagerwh:30500/'
apiVersion: operator.victoriametrics.com/v1beta1
kind: VMAlertmanager
metadata:name: example-vmalertmanagernamespace: vmonitorlabels:isalertmanager: "true"
spec:configReloaderImageTag: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/jimmidyson/configmap-reload:v0.3.0image:repository: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/prom/alertmanagertag: v0.27.0pullPolicy: AlwaysconfigSecret: vmalertmanager-configconfigSelector: {}configNamespaceSelector: {}

alertmanager服务

apiVersion: v1
kind: Service
metadata:name: vmalertmanager-demo-nodeportnamespace: vmonitor
spec:ports:- name: httpport: 9093protocol: TCPtargetPort: 9093selector:app.kubernetes.io/instance: example-vmalertmanagerapp.kubernetes.io/name: vmalertmanagertype: NodePort
参考:
https://docs.victoriametrics.com/operator/resources/vmalert/
https://docs.victoriametrics.com/operator/quick-start/
https://docs.victoriametrics.com/operator/resources/vmcluster/index.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/907343.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习安装配置vue

1.先将nodejs下载2.在我们的安装目录下,创建名为node_cache和node_global的两个文件夹 3.打开cmd窗口,执行如下命令,将npm的全局模块目录和缓存目录配置到刚才创建的那两个目录。 npm config set prefix “D:\soft2024.7.6\nodejs\node_global” npm config set cache “D:\…

K8s Ingress, 你这个老6

Ingress 这个老6,结合nodeport和ClusterIp两种服务类型,你在引流这一块玩的花啊。 入口一夫当关,对内如鱼得水。本文是有态度马甲的第185篇原创。 本文记录了k8s中核心对象Ingress的产生背景和实现机制。 我们都知道k8s Service是一种将Pods通过网络暴露出来的抽象,每个服务…

C# .NET core 中处理图像,SkiaSharp,ImageSharp,NetVips,Magick.net多维度对比

2025年有哪些图像处理库,我们可以在项目中使用哪些库?本文列出了最流行的现有库。 .NET Core图片处理库SkiaSharp(https://github.com/mono/SkiaSharp) Magick.net(https://github.com/dlemstra/Magick.NET) ImageSharp(https://github.com/SixLabors/ImageSharp) NetV…

20243317 实验二《Python程序设计》实验报告

课程:《Python程序设计》 班级: 2433 姓名: 邓雅文 学号:20243317 实验教师:王志强老师 实验日期:2025年3月26日 必修/选修: 公选课 一、实验内容 1、掌握python中函数定义与调用相关知识点 大致框架与C语言相同,同样有实参,形参,可能有返回值,形式如下: def 函数名…

MEBCY-v2

MERCY-v2 信息收集 查找目标主机ip ┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:84:b2:cc, IPv4: 192.168.158.143 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.158.1 00:50:56:c…

人群密度分析预警摄像机

人群密度分析预警摄像机是可以实时地统计出一个指定区域内的总人数。当所监视区域的人员数量达到设定的阀值时摄像机输出报警信号。可设置人数阈值和时间阈值。用于设置触发进入区域内的人数值,达到该设定的阈值则摄像机输出报警信号。人数阈值可以手动设置,系统默认值为5人,…

CloudFlare DNS实现根域名跳转WWW域名,301跳转

0. 目的 托管在CloudFlare上的域名,已配置好www.bktai.com,想在用户访问根域名https://bktai.com时,重定向到 https://www.bktai.com. 为什么是重定向而不是同时可以访问?搜索引擎会搜到重复的内容,且维护两套路径都能正常工作,会造成混乱。 1. 配置根域名 点击自己要设置…

day:32 jmeter及性能测试——介绍

一、性能测试介绍 1、什么叫做性能测试? (1)通过某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试 (2)指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试 2、性能测试的时间? 在功能测试完成后才能进行性能测试…

第六周第五天

所用时间:405分钟 代码量(行):689 博客量(篇):20 了解到的知识点: 1.VLAN的创建与划分 今天进行了计算机网络的实验一,在昨天下载的packet tracer上进行,实现了VLAN的创建与划分,进行跨交换机的相同vlan之间的计算机和不同vlan之间的计算机的通信实验2.树状结构查询…

独立按键控制LED数码管

前言 通过1个独立按键,控制LED数码管显示字符。 结合之前我的两篇文章独立按键控制LED流水灯方向 https://www.cnblogs.com/luckydoog/p/18796974数码管静态显示 https://www.cnblogs.com/luckydoog/p/18797690效果原理 提前在程序里存储共阴极数码管的编码表,能表示的字符范…

day:32 jmeter操作数据库——参数化

一、数据库通过用户参数设置变量 1、建一个查询的jdbs请求2、前置处理器中添加用户参数3、修改线程数4、查看结果二、txt文档实现参数化 1.编辑sql语句中导入变量${变量名}新建一个txt文档:data 命名导入txt文档运行以上内容是将sql语句写入到txt文档中引用 2. 将数据写入txt文…