计算机学习

您现在的位置是:首页 > 未分类 > 正文

未分类

elk安装

hhb2023-06-17未分类236
安装elasticsearch下载

安装elasticsearch

下载

https://www.elastic.co/cn/downloads/elasticsearch

1686980535306.png

解压
tar -zxvf elasticsearch-8.8.1-linux-x86_64.tar.gz
cd elasticsearch-8.8.1

1. 创建用户 elastic,专门用于管理 Elasticsearch。(用root运行会报错)

1686980911637.png

//创建用户组 
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端口,后正式应用的时候在启用。

1686981050285.png

# 以后台方式启动
bin/elasticsearch -d -p pid.log
# 启动需要点时间,稍等一下再执行下一句
curl http://localhost:9200

1686981126493.png

如果有如图json结果返回,那就说明安装成功。


安装logstash

下载地址:https://www.elastic.co/downloads/logstash

1686982207742.png



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

1687276367429.png



1687276427419.png

1687276518605.png

logstash-nginx-*与前面配置的 index => "logstash-nginx-%{+YYYY.MM.dd}"对应

最终效果如图所示

1687277128697.png

结尾

用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

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~