应用日志集成到ElasticSearch,真的太香了

  - /var/log/*.log
fields:
  AppId: "springbootadmin"
  ENV: "DEV"
fields_under_root: true
tags: ["服务ip地址自定义其他", "boot"]
json.keys_under_root: true
  • type: log
    enabled: true
    paths:
    • /java/*.log
      fields:
      AppId: “live-admin”
      ENV: “DEV”
      fields_under_root: true
      tags: [“服务ip地址自定义其他”, “live”]
      json.keys_under_root: true

processors:

  • timestamp:
    field: “time”
    timezone: “Asia/Shanghai”
    layouts:
    - “yyyy-MM-dd HH:mm:ss.SSS”

output.elasticsearch:
hosts: ‘es:9200’
username: “elastic”
password: “elastic”
indices:

- index: "spring-boot-admin-%{+yyyy.MM}"
  when.contains:
    tags: "boot"
- index: "live-admin-%{+yyyy.MM}"
  when.contains:
    tags: "live"

setup.template.settings:
index.number_of_shards: 3
index.number_of_replicas: 0


**日志输入源**:


* 使用 filebeat.inputs  
 部分定义了两个日志输入源。每个输入源监视不同路径下的日志文件,并根据路径指定的类型和字段进行处理。其中,第一个输入源监视  
 /var/log/*.log 路径下的日志文件,用于收集 Spring Boot Admin 应用的日志;第二个输入源监视  
 /java/*.log 路径下的日志文件,用于收集 Live Admin 应用的日志。


**日志标签:**


* 在每个输入源的 tags  
 配置中,使用了一组自定义的标签。这些标签通常用于标识日志的来源或类型。在这个配置中,每个输入源都定义了自己的标签,以便后续根据标签将日志发送到不同的索引中。


**Elasticsearch 输出**:


* 在 output.elasticsearch 部分指定了 Elasticsearch  
 的地址和认证信息,并配置了索引的模板。根据不同的标签,将日志发送到不同的索引中。在这个配置中,根据标签 “boot” 将 Spring  
 Boot Admin 的日志发送到名为 spring-boot-admin-%{+yyyy.MM} 的索引中,根据标签 “live” 将  
 Live Admin 的日志发送到名为 live-admin-%{+yyyy.MM} 的索引中。


**Elasticsearch 索引设置**:


* 在 setup.template.settings 部分配置了 Elasticsearch  
 索引的一些设置,包括分片数和副本数。这些设置可以优化 Elasticsearch 索引的性能和可用性。


**删除之前的容器:**



docker rm -f filebeat


**再重启启动:**



docker run --name=filebeat --restart=always
-v /data/elk7/filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml
-v /var/log/springboot/:/var/log/springboot/
-v /data/log/live-admin/logs/:/var/log/live-admin/logs/
-d elastic/filebeat:7.5.1


**排查问题命令**



docker logs filebeat


**进入容器:**



docker exec -it filebeat /bin/bash

docker exec -it filebeat /bin/sh


**nginx的日志采集**


如果要采集nginx的日志的话需要设置nginx日志格式



#修改nginx.conf,在http 、https中设置日志格式
#添加 log_format main
user nginx;
worker_processes auto;

error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;

worker_rlimit_nofile 10240;
events {
worker_connections 10240;
}

http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_tokens off;

proxy_hide_header X-Powered-By;
proxy_hide_header Server;

log_format  main  '$remote\_addr - $remote\_user [$time\_local] "$request" '
                  '$status $body\_bytes\_sent "$http\_referer" '
                  '"$http\_user\_agent" "$http\_x\_forwarded\_for"';

access_log  /var/log/nginx/access.log  main;

sendfile        on;
#tcp\_nopush on;

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值