通过Logstash将日志导入Serverless中进行运维分析

如果您需要查看并分析Nginx的日志,可以通过Logstash将日志发送到阿里云Elasticsearch Serverless应用中,再通过Kibana查看日志信息进行运维分析。本文介绍具体的实现方法。

前提条件

  • 已创建阿里云ECS实例。具体操作,请参见自定义购买实例,本文以CentOS操作系统为例。

  • 已将阿里云ECS实例的公网IP加入Elasticsearch Serverless应用中。具体操作,请参见配置公网访问白名单

  • 已创建Elasticsearch Serverless应用。具体操作,请参见创建应用

操作步骤

步骤一:安装Nginx以及Logstash

  1. 连接ECS服务器。

    具体操作请参见通过密码或密钥认证登录Linux实例

    说明

    本文档以普通用户权限为例。

  2. 安装并启动Nginx。

    1. 安装Nginx。

      # 使用yum安装
      yum -y install nginx
    2. 启动Nginx。

      systemctl start nginx
  3. 安装Logstash。

    1. 下载Logstash安装包。

      wget https://artifacts.elastic.co/downloads/logstash/logstash-7.10.2-linux-x86_64.tar.gz
    2. 解压Logstash。

      tar -zxf logstash-7.10.2-linux-x86_64.tar.gz

步骤二:配置并启动Logstash

  1. 配置Logstash。

    1. 进入Logstash配置文件的目录。

      cd logstash-7.10.2/config
    2. 创建ls2serverless.conf配置文件。

      vim ls2serverless.conf
    3. 在配置文件中添加以下配置。

      input {
        file {
          path => ["/var/log/nginx/access.log"]
          start_position => "beginning"
        }
      }
      
      output {
        elasticsearch {
          hosts => ["http://****.public.hangzhou.es-serverless.aliyuncs.com:9200"]
          index => "test-nginx-log"
          user => "****"
          password => "******"
        }
      }
  2. 进入Logstash目录。

    cd /root/logstash-7.10.2
  3. 将日志输出到ls2serverless.log中。

    说明

    如果无法上传数据,可以通过tail -f ls2serverless.log查看失败原因。

    nohup ./bin/logstash -f config/ls2serverless.conf > ls2serverless.log 2>&1 &

步骤三:通过kibana可视化查看数据

  1. 登录Kibana。

    具体操作,请参见使用Kibana

  2. 创建索引模式。

    说明

    在Discover中查看数据之前需要先创建索引模式。

    1. 在Kibana页面的左上角,选择菜单.png > Management > Stack Management

    2. 在左侧菜单栏,选择Kibana > Index Patterns

    3. 在页面右上角,单击Create index pattern

    4. Index pattern name中输入目标索引,例如test-nginx-log*,单击Next step

    5. 单击Create index pattern

  3. 通过Discover查看数据。

    1. 在Kibana页面的左上角,选择菜单.png > Kibana > Discover

    2. 选择目标索引,查看目标索引中的日志信息。

      image.png