1 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| docker exec -it clickhouse clickhouse-client --user nginx --password 1qaz@WSX ch_accesslog :) CREATE DATABASE IF NOT EXISTS nginxlogs ENGINE=Atomic;
CREATE TABLE nginxlogs.nginx_access ( `timestamp` DateTime64(3, 'Asia/Shanghai'), `server_ip` String, `domain` String, `request_method` String, `status` Int32, `top_path` String, `path` String, `query` String, `protocol` String, `referer` String, `upstreamhost` String, `responsetime` Float32, `upstreamtime` Float32, `duration` Float32, `request_length` Int32, `response_length` Int32, `client_ip` String, `client_latitude` Float32, `client_longitude` Float32, `remote_user` String, `remote_ip` String, `xff` String, `client_city` String, `client_region` String, `client_country` String, `http_user_agent` String, `client_browser_family` String, `client_browser_major` String, `client_os_family` String, `client_os_major` String, `client_device_brand` String, `client_device_model` String, `createdtime` DateTime64(3, 'Asia/Shanghai') ) ENGINE = MergeTree PARTITION BY toYYYYMMDD(timestamp) PRIMARY KEY (timestamp, server_ip, status, top_path, domain, upstreamhost, client_ip, remote_user, request_method, protocol, responsetime, upstreamtime, duration, request_length, response_length, path, referer, client_city, client_region, client_country, client_browser_family, client_browser_major, client_os_family, client_os_major, client_device_brand, client_device_model ) TTL toDateTime(timestamp) + toIntervalDay(30) SETTINGS index_granularity = 8192;
|