1. 下载和安装Elasticsearch、Logstash和Filebeat

首先,需要分别下载和安装Elasticsearch、Logstash和Filebeat。

1. 下载并安装Elasticsearch:根据系统类型下载相应的Elasticsearch安装包,然后按照官方文档所述的步骤进行安装。

2. 下载并安装Logstash:同样,根据系统类型下载相应的Logstash安装包,并按照官方文档中的步骤进行安装。

3. 下载并安装Filebeat:同样地,根据系统类型下载相应的Filebeat安装包,并按照官方文档中的步骤进行安装。

2. 配置Filebeat

在进行日志分析之前,我们需要配置Filebeat来收集Nginx日志。

1. 编辑Filebeat配置文件:打开安装目录下的Filebeat配置文件filebeat.yml,并按照以下方式进行配置:

filebeat:
  inputs:
    - type: log
      enabled: true
      paths:
        - /path/to/nginx/logs/*.log          # 指定Nginx日志文件的路径
      
  output:
    logstash:
      hosts: ["localhost:5044"]             # 设置Logstash的地址和端口

2. 启动Filebeat:保存配置文件后,启动Filebeat服务来开始收集Nginx日志。

sudo service filebeat start

3. 配置Logstash

配置Logstash将Filebeat收集到的Nginx日志发送到Elasticsearch进行存储和分析。

1. 编辑Logstash配置文件:打开Logstash的配置文件logstash.conf,并按照以下方式进行配置:

input {
  beats {
    port => 5044               # 设置Logstash监听的端口,与Filebeat配置文件中的一致
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }     # 使用grok模式匹配Nginx日志的格式
  }
  date {
    match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]   # 将timestamp字段按照指定格式解析为日期
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]      # 设置Elasticsearch的地址和端口
    index => "nginx-%{+YYYY.MM.dd}"  # 指定存储到Elasticsearch的索引名称
  }
}

2. 启动Logstash:保存配置文件后,启动Logstash服务来接收Filebeat发送的Nginx日志。

sudo service logstash start

4. 使用Elasticsearch进行Nginx日志分析

安装、配置并启动Elasticsearch、Logstash和Filebeat后,我们可以使用Kibana来进行Nginx日志的可视化和分析。

1. 打开Kibana:在浏览器中打开Kibana的地址(默认为 http://localhost:5601)。

2. 创建索引模式:在Kibana的界面上,导航到"Management" -> "Index Patterns",点击"Create index pattern"按钮。在"Index pattern"字段中输入索引名称(如nginx-*),然后点击"Next step"。

3. 选择时间字段:在"Time Filter field name"下拉菜单中选择日期字段(如@timestamp),然后点击"Create index pattern"完成索引模式的创建。

4. 分析Nginx日志:现在我们可以在Kibana的"Discover"或"Visualize"页面中使用各种功能和可视化工具来分析和可视化Nginx日志了。