VLAN_REGION='moscow' #VLAN_REGION='kirov'
30. vmagent. Добавление глобальных меток к собираемым метрикам
1. Задание будущих значений глобальным меткам
1.1. Географический регион vlan’а
Эта метка позволит фильтровать ресурсы по местоположению.
-
Вручную задайте регион расположения VLAN’а:
1.2. Числовой номер vlan’а
Есть вероятность, что в hostname vmagent’а может не быть номера vlan, поэтому сможем получить номер vlan’а из этой переменной.
-
В следующем скрипте происходит вычленение номера VLAN из имени текущей машины, иначе задайте номер вручную:
# Убираем всё до "ctl" part1="${HOSTNAME#*ctl}" # Убираем всё после числа (включая "p" и дальше) number="${part1%%p*}" VLAN_NUM=${number} #VLAN_NUM='0617'
1.3. Окружение по умолчанию для vlan’а
Предполагается, что в одном vlan все машины предназначены для одного окружения, например продуктового. То есть эта метка позволит фильтровать метрики по признаку окружения.
-
Вручную задайте переменную VLAN_ENV, где укажите преимущественное окружение для этой VLAN. Если на уровне target будет использована одноимённая метка, но с другим значение, то это новое значение будет присвоено соответствующим метрикам этого target.
VLAN_ENV='prod' #VLAN_ENV='dev' #VLAN_ENV='test'
2. Добавление глобальных лейблов 'scraper_*' к собираемым метрикам
vmagent. Добавление глобальных меток ко всем метрикам, собираемым с помощью скрейпинга. |
2.1. Добавление глобальных метрик в основной config-файла vmagent’а
-
Добавьте в "основной" конфиг-файл:
set -u; cat << EOF >> /etc/victoriametrics/vmagent.yml external_labels: scraper_hostname: %{SYSTEMD_HOSTNAME} scraper_region: "${VLAN_REGION}" scraper_vlan_num: "${VLAN_NUM}" scraper_vlan_env: "${VLAN_ENV}" EOF
Пример ожидаемого содержимого результативного файла. Заметьте, что значение переменной %SYSTEMD_HOSTNAME присваивается из перменной %H в systemd-юните.
scrape_config_files: - vmagent.d/*.yml global: scrape_interval: 15s external_labels: scraper_hostname: "%{SYSTEMD_HOSTNAME}" scraper_region: "moscow" scraper_vlan_num: "0617" scraper_vlan_env: "prod"