You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Исправление: Лишние метрики считаются при добавлении новой метрики (#2)
* Обновлен Makefile
Добавлена задача генерации графа компонентов,
версия vector поднята до 0.43
* Удалены ненужные переменные в playbook
* Переделаны трансформы для разделения обработки фильтров
Трансформы подготовки логов вынесены в отдельный файл и их тесты тоже
* Makefile fix
* Добавлена иллюстрация графа трансформов "как было"
* Исправлена сборка тестов
* Добавлена схема исправленного графа обрботки метирк
* Сделана генерация для разных env
* Обновлен Readme
* Исправлена задача генерации файлов конфига vector
* Сделаны генерируемые тесты
* Сделана генерация тестов к метрикам из metrics-catalog.yml
* Json схема дополнена для разрешения описания testdata в metrics-catalog.yml
test-vector-transfrom: ## Run vector.dev test for a specifed test file
133
+
.PHONY: test-vector-transform
134
+
test-vector-transform: ## Run vector.dev test for a specified test file (no config generation included). Use var file=files/aggregator/tests/filename to provide a test file name
131
135
ifndeffile
132
-
@echo "To run use file=testfile make ..."
136
+
@echo "To run use file=files/aggregator/tests/testfile.toml.j2 make test-vector-transform"
137
+
@echo "It will include the specified file into check excluding other test files, except embedded in transforms files"
133
138
else
134
-
$(info $(M) Run a transform test with config $(VECTOR_CONFIG_DIR)...)
139
+
$(info $(M) Run a transform test with config $(VECTOR_CONF_NAME) at $(VECTOR_CONFIG_DIR)...)
135
140
@echo Test file: $(file)
136
-
$(VECTOR_BINARY) test $(VECTOR_CONFIG_DIR)/*_sources_*.toml $(VECTOR_CONFIG_DIR)/*transforms_*.toml $(file)
141
+
$(eval PROCESSED_PATH=$(shell echo $(file) | sed 's/files\///' | sed 's/\.j2$$//' | tr '/' '_'))
Copy file name to clipboardExpand all lines: README.md
+8-3Lines changed: 8 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,11 @@
2
2
3
3
В данном каталоге лежат файлы описывающий подход, позволяющий генерировать метрики из логов без переписывания кода трансформов под каждый сервис.
4
4
5
+
**Внимание!**[Версия v1](https://github.com/vseinstrumentiru/vector.dev-metrics-to-logs-helper/tree/1.0.0) содержала [баг #1](/../../issues/1) который проявлялся, только если вы добавляли разные определения метрик (разные лейблы, разные фильтры). В текущей версии это исправлено (см. [новый граф обработки](docs/vector_topology-separate-metric-fileters.svg)).
6
+
5
7
1. Полагаемся на то, что все сервисы пишут логи в фиксированном формате JSON и имеют одинаковый набор обязательных полей. См. [example_logs]
6
8
2. Для кодогенерации использован Ansible и jinja2 шаблоны. Генерируем toml файлы конфигурации vector.dev и тесты к ним, где нужно.
7
-
3. Метрики определяются в файле [ansible-playbook/vars/metrics-catalog.yml], после этого запускаем генерацию через ansible. См пример в Makefile
9
+
3. Метрики определяются в файле [ansible-playbook/vars/metrics-catalog.<env>.yml], после этого запускаем генерацию через ansible. См пример в Makefile. По умолчанию генерируется для `env=testing`, чтобы генерировать для production запускать `VECTOR_ENV=production make <команда>`
8
10
4. Отдельной задачей конфигурации выгружаются на серверы с агрегаторами vector.dev, и для применения новой конфигурации выполняется перезапуск процесса vector
9
11
10
12
## Что нам дал рефакторинг
@@ -18,16 +20,19 @@
18
20
19
21
Данный код является ознакомительным и не представляет собой готовое решение, вы можете придумать свое на основе данных идей.
20
22
Потому мы не приводим полные конфигурации vector.dev, код развертывания и полный набор ansible файлов для playbook.
21
-
Однако вы можете сгенерировать по файлу [ansible-playbook/vars/metrics-catalog.yml] файлы конфигурации vector и посмотреть как они выглядят.
23
+
Однако вы можете сгенерировать по файлу [ansible-playbook/vars/metrics-catalog.<env>.yml] файлы конфигурации vector и посмотреть как они выглядят.
22
24
23
25
## Генерирование файлов конфигурации
24
26
25
27
1. Используйте Ubuntu Linux (или Debian)
26
28
2. Запустите `make install-dependencies` и `make install-dev-dependencies`
27
29
3. Запустите `make download-vector-bin` - установить файлы vector для валидации запуска тестов
28
-
4. Выполните сборку и тесты `make test-vector-transfroms`
30
+
3. Метрики определяются в файле [ansible-playbook/vars/metrics-catalog.<env>.yml], после этого запускаем генерацию через ansible. См пример в Makefile. По умолчанию генерируется для `env=testing`, чтобы генерировать для production запускать `VECTOR_ENV=production make <команда>`
31
+
4. Выполните сборку и тесты `VECTOR_ENV=<env> make test-vector-transforms`, если не указать VECTOR_ENV, то используется `VECTOR_ENV=testing`
29
32
5. Созданные файлы смотрите в каталоге [.generated/vector_config]
30
33
31
34
## Контакты
32
35
33
36
Если вам интересны подробности вы можете писать нам, см. сайт https://vitech.team/ ("По вопросам сотрудничества") или приходите работать к нам.
0 commit comments