基于阿里云Elasticsearch的日志采集分析展示

因业务需求,需要将阿里云入口nginx访问日志进行收集统计,最原始的办法当然是将各个nginx服务器每个都统计一遍然后进行累加,这样做很麻烦不可取,鉴于我们之前已经购买过阿里云Elasticsearch服务,就想着把nginx日志采集到阿里云elasticsearch中,最开始我们想到的是通过阿里云beats来收集,查阅阿里云官方文档介绍如下

本文以Filebeat为例,介绍安装和管理采集器(Beats)的方法。通过采集器,您可以收集云服务器ECS(Elastic Compute Service)中的日志文件、网络数据、服务器指标等数据,发送到阿里云Elasticsearch(简称ES)或阿里云Logstash中,进行监控、分析等操作。

前提条件
您已完成以下操作:
创建阿里云ES实例或Logstash实例。
详情请参见创建阿里云Elasticsearch实例和创建阿里云Logstash实例。

开启阿里云ES实例的自动创建索引功能。
处于安全考虑,阿里云ES默认不允许自动创建索引。但是Beats目前依赖该功能,因此如果采集器Output选择为Elasticsearch,需要开启自动创建索引功能,详情请参见开启自动创建索引。

创建阿里云ECS实例,且该ECS实例与阿里云ES实例或Logstash实例处于同一专有网络VPC(Virtual Private Cloud)下。
详情请参见使用向导创建实例。

注意
Beats默认安装目录为/opt/aliyunbeats/。安装后,ECS上会生成conf、logs和data这3个目录,分别映射了配置文件、Beats日志文件和Beats数据文件。建议不要删除或修改这3个文件中的内容,否则可能出现异常或者导致数据不正确。当出现问题时,您可以在logs目录下查看Beats日志,来定位问题。
Beats目前仅支持Aliyun Linux ,RedHat和CentOS这三种操作系统。
在目标ECS实例上安装云助手和Docker服务。

可以看到还需要在每个主机上面部署docker服务,为了收集日志还得部署docker,感觉有点得不偿失,于是我们就开始自己部署filebeat来采集,下面记录下实际的流程

1、开启es自动创建索引功能
出于安全考虑,阿里云默认是关闭改功能,但想要通过beats写入es,必须开启该功能,注意该功能开启请在夜间无业务流量期间执行,因为开启该功能会重启es实例

基于阿里云Elasticsearch的日志采集分析展示

2、各个组件部署filebeat并配置
部署过程略过,下面简单贴出部分配置

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /home/logs/*.access.log
  tags: ["access"]

  json.keys_under_root: true
  json.overwrite_keys: true
  tail_files: true

- type: log
  enabled: true
  paths:
    - /home/logs/error.*.log

  tags: ["error"]
  tail_files: true

setup.kibana:
  host: "xxxxx.elasticsearch.aliyuncs.com:5601"   ##请填写你实际的地址

output.elasticsearch:
  hosts: ["yyy.elasticsearch.aliyuncs.com:9200"]   ##请填写你实际的地址
  username: "aaa"    ##用户名及密码请填写实际的
  password: "bbb"

  indices:
    - index: "nginx-access-%{[beat.version]}-%{+yyyy.MM}"
      when.contains:
        tags: "access"
    - index: "nginx-error-%{[beat.version]}-%{+yyyy.MM}"
      when.contains:
        tags: "error"
setup.template.name: "nginx"
setup.template.pattern: "nginx-*"
setup.template.enabled: false
setup.template.overwrite: true

3.启动并通过kibana观察es索引
systemcat start filebeat
基于阿里云Elasticsearch的日志采集分析展示

可以看到日志已经被采集到es里面,接下来添加该索引进行展示即可
基于阿里云Elasticsearch的日志采集分析展示

个人现已录制了一套按照企业生产标准的jumpserver堡垒机(2020年1.5.8最新版本)落地到企业应用视频,如有兴趣请前往
https://edu.51cto.com/sd/84158

相关推荐