ELK环境搭建步骤

ELK:ElasticSearch、Logstash、Kibana

用途:开源的日志分析系统

ELK组件角色:

ElatsicSearch:基于Solr的全文检索引擎,近实时搜索
Logstash:数据收集工具,将数据输入ElasticSearch(准备索引数据)
Kibana: Web UI工具,给客户提供搜索引擎的可视化数据分析服务

环境:Debian 9
注意:低版本的Linux内核可能回出现警告,建议使用高版本

小技巧

  1. 建议虚拟机配置主机名-IP映射(hosts文件),使用IP地址时直接通过主机名映射
  2. ELK产品系列bin目录统一放入PATH路径,方便直接调用
  3. 将ELK数据交互端口加入防火墙规则,避免被屏蔽导致外系统无法访问
    sudo firewall-cmd –zone=public –add-port=9200/tcp –permanent
    sudo firewall-cmd –reload

ElasticSearch安装步骤:

步骤:解压ES压缩包,修改elasticsearch-6.2.2/config/elasticsearch.yml文件
ELK环境搭建步骤
启动ES:
elasticsearch -d(后台运行)
启动成功效果:
ELK环境搭建步骤

可能报错:

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案:

1.修改/etc/sysctl.conf,添加下列配置信息vm.max_map_count=655360
2.修改文件/etc/security/limits.conf(限制线程访问个数,重启生效)
* soft nproc 4096
* hard nproc 4096

3.配置(/etc/sysctl.conf)生效:sudo sysctl -p
注意:部分系统不会立即生效,最好配置完成后系统重启

Logstash安装步骤:

步骤:创建/logstash-6.2.2/config/log4j-pipeline.conf 文件
input {
log4j {
mode => “server”
host => “debian”
port => 4560
}
}

output {
elasticsearch {
hosts => [ “debian:9200” ]
index => “log4j-%{+YYYY.MM.dd}”
document_type => “log4j_type”
}
}

功能:将log4j的日志接入Logstash

Input: logstash的数据输入源
log4j:表示接收log4j文件数据(需插件支持)
mode:默认服务器模式,log4j客户端主动推送数据到logstash
host:logstash服务器地址
port:logstash接收数据的接口(可自定义)

output: Logstash输出数据的目标地

elasticsearch:数据输出到ES
hosts:ES服务器地址
index:日志文件生成的索引名
document_type:文档类型

Logstash启动:logstash -f config/log4j-pipeline.conf
ELK环境搭建步骤

问题:log4j插件默认未安装,导致log4j配置信息处理异常
解决:logstash-plugin install logstash-input-log4j(联网)

Kibana安装教程:

步骤:解压kibana压缩包,修改文件
ELK环境搭建步骤
Kibana启动: kibana

成功验证:
ELK环境搭建步骤

Kibana使用步骤:

  1. 创建索引查询模式:方便直接ES索引库
    ELK环境搭建步骤

  2. 查看索引库文档
    ELK环境搭建步骤
    说明:索引库megacorp存在三个文档

Kibana测试:

查询smith的记录:
ELK环境搭建步骤

至此ELK整合完成。