elk安装
安装elasticsearch
下载
https://www.elastic.co/cn/downloads/elasticsearch
解压 tar -zxvf elasticsearch-8.8.1-linux-x86_64.tar.gz cd elasticsearch-8.8.1
1. 创建用户 elastic
,专门用于管理 Elasticsearch。(用root运行会报错)
//创建用户组 groupadd esgroup //创建用户 useradd -g esgroup esuser //设置权限 chown -R esuser:esgroup /usr/local/elasticsearch-8.8.1 //设置密码 passwd esuser //切换用户 su esuser
2、修改配置文件
config/elasticsearch.yml,这里为了验证是否安装成功,关闭安全认证:xpack.security.enabled和xpack.security.http.ssl: enabled 都改为 false,
否则无法直接通过浏览器访问 9200端口,后正式应用的时候在启用。
# 以后台方式启动 bin/elasticsearch -d -p pid.log # 启动需要点时间,稍等一下再执行下一句 curl http://localhost:9200
如果有如图json结果返回,那就说明安装成功。
安装logstash
下载地址:https://www.elastic.co/downloads/logstash
tar -zxvf logstash-8.8.1-linux-x86_64.tar.gz cd logstash-8.8.1
创建first-pipeline.conf配置文件,内容如下
input { beats { port => "5044" } } # The filter part of this file is commented out to indicate that it is # optional. filter { grok { match => { "message" => "%{COMBINEDAPACHELOG}"} } } output { elasticsearch { hosts => [ "localhost:9200" ] index => "logstash-nginx-%{+YYYY.MM.dd}" } }
输入采用beats输入插件,输出到elasticsearch,索引(index)为logstash-nginx-%{+YYYY.MM.dd},其中%{+YYYY.MM.dd}代表年月日
grok参考 https://www.elastic.co/guide/en/kibana/8.8/xpack-grokdebugger.html
运行logstas
bin/logstash -f first-pipeline.conf --config.reload.automatic
config.reload.automatic选项启用自动重新加载配置,这样您就不必在每次修改配置文件时停止并重新启动Logstash。
安装filebeat
下载地址:https://www.elastic.co/cn/downloads/beats/filebeat
tar -zxvf filebeat-8.8.1-linux-x86_64.tar.gz cd filebeat-8.8.1-linux-x86_64
修改配置文件filebeat.yml,内容如下。
filebeat.inputs: - type: log tail_files: true paths: - /local/nginx/logs/access.log output.logstash: hosts: ["localhost:5044"]
tail_files
如果此选项设置为true, Filebeat将在每个文件的末尾而不是开始读取新文件。当此选项与日志轮换一起使用时,可能会跳过新文件中的第一个日志条目。默认为false。
此选项适用于Filebeat尚未处理的文件。如果您之前运行了Filebeat,并且文件的状态已经持久化,那么tail_files将不应用。将继续获取在前一个偏移。要将tail_files应用于所有文件,必须停止Filebeat并删除registry file
。注意,这样做会删除所有以前的状态。
当您第一次在一组日志文件上运行Filebeat时,可以使用此设置来避免索引旧的日志行。在第一次运行之后,我们建议禁用此选项,否则您可能会在文件旋转期间丢失行。
paths 指向nginx日志文件,
output.logstash表示输出到logstash
保存配置。运行Filebeat
sudo ./filebeat -e -c filebeat.yml -d "publish"
Filebeat将尝试在端口5044上进行连接。在Logstash启动一个活动的Beats插件之前,该端口上不会有任何回答,所以您看到的关于该端口连接失败的任何消息现在都是正常的。
安装kibana
下载地址:https://www.elastic.co/downloads/kibana
解压后编缉config/kibana.yml,将server.host项修改为本机ip,将elasticsearch.url项赋值为elasticsearch地址。如我这里是:
server.host: "183.11.36.67"//(客户端ip地址) #server.host: "0.0.0.0" //(如果设置为0.0.0.0,则表示允许所有远程访问) elasticsearch.url: "
nohup bin/kibana --allow-root & --allow-root 表示运行用root运行
添加index
logstash-nginx-*与前面配置的 index => "logstash-nginx-%{+YYYY.MM.dd}"对应
最终效果如图所示
结尾
用filebeat解析日志。可以参考:https://www.elastic.co/guide/en/logstash/current/advanced-pipeline.html
https://www.elastic.co/guide/en/beats/filebeat/8.8/filebeat-input-log.html#_tail_files_2
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~