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