ELK之日志收集系統之相關規范標准化


EFK之解壓后的安裝包存放目錄標准化

  • 安裝包解壓目錄統一存放於目錄 /usr/local

例如,我們在前面安裝 Kafka 時,首先需下載安裝包,然后解壓安裝包,如:5.EFK 架構部署之安裝 Kafka

# cd /opt/efk
# curl -L -O https://www.apache.org/dyn/closer.cgi?path=/kafka/2.1.0/kafka_2.11-2.1.0.tgz
# tar -xzf kafka_2.11-2.1.0.tgz
# mv kafka_2.11-2.1.0 /usr/local

安裝包的名字為:kafka_2.11-2.1.0.tgz,解壓后的目錄文件為:kafka_2.11-2.1.0
直接將解壓后的目錄文件移至/usr/local目錄下,即可


Kafka 相關配置標准化

Kafka 之 broker 主配置文件標准化

kafka可以在單機上配置多個不同的broker實例,然而broker的配置文件默認存放於 /usr/local/kafka_2.11-2.1.0/config 目錄(當然基於上面定義的EFK之解壓后的安裝包存放目錄標准化前提)的server.properties文件,這個配置文件卻只有一個,我們將來可能會根據實際情況定義不同的 broker 實例,所以要將server.properties先 copy 一份,然后另取一個名字。在 broker 中,broker.id 必須是唯一的。因此我們在命名時定義如下標准。

  • server.properties的命名規范:在 server字段后面加broker.id的值。

例如:第一個broker 實例的 broker.id0,則配置文件為: server0.properties;第二個broker實例的 broker.id1,則配置文件為: server1.properties;以此類推。

  • server.properties 配置文件中 log.dirs 配置標准化:/tmp/kafka-logs-broker.id號

例如:broker.id的值為 0, 則 log.dirs 的值為 /tmp/kafka-logs-0broker.id的值為 1, 則 log.dirs 的值為 /tmp/kafka-logs-1

Kafka 之消費者配置標准化

根據我們使用Kafka時的理念,對不同應用類型的日志,定義不同的topic主題;一個topic分配了多個partition,然而每一個partition需要制定一個消費者消費其中的隊列消息。我們會遇到一個topic主題,需要多個消費者的情況。

Kafka的消費者配置文件位於/usr/local/kafka_2.11-2.1.0/config下的 consumer.properties

  • consumer.properties的命名規范:consumer-日志類型-第幾個消費者

例如:我們要定義一個消費者,消費topic為nginx中的隊列數據,很明顯,這是我們定義的消費topic為nginx中的隊列數據中的第一個消費者,因此配置文件命名為:consumer-nginx-1.properties
如果topic為 nginx 的主題有兩個partition,則我們需要再定義第二個消費者,因此配置文件命名為:consumer-nginx-2.properties

如果要給 topic為 system 的主題定義一個消費者,則配置文件命名為:consumer-system-1.properties,依次類推,如下圖所示:

  • consumer.properties中的 client.id 標准化:消費者名類型-第幾個消費者

例如:消費者消費的是 nginx 中的日志隊列數據。且是第一個創建的消費者,則命名為:client.id=nginx1;如果是第二個消費者,則命名為:client.id=nginx2

Logstash 配置相關標准化

Logstash主要是接收Kafka中輸出的數據,並轉發存儲到Elasticsearch中,我們設計的理念是配置多個 indexer 來接收kafka中不同topic中的數據。所以對於 indexer 的命名需要定義一個規范。
由於我們是 rpm 包安裝的logstash,因此配置文件位於 /etc/logstash/conf.d 下。

  • indexer 命名規范:indexer-日志類型.conf

例如:接收 Kafka 中 topicnginx 的數據,則 indexer命名為: indexer-nginx.conf


日志相關標准化

  • 日志統一存放路徑: /var/log 目錄下,最好根據不同應用的日志,再定義一個子目錄:

例如:要存放的日志為 nginx 的日志,則日志路徑為 /var/log/nginx/

  • 日志輪詢標准化:

日志文件大小:每一個日志文件不能超過10M。
日志文件打包個數:10個
日志文件存放時間: 7 天

  • 日志命名規范:

nginx 的 access 日志:站點名-access.log,站點名根據/etc/nginx/conf.d目錄下的站點名稱配置(便於后期用 GoAccess 分析各個站點的訪問數據);
nginx 的 error 日志: error.log,即/var/log/nginx/error.log;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM