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.id
為 0
,則配置文件為: server0.properties
;第二個broker實例的 broker.id
為 1
,則配置文件為: server1.properties
;以此類推。
server.properties
配置文件中log.dirs
配置標准化:/tmp/kafka-logs-broker.id號
例如:broker.id
的值為 0
, 則 log.dirs
的值為 /tmp/kafka-logs-0
;broker.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 中 topic
為 nginx
的數據,則 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
;