ELK环境搭建步骤
ELK:ElasticSearch、Logstash、Kibana
用途:开源的日志分析系统
ELK组件角色:
ElatsicSearch:基于Solr的全文检索引擎,近实时搜索
Logstash:数据收集工具,将数据输入ElasticSearch(准备索引数据)
Kibana: Web UI工具,给客户提供搜索引擎的可视化数据分析服务
环境:Debian 9
注意:低版本的Linux内核可能回出现警告,建议使用高版本
小技巧:
- 建议虚拟机配置主机名-IP映射(hosts文件),使用IP地址时直接通过主机名映射
- ELK产品系列bin目录统一放入PATH路径,方便直接调用
- 将ELK数据交互端口加入防火墙规则,避免被屏蔽导致外系统无法访问
sudo firewall-cmd –zone=public –add-port=9200/tcp –permanent
sudo firewall-cmd –reload
ElasticSearch安装步骤:
步骤:解压ES压缩包,修改elasticsearch-6.2.2/config/elasticsearch.yml文件
启动ES:
elasticsearch -d(后台运行)
启动成功效果:
可能报错:
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 40963.配置(/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
问题:log4j插件默认未安装,导致log4j配置信息处理异常
解决:logstash-plugin install logstash-input-log4j(联网)
Kibana安装教程:
步骤:解压kibana压缩包,修改文件
Kibana启动: kibana
成功验证:
Kibana使用步骤:
创建索引查询模式:方便直接ES索引库
查看索引库文档
说明:索引库megacorp存在三个文档
Kibana测试:
查询smith的记录:
至此ELK整合完成。