
, เจฒเฉเจ เจกเฉเจเจพ, เจฎเฉเจเฉเจฐเจฟเจเจธ เจ เจคเฉ เจเจตเฉเจเจเจพเจ เจจเฉเฉฐ เจเจเฉฑเจคเจฐ เจเจฐเจจ, เจฌเจฆเจฒเจฃ เจ เจคเฉ เจญเฉเจเจฃ เจฒเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
โ
เจเฉฐเจเจพเจฒ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจ เจฒเจฟเจเจฟเจ เจเจพ เจฐเจฟเจนเจพ เจนเฉ, เจเจน เจเจธเจฆเฉ เจเจจเจพเจฒเจพเจเจธ เจฆเฉ เจฎเฉเจเจพเจฌเจฒเฉ เจเฉฑเจ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจ เจคเฉ เจเฉฑเจ RAM เจฆเฉ เจเจชเจค เจฆเฉเจเจฐเจพ เจฆเจฐเจธเจพเจเจ เจเจฟเจ เจนเฉเฅค เจเจธ เจคเฉเจ เจเจฒเจพเจตเจพ, เจธเจผเฉเฉฑเจงเจคเจพ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจซเฉฐเจเจธเจผเจจเจพเจ 'เจคเฉ เจฌเจนเฉเจค เจงเจฟเจเจจ เจฆเจฟเฉฑเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจเจพเจธ เจคเฉเจฐ 'เจคเฉ, เจกเจฟเจธเจ เจฆเฉ เจฌเจซเจฐ เจ เจคเฉ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจเฉเฉฐเจฎเจพเจเจฃ เจฒเจ เจจเจพ เจญเฉเจเฉเจเจ เจเจเจจเจพเจตเจพเจ เจจเฉเฉฐ เจธเฉเจฐเฉฑเจเจฟเจ เจค เจเจฐเจจ เจฆเฉ เจฏเฉเจเจคเจพ.
เจเจฐเจเฉเจเฉเจเจเจฐเจฒ เจคเฉเจฐ 'เจคเฉ, เจตเฉเจเจเจฐ เจเฉฑเจ เจเจตเฉเจเจ เจฐเจพเจเจเจฐ เจนเฉ เจเฉ เจเฉฑเจ เจเจพเจ เจตเฉฑเจง เจคเฉเจ เจธเฉเจจเฉเจนเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจฆเจพ เจนเฉ เจธเจฐเฉเจค, เจตเจฟเจเจฒเจชเจฟเจ เจคเฉเจฐ 'เจคเฉ เจเจนเจจเจพเจ เจธเฉเจจเฉเจนเจฟเจเจ 'เจคเฉ เจฒเจพเจเฉ เจเจฐเจจเจพ เจคเจฌเจฆเฉเจฒเฉเจเจ, เจ เจคเฉ เจเจนเจจเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจเจพเจ เจเฉฑเจ เจคเฉเจ เจตเฉฑเจง เจจเฉเฉฐ เจญเฉเจเจฃเจพ เจจเจพเจฒเฉเจเจ.
เจตเฉเจเจเจฐ เจซเจพเจเจฒเจฌเฉเจ เจ เจคเฉ เจฒเฉเจเจธเจเฉเจธเจผ เจฆเจพ เจฌเจฆเจฒ เจนเฉ, เจเจน เจฆเฉเจตเฉเจ เจญเฉเจฎเจฟเจเจพเจตเจพเจ (เจฒเจพเจ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเจพ เจ เจคเฉ เจญเฉเจเจฃเจพ) เจตเจฟเฉฑเจ เจเฉฐเจฎ เจเจฐ เจธเจเจฆเจพ เจนเฉ, เจเจนเจจเจพเจ เจฌเจพเจฐเฉ เจนเฉเจฐ เจตเฉเจฐเจตเฉ .
เจเฉเจเจฐ เจฒเฉเจเจธเจเฉเจธเจผ เจตเจฟเฉฑเจ เจเฉเจจ เจจเฉเฉฐ เจเจจเจชเฉเจ โ เจซเจฟเจฒเจเจฐ โ เจเจเจเจชเฉเฉฑเจ เจฆเฉ เจคเฉเจฐ เจคเฉ เจฌเจฃเจพเจเจ เจเจฟเจ เจนเฉ เจคเจพเจ เจตเฉเจเจเจฐ เจตเจฟเฉฑเจ เจเจน เจนเฉ โ โ
เจเจฆเจพเจนเจฐเจจเจพเจ เจฆเจธเจคเจพเจตเฉเจเจผเจพเจ เจตเจฟเฉฑเจ เจฎเจฟเจฒ เจธเจเจฆเฉเจเจ เจนเจจเฅค
เจเจน เจนเจฆเจพเจเจค เจคเฉเจ เจเฉฑเจ เจธเฉเจงเจฟเจ เจนเฉเจเจ เจจเจฟเจฐเจฆเฉเจธเจผ เจนเฉ . เจฎเฉเจฒ เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ เจตเจฟเฉฑเจ geoip เจชเฉเจฐเฉเจธเฉเจธเจฟเฉฐเจ เจธเจผเจพเจฎเจฒ เจนเฉเฅค เจเฉฑเจ เจ เฉฐเจฆเจฐเฉเจจเฉ เจจเฉเฉฑเจเจตเจฐเจ เจคเฉเจ geoip เจฆเฉ เจเจพเจเจ เจเจฐเจฆเฉ เจธเจฎเฉเจ, เจตเฉเจเจเจฐ เจจเฉ เจเฉฑเจ เจเจฒเจคเฉ เจฆเจฟเฉฑเจคเฉเฅค
Aug 05 06:25:31.889 DEBUG transform{name=nginx_parse_rename_fields type=rename_fields}: vector::transforms::rename_fields: Field did not exist field=ยซgeoip.country_nameยป rate_limit_secs=30เจเฉ เจเจฟเจธเฉ เจจเฉเฉฐ เจเฉเจเจเจเจชเฉ เจฆเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจคเจพเจ เจฎเฉเจฒ เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ เจจเฉเฉฐ เจตเฉเจเฉ .
เจ เจธเฉเจ Nginx (เจเจเจธเฉเจธ เจฒเฉเจ) โ เจตเฉเจเจเจฐ (เจเจฒเจพเจเฉฐเจ | เจซเจพเจเจฒเจฌเฉเจ) โ เจตเฉเจเจเจฐ (เจธเจฐเจตเจฐ | เจฒเฉเจเจธเจเฉเจธเจผ) โ เจตเฉฑเจเจฐเฉ เจคเฉเจฐ 'เจคเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจ เจคเฉ เจตเฉฑเจเจฐเฉ เจคเฉเจฐ 'เจคเฉ Elasticsearch เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจพเจเจเฉเฅค เจ เจธเฉเจ 4 เจธเจฐเจตเจฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจพเจเจเฉเฅค เจนเจพเจฒเจพเจเจเจฟ เจคเฉเจธเฉเจ เจเจธ เจจเฉเฉฐ 3 เจธเจฐเจตเจฐเจพเจ เจจเจพเจฒ เจฌเจพเจเจชเจพเจธ เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค

เจธเจเฉเจฎ เจเฉเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจนเฉเฅค
เจเจชเจฃเฉ เจธเจพเจฐเฉ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจธเฉเจฒเจฟเจจเจเจธ เจจเฉเฉฐ เจ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
rebootเจ เจธเฉเจ เจธเจพเจฐเฉ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจเฉฑเจ HTTP เจธเจฐเจตเจฐ เจเจฎเฉเจฒเฉเจเจฐ + เจเจชเจฏเฉเจเจคเจพเจตเจพเจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจฆเฉ เจนเจพเจ
เจเฉฑเจ HTTP เจธเจฐเจตเจฐ เจเจฎเฉเจฒเฉเจเจฐ เจตเจเฉเจ เจ เจธเฉเจ เจตเจฐเจคเจพเจเจเฉ เจคเฉฑเจ
Nodejs-stub-server เจเฉเจฒ rpm เจจเจนเฉเจ เจนเฉเฅค เจเจธเจฆเฉ เจฒเจ rpm เจฌเจฃเจพเจเฅค rpm เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉฐเจชเจพเจเจฒ เจเฉเจคเจพ เจเจพเจตเฉเจเจพ
antonpatsev/nodejs-stub-server เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจธเจผเจพเจฎเจฒ เจเจฐเฉ
yum -y install yum-plugin-copr epel-release
yes | yum copr enable antonpatsev/nodejs-stub-serverเจธเจพเจฐเฉ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ nodejs-stub-server, Apache เจฌเฉเจเจเจฎเจพเจฐเจ เจ เจคเฉ เจธเจเฉเจฐเฉเจจ เจเจฐเจฎเฉเจจเจฒ เจฎเจฒเจเฉเจชเจฒเฉเจเจธเจฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเฉ
yum -y install stub_http_server screen mc httpd-tools screenเจฎเฉเจ /var/lib/stub_http_server/stub_http_server.js เจซเจพเจเจฒ เจตเจฟเฉฑเจ stub_http_server เจเจตเจพเจฌ เจธเจฎเจพเจ เจ เฉเจ เจเฉเจคเจพ เจนเฉ เจคเจพเจ เจเฉ เจนเฉเจฐ เจฒเฉเจเจธ เจนเฉเจฃเฅค
var max_sleep = 10;เจเจฒเฉ stub_http_server เจฒเจพเจเจ เจเจฐเฉเจเฅค
systemctl start stub_http_server
systemctl enable stub_http_serverเจธเจฐเจตเจฐ 3 'เจคเฉ
เจเจฒเจฟเจเจนเจพเจเจธ SSE 4.2 เจจเจฟเจฐเจฆเฉเจธเจผ เจธเฉเฉฑเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉ, เจเจธเจฒเจ เจเจฆเฉเจ เจคเฉฑเจ เจนเฉเจฐ เจจเจฟเจฐเจงเจพเจฐเจค เจจเจนเฉเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ, เจตเจฐเจคเฉ เจเจ เจชเฉเจฐเฉเจธเฉเจธเจฐ เจตเจฟเฉฑเจ เจเจธเจฆเจพ เจธเจฎเจฐเจฅเจจ เจเฉฑเจ เจตเจพเจงเฉ เจธเจฟเจธเจเจฎ เจฒเฉเฉ เจฌเจฃ เจเจพเจเจฆเจพ เจนเฉเฅค เจเจน เจเจพเจเจ เจเจฐเจจ เจฒเจ เจเจฎเจพเจเจก เจนเฉ เจเจฟ เจเฉ เจฎเฉเจเฉเจฆเจพ เจชเฉเจฐเฉเจธเฉเจธเจฐ SSE 4.2 เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉ:
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"เจชเจนเจฟเจฒเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจ เจงเจฟเจเจพเจฐเจค เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจจเจพเจฒ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
sudo yum install -y yum-utils
sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64เจชเฉเจเฉเจ เจเฉฐเจธเจเจพเจฒ เจเจฐเจจ เจฒเจ เจคเฉเจนเจพเจจเฉเฉฐ เจนเฉเจ เจฒเจฟเจเฉเจเจ เจเจฎเจพเจเจกเจพเจ เจเจฒเจพเจเจฃ เจฆเฉ เจฒเฉเฉ เจนเฉ:
sudo yum install -y clickhouse-server clickhouse-clientเจเจฒเจฟเฉฑเจเจนเจพเจเจธ-เจธเจฐเจตเจฐ เจจเฉเฉฐ เจซเจพเจเจฒ /etc/clickhouse-server/config.xml เจตเจฟเฉฑเจ เจจเฉเฉฑเจเจตเจฐเจ เจเจพเจฐเจก เจธเฉเจฃเจจ เจฆเฉ เจเจเจพเจเจผเจค เจฆเจฟเจ
<listen_host>0.0.0.0</listen_host>เจฒเฉเจเจฟเฉฐเจ เจชเฉฑเจงเจฐ เจจเฉเฉฐ เจเจฐเฉเจธ เจคเฉเจ เจกเฉเจฌเฉฑเจ เจคเฉฑเจ เจฌเจฆเจฒเจฃเจพ
เจกเฉเจฌเฉฑเจ
เจธเจเฉเจเจกเจฐเจก เจเฉฐเจชเจฐเฉเจธเจผเจจ เจธเฉเจเจฟเฉฐเจเจเจผ:
min_compress_block_size 65536
max_compress_block_size 1048576Zstd เจเฉฐเจชเจฐเฉเจธเจผเจจ เจจเฉเฉฐ เจธเจฐเจเจฐเจฎ เจเจฐเจจ เจฒเจ, เจเจธ เจจเฉเฉฐ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจจเจพ เจเฉเจนเจฃ เจฆเฉ เจธเจฒเจพเจน เจฆเจฟเฉฑเจคเฉ เจเจ เจธเฉ, เจธเจเฉเจ DDL เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจจ เจฆเฉ เจธเจฒเจพเจน เจฆเจฟเฉฑเจคเฉ เจเจ เจธเฉเฅค

เจฎเฉเจจเฉเฉฐ Google เจตเจฟเฉฑเจ DDL เจฐเจพเจนเฉเจ zstd เจเฉฐเจชเจฐเฉเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฟเจตเฉเจ เจเจฐเจจเฉ เจนเฉ เจเจน เจจเจนเฉเจ เจฒเฉฑเจญ เจธเจเจฟเจเฅค เจเจธ เจฒเจ เจฎเฉเจ เจเจธเจจเฉเฉฐ เจเจฟเจตเฉเจ เจนเฉ เจเฉฑเจก เจฆเจฟเฉฑเจคเจพ.
เจธเจนเจฟเจเจฐเจฎเฉ เจเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ zstd เจเฉฐเจชเจฐเฉเจธเจผเจจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเจจ, เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ เจจเฉเฉฐ เจธเจพเจเจเจพ เจเจฐเฉเฅค
เจธเจฐเจตเจฐ เจจเฉเฉฐ เจกเฉเจฎเจจ เจตเจเฉเจ เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ, เจเจฒเจพเจ:
service clickhouse-server startเจนเฉเจฃ เจเจ เจเจฒเจฟเจเจนเจพเจเจธ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจ เฉฑเจเฉ เจตเจงเฉเจ
เจเจฒเจฟเจเจนเจพเจเจธ 'เจคเฉ เจเจพเจ
clickhouse-client -h 172.26.10.109 -m172.26.10.109 โ เจธเจฐเจตเจฐ เจฆเจพ IP เจเจฟเฉฑเจฅเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจเฉฐเจธเจเจพเจฒ เจนเฉเฅค
เจเจฒเฉ เจเฉฑเจ เจตเฉเจเจเจฐ เจกเฉเจเจพเจฌเฉเจธ เจฌเจฃเจพเจเจ
CREATE DATABASE vector;เจเจฒเฉ เจเจพเจเจ เจเจฐเฉเจ เจเจฟ เจกเฉเจเจพเจฌเฉเจธ เจฎเฉเจเฉเจฆ เจนเฉเฅค
show databases;เจเฉฑเจ vector.logs เจเฉเจฌเจฒ เจฌเจฃเจพเจเฅค
/* ะญัะพ ัะฐะฑะปะธัะฐ ะณะดะต ั
ัะฐะฝัััั ะปะพะณะธ ะบะฐะบ ะตััั */
CREATE TABLE vector.logs
(
`node_name` String,
`timestamp` DateTime,
`server_name` String,
`user_id` String,
`request_full` String,
`request_user_agent` String,
`request_http_host` String,
`request_uri` String,
`request_scheme` String,
`request_method` String,
`request_length` UInt64,
`request_time` Float32,
`request_referrer` String,
`response_status` UInt16,
`response_body_bytes_sent` UInt64,
`response_content_type` String,
`remote_addr` IPv4,
`remote_port` UInt32,
`remote_user` String,
`upstream_addr` IPv4,
`upstream_port` UInt32,
`upstream_bytes_received` UInt64,
`upstream_bytes_sent` UInt64,
`upstream_cache_status` String,
`upstream_connect_time` Float32,
`upstream_header_time` Float32,
`upstream_response_length` UInt64,
`upstream_response_time` Float32,
`upstream_status` UInt16,
`upstream_content_type` String,
INDEX idx_http_host request_http_host TYPE set(0) GRANULARITY 1
)
ENGINE = MergeTree()
PARTITION BY toYYYYMMDD(timestamp)
ORDER BY timestamp
TTL timestamp + toIntervalMonth(1)
SETTINGS index_granularity = 8192;เจ
เจธเฉเจ เจเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ เจเจฟ เจเฉเจฌเจฒ เจฌเจฃเจพเจ เจเจ เจนเจจเฅค เจเจฒเฉ เจฒเจพเจเจ เจเจฐเฉเจ clickhouse-client เจ
เจคเฉ เจเฉฑเจ เจฌเฉเจจเจคเฉ เจเจฐเฉเฅค
เจเจฒเฉ เจตเฉเจเจเจฐ เจกเฉเจเจพเจฌเฉเจธ เจคเฉ เจเฉฑเจฒเฉเจเฅค
use vector;
Ok.
0 rows in set. Elapsed: 0.001 sec.เจเจ เจเฉเจฌเจฒเจพเจ เจจเฉเฉฐ เจตเฉเจเฉเจ.
show tables;
โโnameโโโโโโโโโโโโโโโโโ
โ logs โ
โโโโโโโโโโโโโโโโโโโโโโโเจเจฒเจฟเจเจนเจพเจเจธ เจจเจพเจฒ เจคเฉเจฒเจจเจพ เจเจฐเจจ เจฒเจ เจเจนเฉ เจกเฉเจเจพ Elasticsearch เจจเฉเฉฐ เจญเฉเจเจฃ เจฒเจ เจเฉเจฅเฉ เจธเจฐเจตเจฐ 'เจคเฉ elasticsearch เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจจเจพ
เจเฉฑเจ เจเจจเจคเจ rpm เจเฉเฉฐเจเฉ เจเฉเฉเฉ
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearchเจเจ 2 เจฐเฉเจชเฉ เจฌเจฃเจพเจเจ:
/etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md/etc/yum.repos.d/kibana.repo
[kibana-7.x]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-mdelasticsearch เจ เจคเฉ kibana เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ
yum install -y kibana elasticsearchเจเจฟเจเจเจเจฟ เจเจน 1 เจเจพเจชเฉ เจตเจฟเฉฑเจ เจนเฉเจตเฉเจเจพ, เจคเฉเจนเจพเจจเฉเฉฐ เจนเฉเจ เจฒเจฟเจเฉ เจจเฉเฉฐ /etc/elasticsearch/elasticsearch.yml เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจเฉเฉเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ:
discovery.type: single-nodeเจคเจพเจ เจเฉ เจตเฉเจเจเจฐ เจเจฟเจธเฉ เจนเฉเจฐ เจธเจฐเจตเจฐ เจคเฉเจ elasticsearch เจจเฉเฉฐ เจกเฉเจเจพ เจญเฉเจ เจธเจเฉ, เจเจ network.host เจจเฉเฉฐ เจฌเจฆเจฒเฉเจเฅค
network.host: 0.0.0.0เจเจฟเจฌเจพเจจเจพ เจจเจพเจฒ เจเฉเฉเจจ เจฒเจ, เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเจฐเจตเจฐ.เจนเฉเจธเจ เจชเฉเจฐเจพเจฎเฉเจเจฐ เจฌเจฆเจฒเฉ /etc/kibana/kibana.yml
server.host: "0.0.0.0"เจชเฉเจฐเจพเจฃเฉ เจ เจคเฉ เจเจเฉเจธเจเจพเจฐเจ เจตเจฟเฉฑเจ elasticsearch เจธเจผเจพเจฎเจฒ เจเจฐเฉ
systemctl enable elasticsearch
systemctl start elasticsearchเจ เจคเฉ เจเจฟเจฌเจพเจจเจพ
systemctl enable kibana
systemctl start kibanaเจธเจฟเฉฐเจเจฒ-เจจเฉเจก เจฎเฉเจก 1 เจธเจผเจพเจฐเจก, 0 เจชเฉเจฐเจคเฉเจเฉเจฐเจฟเจคเฉ เจฒเจ Elasticsearch เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเจฐเจจเจพเฅค เจเจผเจฟเจเจฆเจพเจคเจฐ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉ เจเจฟ เจคเฉเจนเจพเจกเฉ เจเฉเจฒ เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจธเจฐเจตเจฐเจพเจ เจฆเจพ เจเฉฑเจ เจเจฒเฉฑเจธเจเจฐ เจนเฉเจตเฉเจเจพ เจ เจคเฉ เจคเฉเจนเจพเจจเฉเฉฐ เจ เจเจฟเจนเจพ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจจเจนเฉเจ เจนเฉเฅค
เจญเจตเจฟเฉฑเจเฉ เจธเฉเจเจเจพเจเจ เจฒเจ, เจกเจฟเจซเฉเจฒเจ เจเฉเจฎเจชเจฒเฉเจ เจจเฉเฉฐ เจ เฉฑเจชเจกเฉเจ เจเจฐเฉ:
curl -X PUT http://localhost:9200/_template/default -H 'Content-Type: application/json' -d '{"index_patterns": ["*"],"order": -1,"settings": {"number_of_shards": "1","number_of_replicas": "0"}}' เจธเฉเจเจฟเฉฐเจ เจธเจฐเจตเจฐ 2 'เจคเฉ Logstash เจฆเฉ เจฌเจฆเจฒ เจตเจเฉเจ
yum install -y https://packages.timber.io/vector/0.9.X/vector-x86_64.rpm mc httpd-tools screenเจเจฒเฉ เจฒเฉเจเจธเจเฉเจธเจผ เจฆเฉ เจฌเจฆเจฒ เจตเจเฉเจ เจตเฉเจเจเจฐ เจจเฉเฉฐ เจธเฉเจ เจ เจช เจเจฐเฉเจเฅค เจซเจพเจเจฒ เจจเฉเฉฐ เจธเฉเจงเจฃเจพ /etc/vector/vector.toml
# /etc/vector/vector.toml
data_dir = "/var/lib/vector"
[sources.nginx_input_vector]
# General
type = "vector"
address = "0.0.0.0:9876"
shutdown_timeout_secs = 30
[transforms.nginx_parse_json]
inputs = [ "nginx_input_vector" ]
type = "json_parser"
[transforms.nginx_parse_add_defaults]
inputs = [ "nginx_parse_json" ]
type = "lua"
version = "2"
hooks.process = """
function (event, emit)
function split_first(s, delimiter)
result = {};
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
table.insert(result, match);
end
return result[1];
end
function split_last(s, delimiter)
result = {};
for match in (s..delimiter):gmatch("(.-)"..delimiter) do
table.insert(result, match);
end
return result[#result];
end
event.log.upstream_addr = split_first(split_last(event.log.upstream_addr, ', '), ':')
event.log.upstream_bytes_received = split_last(event.log.upstream_bytes_received, ', ')
event.log.upstream_bytes_sent = split_last(event.log.upstream_bytes_sent, ', ')
event.log.upstream_connect_time = split_last(event.log.upstream_connect_time, ', ')
event.log.upstream_header_time = split_last(event.log.upstream_header_time, ', ')
event.log.upstream_response_length = split_last(event.log.upstream_response_length, ', ')
event.log.upstream_response_time = split_last(event.log.upstream_response_time, ', ')
event.log.upstream_status = split_last(event.log.upstream_status, ', ')
if event.log.upstream_addr == "" then
event.log.upstream_addr = "127.0.0.1"
end
if (event.log.upstream_bytes_received == "-" or event.log.upstream_bytes_received == "") then
event.log.upstream_bytes_received = "0"
end
if (event.log.upstream_bytes_sent == "-" or event.log.upstream_bytes_sent == "") then
event.log.upstream_bytes_sent = "0"
end
if event.log.upstream_cache_status == "" then
event.log.upstream_cache_status = "DISABLED"
end
if (event.log.upstream_connect_time == "-" or event.log.upstream_connect_time == "") then
event.log.upstream_connect_time = "0"
end
if (event.log.upstream_header_time == "-" or event.log.upstream_header_time == "") then
event.log.upstream_header_time = "0"
end
if (event.log.upstream_response_length == "-" or event.log.upstream_response_length == "") then
event.log.upstream_response_length = "0"
end
if (event.log.upstream_response_time == "-" or event.log.upstream_response_time == "") then
event.log.upstream_response_time = "0"
end
if (event.log.upstream_status == "-" or event.log.upstream_status == "") then
event.log.upstream_status = "0"
end
emit(event)
end
"""
[transforms.nginx_parse_remove_fields]
inputs = [ "nginx_parse_add_defaults" ]
type = "remove_fields"
fields = ["data", "file", "host", "source_type"]
[transforms.nginx_parse_coercer]
type = "coercer"
inputs = ["nginx_parse_remove_fields"]
types.request_length = "int"
types.request_time = "float"
types.response_status = "int"
types.response_body_bytes_sent = "int"
types.remote_port = "int"
types.upstream_bytes_received = "int"
types.upstream_bytes_send = "int"
types.upstream_connect_time = "float"
types.upstream_header_time = "float"
types.upstream_response_length = "int"
types.upstream_response_time = "float"
types.upstream_status = "int"
types.timestamp = "timestamp"
[sinks.nginx_output_clickhouse]
inputs = ["nginx_parse_coercer"]
type = "clickhouse"
database = "vector"
healthcheck = true
host = "http://172.26.10.109:8123" # ะะดัะตั Clickhouse
table = "logs"
encoding.timestamp_format = "unix"
buffer.type = "disk"
buffer.max_size = 104900000
buffer.when_full = "block"
request.in_flight_limit = 20
[sinks.elasticsearch]
type = "elasticsearch"
inputs = ["nginx_parse_coercer"]
compression = "none"
healthcheck = true
# 172.26.10.116 - ัะตัะฒะตั ะณะดะต ัััะฐะฝะพะฒะตะฝ elasticsearch
host = "http://172.26.10.116:9200"
index = "vector-%Y-%m-%d"เจคเฉเจธเฉเจ transforms.nginx_parse_add_defaults เจญเจพเจ เจจเฉเฉฐ เจตเจฟเจตเจธเจฅเจฟเจค เจเจฐ เจธเจเจฆเฉ เจนเฉเฅค
เจฒเฉ เจเฉฑเจ เจเฉเจเฉ CDN เจฒเจ เจเจนเจจเจพเจ เจธเฉฐเจฐเจเจจเจพเจตเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ upstream_* เจตเจฟเฉฑเจ เจเจ เจฎเฉเฉฑเจฒ เจนเฉ เจธเจเจฆเฉ เจนเจจ
เจเจฆเจพเจนเจฐเจจ เจฒเจ:
"upstream_addr": "128.66.0.10:443, 128.66.0.11:443, 128.66.0.12:443"
"upstream_bytes_received": "-, -, 123"
"upstream_status": "502, 502, 200"เจเฉ เจเจน เจคเฉเจนเจพเจกเฉ เจธเจฅเจฟเจคเฉ เจจเจนเฉเจ เจนเฉ, เจคเจพเจ เจเจธ เจญเจพเจ เจจเฉเฉฐ เจธเจฐเจฒ เจฌเจฃเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ
เจเจฒเฉ systemd /etc/systemd/system/vector.service เจฒเจ เจธเฉเจตเจพ เจธเฉเจเจฟเฉฐเจเจพเจ เจฌเจฃเจพเจเจ
# /etc/systemd/system/vector.service
[Unit]
Description=Vector
After=network-online.target
Requires=network-online.target
[Service]
User=vector
Group=vector
ExecStart=/usr/bin/vector
ExecReload=/bin/kill -HUP $MAINPID
Restart=no
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=vector
[Install]
WantedBy=multi-user.targetเจเฉเจฌเจฒ เจฌเจฃเจพเจเจฃ เจคเฉเจ เจฌเจพเจ เจฆ, เจคเฉเจธเฉเจ เจตเฉเจเจเจฐ เจเจฒเจพ เจธเจเจฆเฉ เจนเฉ
systemctl enable vector
systemctl start vectorเจตเฉเจเจเจฐ เจฒเฉเจเจธ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
journalctl -f -u vectorเจฒเจพเจเจพเจ เจตเจฟเฉฑเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉเจเจ เจเจเจเจฐเฉเจเจ เจนเฉเจฃเฉเจเจ เจเจพเจนเฉเจฆเฉเจเจ เจนเจจ
INFO vector::topology::builder: Healthcheck: Passed.
INFO vector::topology::builder: Healthcheck: Passed.เจเจฒเจพเจเฉฐเจ (เจตเฉเฉฑเจฌ เจธเจฐเจตเจฐ) 'เจคเฉ - เจชเจนเจฟเจฒเจพ เจธเจฐเจตเจฐ
nginx เจตเจพเจฒเฉ เจธเจฐเจตเจฐ 'เจคเฉ, เจคเฉเจนเจพเจจเฉเฉฐ ipv6 เจจเฉเฉฐ เจ
เจฏเฉเจ เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ, เจเจฟเจเจเจเจฟ เจเจฒเจฟเฉฑเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจฒเฉเจเจธ เจเฉเจฌเจฒ เจเฉเจคเจฐ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉ upstream_addr IPv4, เจเจฟเจเจเจเจฟ เจฎเฉเจ เจจเฉเฉฑเจเจตเจฐเจ เจฆเฉ เจ
เฉฐเจฆเจฐ ipv6 เจฆเฉ เจตเจฐเจคเฉเจ เจจเจนเฉเจ เจเจฐเจฆเจพเฅค เจเฉเจเจฐ ipv6 เจฌเฉฐเจฆ เจจเจนเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ, เจคเจพเจ เจเจฒเจคเฉเจเจ เจนเฉเจฃเจเฉเจเจ:
DB::Exception: Invalid IPv4 value.: (while read the value of key upstream_addr)เจธเจผเจพเจเจฆ เจชเจพเจ เจ, ipv6 เจธเจนเจฟเจฏเฉเจ เจเฉเฉเฉเฅค
เจซเจพเจเจฒ เจฌเจฃเจพเจ /etc/sysctl.d/98-disable-ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1เจธเฉเจเจฟเฉฐเจเจพเจ เจจเฉเฉฐ เจฒเจพเจเฉ เจเจฐเจจเจพ
sysctl --systemเจเจฒเฉ nginx เจเฉฐเจธเจเจพเจฒ เจเจฐเฉเจเฅค
nginx เจฐเจฟเจชเฉเจเจผเจเจฐเฉ เจซเจพเจเจฒ /etc/yum.repos.d/nginx.repo เจธเจผเจพเจฎเจฒ เจเฉเจคเฉ เจเจ
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=truenginx เจชเฉเจเฉเจ เจเฉฐเจธเจเจพเจฒ เจเจฐเฉ
yum install -y nginxเจชเจนเจฟเจฒเจพเจ, เจธเจพเจจเฉเฉฐ Nginx เจตเจฟเฉฑเจ เจฒเจพเจ เจซเจพเจฐเจฎเฉเจ เจจเฉเฉฐ /etc/nginx/nginx.conf เจตเจฟเฉฑเจ เจธเฉฐเจฐเจเจฟเจค เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉเฅค
user nginx;
# you must set worker processes based on your CPU cores, nginx does not benefit from setting more than that
worker_processes auto; #some last versions calculate it automatically
# number of file descriptors used for nginx
# the limit for the maximum FDs on the server is usually set by the OS.
# if you don't set FD's then OS settings will be used which is by default 2000
worker_rlimit_nofile 100000;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
# provides the configuration file context in which the directives that affect connection processing are specified.
events {
# determines how much clients will be served per worker
# max clients = worker_connections * worker_processes
# max clients is also limited by the number of socket connections available on the system (~64k)
worker_connections 4000;
# optimized to serve many clients with each thread, essential for linux -- for testing environment
use epoll;
# accept as many connections as possible, may flood worker connections if set too low -- for testing environment
multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
log_format vector escape=json
'{'
'"node_name":"nginx-vector",'
'"timestamp":"$time_iso8601",'
'"server_name":"$server_name",'
'"request_full": "$request",'
'"request_user_agent":"$http_user_agent",'
'"request_http_host":"$http_host",'
'"request_uri":"$request_uri",'
'"request_scheme": "$scheme",'
'"request_method":"$request_method",'
'"request_length":"$request_length",'
'"request_time": "$request_time",'
'"request_referrer":"$http_referer",'
'"response_status": "$status",'
'"response_body_bytes_sent":"$body_bytes_sent",'
'"response_content_type":"$sent_http_content_type",'
'"remote_addr": "$remote_addr",'
'"remote_port": "$remote_port",'
'"remote_user": "$remote_user",'
'"upstream_addr": "$upstream_addr",'
'"upstream_bytes_received": "$upstream_bytes_received",'
'"upstream_bytes_sent": "$upstream_bytes_sent",'
'"upstream_cache_status":"$upstream_cache_status",'
'"upstream_connect_time":"$upstream_connect_time",'
'"upstream_header_time":"$upstream_header_time",'
'"upstream_response_length":"$upstream_response_length",'
'"upstream_response_time":"$upstream_response_time",'
'"upstream_status": "$upstream_status",'
'"upstream_content_type":"$upstream_http_content_type"'
'}';
access_log /var/log/nginx/access.log main;
access_log /var/log/nginx/access.json.log vector; # ะะพะฒัะน ะปะพะณ ะฒ ัะพัะผะฐัะต json
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}เจคเฉเจนเจพเจกเฉ เจฎเฉเจเฉเจฆเจพ เจธเฉฐเจฐเจเจจเจพ เจจเฉเฉฐ เจจเจพ เจคเฉเฉเจจ เจฒเจ, Nginx เจคเฉเจนเจพเจจเฉเฉฐ เจเจ เจเจเจธเฉเจธ_เจฒเฉเจ เจจเจฟเจฐเจฆเฉเจธเจผเจพเจ เจฆเฉ เจเจเจฟเจ เจฆเจฟเฉฐเจฆเจพ เจนเฉ
access_log /var/log/nginx/access.log main; # ะกัะฐะฝะดะฐััะฝัะน ะปะพะณ
access_log /var/log/nginx/access.json.log vector; # ะะพะฒัะน ะปะพะณ ะฒ ัะพัะผะฐัะต jsonเจจเจตเฉเจ เจฒเฉเจเจธ เจฒเจ เจฒเฉเจเจฐเฉเจเฉเจ เจเจฐเจจ เจฒเจ เจเฉฑเจ เจจเจฟเจฏเจฎ เจเฉเฉเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ (เจเฉเจเจฐ เจฒเฉเจ เจซเจพเจเจฒ .log เจจเจพเจฒ เจเจคเจฎ เจจเจนเฉเจ เจนเฉเฉฐเจฆเฉ เจนเฉ)
/etc/nginx/conf.d/ เจคเฉเจ default.conf เจนเจเจพเจ
rm -f /etc/nginx/conf.d/default.confเจตเจฐเจเฉเจ เจฒ เจนเฉเจธเจ /etc/nginx/conf.d/vhost1.conf เจธเจผเจพเจฎเจฒ เจเจฐเฉ
server {
listen 80;
server_name vhost1;
location / {
proxy_pass http://172.26.10.106:8080;
}
}เจตเจฐเจเฉเจ เจฒ เจนเฉเจธเจ /etc/nginx/conf.d/vhost2.conf เจธเจผเจพเจฎเจฒ เจเจฐเฉ
server {
listen 80;
server_name vhost2;
location / {
proxy_pass http://172.26.10.108:8080;
}
}เจตเจฐเจเฉเจ เจฒ เจนเฉเจธเจ /etc/nginx/conf.d/vhost3.conf เจธเจผเจพเจฎเจฒ เจเจฐเฉ
server {
listen 80;
server_name vhost3;
location / {
proxy_pass http://172.26.10.109:8080;
}
}เจตเจฐเจเฉเจ เจฒ เจนเฉเจธเจ /etc/nginx/conf.d/vhost4.conf เจธเจผเจพเจฎเจฒ เจเจฐเฉ
server {
listen 80;
server_name vhost4;
location / {
proxy_pass http://172.26.10.116:8080;
}
}/etc/hosts เจซเจพเจเจฒ เจตเจฟเฉฑเจ เจธเจพเจฐเฉ เจธเจฐเจตเจฐเจพเจ เจตเจฟเฉฑเจ เจตเจฐเจเฉเจ เจฒ เจนเฉเจธเจ (เจธเจฐเจตเจฐ เจฆเจพ 172.26.10.106 ip เจเจฟเฉฑเจฅเฉ nginx เจเฉฐเจธเจเจพเจฒ เจนเฉ) เจธเจผเจพเจฎเจฒ เจเจฐเฉ:
172.26.10.106 vhost1
172.26.10.106 vhost2
172.26.10.106 vhost3
172.26.10.106 vhost4เจ เจคเฉ เจเฉ เจธเจญ เจเฉเจ เจคเจฟเจเจฐ เจนเฉ
nginx -t
systemctl restart nginxเจนเฉเจฃ เจเจธ เจจเฉเฉฐ เจเจชเจฃเฉ เจเจช เจเฉฐเจธเจเจพเจฒ เจเจฐเฉเจ
yum install -y https://packages.timber.io/vector/0.9.X/vector-x86_64.rpmเจเจฒเฉ systemd /etc/systemd/system/vector.service เจฒเจ เจเฉฑเจ เจธเฉเจเจฟเฉฐเจ เจซเจพเจเจฒ เจฌเจฃเจพเจเจเฅค
[Unit]
Description=Vector
After=network-online.target
Requires=network-online.target
[Service]
User=vector
Group=vector
ExecStart=/usr/bin/vector
ExecReload=/bin/kill -HUP $MAINPID
Restart=no
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=vector
[Install]
WantedBy=multi-user.targetเจ เจคเฉ /etc/vector/vector.toml เจธเฉฐเจฐเจเจจเจพ เจตเจฟเฉฑเจ เจซเจพเจเจฒเจฌเฉเจ เจฌเจฆเจฒเจฃ เจฆเฉ เจธเฉฐเจฐเจเจจเจพ เจเจฐเฉเฅค IP เจเจกเจฐเฉเฉฑเจธ 172.26.10.108 เจฒเจพเจ เจธเจฐเจตเจฐ (เจตเฉเจเจเจฐ-เจธเจฐเจตเจฐ) เจฆเจพ IP เจชเจคเจพ เจนเฉเฅค
data_dir = "/var/lib/vector"
[sources.nginx_file]
type = "file"
include = [ "/var/log/nginx/access.json.log" ]
start_at_beginning = false
fingerprinting.strategy = "device_and_inode"
[sinks.nginx_output_vector]
type = "vector"
inputs = [ "nginx_file" ]
address = "172.26.10.108:9876"เจฏเฉเจเจผเจฐ เจตเฉเจเจเจฐ เจจเฉเฉฐ เจขเฉเจเจตเฉเจ เจธเจฎเฉเจน เจตเจฟเฉฑเจ เจเฉเฉเจจเจพ เจจเจพ เจญเฉเฉฑเจฒเฉ เจคเจพเจ เจเฉ เจเจน เจฒเฉเจ เจซเจพเจเจฒเจพเจ เจชเฉเฉเจน เจธเจเฉเฅค เจเจฆเจพเจนเจฐเจฃ เจตเจเฉเจ, nginx in centos เจเจกเจฎ เจเจฐเฉเฉฑเจช เจ เจงเจฟเจเจพเจฐเจพเจ เจจเจพเจฒ เจฒเฉเจ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉเฅค
usermod -a -G adm vectorเจเจ เจตเฉเจเจเจฐ เจธเฉเจตเจพ เจธเจผเฉเจฐเฉ เจเจฐเฉเจ
systemctl enable vector
systemctl start vectorเจตเฉเจเจเจฐ เจฒเฉเจเจธ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉเจเจฟเจ เจเจพ เจธเจเจฆเจพ เจนเฉ:
journalctl -f -u vectorเจฒเฉเจเจธ เจตเจฟเฉฑเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจเจเจเจฐเฉ เจนเฉเจฃเฉ เจเจพเจนเฉเจฆเฉ เจนเฉ
INFO vector::topology::builder: Healthcheck: Passed.เจคเจฃเจพเจ เจเฉเจธเจเจฟเฉฐเจ
เจ เจธเฉเจ เจ เจชเจพเจเฉ เจฌเฉเจเจเจฎเจพเจฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉเจธเจเจฟเฉฐเจ เจเจฐเจฆเฉ เจนเจพเจเฅค
httpd-เจเฉเจฒ เจชเฉเจเฉเจ เจธเจญ เจธเจฐเจตเจฐเจพเจ เจเฉฑเจคเฉ เจเฉฐเจธเจเจพเจฒ เจเฉเจคเจพ เจเจฟเจ เจธเฉ
เจ เจธเฉเจ เจธเจเฉเจฐเฉเจจ เจตเจฟเฉฑเจ 4 เจตเฉฑเจ-เจตเฉฑเจ เจธเจฐเจตเจฐเจพเจ เจคเฉเจ เจ เจชเจพเจเฉ เจฌเฉเจเจเจฎเจพเจฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉเจธเจ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเจพเจเฅค เจชเจนเจฟเจฒเจพเจ, เจ เจธเฉเจ เจธเจเฉเจฐเฉเจจ เจเจฐเจฎเฉเจจเจฒ เจฎเจฒเจเฉเจชเจฒเฉเจเจธเจฐ เจจเฉเฉฐ เจฒเจพเจเจ เจเจฐเจฆเฉ เจนเจพเจ, เจ เจคเฉ เจซเจฟเจฐ เจ เจธเฉเจ เจ เจชเจพเจเฉ เจฌเฉเจเจเจฎเจพเจฐเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเฉเจธเจ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเจฐเจฆเฉ เจนเจพเจเฅค เจธเจเฉเจฐเฉเจจ เจฆเฉ เจจเจพเจฒ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจจเจพ เจนเฉ เจเจฟเจธ เจตเจฟเฉฑเจ เจคเฉเจธเฉเจ เจฒเฉฑเจญ เจธเจเจฆเฉ เจนเฉ .
1 เจธเจฐเจตเจฐ เจคเฉเจ
while true; do ab -H "User-Agent: 1server" -c 100 -n 10 -t 10 http://vhost1/; sleep 1; done2 เจธเจฐเจตเจฐ เจคเฉเจ
while true; do ab -H "User-Agent: 2server" -c 100 -n 10 -t 10 http://vhost2/; sleep 1; done3 เจธเจฐเจตเจฐ เจคเฉเจ
while true; do ab -H "User-Agent: 3server" -c 100 -n 10 -t 10 http://vhost3/; sleep 1; done4 เจธเจฐเจตเจฐ เจคเฉเจ
while true; do ab -H "User-Agent: 4server" -c 100 -n 10 -t 10 http://vhost4/; sleep 1; doneเจเจ เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจฆเฉ เจเจพเจเจ เจเจฐเฉเจ
เจเจฒเจฟเจเจนเจพเจเจธ 'เจคเฉ เจเจพเจ
clickhouse-client -h 172.26.10.109 -mเจเฉฑเจ SQL เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฌเจฃเจพเจเจฃเจพ
SELECT * FROM vector.logs;
โโnode_nameโโโโโฌโโโโโโโโโโโtimestampโโฌโserver_nameโโฌโuser_idโโฌโrequest_fullโโโโฌโrequest_user_agentโโฌโrequest_http_hostโโฌโrequest_uriโโฌโrequest_schemeโโฌโrequest_methodโโฌโrequest_lengthโโฌโrequest_timeโโฌโrequest_referrerโโฌโresponse_statusโโฌโresponse_body_bytes_sentโโฌโresponse_content_typeโโฌโโโremote_addrโโฌโremote_portโโฌโremote_userโโฌโupstream_addrโโฌโupstream_portโโฌโupstream_bytes_receivedโโฌโupstream_bytes_sentโโฌโupstream_cache_statusโโฌโupstream_connect_timeโโฌโupstream_header_timeโโฌโupstream_response_lengthโโฌโupstream_response_timeโโฌโupstream_statusโโฌโupstream_content_typeโโ
โ nginx-vector โ 2020-08-07 04:32:42 โ vhost1 โ โ GET / HTTP/1.0 โ 1server โ vhost1 โ / โ http โ GET โ 66 โ 0.028 โ โ 404 โ 27 โ โ 172.26.10.106 โ 45886 โ โ 172.26.10.106 โ 0 โ 109 โ 97 โ DISABLED โ 0 โ 0.025 โ 27 โ 0.029 โ 404 โ โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโเจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจเฉเจฌเจฒ เจฆเฉ เจเจเจพเจฐ เจฆเจพ เจชเจคเจพ เจฒเจเจพเจ
select concat(database, '.', table) as table,
formatReadableSize(sum(bytes)) as size,
sum(rows) as rows,
max(modification_time) as latest_modification,
sum(bytes) as bytes_size,
any(engine) as engine,
formatReadableSize(sum(primary_key_bytes_in_memory)) as primary_keys_size
from system.parts
where active
group by database, table
order by bytes_size desc;เจเจ เจเจน เจชเจคเจพ เจเจฐเฉเจ เจเจฟ เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจเจฟเฉฐเจจเฉ เจฒเฉเจเจธ เจฒเจ เจเจ เจนเจจเฅค

เจฒเจพเจ เจเฉเจฌเจฒ เจฆเจพ เจเจเจพเจฐ 857.19 MB เจนเฉเฅค

Elasticsearch เจตเจฟเฉฑเจ เจธเฉเจเจเจพเจเจ เจตเจฟเฉฑเจ เจธเจฎเจพเจจ เจกเฉเจเจพ เจฆเจพ เจเจเจพเจฐ 4,5GB เจนเฉเฅค
เจเฉเจเจฐ เจคเฉเจธเฉเจ เจชเฉเจฐเจพเจฎเฉเจเจฐเจพเจ เจตเจฟเฉฑเจ เจตเฉเจเจเจฐ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจจเจฟเจฐเจฆเจฟเจธเจผเจ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเฉ, เจคเจพเจ Clickhouse Elasticsearch เจจเจพเจฒเฉเจ 4500/857.19 = 5.24 เจเฉเจฃเจพ เจเฉฑเจ เจฒเฉเจเจฆเจพ เจนเฉเฅค
เจตเฉเจเจเจฐ เจตเจฟเฉฑเจ, เจเฉฐเจชเจฐเฉเจธเจผเจจ เจซเฉเจฒเจก เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจตเจฐเจคเฉ เจเจพเจเจฆเฉ เจนเฉเฅค
เจฆเฉเจเจฐเจพ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจเฉเจ
เจฆเฉเจเจฐเจพ เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจเฉเจ
เจเฉเจฒเฉเจเฉเจฐเจพเจฎ เจเฉเจ เจฆเฉเจเจฐเจพ ""
เจธเจฐเฉเจค: www.habr.com
