Ingest data in ClickHouse
Output Plugin: ClickHouse DB¶
This plugin sends data to Yandex ClickHouse DB.
Installation¶
To use the plugin, only Logagent must be installed.
sudo npm i -g @sematext/logagent
Configuration¶
Preparation for the example:
- Start ClickHouse DB
docker run -d --name clickhouse-server -p 8123:8123 -p 9000:9000 --ulimit nofile=262144:262144 yandex/clickhouse-server
- Login via ClickHouse client
docker run -it --rm --link clickhouse-server:clickhouse-server yandex/clickhouse-client --host clickhouse-server
- Run create table statemnt
CREATE TABLE logs( message String, severity String, "@timestamp" UInt64) ENGINE = Log;
- Create a configuration file for Logagent
# Global options options: includeOriginalLine: false # note you can use any input plugin here input: stdin: true output: clickhouse: module: output-clickhouse url: http://127.0.0.1 port: 8123 # Authentication Options # user: 'default' # password: '' # useGzip: true # Set Database Name # database: default debug: true table: default.logs # Fields must be in the same order as specified in CREATE TABLE fields: - 'severity' - 'message' - '@timestamp'
Stream log messages to Logagent and ClickHouse
cat test.log | logagent --config clickhouse.yaml