Чтобы исправить проблему высокого потребления CPU, необходимо ограничить ресурсы по 2 CPU и 6 GB RAM на контейнер:
-
Остановите все контейнеры с названиями вида: graphite* и victoria-metrics* (например, graphite2 и victoria-metrics2):
systemctl stop onpremise-container-graphite1.servicesystemctl stop onpremise-container-victoria-metrics1.servic -
В docker-compose файлы для всех контейнеров вида graphite* и victoria-metrics* в:
- **/opt/mailOnPremise/dockerVolumes/graphite1/compose/main-compose.yaml**- **/opt/mailOnPremise/dockerVolumes/victoria-metrics1/compose/main-compose.yaml**Добавьте:
```yamldeploy:resources:limits:memory: 6144Mcpus: '2.0'```после```yamllogging:driver: none```
Пример:```yamlversion: '3.7'services:victoria-metrics1:container_name: victoria-metrics1image: 100.70.80.204:5000/mntonpremise/onpremise-docker/victoria-metrics:v1.76.1hostname: hypervisor1.qditdomainname: hypervisor1.qditnetwork_mode: hostrestart: "no"volumes:- type: bindsource: /opt/mailOnPremise/dockerVolumes/victoria-metrics1/conftarget: /etc/prometheus- type: bindsource: /opt/mailOnPremise/dockerVolumes/victoria-metrics1/datatarget: /prometheusenv_file:- /opt/mailOnPremise/dockerVolumes/victoria-metrics1/custom.envdns:- 172.20.4.129dns_search: qditlogging:driver: nonedeploy:resources:limits:memory: 6144Mcpus: '2.0'```
3. Запустите остановленные контейнеры:
```bashsystemctl start onpremise-mail.target```
4. Проверьте статусы контейнеров graphite1, victoria-metrics1 и подобных им:
```bashsystemctl status onpremise-container-graphite1.servicesystemctl status onpremise-container-victoria-metrics1.service```
-
В файле
/opt/mailOnPremise/dockerVolumes/victoria-metrics1/custom.envдобавьте опцию:export RETENTIONPERIOD=1d -
Перезапустите сервис:
systemctl restart onpremise-container-victoria-metrics1
В результате будет установлен интервал мерджа метрик в один день. Подробнее про retention policy: https://github.com/VictoriaMetrics/VictoriaMetrics?tab=readme-ov-file#retention.
Технический писатель: Груздев Никита