Тема
Конфигурация
LogSense использует один YAML-файл. Все пути разрешаются относительно каталога, в котором находится конфигурация.
Полный пример
yaml
server:
listen: 127.0.0.1:4173
read_timeout: 5s
sources:
- name: api
type: file
path: ./logs/api/*.jsonl
format: jsonl
fields:
environment: development
- name: worker
type: stdin
format: text
normalization:
timestamp_field: time
timestamp_format: rfc3339
level_field: level
message_field: message
index:
directory: ./.logsense/index
flush_interval: 2s
max_batch_size: 500
retention: 14d1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Сервер
server.listen определяет локальный адрес интерфейса. Безопасное значение по умолчанию — 127.0.0.1:4173.
WARNING
Не используйте 0.0.0.0 на рабочей станции без firewall и reverse proxy. Локальные журналы могут содержать пути, адреса и диагностические данные.
Источники
Файлы
Источник file поддерживает обычный путь и glob-маски. Коллектор хранит позицию чтения и продолжает с последней обработанной строки после перезапуска.
yaml
sources:
- name: nginx
type: file
path: /var/log/nginx/access.log
format: text
start_at: end1
2
3
4
5
6
2
3
4
5
6
Стандартный ввод
stdin удобен для локальной разработки:
bash
node server.js 2>&1 | logsense ingest --source dev-server1
Форматы
| Формат | Поведение |
|---|---|
jsonl | Каждая строка разбирается как JSON |
text | Строка сохраняется в поле message |
auto | Сначала JSONL, при ошибке — обычный текст |
Повреждённые строки не теряются: они получают parse_error: true и остаются доступны для поиска.
Нормализация
Нормализация связывает поля разных приложений с общей схемой:
yaml
normalization:
timestamp_field: "@timestamp"
level_field: severity
message_field: msg
rename:
app: service
requestId: trace_id1
2
3
4
5
6
7
2
3
4
5
6
7
Хранение
retention принимает значения в часах или днях: 12h, 7d, 30d. Очистка выполняется сегментами и не блокирует чтение.
Для локального запуска достаточно:
yaml
index:
retention: 7d
max_size: 512mb1
2
3
2
3
Переменные окружения
Значения вида ${NAME} подставляются при чтении конфигурации:
yaml
index:
directory: ${LOGSENSE_DATA_DIR}1
2
2
Передавайте ключи и пароли через переменные окружения. Не храните их в logsense.yml.