filebate,ELK的包都可以在国内加速地址下下载
https://www.newbe.pro/Mirrors/Mirrors-Logstash/
安装es:
1、下载资源包并解压安装
- tar -zxvf elasticsearch-6.5.4.tar.gz -C /usr/local/elk —C表示指定解压到的目录
2、因为es在5版本后不允许root账号启动,因此需要创建一个子用户
useradd elsearch
chown -R elsearch:elsearch /usr/local/elk/elasticsearch-6.5.4 对解压的目录赋予指定用户权限
3、修改es的配置文件
- 启动时可能报错的解决方案(修改时都要在root用户下进行)
vim //etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
2. vim /etc/sysctl.conf文件末尾添加vm.max_map_count=655360,保存后执行:sysctl -p 使其生效
要用elsearch 角色启动es才行,./elasticsearch -d 后台启动
es-header 要用docker 安装
1、进入head安装目录;docker exec -it 名称 bash
2、打开文件夹_site,cd _site/
3、编辑vendor.js 共有两处,需要在docker中安装vim
①. 6886行 contentType: "application/x-www-form-urlencoded
改成
contentType: "application/json;charset=UTF-8"
②. 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改成
var inspectData = s.contentType === "application/json;charset=UTF-8" &&
4.修改es的配置文件 elasticsearch.yml,增加下面两行
http.cors.enabled: true
http.cors.allow-origin: "*"
安装logstash
解压包后,在config目录下新建一个文件logstash-test.conf,由于用filebeat来收集日志,所以input这里是暴露端口被动的接受,
output则输出到es中
input {
# file {
# path => ["/usr/local/elk/logs/1.txt"]
# start_position => "beginning"
# sincedb_path => "/dev/null"
# }
beats {
port =>"5044"
}
}
output {
elasticsearch {
hosts => ["192.168.205.128:9200"]
}
stdout {codec => rubydebug}
}
切换到bin目标下,启动logstash。
./logstash -f ../config/logstash-test.conf &
安装filebeat
新建一个配置文件filebeat_to_logstash.yml,读取logs下面的日志文件,输出到logstash中
filebeat.inputs:
- type: log
enabled: true
paths:
- /usr/local/elk/logs/info.log
output.logstash:
# The Logstash hosts
hosts: ["192.168.205.128:5044"]
#output.console:
# enabled: true
# pretty: true
启动命令如下:./filebeat -e -c filebeat_to_logstash.yml -d
注意,要在logstash启动后在启动filebeat
安装 kibana
切到bin目标,启动命令如下:./kibana -d
然后在kibana中创建索引就可以查到日志了