Hello!
I would like to run VictoriaMetrics like a service via systemd (I'm packaging victoriametrics in the fact), but i don't want to change systemd service file every time i want to change some options. I could use unit override but it doesn't look very convenient. So it would be nice to add an option which loads targeted configuration file in simple format, like ini or maybe yaml.
Hi @KawaiDesu,
I packaged VictoriaMetrics too, you can solve the problem by using the systemd EnvironmentFile option:
cat /lib/systemd/system/victoria-metrics.service
[Unit]
Description=Prometheus :: victoria-metrics
Requires=basic.target network.target
After=basic.target network.target
Documentation=https://github.com/VictoriaMetrics/VictoriaMetrics
[Service]
User=nobody
Group=nogroup
EnvironmentFile=/etc/default/victoria-metrics-prod
ExecStart=/usr/bin/victoria-metrics-prod $ARGS
ExecStop=/bin/kill -s SIGTERM $MAINPID
[Install]
WantedBy=default.target
cat /etc/default/victoria-metrics-prod
ARGS=-retentionPeriod=24 -storageDataPath /var/lib/victoria-metrics/data
Just edit the options in /etc/default/victoria-metrics-prod and restart the service.
I would like to run VictoriaMetrics like a service via systemd (I'm packaging victoriametrics in the fact)
There are package scripts for deb and rpm inside package folder. These scripts are called from Makefile build rules defined in app/victoria-metrics/Makefile. Probably, you could base your packaging scripts on the code inside package folder.
i don't want to change systemd service file every time i want to change some options. I could use unit override but it doesn't look very convenient. So it would be nice to add an option which loads targeted configuration file in simple format, like ini or maybe yaml.
Agreed. Will think about the implementation for this feature. Something like accepting -configFile arg with path to ini file where command-line flags may be set.
@oOHenry , thanks for the solution! I'm unfamiliar with systemd and packaging for various Linux distros, so your insights are very valuable. Could you inspect the pacakge folder contents and help maintaining it together with the original authors of this folder @patsevanton and @kmansoft ?
@KawaiDesu , just a reference on how to use EnvironmentFile option for loading command-line args - https://coreos.com/os/docs/latest/using-environment-variables-in-systemd-units.html#environmentfile-directive .
Why not implement a config file like /etc/victoria-metrics.conf?
Also it makes admin tasks a lot easier if you also support config file snippets in a directory like /etc/victoria-metrics.d which take priority over the .conf file.
This way the packages can include the .conf with a "standard" configuration - and users can override what they want / need using the .d directory. Upgrades then will overwrite the .conf because it won't be modified but the .d files if any will persist.
@valyala where store config file?
/etc/default/victoria-metrics-prod or /etc/default/victoria-metrics.conf or /etc/victoria-metrics.conf?
@valyala where store config file?
/etc/victoria-metrics.conf looks fine to me
Personally, I wouldn't recommend to use /etc/.
Archwiki states the following:
/etc | System-essential configuration files
/etc/{pkg} | Configuration files for {pkg}
https://wiki.archlinux.org/index.php/Arch_package_guidelines#Directories
FHS 3.0 statement about /etc/ is close to Archs one, but more general:
The /etc hierarchy contains configuration files. A "configuration file" is a local file used to control the operation of a program; it must be static and cannot be an executable binary. [2]
It is recommended that files be stored in subdirectories of /etc rather than directly in /etc.
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s07.html
So, please, use /etc/victoriametrics/victoriametrics.conf or /etc/victoria-metrics/victoria-metrics.conf. Use one that matches package name with or without hypen. I use without because of repository name.
@oOHenry thanks for suggestion with EnvironmentFile. This is nice workaround while cli option is not yet implemented.
@valyala thanks for reference link.
@valyala /etc/victoria-metrics.conf or /etc/victoriametrics/victoriametrics.conf
@valyala A dedicated configuration file might be useful to hide the passwords displayed in the command line (for example with the option httpAuth.password).
FYI, VictoriaMetrics accepts config args via command-line flags starting from v1.34.0. See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/311 and these docs for details.
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ ΠΏΠΎ-ΡΡΡΡΠΊΠΈ ΠΎΠΏΠΈΡΡ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°ΠΉΠ»Ρ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² VM, ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ EnvironmentFile ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ systemd *.service ΡΠ°ΠΉΠ»ΠΎΠ². Π Ρ ΡΠ°ΠΊ Π΄Π΅Π»Π°Ρ - ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠΎΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ vmagent Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΆΠ΅.
Π£ Π½Π°Ρ ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ -rule Π΄Π»Ρ vmalert, -promscrape.config ΠΈ -remoteWrite.urlRelabelConfig Π΄Π»Ρ vmagent ΠΈ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅, Π²Π°ΠΆΠ½ΡΠ΅, ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
ΠΠ°, Ρ ΠΏΠΎΠΌΠ½Ρ Π²Π°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ - ΠΈΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ retention Π΄Π»Ρ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΠ³Π΅ΡΠΎΠ².
ΠΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° (https://github.com/VictoriaMetrics/VictoriaMetrics/issues/576), ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ -remoteWrite.* ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠ»ΡΡΠ΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Ρ ΡΡΠΈΡΠ°Ρ ΠΊΠΎΡΡΡΠ»ΡΠΌ-ΠΏΠΎΠ»ΡΠΌΠ΅ΡΠΎΠΉ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² -remoteWrite.*.
Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΈ ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΡΠ΅Ρ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² vm* Π²ΡΠ½Π΅ΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ --config=.
ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π°, ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ
Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌΠΈ, ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠΈΠ±ΠΎΠΊ.
Π Π΄Π°, Ρ ΠΎΠ΄Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄Π²ΡΡ -ΡΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π° Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΡΡΠ½ΠΈ. ΠΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΈ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΠΈ Π΄Π»Ρ ΡΠ΅Ρ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ .
Π£ ΠΌΠ΅Π½Ρ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΠ½ΡΠΈΠ³ vmagent ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 15 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅), ΠΊΠΎΠ½ΡΠΈΠ³ vmalert - ΠΈΠ· 6 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π½ΠΎΠ΄ - ΠΈΠ· 9 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΡΠΉ.
OPTIONS=" \
-httpListenAddr=127.0.0.1:8429 \
-loggerOutput=stdout \
-memory.allowedPercent=10 \
-promscrape.config.strictParse=1 \
-promscrape.config=/.../targets.yaml \
-promscrape.disableCompression=1 \
-remoteWrite.maxDiskUsagePerURL=10000000000 \
-remoteWrite.showURL=1 \
-remoteWrite.tmpDataPath=/.../vmagent \
-remoteWrite.url=http://127.0.0.1:8428/api/v1/write \
-remoteWrite.url=http://127.0.0.1:8427/api/v1/write \
-remoteWrite.url=http://127.0.0.1:8426/api/v1/write \
-remoteWrite.urlRelabelConfig=/.../filters/system.yaml \
-remoteWrite.urlRelabelConfig=/.../filters/etc.yaml \
-remoteWrite.urlRelabelConfig=/.../filters/testing.yaml \
"
Most helpful comment
ΠΠ·Π²ΠΈΠ½ΠΈΡΠ΅, Ρ ΠΏΠΎ-ΡΡΡΡΠΊΠΈ ΠΎΠΏΠΈΡΡ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°ΠΉΠ»Ρ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² VM, ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ EnvironmentFile ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ systemd *.service ΡΠ°ΠΉΠ»ΠΎΠ². Π Ρ ΡΠ°ΠΊ Π΄Π΅Π»Π°Ρ - ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΌΠΎΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ vmagent Π±ΡΠ΄Π΅Ρ Π½ΠΈΠΆΠ΅.
Π£ Π½Π°Ρ ΡΠΆΠ΅ ΡΠ΅ΠΉΡΠ°Ρ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ
-ruleΠ΄Π»Ρ vmalert,-promscrape.configΠΈ-remoteWrite.urlRelabelConfigΠ΄Π»Ρ vmagent ΠΈ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠ΅, Π²Π°ΠΆΠ½ΡΠ΅, ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Ρ Π½Π°Ρ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°.
ΠΠ°, Ρ ΠΏΠΎΠΌΠ½Ρ Π²Π°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ Π½Π΅ Π½ΡΠΆΠ½Ρ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ - ΠΈΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°ΡΡ retention Π΄Π»Ρ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ° ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΡΠ³Π΅ΡΠΎΠ².
ΠΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° (https://github.com/VictoriaMetrics/VictoriaMetrics/issues/576), ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
-remoteWrite.*ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΈ ΡΠ»ΠΎΠΆΠ½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΊΠ»ΡΡΠ΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠ°ΡΡΡΡ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ, Ρ ΡΡΠΈΡΠ°Ρ ΠΊΠΎΡΡΡΠ»ΡΠΌ-ΠΏΠΎΠ»ΡΠΌΠ΅ΡΠΎΠΉ Π΄Π΅Π»Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ ΡΠΎΠ»ΡΠΊΠΎ Π»ΠΈΡΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²-remoteWrite.*.Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΈ ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² vm* Π²ΡΠ½Π΅ΡΡΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ
--config=.ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π°, ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΌΠΈ, ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠΈΠ±ΠΎΠΊ.
Π Π΄Π°, Ρ ΠΎΠ΄Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π΄Π²ΡΡ -ΡΡΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π° Ρ ΠΊΠΎΠ³ΠΎ-ΡΠΎ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΡΡΡΠ½ΠΈ. ΠΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΈ Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌΠΈ ΠΈ Π΄Π»Ρ ΡΠ΅Ρ ΠΈ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ .
Π£ ΠΌΠ΅Π½Ρ, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠΌΠ°ΡΠ½Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΠ½ΡΠΈΠ³ vmagent ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· 15 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² (ΠΏΡΠΈΠΌΠ΅Ρ Π½ΠΈΠΆΠ΅), ΠΊΠΎΠ½ΡΠΈΠ³ vmalert - ΠΈΠ· 6 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΠ½ΡΠΈΠ³ΠΈ Π½ΠΎΠ΄ - ΠΈΠ· 9 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΡΠΉ.