ELK企业应用场景之Nginx日志采集-filebeat+es+kibana

      

目录

1.日志采集模式

2.部署filebeat服务

2.1.上传filebeat安装包

2.2.解压filebeat安装包

3.采集nginx日志

3.1.filebeat-mall-nginx-mobilemall.yml 配置文件

3.2.检查配置文件是否正确

3.3.Nginx日志查询验证

3.3.1.启动filebeat服务

3.3.2.创建索引模板

3.3.3.创建索引模式

3.3.4.查询结果展示


  Filebeat 是一个轻量级的日志传输工具,它可以监视文件变化并自动将新的日志行传输到 Elasticsearch。Filebeat 的配置相对简单,可以轻松地部署在多个环境中,包括裸机、虚拟机和容器等。由于 Filebeat 轻量级的特点,它更适合于规模较小的日志收集场景。
        ES(Elasticsearch)是一个分布式搜索和分析引擎,它可以对海量数据进行快速、近实时的存储、搜索和分析。ES 的强大功能使其适用于各种规模的企业级应用。
        Kibana 是一个可视化工具,它可以与 Elasticsearch 配合使用,为使用者提供直观的数据展示和查询界面。Kibana 支持多种数据源和查询方式,可以方便地对数据进行探索、分析和导出。
        适用场景:Filebeat+ES+Kibana 适用于中小型企业的日志分析场景,特别是需要监控裸机或虚拟机环境的场景。由于 Filebeat 的轻量级特点,它也适用于一些需要轻量级日志传输的场景。

1.日志采集模式


模式:filebeat+es+kibana

2.部署filebeat服务


在需要采集日志的机器上部署filebeat服务,具体部署步骤如下。


2.1.上传filebeat安装包


将filebeat-7.8.0-linux-x86_64.tar.gz上传到/usr/local目录下

2.2.解压filebeat安装包


命令:tar xzvf filebeat-7.8.0-linux-x86_64.tar.gz


3.采集nginx日志


3.1.filebeat-mall-nginx-mobilemall.yml 配置文件


配置文件路径:/usr/local/filebeat-7.8.0-linux-x86_64/
创建filebeat-mall-nginx-mobilemall.yml配置文件,配置示例如下:
赋权:chmod 755 filebeat-mall-nginx-mobilemall.yml 

##########filebeat采集nginx日志输入ES#########
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /usr/local/nginx/logs/mobilemall.log
  tags: ["mall-nginx-mobilemall-fz"]
  json.keys_under_root: true
  json.add_error_key: true  
output.elasticsearch:
  hosts: ["10.62.196.19:9200"]
  indices:
    - index: "mall-nginx-mobilemall-fz-%{+YYYY-MM-dd}"
      when.contains:
        tags: "mall-nginx-mobilemall-fz"
setup.template.enabled: false
setup.template.name: "nginx"
setup.template.pattern: "mall-nginx-*"
setup.template.overwrite: true


配置说明:
input:
type: 指定输入类型为日志类型。
enabled: 启用输入,这个参数设置为true表示启用该输入。
paths: 指定需要监控的日志文件的路径,
tags: 为监控的日志文件添加标签,这样可以在后续的搜索或过滤中    使用这些标签。
json.keys_under_root: true-Filebeat将JSON日志中的键直接放在事件    的根级别,而不是嵌套在“fields”下。这有助于使Elasticsearch中的数据结    构更加扁平化。
json.add_error_key: true-如果JSON解析失败,这将在事件中添加一个错    误字段。这有助于识别和解析问题。
output:
output.elasticsearch: 定义输出目标为Elasticsearch。
hosts: 指定Elasticsearch的主机地址和端口,
indices: 定义将日志发送到的Elasticsearch的索引名称。在这里,当    日志中包含"mall-nginx-mobilemall-fz"这个标签时,日志将被发送    到"mall-nginx-mobilemall-fz-%{+YYYY-MM-dd}"这个索引中。
setup.template.enabled: 定义是否启用模板设置,这里设置为false    表示不启用。
setup.template.name: 定义要创建的模板的名称,这里是"nginx"。
setup.template.pattern: 定义要匹配的模板的模式,这里任何以    "mall-nginx-*"开头的索引都会匹配这个模板。
setup.template.overwrite: 如果设置为true,那么如果已经存在一个    与setup.template.name同名的模板,Filebeat将会覆盖它。


3.2.检查配置文件是否正确


检查文件是否正确:cd /usr/local/filebeat-7.8.0-linux-x86_64
命令:./filebeat  test  config  -c  filebeat-mall-nginx-mobilemall.yml
出现Config OK 则代表文件格式正确。

3.3.Nginx日志查询验证


3.3.1.启动filebeat服务


路径:/usr/local/filebeat-7.8.0-linux-x86_64
命令: ./filebeat -e -c filebeat-mall-nginx-mobilemall.yml &


3.3.2.创建索引模板


a.登录kibana管理界面
b.选择:Management-stack-Management-Elasticsearch,进入“索引管理”,选择“索引模板”,创建nginx模板,具体参数如下:
名称:nginx
索引模式:mall-nginx-*
索引设置:

{
"index": {
    "highlight": {
      "max_analyzed_offset": "2000000000"
    },
    "refresh_interval": "1s",
    "blocks": {
      "read_only_allow_delete": "false"
    },
    "query": {
      "default_field": [
        "*"
      ]
    },
    "priority": "1",
    "number_of_replicas": "0",
    "write": {
      "wait_for_active_shards": "1"
    }
}
}


然后直接下一步,创建索引模板成功,展示如下:

3.3.3.创建索引模式


a.登录kibana管理界面
b.选择:Management-stack-Management-kibana
c.选择“索引模式”,点击“创建索引模式”,定义一个    索引模式,能够匹配到生成的mall-nginx-的索引,然后保存。

3.3.4.查询结果展示


进入“discover”界面,选择mall-nginx-*模式,在搜索栏目填写搜索条件:tags:"mall-nginx-mobilemall-fz",然后点击:刷新,日志展示结果如下:

  • 36
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

股市过客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值