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
;