# Integration of Manticore with Vector.dev

An example of how oen can use the Vector.dev agent together with Manticore

## Введение

[Vector by Datadog](https://vector.dev/) — это высокопроизводительный сквозной (агент и агрегатор) конвейер данных наблюдаемости, позволяющий собирать, преобразовывать и направлять все ваши журналы и метрики. Кроме того, он является открытым исходным кодом. Хотя он может выступать в роли агрегатора, часто более эффективно использовать Vector.dev совместно со специализированным хранилищем данных, таким как Manticore.

Посмотрим, как они могут работать вместе. Для этого мы используем пример индексации `dpkg.log`, стандартного файла журнала менеджера пакетов Debian. Сам журнал имеет простую структуру, как показано ниже:

``` ini
2023-05-31 10:42:55 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
2023-05-31 10:42:55 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
2023-05-31 10:42:55 status installed libc-bin:amd64 2.31-0ubuntu9.9
2023-05-31 10:42:55 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
```

## Конфигурация

Ниже приведён пример конфигурационного файла Vector.dev в формате toml:

``` ini
[sources.test_file]
type = "file"
include = [ "/var/log/dpkg.log" ]

[transforms.modify_test_file]
type = "remap"
inputs = [ "test_file" ]
source = """
.vec_timestamp = del(.timestamp)"""

[sinks.manticore]
type = "elasticsearch"
inputs = [ "modify_test_file" ]
endpoints = ["http://127.0.0.1:9308"]
bulk.index = "dpkg_log"
```

Обратите внимание, что в этом примере мы предполагаем, что Manticore использует свой стандартный HTTP‑порт 9308. Если вы используете пользовательский HTTP‑порт, вам следует соответствующим образом изменить конфигурацию Vector.dev. Также обратите внимание, что мы добавили раздел `transforms` в конфигурацию, чтобы переименовать поле `timestamp`, так как оно является зарезервированным словом в Manticore.

## Результаты

Теперь просто запустите Vector.dev с указанной выше конфигурацией, и данные из журнала dpkg будут переданы в Manticore и корректно проиндексированы.
Ниже представлена получившаяся схема созданной таблицы и пример вставленного документа:

``` sql
mysql> DESCRIBE dpkg_log;
+-----------------+---------+--------------------+
| Field           | Type    | Properties         |
+-----------------+---------+--------------------+
| id              | bigint  |                    |
| file            | text    | indexed stored     |
| host            | text    | indexed stored     |
| message         | text    | indexed stored     |
| source_type     | text    | indexed stored     |
| vec_timestamp   | text    | indexed stored     |
+-----------------+---------+--------------------+


mysql> SELECT * FROM testlog_3 LIMIT 3\G
*************************** 1. row ***************************
id: 7856533729353672195
file: /var/log/dpkg.log
host: logstash-787f68f6f-nhdd2
message: 2023-06-05 14:03:04 startup archives install
source_type: file
vec_timestamp: 2023-08-04T15:32:50.203091741Z
*************************** 2. row ***************************
id: 7856533729353672196
file: /var/log/dpkg.log
host: logstash-787f68f6f-nhdd2
message: 2023-06-05 14:03:04 install base-passwd:amd64 <none> 3.5.47
source_type: file
vec_timestamp: 2023-08-04T15:32:50.203808861Z
*************************** 3. row ***************************
id: 7856533729353672197
file: /var/log/dpkg.log
host: logstash-787f68f6f-nhdd2
message: 2023-06-05 14:03:04 status half-installed base-passwd:amd64 3.5.47
source_type: file
vec_timestamp: 2023-08-04T15:32:50.203814031Z
```

## Заключение

Таким образом, благодаря интеграции, описанной в этом руководстве, вы теперь можете легко и эффективно индексировать свои журналы, используя Manticore в сочетании с Vector от Datadog — высокопроизводительным сквозным конвейером данных наблюдаемости. Это взаимодействие между Vector.dev и Manticore не только предоставляет упрощённый подход к управлению журналами, но и расширяет возможности за счёт поддержки преобразований и маршрутизации. Независимо от того, работаете ли вы с простыми или сложными структурами журналов, данная интеграция предлагает надёжное решение, делая процесс сбора, преобразования и хранения данных более доступным и эффективным.
