This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
сервис_victoriametrics [2025/03/28 12:47] val [Метрики] |
сервис_victoriametrics [2026/05/18 20:11] (current) val |
||
|---|---|---|---|
| Line 4: | Line 4: | ||
| * [[https://docs.victoriametrics.com/sd_configs/|vmagent and single-node VictoriaMetrics supports the following Prometheus-compatible service discovery]] | * [[https://docs.victoriametrics.com/sd_configs/|vmagent and single-node VictoriaMetrics supports the following Prometheus-compatible service discovery]] | ||
| - | |||
| * [[https://docs.victoriametrics.com/guides/k8s-monitoring-via-vm-cluster/|Kubernetes monitoring with VictoriaMetrics Cluster]] | * [[https://docs.victoriametrics.com/guides/k8s-monitoring-via-vm-cluster/|Kubernetes monitoring with VictoriaMetrics Cluster]] | ||
| - | |||
| * [[https://docs.victoriametrics.com/guides/k8s-monitoring-via-vm-single/|Kubernetes monitoring via VictoriaMetrics Single]] | * [[https://docs.victoriametrics.com/guides/k8s-monitoring-via-vm-single/|Kubernetes monitoring via VictoriaMetrics Single]] | ||
| - | |||
| * [[https://docs.victoriametrics.com/scrape_config_examples/]] | * [[https://docs.victoriametrics.com/scrape_config_examples/]] | ||
| + | |||
| + | * [[https://github.com/VictoriaMetrics/helm-charts/tags]] | ||
| * [[Система Kubernetes#kube-state-metrics]] | * [[Система Kubernetes#kube-state-metrics]] | ||
| <code> | <code> | ||
| (venv1) server# ansible all -f 4 -m apt -a 'pkg=prometheus-node-exporter state=present update_cache=true' -i /root/kubespray/inventory/mycluster/hosts.yaml | (venv1) server# ansible all -f 4 -m apt -a 'pkg=prometheus-node-exporter state=present update_cache=true' -i /root/kubespray/inventory/mycluster/hosts.yaml | ||
| + | |||
| + | root@9f823e41e1c4:/kubespray# ansible all -f 4 -m apt -a 'pkg=prometheus-node-exporter state=present update_cache=true' -i /inventory/inventory.ini | ||
| kube1# helm repo add vm https://victoriametrics.github.io/helm-charts/ | kube1# helm repo add vm https://victoriametrics.github.io/helm-charts/ | ||
| kube1# helm repo update | kube1# helm repo update | ||
| + | kube1# helm search repo vm | ||
| - | kube1:~/vm# cat guide-vmsingle-values.yaml | + | kube1:~/vm# helm show values vm/victoria-metrics-single --version 0.35.0 > vmsingle-values.yaml |
| + | |||
| + | kube1:~/vm# cat vmsingle-values.yaml | ||
| </code><code> | </code><code> | ||
| ... | ... | ||
| + | scrape: | ||
| + | enabled: true | ||
| + | ... | ||
| + | # End of COPY | ||
| - job_name: kube-state-metrics | - job_name: kube-state-metrics | ||
| kubernetes_sd_configs: | kubernetes_sd_configs: | ||
| Line 39: | Line 47: | ||
| - kube3.corpX.un:9100 | - kube3.corpX.un:9100 | ||
| </code><code> | </code><code> | ||
| - | kube1:~/vm# helm upgrade -i vmsingle vm/victoria-metrics-single -f guide-vmsingle-values.yaml -n vm --create-namespace | + | kube1:~/vm# helm upgrade -i vmsingle vm/victoria-metrics-single -f vmsingle-values.yaml -n vm --create-namespace --version 0.35.0 |
| - | + | ||
| - | kube1:~/vm# kubectl scale --replicas 1 statefulset vmsingle-victoria-metrics-single-server -n vm | + | |
| cmder> kubectl port-forward svc/vmsingle-victoria-metrics-single-server 8428 -n vm | cmder> kubectl port-forward svc/vmsingle-victoria-metrics-single-server 8428 -n vm | ||
| Line 55: | Line 61: | ||
| (venv1) server# ansible-playbook /root/conf/ansible/roles/mail.yml | (venv1) server# ansible-playbook /root/conf/ansible/roles/mail.yml | ||
| - | kube1:~/vm# helm show values vm/victoria-metrics-alert > vm-alert-values.yaml | + | kube1:~/vm# helm show values vm/victoria-metrics-alert --version 0.37.0 > vm-alert-values.yaml |
| + | |||
| + | $ wget -qO - https://raw.githubusercontent.com/samber/awesome-prometheus-alerts/master/dist/rules/host-and-hardware/node-exporter.yml | sed 's/^/ /' | ||
| + | |||
| + | $ wget -qO - https://raw.githubusercontent.com/samber/awesome-prometheus-alerts/master/dist/rules/kubernetes/kubestate-exporter.yml | sed 's/^/ /' | ||
| kube1:~/vm# cat vm-alert-values.yaml | kube1:~/vm# cat vm-alert-values.yaml | ||
| Line 66: | Line 76: | ||
| # url: "http://vmsingle-victoria-metrics-single-server.vm.svc.cluster.local:8428" | # url: "http://vmsingle-victoria-metrics-single-server.vm.svc.cluster.local:8428" | ||
| # url: "http://vmcluster-victoria-metrics-cluster-vmselect.vm.svc.cluster.local:8481/select/0/prometheus/" | # url: "http://vmcluster-victoria-metrics-cluster-vmselect.vm.svc.cluster.local:8481/select/0/prometheus/" | ||
| - | ... | ||
| - | notifier: | ||
| - | alertmanager: | ||
| - | url: "http://alertmanager:9093" | ||
| ... | ... | ||
| config: | config: | ||
| Line 75: | Line 81: | ||
| # groups: [] | # groups: [] | ||
| groups: | groups: | ||
| - | - name: node_exporter_alerts | + | - name: NodeExporter |
| + | ... | ||
| + | - alert: HostFilesystemDeviceError | ||
| + | expr: 'node_filesystem_device_error{fstype!~"^(fuse.*|tmpfs|cifs|nfs)", mountpoint!~".*/kubelet.*"} == 1' | ||
| ... | ... | ||
| - | - name: vm_k8s_alerts | + | - name: KubestateExporter |
| - | rules: | + | |
| - | - alert: CriticalCPU | + | |
| - | expr: sum by (kubernetes_io_hostname) (rate (container_cpu_usage_seconds_total[1m])) / sum (machine_cpu_cores) * 100 > 40 | + | |
| - | for: 1m | + | |
| - | labels: | + | |
| - | severity: "critical" | + | |
| - | annotations: | + | |
| - | summary: "CriticalCPU {{ $labels.instance }}" | + | |
| - | + | ||
| - | - alert: CriticalFS | + | |
| - | expr: container_fs_usage_bytes{device=~"^/dev/[sv]d[a-z][1-9]$"} / container_fs_limit_bytes * 100 > 80 | + | |
| - | for: 1m | + | |
| - | labels: | + | |
| - | severity: "critical" | + | |
| - | annotations: | + | |
| - | summary: "CriticalFS {{ $labels.instance }}" | + | |
| - | + | ||
| - | - alert: CriticalMEM | + | |
| - | expr: sum by (kubernetes_io_hostname) (container_memory_working_set_bytes) / sum (machine_memory_bytes) * 100 > 80 | + | |
| - | for: 1m | + | |
| - | labels: | + | |
| - | severity: "critical" | + | |
| - | annotations: | + | |
| - | summary: "CriticalMEM {{ $labels.instance }}" | + | |
| ... | ... | ||
| alertmanager: | alertmanager: | ||
| Line 127: | Line 111: | ||
| ... | ... | ||
| </code><code> | </code><code> | ||
| - | kube1:~/vm# helm upgrade -i vma vm/victoria-metrics-alert -f vm-alert-values.yaml -n vm | + | kube1:~/vm# helm upgrade -i vma vm/victoria-metrics-alert -f vm-alert-values.yaml -n vm --version 0.37.0 |
| kube1:~/vm# kubectl -n vm exec -ti pods/vma-victoria-metrics-alert-server-<TAB> -- sh | kube1:~/vm# kubectl -n vm exec -ti pods/vma-victoria-metrics-alert-server-<TAB> -- sh | ||
| </code><code> | </code><code> | ||
| + | / # ps|cat | ||
| + | ... | ||
| + | 1 root 0:00 /vmalert-prod --datasource.url=http://vmsingle-victoria-metrics-single-server:8428 --envflag.enable --envflag.prefix=VM_ --httpListenAddr=:8880 --loggerFormat=json --notifier.url=http://vma-victoria-metrics-alert-alertmanager.vm.svc.cluster.local.:9093 --rule=/config/alert-rules.yaml | ||
| + | ... | ||
| / # cat /config/alert-rules.yaml | / # cat /config/alert-rules.yaml | ||
| ... | ... | ||
| Line 144: | Line 132: | ||
| </code> | </code> | ||
| - | * Используем [[Система Kubernetes#Базовые объекты k8s]] для стресс тестирования из [[Основы администрирования систем Linux#Модуль 11. Анализ производительности и оптимизация системы]] | + | * Используем [[Система Kubernetes#Базовые объекты k8s]] для стресс тестирования из [[Анализ производительности системы]] |
| * [[Команда dd]] для нехватки места на диске | * [[Команда dd]] для нехватки места на диске | ||
| Line 153: | Line 141: | ||
| <code> | <code> | ||
| - | kube1:~/vm# helm show values vm/victoria-logs-single > vls-values.yaml | + | kube1:~/vm# helm show values vm/victoria-logs-single --version 0.12.0 > vls-values.yaml |
| kube1:~/vm# cat vls-values.yaml | kube1:~/vm# cat vls-values.yaml | ||
| Line 163: | Line 151: | ||
| ... | ... | ||
| </code><code> | </code><code> | ||
| - | kube1:~/vm# helm upgrade -i vls oci://ghcr.io/victoriametrics/helm-charts/victoria-logs-single -f vls-values.yaml -n vm | + | kube1:~/vm# helm upgrade -i vls vm/victoria-logs-single -f vls-values.yaml -n vm --version 0.12.0 |
| cmder$ kubectl port-forward svc/vls-victoria-logs-single-server 9428 -n vm | cmder$ kubectl port-forward svc/vls-victoria-logs-single-server 9428 -n vm | ||
| Line 182: | Line 170: | ||
| Builder-> Filter: kubernetes.pod_name = my-debian | Builder-> Filter: kubernetes.pod_name = my-debian | ||
| + | </code> | ||
| + | |||
| + | ====== Черновик ====== | ||
| + | |||
| + | <code> | ||
| + | - alert: CriticalCPU | ||
| + | expr: sum by (kubernetes_io_hostname) (rate (container_cpu_usage_seconds_total[1m])) / sum (machine_cpu_cores) * 100 > 40 | ||
| + | for: 1m | ||
| + | labels: | ||
| + | severity: "critical" | ||
| + | annotations: | ||
| + | summary: "CriticalCPU {{ $labels.instance }}" | ||
| + | |||
| + | - alert: CriticalFS | ||
| + | expr: container_fs_usage_bytes{device=~"^/dev/[sv]d[a-z][1-9]$"} / container_fs_limit_bytes * 100 > 80 | ||
| + | for: 1m | ||
| + | labels: | ||
| + | severity: "critical" | ||
| + | annotations: | ||
| + | summary: "CriticalFS {{ $labels.instance }}" | ||
| + | |||
| + | - alert: CriticalMEM | ||
| + | expr: sum by (kubernetes_io_hostname) (container_memory_working_set_bytes) / sum (machine_memory_bytes) * 100 > 80 | ||
| + | for: 1m | ||
| + | labels: | ||
| + | severity: "critical" | ||
| + | annotations: | ||
| + | summary: "CriticalMEM {{ $labels.instance }}" | ||
| </code> | </code> | ||