Alexey Lizunov, เบซเบปเบงเบซเบเปเบฒเบชเบนเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเบญเบเบเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบซเปเบฒเบเปเบเบชเบญเบเบซเบผเบตเบเบเบญเบเบเบนเปเบญเปเบฒเบเบงเบเบเบฒเบเปเบเบฑเบเปเบเปเบฅเบขเบตเบเปเปเบกเบนเบเบเปเบฒเบงเบชเบฒเบเบเบญเบ ICB
เปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบชเปเบฒเบฅเบฑเบ stack ELK (ElasticSearch, Logstash, Kibana), เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบปเปเบเบเปเบงเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเปเบกเบนเบ ClickHouse เปเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบถเบ.
เปเบเบเบปเบเบเบงเบฒเบกเบเบตเปเบเบงเบเปเบฎเบปเบฒเบขเบฒเบเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฐเบชเบปเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเปเบกเบนเบ ClickHouse เปเบฅเบฐเบเบปเบเปเบเปเบฎเบฑเบเปเบเบทเปเบญเบเบเบปเปเบเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบปเบเบฅเบญเบ. เบกเบฑเบเปเบเบฑเบเบกเบนเบเบเปเบฒเบเบตเปเบชเบฑเบเปเบเบเปเบซเบฑเบเบเบฑเบเบเบตเบงเปเบฒเบเบปเบเปเบเปเบฎเบฑเบเบเบตเปเบซเบเปเบฒเบเบฐเบเบฑเบเปเบ.
เบเปเปเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบญเบฐเบเบดเบเบฒเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเบงเปเบฒเบฅเบฐเบเบปเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบทเบเบเบฑเปเบเบเปเบฒเปเบเบงเปเบ เปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเบเบตเปเบกเบฑเบเบเบฐเบเบญเบเบเปเบงเบเปเบเบงเปเบ. เปเบเปเบเบญเบเบเบตเปเบเปเบญเบเบขเบฒเบเปเบงเบปเปเบฒเปเบฅเบฑเบเบเปเบญเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเปเบเบเบฅเบงเบก, เปเบฅเบฐเปเบเบฑเบเบซเบเบฑเบเบกเบฑเบเบเบถเปเบเบชเบปเบกเบเบงเบเบเบตเปเบเบฐเปเบญเบปเบฒเปเบเปเบชเป. เบเบฒเบเบเปเปเบกเบนเบ ClickHouse เปเบกเปเบเบเบฒเบเบเปเปเบกเบนเบเบเปเบฅเปเบฒเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบชเบนเบเบเบฒเบ Yandex. เปเบเปเปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ Yandex, เปเบเปเบเบทเปเบญเบเบเบปเปเบเบเบตเปเปเบกเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบปเปเบเบเปเบชเปเบฒเบฅเบฑเบ Yandex.Metrica. เบฅเบฐเบเบปเบเปเบเบตเบเปเบซเบผเปเบ, เบเบฃเบต. เบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบฑเบเบเบฑเบเบเบฐเบเบฒ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเบฐเปเบซเบกเบตเบชเบปเบเปเบชเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบฐเบเบดเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเปเปเบเบงเปเบ, เบเปเบญเบเบงเปเบฒเบกเบตเบเปเปเบกเบนเบเบเบฐเบซเบเบฒเบเปเบซเบเปเบเบตเปเบซเบเปเบฒเบญเบฑเบเบชเบฐเบเบฑเบ. เปเบฅเบฐเบเบฒเบเปเบเปเบเบญเบเบเบนเปเปเบเปเบเบญเบ Metrica เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบกเปเบเบกเบตเบเบงเบฒเบกเบเบทเบเบซเบเบธเปเบเบซเบผเบฒเบเปเบฅเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเปเปเบง. เปเบกเบทเปเบญเบเปเบฒเบเบฎเบนเปเบเบฑเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเบเบฑเปเบเบเปเบฒเบญเบดเบ, เบเปเบฒเบเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบฐเบเบฑเบเปเบ: "เบเบต, เบชเบธเบเบเปเบฒเบ! เบชเปเบฒเบ โเปเบเบทเปเบญเบเบฐเบเบฒเบเบปเบโ! เบเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบดเบเบเบฑเปเบเปเบเบดเบเบเบฒเบเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเป."
เบเบฒเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเบญเบธเบเบฐเบชเบฑเบเปเบเบปเปเบฒเบเปเปเบฒเบซเบผเบฒเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบนเปเบเบฑเบเบเบฐเบเบฒเปเบเบเบชเบฐเปเบฅเปเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฑเปเบเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเปเบเบชเบญเบเบชเบฒเบกเบเบฒเบเบตเปเบฅเบฐเปเบฅเบตเปเบกเปเบเปเบกเบฑเบ. เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเปเบญเบเปเบฒเบเบฅเบฝเบเบเปเบฒเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบปเบเปเบซเบกเปเปเบ Linux เบชเบฒเบกเบฒเบเบฎเบฑเบเบกเบทเบเบฑเบเบเบฒเบเบเบดเบเบเบฑเปเบเปเบเปเปเบงเปเบฅเบฐเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบเบเบฒเบ. เบเปเบฒเบเปเบญเบเบซเบเปเบฒเบเบตเป, เปเบกเบทเปเบญเปเบเปเบเบดเบเบเปเบฒเบงเปเบฒ Big Data, Hadoop, Google BigTable, HDFS, เบเบฑเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบชเบฐเปเบฅเปเบเบกเบตเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเบงเบเปเบเบปเบฒเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบ terabytes, petabytes, เบงเปเบฒ superhumans เบเบฒเบเบเบปเบเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบฐเบเบฑเบเบเบฐเบเบฒเบฅเบฐเบเบปเบเปเบซเบผเบปเปเบฒเบเบตเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเบ เบเบฒเบเบกเบฒเบฎเบญเบเบเบญเบเบเบฒเบเบเปเปเบกเบนเบ ClickHouse เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเบเปเบฒเบเบเบฒเบ, เปเบเบปเปเบฒเปเบเปเบเปเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบเบฑเบเบฅเบธเปเบเปเปเบเปเบกเบทเปเบญเบเปเบญเบ. เบเบฑเบโเบซเบกเบปเบโเบกเบฑเบโเปเบเปโเปเบงโเบฅเบฒโเปเบกเปเบโเบซเบเบถเปเบโเปเบเบทเปเบญเบโเบชเบฐโเปเบฅเปเบโเบเบตเปโเปเบเบฑเบโเบเปเบฒโเปเบฅเบฐโเบซเปเบฒโเบเบฒโเบเบตโเปเบโเบเบฒเบโเบเบดเบโเบเบฑเปเบโ. เบเบฑเปเบเปเบกเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบฒเบเบเปเปเบกเบนเบเปเบเบฑเปเบ, เบเบปเบงเบขเปเบฒเบ, MySql, เปเบเปเบเบฝเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฑเบเบเบถเบเบซเบผเบฒเบเบเบทเป! เบเบฐเปเบเบเบเบญเบ superarchiver เบเบตเปเบกเบตเบเบฒเบชเบฒ SQL. เบกเบฑเบเบเบทเบเบฑเบเบงเปเบฒเบเบปเบเปเบเปเบฎเบฑเบเบญเบฒเบงเบธเบเบกเบฐเบเบธเบเบเปเบฒเบเบเบฒเบง.
เบเปเบฝเบงเบเบฑเบเบฅเบฐเบเบปเบเบเบฒเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบฑเบเบเบถเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ
เปเบเบทเปเบญเปเบเบฑเบเบเปเบฒเบเปเปเบกเบนเบ, เปเบเบฅเปเบเบฑเบเบเบถเบ IIS เบเบญเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเปเบงเบฑเบเปเบเบเปเบเบญเบเบฎเบนเบเปเบเบเบกเบฒเบเบเบฐเบเบฒเบเบเบทเบเบเปเบฒเปเบเป (เบเบฐเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเบเบฒเบเบงเบดเปเบเบฒเบฐเบเบฑเบเบเบถเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ, เปเบเปเปเบเบปเปเบฒเบซเบกเบฒเบเบเบปเปเบเบเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบปเบเบฅเบญเบเปเบกเปเบเบเบฒเบเปเบเบฑเบเบเปเบฒเบเบฑเบเบเบถเบ IIS).
เบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเบฐเบเบดเปเบก ELK stack เปเบเปเบขเปเบฒเบเบชเบปเบกเบเบนเบเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเปเบฒเบเป, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบชเบทเบเบเปเปเบเปเบฒเปเบเปเบญเบปเบเบเบฐเบเบญเบ LogStash เปเบฅเบฐ Filebeat, เปเบเบดเปเบเปเบเปเบเบดเบชเบนเบเบเบปเบงเปเบญเบเปเบเปเบเบตเปเบฅเบฐเปเบฎเบฑเบเบงเบฝเบเบเปเบญเบเบเปเบฒเบเปเบเบทเปเบญเบเบทเปเบเปเปเบฅเบฐเบเบฒเบเบเบฐเปเบ.
เบฎเบนเบเปเบเบเบเบฒเบเบเบฑเบเปเบกเปเบเบปเปเบงเปเบเปเบกเปเบเบชเบฐเปเบเบเบขเบนเปเปเบเบฎเบนเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป:
เบเบธเบเบเบฐเบชเบปเบกเบเบฑเบเบเบญเบเบเบฒเบเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเปเบเบเบฒเบเบเปเปเบกเบนเบ ClickHouse เปเบกเปเบเบเบฒเบเปเบเบเบเบฑเบเบเบถเบ (เบซเบเบถเปเบเบเบฑเปเบเบเปเปเบงเบดเบเบฒเบเบต) เปเบฅเบทเปเบญเบเปเปเบเบเบธเบเปเบซเบเป. เบเบตเป, เบเบฒเบเบปเบเบเบทเปเบ, เปเบเบฑเบเบชเปเบงเบ "เบเบฑเบเบซเบฒ" เบเบตเปเบชเบธเบเบเบตเปเบเปเบฒเบเบเบปเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ ClickHouse เปเบเบฑเบเบเบฑเปเบเบเปเบฒเบญเบดเบ: เปเบเบเบเบฒเบเบเบฐเบเบฒเบเปเบเบฑเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ.
เบเบฑเปเบเบญเบดเบเบชเปเบฒเบฅเบฑเบ LogStash, เปเบเบดเปเบเปเบชเปเบเปเปเบกเบนเบเปเบเบเบเบปเบเปเบเบปเปเบฒเปเบเปเบ ClickHouse, เปเบเปเบเปเบงเบเบซเบผเบฒเบเบขเบนเปเบเบตเปเบเบตเป. เบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเบทเบเบเบณเปเบเปเบขเบนเปเปเบเปเบเบตเบเปเบงเบตเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบปเบงเบกเบฑเบเปเบญเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบง, เบกเบฑเบเบเปเปเปเบเปเปเบเบฐเบเปเบฒเปเบซเปเปเบฎเบฑเบเปเบเบงเบเบตเป, เปเบเปเบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบฐเบเบดเบเบฑเบ, เปเบเบทเปเบญเบเปเปเปเบซเปเบชเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบเปเบเบเบฐเบเบฐเบเบตเปเบกเบฑเบเบเบทเบเบเปเบฒเปเบเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฝเบงเบเบฑเบ. เบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบงเบซเบผเบทเบเบงเบฒเบกเบเบฑเบเปเบเปเบเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเบชเบฑเบเปเบเบเบงเปเบฒ plugin เบกเบตเบเบปเบเปเบเบเบฒเบ retray เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ. เปเบฅเบฐเปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ, plugin เบเบฝเบเปเบชเปเปเบเปเบเบเปเปเบกเบนเบ batch เบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบชเปเปเบเป (เบฎเบนเบเปเบเบเปเบเบฅเปเปเบกเปเบเบชเบฐเบเบงเบ: เบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบเปเปเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบชเป batch เบเบตเปเบเบทเบเปเบเปเปเบเปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบเบเปเบเป clickhouse-client).
เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบปเบเบเปเบงเบเบเบญเบเบเบญเบเปเบงเบเบตเปเปเบเปเปเบเปเบเบเบเบฒเบเปเบกเปเบเปเบเปเบเปเบฒเบชเบฐเปเบซเบเบตเบขเบนเปเปเบเบเบฒเบเบฐเบฅเบฒเบ:
เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบเบญเบเปเบงเบเบตเปเปเบเป
Title
เบฅเบฒเบโเบฅเบฐโเบญเบฝเบ
เปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบฒเบเปเบเบเบขเบฒเบ
NGINX
Reverse-proxy เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเบฑเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเบเบเบญเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบ
เปเบเบเบฑเบเบเบธเบเบฑเบเบเปเปเปเบเปเปเบเปเปเบเปเบเบเบเบฒเบ
FileBeat
เบเบฒเบเปเบญเบเบเบฑเบเบเบถเบเปเบเบฅเป.
LogStash
เบเบปเบงเปเบเบฑเบเบเบฑเบเบเบถเบ.
เปเบเปเปเบเบทเปเบญเปเบเบฑเบเบเบฑเบเบเบถเบเบเบฒเบ FileBeat, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเปเบเบฑเบเบเปเบฒเบเปเปเบกเบนเบเบเบฑเบเบเบถเบเบเบฒเบเปเบเบง RabbitMQ (เบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเบฑเปเบเบขเบนเปเปเบ DMZ.)
Logstash- เบเบปเบเบเบฐเบฅเบดเบ- clickhouse
เบเบฑเปเบเบญเบดเบ Loagstash เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบญเบเบเบฑเบเบเบถเบเปเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ ClickHouse เปเบเบเบธเบ
/usr/share/logstash/bin/logstash-plugin เบเบดเบเบเบฑเปเบ logstash-output-clickhouse
/usr/share/logstash/bin/logstash-plugin เบเบดเบเบเบฑเปเบ logstash-filter-prune
/usr/share/logstash/bin/logstash-plugin เบเบดเบเบเบฑเปเบ logstash-filter-multiline
เบเบปเบเบเบธเปเบก
เบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฑเบเบเบถเบ
เบซเบกเบฒเบโเปเบซเบโ. เบเบฑเปเบเปเบเปเปเบเบทเบญเบเบชเบดเบเบซเบฒ 2018, เบเบฒเบเบชเปเบฒเบ rpm "เบเบปเบเบเบฐเบเบด" เบชเปเบฒเบฅเบฑเบ RHEL เบเบฒเบเบปเบเบขเบนเปเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบ Yandex, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบฅเบญเบเปเบเปเบเบงเบเบกเบฑเบเปเบเป. เปเบโเปเบงโเบฅเบฒโเบเบญเบโเบเบฒเบโเบเบดเบโเบเบฑเปเบโเบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบเปเบฒโเปเบเปโเบเบธเบโเบเบตเปโเบชเบฑเบโเบฅเบงเบกโเปเบเบ Altinityโ.
เบเบฃเบฒเบเบฒเบเบฒ
เบเบฒเบเปเบเบดเปเบเปเบซเบฑเบเบเบญเบเบเบฑเบเบเบถเบ. เบเบฒเบเบเบฑเปเบเบเปเบฒ dashboards
Redhat & Centos (64 Bit) - เบฎเบธเปเบเบซเบผเปเบฒเบชเบธเบ
เปเบซเบผเปเบเบเปเปเบกเบนเบ ClickHouse เบชเปเบฒเบฅเบฑเบ Grafana 4.6+
Plugin เบชเปเบฒเบฅเบฑเบ Grafana เบเบฑเบเปเบซเบผเปเบเบเปเปเบกเบนเบ ClickHouse
LogStash
เบเบฑเบเบเบถเบ router เบเบฒเบ FileBeat เปเบเบซเบฒเปเบเบง RabbitMQ.
เบซเบกเบฒเบโเปเบซเบโ. เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, FileBeat เบเปเปเบกเบตเบเบปเบเบเบฐเบฅเบดเบเปเบเบเบเบปเบเบเบฑเบ RabbitMQ, เบเบฑเปเบเบเบฑเปเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเปเบเบฎเบนเบเปเบเบเบเบญเบ Logstash เปเบกเปเบเบเปเบญเบเบเบฒเบ.
เบเบฐเบเปเบฒเบ
เปเบเบงเบเปเปเบเบงเบฒเบก. เบเบตเปเปเบกเปเบเบเบฑเบเปเบเบตเบเบญเบเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเปเบ DMZ
เปเบงเบฅเบฒเปเบฅเปเบ Erlang (เบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ RabbitMQ)
เปเบงเบฅเบฒเปเบฅเปเบ Erlang. เบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ RabbitMQ เปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบ
เบเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบตเบเปเบงเบตเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบ ClickHouse เบเบทเบเบเปเบฒเบชเบฐเปเบซเบเบตเบขเบนเปเปเบเบเบฒเบเบฐเบฅเบฒเบเบเปเปเปเบเบเบตเป:
Title
เบกเบนเบเบเปเบฒ
ะัะธะผะตัะฐะฝะธะต
เบเบฒเบเบเบฑเปเบเบเปเบฒ
HDD: 40GB
RAM: 8GB
เปเปเบงเบเบเบฐเบกเบงเบเบเบปเบ: Core 2 2GHz
เบเปเบฒเบเบเบงเบเปเบญเบปเบฒเปเบเปเบชเปเบเบฑเบเบเปเบฒเปเบเบฐเบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเปเบกเบนเบ ClickHouse (
เบเบญเบเปเบงเบเบปเปเบงเบฅเบฐเบเบปเบ
เบฅเบฐเบเบปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ: Red Hat Enterprise Linux Server (Maipo)
JRE (Java 8)
เบเบฑเปเบเบเบตเปเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเป, เบเบตเปเปเบกเปเบเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบเบปเบเบเบฐเบเบด.
เปเบเบเบชเปเบฒเบเบเบญเบเบเบฒเบเบฐเบฅเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฑเบเบเบถเบเบกเบตเบเบฑเปเบเบเบตเป:
log_web.sql
CREATE TABLE log_web (
logdate Date,
logdatetime DateTime CODEC(Delta, LZ4HC),
fld_log_file_name LowCardinality( String ),
fld_server_name LowCardinality( String ),
fld_app_name LowCardinality( String ),
fld_app_module LowCardinality( String ),
fld_website_name LowCardinality( String ),
serverIP LowCardinality( String ),
method LowCardinality( String ),
uriStem String,
uriQuery String,
port UInt32,
username LowCardinality( String ),
clientIP String,
clientRealIP String,
userAgent String,
referer String,
response String,
subresponse String,
win32response String,
timetaken UInt64
, uriQuery__utm_medium String
, uriQuery__utm_source String
, uriQuery__utm_campaign String
, uriQuery__utm_term String
, uriQuery__utm_content String
, uriQuery__yclid String
, uriQuery__region String
) Engine = MergeTree()
PARTITION BY toYYYYMM(logdate)
ORDER BY (fld_app_name, fld_app_module, logdatetime)
SETTINGS index_granularity = 8192;
เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเบเบชเปเบงเบ (เบเบฐเบเปเบฒเปเบเบทเบญเบ) เปเบฅเบฐเบเบฑเบเบเบฐเบเบต granularity. เบเปเบญเบเบเปเปเบกเบนเบเบเบฑเบเปเบปเบเปเบกเปเบเบเบปเบเบเบฑเบเบฅเบฒเบเบเบฒเบเบเบฑเบเบเบถเบ IIS เปเบเบทเปเบญเบเบฑเบเบเบถเบเบเบฒเบเบฎเปเบญเบเบเป http. เปเบเบเบเปเบฒเบเบซเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฑเบเปเบเบเบงเปเบฒเบกเบตเบเปเบญเบเบเปเปเบกเบนเบเปเบเบเบเปเบฒเบเบซเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒ tags utm (เบเบงเบเบกเบฑเบเบเบทเบเปเบเบเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเบเบญเบเบเบฒเบเปเบชเปเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบฐเบฅเบฒเบเบเบฒเบเบเบฒเบเบชเบฐเบซเบเบฒเบก string เบชเบญเบเบเบฒเบก).
เบเบญเบเบเบฒเบเบเบตเป, เบซเบผเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเบฅเบฐเบเบปเบเปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒเปเบเบเบฒเบเบฐเบฅเบฒเบเปเบเบทเปเบญเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบฅเบฐเบเบปเบ, เบญเบปเบเบเบฐเบเบญเบ, เปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ. เบชเปเบฒเบฅเบฑเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบเบเปเบญเบเบเปเปเบกเบนเบเปเบซเบผเบปเปเบฒเบเบตเป, เปเบเบดเปเบเบเบฒเบเบฐเบฅเบฒเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป. เปเบเบเบฒเบเบฐเบฅเบฒเบเบซเบเบถเปเบเบเบงเบเปเบฎเบปเบฒเปเบเบฑเบเบเบฑเบเบเบถเบเบชเปเบฒเบฅเบฑเบเบซเบผเบฒเบเบฅเบฐเบเบปเบ.
Title
เบฅเบฒเบโเบฅเบฐโเบญเบฝเบ
เบเบปเบงเบขเปเบฒเบ:
fld_app_name
เบเบทเปเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ/เบฅเบฐเบเบปเบ
เบเปเบฒเบเบตเปเบเบทเบเบเปเบญเบ:
- site1.domain.com เปเบงเบฑเบเปเบเบเบฒเบเบเบญเบ 1
- site2.domain.com เปเบงเบฑเบเปเบเบเบฒเบเบเบญเบ 2
- internal-site1.domain.local เปเบงเบฑเบเปเบเบเบฒเบเปเบ 1
site1.domain.com
fld_app_module
เปเบกเบเบนเบเบฅเบฐเบเบปเบ
เบเปเบฒเบเบตเปเบเบทเบเบเปเบญเบ:
- web - เปเบงเบฑเบเปเบเบเป
- svc โ เบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโเปเบงเบฑเบโเปเบโเบโเปโ
- intgr โ เบเบฒเบโเบเปโเบฅเบดโเบเบฒเบโเบเบฒเบโเปเบเบทเปเบญเบกโเปเบเบโเปเบงเบฑเบโ
- bo โ Administrator (BackOffice)
เปเบงเบฑเบเปเบเบเป
fld_website_name
เบเบทเปเปเบงเบฑเบเปเบเปเบ IIS
เบซเบผเบฒเบเบฅเบฐเบเบปเบเบชเบฒเบกเบฒเบเบเบทเบเบเบณเปเบเปเบขเบนเปเปเบเปเบเบตเบเปเบงเบตเบเบฝเบง, เบซเบผเบทเปเบกเปเบเบฐเบเบฑเปเบเบซเบผเบฒเบเบเบปเบงเบขเปเบฒเบเบเบญเบเปเบกเบเบนเบเบฅเบฐเบเบปเบเบเบฝเบง
เปเบงเบฑเบเปเบเบเปเบเบปเปเบเบเป
fld_server_name
เบเบทเปเปเบเบตเบเปเบงเบต
web1.domain.com
fld_log_file_name
เปเบชเบฑเปเบเบเบฒเบเปเบเบซเบฒเปเบเบฅเปเบเบฑเบเบเบถเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ
เบเบฒเบ:inetpublogsLogFiles
W3SVC1u_ex190711.log
เบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบฒเบเปเบ Grafana เปเบเปเบขเปเบฒเบเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ. เบเบปเบงเบขเปเบฒเบ, เปเบเบดเปเบเบเบฒเบเบฎเปเบญเบเบเปเบเบฒเบเบเปเบฒเบเบซเบเปเบฒเบเบญเบเบฅเบฐเบเบปเบเบชเบฐเปเบเบฒเบฐ. เบเบตเปเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบเปเบงเบฑเบเปเบเบเป counter เปเบ Yandex.Metrica.
เบเบตเปเปเบกเปเบเบชเบฐเบเบดเบเบดเบเบฒเบเบขเปเบฒเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบเบชเบญเบเปเบเบทเบญเบ.
เบเปเบฒเบเบงเบเบเบฒเบเบเบฑเบเบเบถเบเปเบเบเบฅเบฐเบเบปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบ
SELECT
fld_app_name,
fld_app_module,
count(fld_app_name) AS rows_count
FROM log_web
GROUP BY
fld_app_name,
fld_app_module
WITH TOTALS
ORDER BY
fld_app_name ASC,
rows_count DESC
โโfld_app_nameโโโโโโฌโfld_app_moduleโโฌโrows_countโโ
โ site1.domain.ru โ web โ 131441 โ
โ site2.domain.ru โ web โ 1751081 โ
โ site3.domain.ru โ web โ 106887543 โ
โ site3.domain.ru โ svc โ 44908603 โ
โ site3.domain.ru โ intgr โ 9813911 โ
โ site4.domain.ru โ web โ 772095 โ
โ site5.domain.ru โ web โ 17037221 โ
โ site5.domain.ru โ intgr โ 838559 โ
โ site5.domain.ru โ bo โ 7404 โ
โ site6.domain.ru โ web โ 595877 โ
โ site7.domain.ru โ web โ 27778858 โ
โโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
Totals:
โโfld_app_nameโโฌโfld_app_moduleโโฌโrows_countโโ
โ โ โ 210522593 โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโ
11 rows in set. Elapsed: 4.874 sec. Processed 210.52 million rows, 421.67 MB (43.19 million rows/s., 86.51 MB/s.)
เบเบฐเบฅเบดเบกเบฒเบเบเปเปเบกเบนเบเปเบเปเบ
SELECT
formatReadableSize(sum(data_uncompressed_bytes)) AS uncompressed,
formatReadableSize(sum(data_compressed_bytes)) AS compressed,
sum(rows) AS total_rows
FROM system.parts
WHERE table = 'log_web'
โโuncompressedโโฌโcompressedโโฌโtotal_rowsโโ
โ 54.50 GiB โ 4.86 GiB โ 211427094 โ
โโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโ
1 rows in set. Elapsed: 0.035 sec.
เบญเบฑเบเบเบฒเบชเปเบงเบเบเบฒเบเบเบตเบเบญเบฑเบเบเปเปเบกเบนเบเบเบฑเบ
SELECT
name,
formatReadableSize(data_uncompressed_bytes) AS uncompressed,
formatReadableSize(data_compressed_bytes) AS compressed,
data_uncompressed_bytes / data_compressed_bytes AS compress_ratio
FROM system.columns
WHERE table = 'log_web'
โโnameโโโโโโโโโโโโโโโโโโโโฌโuncompressedโโฌโcompressedโโฌโโโโโcompress_ratioโโ
โ logdate โ 401.53 MiB โ 1.80 MiB โ 223.16665968777315 โ
โ logdatetime โ 803.06 MiB โ 35.91 MiB โ 22.363966401202305 โ
โ fld_log_file_name โ 220.66 MiB โ 2.60 MiB โ 84.99905736932571 โ
โ fld_server_name โ 201.54 MiB โ 50.63 MiB โ 3.980924816977078 โ
โ fld_app_name โ 201.17 MiB โ 969.17 KiB โ 212.55518183686877 โ
โ fld_app_module โ 201.17 MiB โ 968.60 KiB โ 212.67805817411906 โ
โ fld_website_name โ 201.54 MiB โ 1.24 MiB โ 162.7204926761546 โ
โ serverIP โ 201.54 MiB โ 50.25 MiB โ 4.010824061219731 โ
โ method โ 201.53 MiB โ 43.64 MiB โ 4.617721053304486 โ
โ uriStem โ 5.13 GiB โ 832.51 MiB โ 6.311522291936919 โ
โ uriQuery โ 2.58 GiB โ 501.06 MiB โ 5.269731450124478 โ
โ port โ 803.06 MiB โ 3.98 MiB โ 201.91673864241824 โ
โ username โ 318.08 MiB โ 26.93 MiB โ 11.812513794583598 โ
โ clientIP โ 2.35 GiB โ 82.59 MiB โ 29.132328640073343 โ
โ clientRealIP โ 2.49 GiB โ 465.05 MiB โ 5.478382297052563 โ
โ userAgent โ 18.34 GiB โ 764.08 MiB โ 24.57905114484208 โ
โ referer โ 14.71 GiB โ 1.37 GiB โ 10.736792723669906 โ
โ response โ 803.06 MiB โ 83.81 MiB โ 9.582334090987247 โ
โ subresponse โ 399.87 MiB โ 1.83 MiB โ 218.4831068635027 โ
โ win32response โ 407.86 MiB โ 7.41 MiB โ 55.050315514606815 โ
โ timetaken โ 1.57 GiB โ 402.06 MiB โ 3.9947395692010637 โ
โ uriQuery__utm_medium โ 208.17 MiB โ 12.29 MiB โ 16.936148912472955 โ
โ uriQuery__utm_source โ 215.18 MiB โ 13.00 MiB โ 16.548367623199912 โ
โ uriQuery__utm_campaign โ 381.46 MiB โ 37.94 MiB โ 10.055156353418509 โ
โ uriQuery__utm_term โ 231.82 MiB โ 10.78 MiB โ 21.502540454070672 โ
โ uriQuery__utm_content โ 441.34 MiB โ 87.60 MiB โ 5.038260760449327 โ
โ uriQuery__yclid โ 216.88 MiB โ 16.58 MiB โ 13.07721335008116 โ
โ uriQuery__region โ 204.35 MiB โ 9.49 MiB โ 21.52661903446796 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโดโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโ
28 rows in set. Elapsed: 0.005 sec.
เบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบเบเบตเปเปเบเป
FileBeat. เบเบฒเบเปเบญเบเบเบฑเบเบเบถเบเปเบเบฅเป
เบญเบปเบโเบเบฐโเบเบญเบโเบเบตเปโเบเบดเบโเบเบฒเบกโเบเบงเบโเบเบฒโเบเบฒเบโเบเปเบฝเบโเปเบเบโเบเบฒเบโเปเบเบปเปเบฒโเบชเบนเปโเบฅเบฐโเบเบปเบโเปเบเบฅโเปโเปเบโเปเบเปเบโเปเบฅเบฐโเบเปเบฒเบโเบเปเปโเบกเบนเบโเปเบเบทเปเบญ LogStashโ. เบเบดเบเบเบฑเปเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบเบฅเปเบเบฑเบเบเบถเบเบเบทเบเบเบฝเบ (เบเบปเบเบเบฐเบเบดเปเบฅเปเบง IIS). เปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบฎเบนเบเปเบเบเบซเบฒเบ (i. e. , เบกเบฑเบเปเบญเบเบเบฝเบเปเบเปเบเบฑเบเบเบถเบเบเบฒเบเปเบเบตเปเบกเปเบเบปเปเบฒเปเบเปเบเปเบเบฅเป). เปเบเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฑเปเบเบเปเบฒเปเบเบเบเปเบฒเบเบซเบฒเบเปเบเบทเปเบญเปเบญเบเปเบเบฅเปเบเบฑเบเบซเบกเบปเบ. เบเบตเปเปเบกเปเบเบชเบฐเบเบงเบเปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบฒเบงเปเบซเบฅเบเบเปเปเบกเบนเบเบชเปเบฒเบฅเบฑเบเปเบเบทเบญเบเบเบตเปเบเปเบฒเบเบกเบฒ. เบเบฝเบโเปเบเปโเปเบญเบปเบฒโเปเบเบฅโเปโเบเบฑเบโเบเบถเบโเปเบงเปโเปเบโเปเบเบโเปเบเบตโเปเบฅเบฐโเบกเบฑเบโเบเบฐโเบญเปเบฒเบโเบกเบฑเบโเบเบฑเบโเบซเบกเบปเบโ.
เปเบกเบทเปเบญเบเบฒเบเบเปเบฅเบดเบเบฒเบเบขเบธเบ, เบเปเปเบกเบนเบเบขเบธเบเบเบทเบเปเบญเบเปเบเบซเบฒเบเปเบญเบเปเบเบฑเบเบเปเปเบกเบนเบเบเบทเปเบกเบญเบตเบ.
เบเบปเบงโเบขเปเบฒเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเปเบเบดเปเบโเบเบทโเบเบตเปโ:
filebeat.yml
filebeat.inputs:
- type: log
enabled: true
paths:
- C:/inetpub/logs/LogFiles/W3SVC1/*.log
exclude_files: ['.gz$','.zip$']
tail_files: true
ignore_older: 24h
fields:
fld_server_name: "site1.domain.ru"
fld_app_name: "site1.domain.ru"
fld_app_module: "web"
fld_website_name: "web-main"
- type: log
enabled: true
paths:
- C:/inetpub/logs/LogFiles/__Import/access_log-*
exclude_files: ['.gz$','.zip$']
tail_files: false
fields:
fld_server_name: "site2.domain.ru"
fld_app_name: "site2.domain.ru"
fld_app_module: "web"
fld_website_name: "web-main"
fld_logformat: "logformat__apache"
filebeat.config.modules:
path: ${path.config}/modules.d/*.yml
reload.enabled: false
reload.period: 2s
output.logstash:
hosts: ["log.domain.com:5044"]
ssl.enabled: true
ssl.certificate_authorities: ["C:/filebeat/certs/ca.pem", "C:/filebeat/certs/ca-issuing.pem"]
ssl.certificate: "C:/filebeat/certs/site1.domain.ru.cer"
ssl.key: "C:/filebeat/certs/site1.domain.ru.key"
#================================ Processors =====================================
processors:
- add_host_metadata: ~
- add_cloud_metadata: ~
LogStash. เบเบปเบงเปเบเบฑเบเบเบฑเบเบเบถเบ
เบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเบทเบเบญเบญเบเปเบเบเบกเบฒเปเบเบทเปเบญเบฎเบฑเบเบเบฑเบเบเบถเบเบเบฒเบ FileBeat (เบซเบผเบทเบเปเบฒเบเปเบเบง RabbitMQ), parse เปเบฅเบฐเปเบชเปเบเบงเบเบกเบฑเบเปเบเบฑเบเบเบธเบเปเบเบปเปเบฒเปเบเปเบเบเบฒเบเบเปเปเบกเบนเบ ClickHouse.
เปเบเบทเปเบญเปเบชเปเปเบเบปเปเบฒเปเบเปเบ ClickHouse, เปเบเป plugin Logstash-output-clickhouse. เบเบฑเปเบเบญเบดเบ Logstash เบกเบตเบเบปเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบญเบเบเบทเบเบเปเบฒเบฎเปเบญเบเบเป, เปเบเปเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบดเบเบเบปเบเบเบฐเบเบด, เบกเบฑเบเบเปเปเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเบขเบธเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบญเบเบกเบฑเบเปเบญเบ. เปเบกเบทเปเบญเบขเบธเบเปเบเบปเบฒ, เบเปเปเบเบงเบฒเบกเบเบฐเบชเบฐเบชเบปเบกเบขเบนเปเปเบเปเบเบง RabbitMQ, เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบขเบธเบเปเบเบปเบฒเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบ, เบกเบฑเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเบขเบธเบ Filebeats เปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ. เปเบเปเบเบเบเบฒเบเบเบตเป RabbitMQ เบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเป (เปเบเปเบเบทเบญเบเปเบฒเบเบเปเบญเบเบเบดเปเบ Filebeat เบชเบปเปเบเบเบฑเบเบเบถเบเปเบเบเบเบปเบเปเบเบซเบฒ Logstash), Filebeats เปเบฎเบฑเบเบงเบฝเบเบเปเบญเบเบเปเบฒเบเปเบเบฑเบเบเบตเปเบเบญเบกเบฎเบฑเบเปเบฅเบฐเบเบญเบเปเบ, เบเบฑเปเบเบเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบเบปเบฒ, เบเบงเบฒเบกเบเปเปเบเปเบญเบกเบเบญเบเบเบปเบเบเบฐเบฅเบดเบเบเปเปเบกเบตเบเบปเบเบชเบฐเบเปเบญเบ.
เบเบปเบงโเบขเปเบฒเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเปเบเบดเปเบโเบเบทโเบเบตเปโ:
log_web__filebeat_clickhouse.conf
input {
beats {
port => 5044
type => 'iis'
ssl => true
ssl_certificate_authorities => ["/etc/logstash/certs/ca.cer", "/etc/logstash/certs/ca-issuing.cer"]
ssl_certificate => "/etc/logstash/certs/server.cer"
ssl_key => "/etc/logstash/certs/server-pkcs8.key"
ssl_verify_mode => "peer"
add_field => {
"fld_server_name" => "%{[fields][fld_server_name]}"
"fld_app_name" => "%{[fields][fld_app_name]}"
"fld_app_module" => "%{[fields][fld_app_module]}"
"fld_website_name" => "%{[fields][fld_website_name]}"
"fld_log_file_name" => "%{source}"
"fld_logformat" => "%{[fields][fld_logformat]}"
}
}
rabbitmq {
host => "queue.domain.com"
port => 5671
user => "q-reader"
password => "password"
queue => "web_log"
heartbeat => 30
durable => true
ssl => true
#ssl_certificate_path => "/etc/logstash/certs/server.p12"
#ssl_certificate_password => "password"
add_field => {
"fld_server_name" => "%{[fields][fld_server_name]}"
"fld_app_name" => "%{[fields][fld_app_name]}"
"fld_app_module" => "%{[fields][fld_app_module]}"
"fld_website_name" => "%{[fields][fld_website_name]}"
"fld_log_file_name" => "%{source}"
"fld_logformat" => "%{[fields][fld_logformat]}"
}
}
}
filter {
if [message] =~ "^#" {
drop {}
}
if [fld_logformat] == "logformat__iis_with_xrealip" {
grok {
match => ["message", "%{TIMESTAMP_ISO8601:log_timestamp} %{IP:serverIP} %{WORD:method} %{NOTSPACE:uriStem} %{NOTSPACE:uriQuery} %{NUMBER:port} %{NOTSPACE:username} %{IPORHOST:clientIP} %{NOTSPACE:userAgent} %{NOTSPACE:referer} %{NUMBER:response} %{NUMBER:subresponse} %{NUMBER:win32response} %{NUMBER:timetaken} %{NOTSPACE:xrealIP} %{NOTSPACE:xforwarderfor}"]
}
} else {
grok {
match => ["message", "%{TIMESTAMP_ISO8601:log_timestamp} %{IP:serverIP} %{WORD:method} %{NOTSPACE:uriStem} %{NOTSPACE:uriQuery} %{NUMBER:port} %{NOTSPACE:username} %{IPORHOST:clientIP} %{NOTSPACE:userAgent} %{NOTSPACE:referer} %{NUMBER:response} %{NUMBER:subresponse} %{NUMBER:win32response} %{NUMBER:timetaken}"]
}
}
date {
match => [ "log_timestamp", "YYYY-MM-dd HH:mm:ss" ]
timezone => "Etc/UTC"
remove_field => [ "log_timestamp", "@timestamp" ]
target => [ "log_timestamp2" ]
}
ruby {
code => "tstamp = event.get('log_timestamp2').to_i
event.set('logdatetime', Time.at(tstamp).strftime('%Y-%m-%d %H:%M:%S'))
event.set('logdate', Time.at(tstamp).strftime('%Y-%m-%d'))"
}
if [bytesSent] {
ruby {
code => "event['kilobytesSent'] = event['bytesSent'].to_i / 1024.0"
}
}
if [bytesReceived] {
ruby {
code => "event['kilobytesReceived'] = event['bytesReceived'].to_i / 1024.0"
}
}
ruby {
code => "event.set('clientRealIP', event.get('clientIP'))"
}
if [xrealIP] {
ruby {
code => "event.set('clientRealIP', event.get('xrealIP'))"
}
}
if [xforwarderfor] {
ruby {
code => "event.set('clientRealIP', event.get('xforwarderfor'))"
}
}
mutate {
convert => ["bytesSent", "integer"]
convert => ["bytesReceived", "integer"]
convert => ["timetaken", "integer"]
convert => ["port", "integer"]
add_field => {
"clientHostname" => "%{clientIP}"
}
}
useragent {
source=> "useragent"
prefix=> "browser"
}
kv {
source => "uriQuery"
prefix => "uriQuery__"
allow_duplicate_values => false
field_split => "&"
include_keys => [ "utm_medium", "utm_source", "utm_campaign", "utm_term", "utm_content", "yclid", "region" ]
}
mutate {
join => { "uriQuery__utm_source" => "," }
join => { "uriQuery__utm_medium" => "," }
join => { "uriQuery__utm_campaign" => "," }
join => { "uriQuery__utm_term" => "," }
join => { "uriQuery__utm_content" => "," }
join => { "uriQuery__yclid" => "," }
join => { "uriQuery__region" => "," }
}
}
output {
#stdout {codec => rubydebug}
clickhouse {
headers => ["Authorization", "Basic abcdsfks..."]
http_hosts => ["http://127.0.0.1:8123"]
save_dir => "/etc/logstash/tmp"
table => "log_web"
request_tolerance => 1
flush_size => 10000
idle_flush_time => 1
mutations => {
"fld_log_file_name" => "fld_log_file_name"
"fld_server_name" => "fld_server_name"
"fld_app_name" => "fld_app_name"
"fld_app_module" => "fld_app_module"
"fld_website_name" => "fld_website_name"
"logdatetime" => "logdatetime"
"logdate" => "logdate"
"serverIP" => "serverIP"
"method" => "method"
"uriStem" => "uriStem"
"uriQuery" => "uriQuery"
"port" => "port"
"username" => "username"
"clientIP" => "clientIP"
"clientRealIP" => "clientRealIP"
"userAgent" => "userAgent"
"referer" => "referer"
"response" => "response"
"subresponse" => "subresponse"
"win32response" => "win32response"
"timetaken" => "timetaken"
"uriQuery__utm_medium" => "uriQuery__utm_medium"
"uriQuery__utm_source" => "uriQuery__utm_source"
"uriQuery__utm_campaign" => "uriQuery__utm_campaign"
"uriQuery__utm_term" => "uriQuery__utm_term"
"uriQuery__utm_content" => "uriQuery__utm_content"
"uriQuery__yclid" => "uriQuery__yclid"
"uriQuery__region" => "uriQuery__region"
}
}
}
pipelines.yml
# This file is where you define your pipelines. You can define multiple.
# For more information on multiple pipelines, see the documentation:
# https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html
- pipeline.id: log_web__filebeat_clickhouse
path.config: "/etc/logstash/log_web__filebeat_clickhouse.conf"
ClickHouse. เบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฑเบเบเบถเบ
เบเบฑเบเบเบถเบเบชเปเบฒเบฅเบฑเบเบฅเบฐเบเบปเบเบเบฑเบเบซเบกเบปเบเบเบทเบเบเบฑเบเบเบถเบเปเบงเปเปเบเบเบฒเบเบฐเบฅเบฒเบเบเบฝเบง (เปเบเบดเปเบเปเบเบเบญเบเบเบปเปเบเบเบญเบเบเบปเบเบเบงเบฒเบก). เบกเบฑเบเบเบทเบเบญเบญเบเปเบเบเบกเบฒเปเบเบทเปเบญเปเบเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบฎเปเบญเบเบเป: เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบชเปเบฒเบฅเบฑเบเบฎเบนเบเปเบเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบเบปเบงเบขเปเบฒเบเปเบเบฑเปเบ IIS logs, apache เปเบฅเบฐ nginx logs. เบชเปเบฒเบฅเบฑเบเบเบฑเบเบเบถเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบตเป, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบเบงเบฒเบกเบเบดเบเบเบฒเบ, เบเปเปเบเบงเบฒเบกเบเปเปเบกเบนเบเบเปเบฒเบงเบชเบฒเบ, เบเบฒเบเปเบเบทเบญเบเปเบเปเบเปเบเบทเบเบเบฑเบเบเบถเบเปเบงเป, เบเบฒเบเบฐเบฅเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบญเบเปเบเบเบชเปเบฒเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก (เบเบฐเบเบธเบเบฑเบเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบญเบญเบเปเบเบ).
เปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบญเบญเบเปเบเบเบเบฒเบเบฐเบฅเบฒเบ, เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบฑเบเบชเบดเบเปเบเบเปเบฝเบงเบเบฑเบเบฅเบฐเบซเบฑเบเบเบปเปเบเบเป (เปเบเบเบเปเปเบกเบนเบเบเบฐเบเบทเบเบเบฑเบเบฎเบฝเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒ). เบฅเบฐเบเบฑเบเบเบญเบเบเบฒเบเบเบตเบเบญเบฑเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบงเบฒเบกเปเบงเบเบฒเบเบชเบญเบเบเบฒเบกเปเบกเปเบเบเบถเปเบเบเบฑเบเบเบตเป. เปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเบตเปเบชเปเบฒเบเบฑเบเปเบกเปเบ
เบชเบฑเปเบเปเบเบ (fld_app_name, fld_app_module, logdatetime)
เบเบฑเปเบเปเบกเปเบ, เปเบเบเบเบทเปเบเบญเบเบฅเบฐเบเบปเบ, เบเบทเปเบเบญเบเบญเบปเบเบเบฐเบเบญเบเบเบญเบเบฅเบฐเบเบปเบเปเบฅเบฐเบงเบฑเบเบเบตเบเบญเบเปเบซเบเบเบฒเบ. เปเบเปเบเบทเปเบญเบเบเบปเปเบ, เบงเบฑเบเบเบตเบเบญเบเปเบซเบเบเบฒเบเปเบกเปเบเบกเบฒเบเปเบญเบ. เบซเบผเบฑเบเบเบฒเบเบเปเบฒเบเบกเบฑเบเปเบเบเปเบญเบเบชเบธเบเบเปเบฒเบ, เบเบฒเบเบชเบญเบเบเบฒเบกเปเบฅเบตเปเบกเปเบฎเบฑเบเบงเบฝเบเปเบงเบเบถเปเบเบเบฐเบกเบฒเบเบชเบญเบเปเบเบปเปเบฒ. เบเบฒเบเบเปเบฝเบเบฅเบฐเบซเบฑเบเบซเบผเบฑเบเบเบฐเบเปเบญเบเบกเบตเบเบฒเบเบชเปเบฒเบเบเบฒเบเบฐเบฅเบฒเบเบเบทเบเปเปเป เปเบฅเบฐเบเบฒเบเบญเบฑเบเปเบซเบฅเบเบเปเปเบกเบนเบเบเบทเบเปเปเป เปเบเบทเปเบญเปเบซเป ClickHouse เบเบฐเบเบฑเบเบฎเบฝเบเบเปเปเบกเบนเบเปเบเบเบดเบชเบเปเบเบทเบเปเปเป. เบเบตเปเปเบกเปเบเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบตเปเบซเบเบธเปเบเบเบฒเบ, เบเบฑเปเบเบเบฑเปเบเบเบงเบเบเบดเบเบขเปเบฒเบเบฅเบฐเบญเบฝเบเบฅเปเบงเบเบซเบเปเบฒเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเบเบงเบเบเบฐเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบเบฐเปเบเบเบฒเบเบเบฑเบเบฅเบฝเบ.
เบเบงเบเบชเบฑเบเปเบเบเบงเปเบฒเบเบฐเปเบเบเบเปเปเบกเบนเบ LowCardinality เบเบฒเบเบปเบเบขเบนเปเปเบเบชเบฐเบเบฑเบเบเบตเปเบเปเบฒเบเบกเบฒเบเปเบญเบเบเปเบฒเบ. เปเบกเบทเปเบญเบเปเบฒเปเบเปเบกเบฑเบ, เบเบฐเบซเบเบฒเบเบเบญเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเบเบตเบเบญเบฑเบเปเบกเปเบเบซเบผเบธเบเบฅเบปเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบตเปเบกเบต cardinality เบเปเปเบฒ (เบเบฒเบเปเบฅเบทเบญเบเบซเบเปเบญเบ).
เบเบงเบเปเบฎเบปเบฒเบเบณเบฅเบฑเบเปเบเปเปเบงเบตเบเบฑเปเบ 19.6 เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบงเบฒเบเปเบเบเบเบตเปเบเบฐเบเบฐเบเบฒเบเบฒเบกเบญเบฑเบเปเบเบเปเบเบฑเบเปเบงเบตเบเบฑเปเบเบฅเปเบฒเบชเบธเบ. เบเบงเบเปเบเบปเบฒเบกเบตเบเบธเบเบชเบปเบกเบเบฑเบเบเบตเปเบเบญเบเบขเปเบฝเบกเปเบเบฑเปเบ Adaptive Granularity, Skipping indices เปเบฅเบฐ DoubleDelta codec, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ.
เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบดเบเบเบฑเปเบ, เบฅเบฐเบเบฑเบเบเบฒเบเบเบฑเบเบเบถเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบทเบเบเบฑเปเบเปเบซเปเบเบดเบเบเบฒเบก. เบเบฑเบเบเบถเบเบเบทเบเบซเบกเบธเบเปเบฅเบฐเปเบเบฑเบเปเบงเป, เปเบเปเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบเบงเบเบกเบฑเบเบเบฐเบซเบเบฒเบเปเบเบดเบ gigabyte. เบเปเบฒเบเปเปเบกเบตเบเบงเบฒเบกเบเปเบญเบเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเบเบปเบเบฅเบฐเบเบฑเบเบเบฒเบเปเบเบทเบญเบเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฐเบซเบเบฒเบเบเบญเบเบเบฑเบเบเบถเบเบเบฐเบซเบผเบธเบเบฅเบปเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ. เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบเบเบฑเบเบเบถเบเบเบทเบเบฅเบฐเบเบธเปเบงเปเปเบเปเบเบฅเป config.xml:
<!-- Possible levels: https://github.com/pocoproject/poco/blob/develop/Foundation/include/Poco/Logger. h#L105 -->
<level>warning</level>
เบเบฒเบเบเปเบฒเบชเบฑเปเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบ
ะะพัะบะพะปัะบั ะพัะธะณะธะฝะฐะปัะฝัะต ะฟะฐะบะตัั ัััะฐะฝะพะฒะบะธ ัะพะฑะธัะฐัััั ะฟะพ Debian, ัะพ ะดะปั ะดััะณะธั
ะฒะตััะธะน Linux ะฝะตะพะฑั
ะพะดะธะผะพ ะธัะฟะพะปัะทะพะฒะฐัั ะฟะฐะบะตัั ัะพะฑัะฐะฝะฝัะต ะบะพะผะฟะฐะฝะธะตะน Altinity.
ะะพั ะฟะพ ััะพะน ัััะปะบะต ะตััั ะธะฝััััะบัะธะธ ั ัััะปะบะฐะผะธ ะฝะฐ ะธั
ัะตะฟะพะทะธัะพัะธะน: https://www.altinity.com/blog/2017/12/18/logstash-with-clickhouse
sudo yum search clickhouse-server
sudo yum install clickhouse-server.noarch
1. ะฟัะพะฒะตัะบะฐ ััะฐัััะฐ
sudo systemctl status clickhouse-server
2. ะพััะฐะฝะพะฒะบะฐ ัะตัะฒะตัะฐ
sudo systemctl stop clickhouse-server
3. ะทะฐะฟััะบ ัะตัะฒะตัะฐ
sudo systemctl start clickhouse-server
ะะฐะฟััะบ ะดะปั ะฒัะฟะพะปะฝะตะฝะธั ะทะฐะฟัะพัะพะฒ ะฒ ะผะฝะพะณะพัััะพัะฝะพะผ ัะตะถะธะผะต (ะฒัะฟะพะปะฝะตะฝะธะต ะฟะพัะปะต ะทะฝะฐะบะฐ ";")
clickhouse-client --multiline
clickhouse-client --multiline --host 127.0.0.1 --password pa55w0rd
clickhouse-client --multiline --host 127.0.0.1 --port 9440 --secure --user default --password pa55w0rd
ะะปะฐะณะธะฝ ะบะปะธะบะปะฐัะทะฐ ะดะปั ะปะพะณััะตั ะฒ ัะปััะฐะต ะพัะธะฑะบะธ ะฒ ะพะดะฝะพะน ัััะพะบะต ัะพั
ัะฐะฝัะตั ะฒัั ะฟะฐัะบั ะฒ ัะฐะนะป /tmp/log_web_failed.json
ะะพะถะฝะพ ะฒัััะฝัั ะธัะฟัะฐะฒะธัั ััะพั ัะฐะนะป ะธ ะฟะพะฟัะพะฑะพะฒะฐัั ะทะฐะปะธัั ะตะณะพ ะฒ ะะ ะฒัััะฝัั:
clickhouse-client --host 127.0.0.1 --password password --query="INSERT INTO log_web FORMAT JSONEachRow" < /tmp/log_web_failed__fixed.json
sudo mv /etc/logstash/tmp/log_web_failed.json /etc/logstash/tmp/log_web_failed__fixed.json
sudo chown user_dev /etc/logstash/tmp/log_web_failed__fixed.json
sudo clickhouse-client --host 127.0.0.1 --password password --query="INSERT INTO log_web FORMAT JSONEachRow" < /etc/logstash/tmp/log_web_failed__fixed.json
sudo mv /etc/logstash/tmp/log_web_failed__fixed.json /etc/logstash/tmp/log_web_failed__fixed_.json
ะฒัั
ะพะด ะธะท ะบะพะผะฐะฝะดะฝะพะน ัััะพะบะธ
quit;
## ะะฐัััะพะนะบะฐ TLS
https://www.altinity.com/blog/2019/3/5/clickhouse-networking-part-2
openssl s_client -connect log.domain.com:9440 < /dev/null
LogStash. เบเบฑเบเบเบถเบ router เบเบฒเบ FileBeat เปเบเบซเบฒเปเบเบง RabbitMQ
เบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเปเบฒเบเบปเบเปเบชเบฑเปเบเบเบฒเบเบเบตเปเบกเบฒเบเบฒเบ FileBeat เปเบเบซเบฒเปเบเบง RabbitMQ. เบกเบตเบชเบญเบเบเบธเบเบขเบนเปเบเบตเปเบเบตเป:
- เปเบเปเบซเบเปเบฒเปเบชเบเบเบฒเบ, FileBeat เบเปเปเบกเบต plugin เบเบปเบเบเบฐเบฅเบดเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบเปเบเบเบเบปเบเบเบฑเบ RabbitMQ. เปเบฅเบฐเบเบฒเบเบเปเบฒเบเบฒเบเบเบฑเปเบเบเปเบฒเบง, เบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบเบฒเบเบเบญเบเปเบ github เบเบญเบเบเบงเบเปเบเบปเบฒ, เบเปเปเปเบเปเบเบทเบเบงเบฒเบเปเบเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ. เบกเบต plugin เบชเปเบฒเบฅเบฑเบ Kafka, เปเบเปเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบขเปเบฒเบเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบฒเบกเบฒเบเปเบเปเบกเบฑเบเปเบญเบ.
- เบกเบตเบเปเปเบเปเบฒเบเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบฑเบเบเบฑเบเบเบถเบเปเบ DMZ. เบญเบตเบเปเบชเปเบเบงเบเบกเบฑเบ, เบเบฑเบเบเบถเบเบเปเบฒเบญเบดเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบดเบงเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ LogStash เบญเปเบฒเบเบเบฑเบเบเบถเบเบเบฒเบเปเบเบงเบเบฒเบเบเบญเบ.
เบเบฑเปเบเบเบฑเปเบ, เปเบเบเบชเบฐเปเบเบฒเบฐเบชเปเบฒเบฅเบฑเบเบเปเบฅเบฐเบเบตเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเบฑเปเบเบขเบนเปเปเบ DMZ, เบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบเบตเปเบชเบฑเบเบชเบปเบเปเบฅเบฑเบเบเปเบญเบ. เบเบปเบงโเบขเปเบฒเบโเบเบฒเบโเบเบฑเปเบโเบเปเบฒโเปเบเบดเปเบโเบเบทโเบเบตเปโ:
iis_w3c_logs__filebeat_rabbitmq.conf
input {
beats {
port => 5044
type => 'iis'
ssl => true
ssl_certificate_authorities => ["/etc/pki/tls/certs/app/ca.pem", "/etc/pki/tls/certs/app/ca-issuing.pem"]
ssl_certificate => "/etc/pki/tls/certs/app/queue.domain.com.cer"
ssl_key => "/etc/pki/tls/certs/app/queue.domain.com-pkcs8.key"
ssl_verify_mode => "peer"
}
}
output {
#stdout {codec => rubydebug}
rabbitmq {
host => "127.0.0.1"
port => 5672
exchange => "monitor.direct"
exchange_type => "direct"
key => "%{[fields][fld_app_name]}"
user => "q-writer"
password => "password"
ssl => false
}
}
RabbitMQ. เปเบเบงเบเปเปเบเบงเบฒเบก
เบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญ buffer เบฅเบฒเบเบเบฒเบเบเบฑเบเบเบถเบเปเบ DMZ. เบเบฒเบเบเบฑเบเบเบถเบเปเบกเปเบเปเบฎเบฑเบเปเบเปเปเบเบเบเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป Filebeat โ LogStash. เบเบฒเบเบญเปเบฒเบเปเบกเปเบเปเบฎเบฑเบเบเบฒเบเบเบฒเบเบเบญเบ DMZ เบเปเบฒเบ LogStash. เปเบกเบทเปเบญเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบ RabbitMQ, เบเบฐเบกเบฒเบ 4 เบเบฑเบเบเปเปเบเบงเบฒเบกเบเปเปเบงเบดเบเบฒเบเบตเบเบทเบเบเบธเบเปเบเปเบ.
เปเบชเบฑเปเบเบเบฒเบเบเปเปเบเบงเบฒเบกเบเบทเบเบเบฑเปเบเบเปเบฒเปเบเบเบเบทเปเบฅเบฐเบเบปเบ, i.e., เบญเบตเบเบเบฒเบกเบเปเปเบกเบนเบเบเบฒเบเบเบฑเปเบเบเปเบฒ FileBeat. เบเปเปเบเบงเบฒเบกเบเบฑเบเปเบปเบเปเบเบปเปเบฒเปเบเปเบเบเบดเบงเบเบฝเบง. เบเปเบฒเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบขเปเบฒเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบดเบงเบขเบธเบ, เบเบตเปเบเบฐเบเปเปเบเปเบฒเปเบเบชเบนเปเบเบฒเบเบชเบนเบเปเบชเบเบเปเปเบเบงเบฒเบก: FileBeats เบเบฐเปเบเปเบฎเบฑเบเบเปเปเบเบดเบเบเบฒเบเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบฅเบฐเบเบฐเบขเบธเบเบเบฒเบเบชเบปเปเบเบเบปเปเบงเบเบฒเบง. เปเบฅเบฐ LogStash, เบเบตเปเบญเปเบฒเบเบเบฒเบเปเบเบง, เบเบฑเบเบเบฐเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบญเบเปเบเบทเบญเบเปเบฒเบเปเบฅเบฐเบฅเปเบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบทเบ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เปเบเปเบเบญเบ, เบเปเปเบกเบนเบเบเบฐเบเปเปเบเบทเบเบเบฝเบเปเบชเปเบเบฒเบเบเปเปเบกเบนเบ.
เบเบณเปเบเบฐเบเบณเบเปเปเปเบเบเบตเปเบเบทเบเปเบเปเปเบเบทเปเบญเบชเปเบฒเบ เปเบฅเบฐเบเบณเบเบปเบเบเปเบฒเบเบดเบง:
sudo /usr/local/bin/rabbitmqadmin/rabbitmqadmin declare exchange --vhost=/ name=monitor.direct type=direct sudo /usr/local/bin/rabbitmqadmin/rabbitmqadmin declare queue --vhost=/ name=web_log durable=true
sudo /usr/local/bin/rabbitmqadmin/rabbitmqadmin --vhost="/" declare binding source="monitor.direct" destination_type="queue" destination="web_log" routing_key="site1.domain.ru"
sudo /usr/local/bin/rabbitmqadmin/rabbitmqadmin --vhost="/" declare binding source="monitor.direct" destination_type="queue" destination="web_log" routing_key="site2.domain.ru"
เบเบฃเบฒเบเบฒเบเบฒ. เปเบเบเปเปเบฒเบเบฑเบ
เบญเบปเบเบเบฐเบเบญเบเบเบตเปเบเบทเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบชเบฐเปเบเบเบเปเปเบกเบนเบเบเบฒเบเบเบดเบเบเบฒเบก. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบเบฑเปเบเปเบซเบผเปเบเบเปเปเบกเบนเบ ClickHouse เบชเปเบฒเบฅเบฑเบ Grafana 4.6+ plugin. เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฑเบเบกเบฑเบเปเบฅเบฑเบเบเปเบญเบเปเบเบทเปเบญเบเบฑเบเบเบธเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบญเบเบเบฒเบเบเบฐเบกเบงเบเบเบปเบเบเบฒเบเบเบฑเปเบเบเบญเบ SQL เปเบ dashboard.
เบเบปเบงเบขเปเบฒเบเปเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบปเบงเปเบ, เปเบฅเบฐเบเปเบฒเบเบงเบเปเบเบปเบฒเบเปเปเปเบเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบฒเบเบเบฑเปเบเบเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเปเปเปเบซเปเบกเบฑเบเบชเปเบฒเบเปเบเบทเปเบญเบเปเบเปเบ WHERE เบเบญเบเปเบเบเบเบญเบก ( uriStem = "AND uriStem !="). เปเบเบเปเบฅเบฐเบเบตเบเบตเป, ClickHouse เบเบฐเบญเปเบฒเบเบเปเบฅเปเบฒ uriStem. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฐเบเบฒเบเบฒเบกเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบฅเบฐเบชเบธเบเบเปเบฒเบเปเบเปเปเบเปเปเบ plugin (macro $valueIfEmpty) เปเบเบทเปเบญเบเบฑเบเบเบทเบ 1 เปเบเบเปเบฅเบฐเบเบตเบเบญเบเบเปเบฒเบซเบงเปเบฒเบเปเบเบปเปเบฒ, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเบฒเบงเปเบเบดเบเบเปเบฅเปเบฒเบเบปเบงเบกเบฑเบเปเบญเบ.
เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเปเบฒเบเบฒเบกเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบฒเบ
$columns(response, count(*) c) from $table where $adhoc
and $valueIfEmpty($fld_app_name, 1, fld_app_name = '$fld_app_name')
and $valueIfEmpty($fld_app_module, 1, fld_app_module = '$fld_app_module') and $valueIfEmpty($fld_server_name, 1, fld_server_name = '$fld_server_name') and $valueIfEmpty($uriStem, 1, uriStem like '%$uriStem%')
and $valueIfEmpty($clientRealIP, 1, clientRealIP = '$clientRealIP')
เปเบเบดเปเบเบเบทเบเบเปเบฝเบเปเบเบฑเบ SQL เปเบเบเบเบตเป (เบชเบฑเบเปเบเบเบงเปเบฒเบเปเบญเบ uriStem เบซเบงเปเบฒเบเปเบเบปเปเบฒเบเบทเบเบเปเบฝเบเปเบเบฑเบเบเบฝเบ 1)
SELECT
t,
groupArray((response, c)) AS groupArr
FROM (
SELECT
(intDiv(toUInt32(logdatetime), 60) * 60) * 1000 AS t, response,
count(*) AS c FROM default.log_web
WHERE (logdate >= toDate(1565061982)) AND (logdatetime >= toDateTime(1565061982)) AND 1 AND (fld_app_name = 'site1.domain.ru') AND (fld_app_module = 'web') AND 1 AND 1 AND 1
GROUP BY
t, response
ORDER BY
t ASC,
response ASC
)
GROUP BY t ORDER BY t ASC
เบชเบฐเบซเบฅเบธเบ
เบฎเบนเบเบฅเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบฒเบเบเปเปเบกเบนเบ ClickHouse เปเบเปเบเบฒเบเปเบเบฑเบเปเบซเบเบเบฒเบเบเบตเปเบชเปเบฒเบเบฑเบเปเบเบเบฐเบซเบผเบฒเบ. เบกเบฑเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบตเปเบเบฐเบเบดเบเบเบฐเบเบฒเบเบฒเบเบงเปเบฒเปเบเบเบฑเบเบเบต, เบเปเปเปเบชเบเบเปเบฒเบเบฑเบเบซเบกเบปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบญเบเบญเบฒเบงเบธเบเบเบตเปเบกเบตเปเบเบทเปเบญเบเบกเบทเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเปเปเบกเบนเบเปเบซเบเป. เปเบเปเบเบญเบ, เปเบกเบทเปเบญเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเปเบเบตเปเบกเบเบถเปเบ (เบเบปเบงเบขเปเบฒเบ, sharding เปเบฅเบฐ replication เบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบซเบผเบฒเบ), เปเบเบเบเบฒเบเบเบฐเบเบฒเบเปเบเบฑเบเบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบเบซเบผเบฒเบ. เปเบเปเบญเบตเบเบเบฒเบกเบเบงเบฒเบกเบเบฐเบเบฑเบเปเบเบเบฑเปเบเบเปเบฒเบญเบดเบ, เบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบฒเบเบเปเปเบกเบนเบเบเบตเปเปเบกเปเบเปเบเบฑเบเบชเบธเบเบซเบผเบฒเบ. เบกเบฑเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบงเปเบฒเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเปเบกเปเบ "เบชเปเบฒเบฅเบฑเบเบเบฐเบเบฒเบเบปเบ".
เปเบกเบทเปเบญเบเบฝเบเบเบฝเบเบเบฑเบ ElasticSearch, เบเปเบฒเปเบเปเบเปเบฒเบเปเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบฅเบฐเบเบฒเบเบเบธเบเปเบเปเบเบเบฑเบเบเบถเบ, เบญเบตเบเบเบฒเบกเบเบฒเบเบเบฒเบเบเบฐเปเบเปเบเบทเปเบญเบเบเบปเปเบ, เบซเบผเบธเบเบฅเบปเบเบเบฒเบเบซเปเบฒเบซเบฒเบชเบดเบเปเบเบปเปเบฒ. เปเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเปเบญเบทเปเบเป, เบเปเบฒเบชเปเบฒเบฅเบฑเบเบเบฐเบฅเบดเบกเบฒเบเบเปเปเบกเบนเบเปเบเบเบฐเบเบธเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเบญเบเบเบฑเปเบเบเบธเปเบกเบเบญเบเปเบเบทเปเบญเบเบเบฑเบเบซเบผเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบกเบทเปเบญเบเปเบฒเปเบเป ClickHouse เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเบฝเบเปเบเปเบซเบเบถเปเบเปเบเบทเปเบญเบเบเบฑเบเบเปเปเบฒ. เปเบกเปเบเปเบฅเปเบง, เปเบเปเบเบญเบ, ElasticSearch เบเบฑเบเบกเบตเบเบปเบเปเบเบเบฒเบเบเบตเบเบญเบฑเบเบเปเปเบกเบนเบเปเบเปเบเปเบเปเบฅเบฐเบฅเบฑเบเบชเบฐเบเบฐเบญเบทเปเบเปเบเบตเปเบชเบฒเบกเบฒเบเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเปเบฅเบดเปเบเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ, เปเบเปเปเบกเบทเปเบญเบเบฝเบเบเบฝเบเบเบฑเบ ClickHouse เบเบตเปเบเบฐเบเปเบญเบเปเบเปเบเปเบฒเปเบเปเบเปเบฒเบเบซเบผเบฒเบเบเบงเปเบฒเปเบเบปเปเบฒ.
เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเบตเปเบกเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบดเปเบชเบเปเบเปเปเบเบชเปเบงเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ, เบเปเบงเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เบเบฒเบเปเบซเบผเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบฒเบเบเบถเบเบเปเปเบกเบนเบเบเบฒเบเบเบฒเบเบเปเปเบกเบนเบเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบเบเบงเบฒเบกเปเบงเบเบตเปเบซเบเปเบฒเบเบฐเบซเบฅเบฒเบเปเบ. เบเบงเบเปเบฎเบปเบฒเบเปเปเบกเบตเบเปเปเบกเบนเบเบซเบผเบฒเบเปเบเบทเปเบญ (เบเบฐเบกเบฒเบ 200 เบฅเปเบฒเบเบเบฑเบเบเบถเบ), เปเบเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบกเบฑเบเปเบญเบเบญเปเบญเบเปเบญ. เบเบงเบเปเบฎเบปเบฒเบญเบฒเบเบเบฐเปเบเปเปเบเบทเปเบญเบเบกเบทเบเบตเปเปเบเบญเบฐเบเบฒเบเบปเบเปเบเบทเปเบญเบเบธเบเบเบฐเบชเบปเบเบญเบทเปเบเปเบเบตเปเบเปเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฑเบเบเบถเบ. เบเบปเบงเบขเปเบฒเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบงเบดเปเบเบฒเบฐเปเบเบเบญเบเบเปเบฒเบ, เปเบเบเบปเบเปเบเบเบเบงเบฒเบกเบเบญเบเปเบ, เบเบฒเบเบฎเบฝเบเบฎเบนเปเปเบเบทเปเบญเบเบเบฑเบ.
เปเบเบเบตเปเบชเบธเบ, เปเบฅเบฑเบเบเปเบญเบเบเปเบฝเบงเบเบฑเบเบเปเปเบเบตเปเบฅเบฐเบเปเปเปเบชเบ.
ะะธะฝััั
- เบเบณเบฅเบฑเบเปเบซเบผเบเบเบฑเบเบเบถเบเปเบเบฑเบเบเบธเบเปเบซเบเป. เปเบเบญเบตเบเบเปเบฒเบเบซเบเบถเปเบ, เบเบตเปเปเบกเปเบเบเบธเบเบชเบปเบกเบเบฑเบ, เปเบเปเบงเปเบฒเบเปเบฒเบเบเบฑเบเบเปเบญเบเปเบเปเบญเบปเบเบเบฐเบเบญเบเปเบเบตเปเบกเปเบเบตเบกเปเบเบทเปเบญเบเบฑเบเบเบถเบ buffer. เบงเบฝเบเบเบฒเบเบเบตเปเบเปเปเปเบกเปเบเบเปเบฒเบเบเบฒเบเบชเบฐเปเบซเบกเบต, เปเบเปเบเบฑเบเปเบเปเปเบเปเบเป. เปเบฅเบฐเบเปเบญเบเบขเบฒเบเปเบฎเบฑเบเปเบซเปเปเบเบเบเบฒเบเบเปเบฒเบเบเบฒเบ.
- เบเบฒเบเบซเบเปเบฒเบเบตเปเปเบเบเบเบฐเบซเบฅเบฒเบเบซเบผเบทเบฅเบฑเบเบชเบฐเบเบฐเปเบซเบกเปเบกเบฑเบเบเบฐเปเบเบเบขเบนเปเปเบเบชเบฐเบเบฑเบเปเบซเบกเป. เบชเบดเปเบโเบเบฑเปเบเบเปเบฒเบงโเบชเปเบฒเบโเบเบงเบฒเบกโเบงเบดเบเบปเบโเบเบฑเบเบงเบปเบ, เบซเบผเบธเบเบเปเบญเบโเบเบงเบฒเบกโเบเบฒเบเบฐเปเบฒโเบขเบฒเบโเบเบปเบโเบฅเบฐเบเบฑเบโเปเบเบฑเบโเบชเบฐเบเบฑเบโเปเปเป. เบเบปเบงเบขเปเบฒเบ, เปเบเบทเปเบญเบเบเบฑเบเบเบฒเบเบฐเบฅเบฒเบ Kafka เปเบกเปเบเบเบธเบเบชเบปเบกเบเบฑเบเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบเบซเบผเบฒเบเบเบตเปเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบญเปเบฒเบเปเบซเบเบเบฒเบเปเบเบเบเบปเบเบเบฒเบ Kafka, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบนเปเบเปเบฅเบดเปเบเบ. เปเบเปเบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบเปเบฒเบเบงเบเบเบญเบเบเบฑเบเบซเบฒเบเปเบฝเบงเบเบฑเบ Github, เบเบงเบเปเบฎเบปเบฒเบเบฑเบ wary เบเบญเบเบเบฒเบเบเปเบฒเปเบเปเปเบเบทเปเบญเบเบเบฑเบเบเบตเปเปเบเบเบฒเบเบเบฐเบฅเบดเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเบเปเบฒเบเบเปเปเปเบฎเบฑเบเบเบฒเบเปเบเบทเปเบญเบเปเบซเบงเบขเปเบฒเบเบเบฐเบเบฑเบเบซเบฑเบเปเบเบเปเบฒเบเบเบฝเบเปเบฅเบฐเบเปเบฒเปเบเปเบซเบเปเบฒเบเบตเปเบเบทเปเบเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบฑเบเบเปเปเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบซเบกเบฑเปเบเบเบปเบ.
เบเบงเบฒเบกเบเบดเบเปเบซเบฑเบ
- เบเปเปเบเปเบฒเบฅเบปเบ.
- เปเบเบเปเบเบปเปเบฒเบเปเปเบฒ.
- เปเบซเบผเปเบเปเบเบตเบ.
- เบเบฃเบต.
- เบชเบฒเบกเบฒเบเบเบฑเบเบเบฐเปเบฒเบเปเบเป (เบเบฒเบเบเบญเบเปเบเบ/เบเบฒเบเบเบณเบฅเบญเบเปเบเบเบเบญเบเบเปเบญเบ)
- เบฅเบงเบกเบขเบนเปเปเบเบเบฐเบเบฝเบเบเบญเบเบเบญเบเปเบงเบฅเบฑเบเปเบเบเปเบเบฐเบเปเบฒเปเบเบเบเบฐเบเบงเบเบเบฒเบเบชเบทเปเบชเบฒเบ.
- เบกเบตเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบฒเบ Yandex.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com