ELK日志搜索平台搭建
elasticsearch
下载 - 解压
创建用户
elasticsearch不允许使用root用户启动
创建用户、授权
eg: useradd elastic -p xxxxxx
chown -R elastic:elastic elasticsearch
后台启动
进入bin目录 ./elasticsearch -d
关闭杀进程 ps -ef|grep elasticsearch
日志目录
$elasticsearch_home/logs/elasticsearch.log
常见启动报错
[2] bootstrap checks failed
[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改最大文件句柄数 /etc/security/limits.conf
* hard nofile 65535 => * hard nofile 65537
修改后需要注销用户重新登录才生效 使用 ulimit -n 查看
修改 vm.max_map_count
/etc/sysctl.conf 添加配置vm.max_map_count=655300 (默认值的10倍)
修改完后使用
sysctl -p 刷新
jdk版本指定
修改 bin/elasticsearch
文件开头添加
export JAVA_HOME=/usr/local/java/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
开启外网访问
修改 $elasticsearch_home/config/elasticsearch.yml
network.host 0.0.0.0
kibana
配置
elasticsearch地址与可供外网访问bind地址
$kibana_home/config/kibana.yml
elasticsearch.url : “http://localhost:9200”
server.host : 0.0.0.0
ps: kibana的进程不带"kibana"字符串,查找带“node”的进程才能找到。
启动
nohup ./kibana
logstash
配置
input {
file {
path => "/usr/local/tomcat/tomcat7/logs/app-server*"
start_position => "beginning"
}
}
output {
elasticsearch {
hosts => ["http://120.27.112.92:9200"]
index => "appserver-log-%{+YYYY.MM.dd}"
}
}
指定jdk版本
export JAVA_HOME="/usr/local/jdk1.8.0_171"
export JAVA_CMD="/usr/local/jdk1.8.0_171/bin"
启动
nohup ./logstash -f ../config/logstash.conf &