本文共 3512 字,大约阅读时间需要 11 分钟。
一套成熟的系统日常运作过程中会产生各种日志,如系统日志、操作日志、访问日志、异常日志等,在不引入日志收集工具时,在生产环境中查看日志成为了一件十分繁琐的事情,首先得问运维拿某个时间段产生的日志,然后下载到本地一份一份去查看。在系统应用数量与访问不大时,这种方式还可以接受。当有多个系统以及每个系统产生多份日志时,这种查询效率变得十分低效。因此一个成熟的日志收集系统应该至少为我们解决以下几个问题:
安装elasticsearch 6.3.0,下载地址: 6.3.0解压放在D:\ELK目录下,改名为es,转到D:\ELK\es\bin目录,执行elasticsearch.bat命令启动。
安装logstash 6.3.0版本,下载地址: 6.3.0 解压放在D:\ELK目录下,改名为logstash。logstash启动时需要指定配置监控日志策略的文件,首先新建一个logstash启动的配置文件test.conf放在D:\ELK\logstash\config目录下,内容如下:
input { file{ path => "D:/logs/log*" #在logs目录下收集log开头的日志文件 type => "syslog" start_position => beginning #从首行开始读取文件 } }filter {}output { elasticsearch { hosts => ["localhost:9200"] #elasticsearch的地址 index => "syslog" #指定索引名为syslog(查看日志时使用) }}
转到D:\ELK\logstash\bin的目录执行:logstash -f …/config/test.conf 启动。
安装Elasticsearch 6.3.0版本,下载地址: 6.3.0解压放在ELK目录下,改名为ES,转到ELK\ES目录,执行bin/elasticsearch 命令启动(需要后台启动执行:bin/elasticsearch &)。
安装 Logstash 6.3.0 版本,下载地址:
将logstash 6.3.0 解压放在ELK目录下,改名为logstash。logstash启动时需要指定配置监控日志策略的文件,首先新建一个logstash启动的配置文件test.conf放在ELK\logstash\config目录下,内容如下:input { file{ path => "/logs/log*" #在logs目录下收集log开头的日志文件 type => "syslog" start_position => beginning #从首行开始读取文件 } }filter {}output { elasticsearch { hosts => ["localhost:9200"] #elasticsearch的地址 index => "syslog" #指定索引名为syslog(查看日志时使用) } }
转到ELK\logstash的目录执行:bin/logstash -f config/test.conf(需要后台启动执行:bin/logstash -f config/test.conf &)
注意:
max file descriptors [4096] for elasticsearch process likely too low, consider increasing to at least [65536]
大致意思为当前用户的每个进程最大同时打开文件数太小,解决方案如下:
vim /etc/security/limits.conf 文件在最后新增下面两行,设置elastic用户可打开文件的最大数量elastic hard nofile 65536elastic soft nofile 65536
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
大致意思为elasticsearch的最大虚拟内存不够,需要设置最大虚拟内存值
vim /etc/sysctl.conf 文件在最后新增下面一行,设置elastic最大虚拟内存vm.max_map_count=262144并执行命令:sysctl -p 让配置生效
转载地址:http://bnywb.baihongyu.com/