Проброс событий в ClickHouse с использованием Vector
От устройства снаружи ИС на фронтальные балансировщики приходят сообщения в локейшн
/<device_location>/status
Файл журнала
/var/log/<device_access_log_file_path>.status.access.log
разбирается с помощью vector, пересылающий события на внутренний балансировщик. Между фронтальными и внутренними балансировщиками есть сетевая связность по порту TCP
<port>
Конфиг vector на фронтальных балансировщиках: Показать
sources: device-status: type: "file" max_line_bytes: 1638400 include: - /var/log/<device_access_log_file_path>.status.access.log transforms: device-status_filter: type: "filter" inputs: - device-status condition: .message != "" device-status_transform: type: "remap" inputs: - device-status_filter source: | .message = parse_jsonI(.message) .message.traffic_source = .host . = .message sinks: sink_clickhouse: type: "clickhouse" inputs: - device-status_transform endpoint: "http://<inner_BGP_IP>:<port>" format: "json_as_string" healthcheck: enabled: false auth: strategy: "basic" user: "<clickhouse_DB_user>" password: "<clickhouse_DB_password>" database: "<clickhouse_DB>" table: "<clickhouse_table>"
Конфиг внутреннего балансировщика, пробрасывающего события в clickhouse: Показать
stream { include /etc/<path_to_balancer_config>/log-format-s.conf; upstream clickhouse8123 { server <clickhouse_BGP_IP>:8123; server <clickhouse_node1_IP>:8123 backup; server <clickhouse_node2_IP>:8123 backup; } server { listen <port>; proxy_pass clickhouse8123; access_log /var/log/<access_log_file_path> main_json_mini_s; error_log /var/log/<error_log_file_path>; } }
Команды clickhouse для создания БД, таблиц и представлений: Показать
# Создание БД CREATE DATABASE vector ON CLUSTER <cluster_name>; DROP TABLE IF EXISTS vector.device_status_logs ON CLUSTER <cluster_name>; # Создание таблицы CREATE TABLE vector.device_status_logs ON CLUSTER <cluster_name> ( 'message' String ) ENGINE = ReplicatedReplacingMergeTree('/сlickhouse/{cluster}/tables/validator_status_logs','{replica}') ORDER BY tuple(); DROP VIEW IF EXISTS vector.device_status_logs_view ON CLUSTER <cluster_name>; # Создание представления CREATE MATERIALIZED VIEW vector.device_status_logs_view ON CLUSTER <cluster_name> ( 'time_stamp' DateTime, 'req' String, 'req_body' String ) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/{cluster}/tables/device_status_logs_view','{replica}') ORDER BY time_stamp SETTINGS index_granularity = 8192 AS SELECT parseDateTimeBestEffortOrNull(JSONExtractString(message, 'timestamp')) AS time_stamp, simpleJSONExtractRaw(message, 'req') AS req, simpleJSONExtractRaw(message, 'req_body') AS req_body FROM ( SELECT message FROM vector.device_status_logs );

Хаки и трюки
Виртуалки
Сисьадминство
BASH-скрипты
Парусные суда
Праздники
Моё чтиво
Игра KSP
arcOS 22.1.2 (Crater Lake)
Linux Mint. ОСь разработана для запуска с USB-накопителя, чтобы обеспечить переносимость между машинами и упростить обновления и повторное создание образов. Это также позволяет пользователям загружать дистр по желанию, оставляя свою обычную ОСь нетронутой на внутреннем диске. Установка на жёсткий диск пока не поддерживается (загружается с USB-устройства, возможно записать образ на внутренний носитель и загружаться с него). Автор — радиолюбитель
Cinnamon. Размер файла ISO-образа — 4,2 Гб.
arcOS
Поднятие уровня в одиночку — Чугонг (추공)
Securonis Linux 3.0 (Darkcloux)
Дебиана (тестовая ветка), предварительно настроен для отправки всего трафика только через сеть Tor (опционально поддерживается I2P) и включает подборку изменений настроек и компонентов для повышения безопасности. Возможна установка дистрибутива для повседневной работы или загрузка в Live-режиме. Автор — некий
MATE (ранее также
GNOME). Размер файла образа винта после установки составил 10,4 гига.
Securonis
tuXmas 2006
кубунты, созданный
KDE. После установки размер файла образа винта составил 2,8 гигабайта.
tuXmas
Третья мировая война (сборник) — Алексеев О. А.
Gnome OS Nightly 851764
GnomeOS
Nyarch Linux 25.04.1
Арча.
Nyarch
Злые звёзды — Марченко Р. А.
Besgnulinux 02-08_0
Openbox,
JWM (есть версия с
KDE Plasma). После установки размер файла образа винта составил 11,1 гигабайта.
Besgnulinux