优惠券网站做代理怎么样,新手电商,kuake自助建站系统源码,网页如何设计跑马灯效果1 filestream介绍
官方宣布#xff1a;输入类型为log在filebeat7.16版本已经弃用了
Filestream 是 Filebeat 中的一种 输入类型#xff08;Input#xff09;#xff0c;用于处理日志文件的读取。它是为了取代 Filebeat 中传统的 log 输入#xff08;Input#xff09;设…1 filestream介绍
官方宣布输入类型为log在filebeat7.16版本已经弃用了
Filestream 是 Filebeat 中的一种 输入类型Input用于处理日志文件的读取。它是为了取代 Filebeat 中传统的 log 输入Input设计的更加现代化和高效 filestream 直接与操作系统的文件系统事件接口如 Linux 的 inotify 或 Windows 的 ReadDirectoryChangesW集成从而更高效地监听文件变化 专为处理容器化环境或日志动态生成的场景设计能够动态追踪日志文件的创建和删除 使用唯一的文件标识符如 inode dev而非文件路径避免因路径变化导致日志丢失或重复采集 未来版本中filestream 将成为日志文件采集的首选逐步取代 log 输入
2 filestream解析nginx json日志
1.filebeat执行该文件
cat 11-filestream-to-es.yaml EOF
filebeat.inputs:
- type: filestreampaths:- /var/log/nginx/access.log# 配置解析parsers:# 解析json格式- ndjson:# 将解析的数据放在哪个字段若为代表放在顶级字段中target: # 对哪个字段进行解析若不指定则默认会对message字段进行解析并删除该字段。message_key: messageoutput.elasticsearch:hosts: - http://10.0.0.91:9200- http://10.0.0.92:9200- http://10.0.0.93:9200index: zhiyong18-luckyboy-log-filestream-nginxsetup.ilm.enabled: false
setup.template.name: zhiyong18-luckyboy
setup.template.pattern: zhiyong18-luckyboy-log*
setup.template.overwrite: false
setup.template.settings:index.number_of_shards: 5index.number_of_replicas: 0
EOF2.索引可以正常创建discover 中看到内容和 之前的 nginx json 格式采集一样
3 filestream多行匹配
1.filebeat执行该文件
cat 12-filestream_multiple-to-es.yaml EOF
filebeat.inputs:
- type: filestreampaths:- /app/apache-tomcat-10.1.25/logs/catalina.outparsers:- multiline:type: patternpattern: ^\d{2}negate: truematch: afteroutput.elasticsearch:hosts: - http://10.0.0.91:9200- http://10.0.0.92:9200- http://10.0.0.93:9200index: zhiyong18-luckyboy-log-filestream-tomcat-errorlogsetup.ilm.enabled: false
setup.template.name: zhiyong18-luckyboy
setup.template.pattern: zhiyong18-luckyboy-log*
setup.template.overwrite: false
setup.template.settings:index.number_of_shards: 5index.number_of_replicas: 0
EOF2.验证采集的错误日志 4 filestream count多行匹配json采集
1.准备测试文件 /tmp/apps.json
{name: 韩V童,hobby: [下海,睡觉,抽奖]
}
{name: 康Z阳,hobby: [看美女,打游戏,学习]
}2.编写测试 filebeat 采集配置。
注意如果这条索引同时匹配到了多个索引模版可能就会报错。建议修改匹配模式
cat 13-filestream_json_multiple_line-to-es.yaml EOF
filebeat.config.modules:# 注意此处的${path.config}对应的路径是/etc/filebeat目录path: ${path.config}/modules.d/*.yml# 支持热加载reload.enabled: true# 指定每间隔多长时间检测一次“${path.config}/modules.d/*.yml”reload.period: 5soutput.elasticsearch:hosts: - http://10.0.0.91:9200- http://10.0.0.92:9200- http://10.0.0.93:9200index: zhiyong18-luckyboy-log-modules-nginxetup.ilm.enabled: false
setup.template.name: zhiyong18-luckyboy-modules
setup.template.pattern: zhiyong18-luckyboy-log-modules*
setup.template.overwrite: false
setup.template.settings:index.number_of_shards: 5index.number_of_replicas: 0
EOF3.查看采集到的日志 5 filebeat模块介绍
filebeat模块是官方提供的一种对各种中间件进行日志采集的解决方案用于简化常见服务如 NGINX、MySQL、Apache 等日志的采集、解析和可视化过程。 模块在/etc/filebeat/modules.d/ 下 启用模块本质上是将 /etc/filebeat/modules.d/ 目录下的 *.yml.disabled 文件更名为 *.yml filebeat启用禁用和查看模块
# 查看支持的模块
[rootelk91 filebeat]# ll modules.d/ | egrep tomcat|nginx
-rw-r--r-- 1 root root 784 May 30 21:52 nginx.yml.disabled
-rw-r--r-- 1 root root 623 May 30 21:52 tomcat.yml.disabled# 进行模块开启操作
[rootelk91 filebeat]# filebeat modules enable nginx tomcat
Enabled nginx# 查看已开启的模块
[rootelk91 filebeat]# ll modules.d/ | egrep tomcat|nginx
-rw-r--r-- 1 root root 784 May 30 21:52 nginx.yml
-rw-r--r-- 1 root root 623 May 30 21:52 tomcat.yml# 禁用模块
[rootelk91 filebeat]# filebeat modules disable nginx tomcat模块大全
[rootelk93~]# ls /etc/filebeat/modules.d/
activemq.yml.disabled cyberark.yml.disabled infoblox.yml.disabled nginx.yml snyk.yml.disabled
apache.yml.disabled cylance.yml.disabled iptables.yml.disabled o365.yml.disabled sonicwall.yml.disabled
auditd.yml.disabled envoyproxy.yml.disabled juniper.yml.disabled okta.yml.disabled sophos.yml.disabled
awsfargate.yml.disabled f5.yml.disabled kafka.yml.disabled oracle.yml.disabled squid.yml.disabled
aws.yml.disabled fortinet.yml.disabled logstash.yml.disabled osquery.yml.disabled suricata.yml.disabled
azure.yml.disabled gcp.yml.disabled microsoft.yml.disabled panw.yml.disabled system.yml.disabled
barracuda.yml.disabled googlecloud.yml.disabled misp.yml.disabled pensando.yml.disabled threatintel.yml.disabled
bluecoat.yml.disabled google_workspace.yml.disabled mongodb.yml.disabled postgresql.yml.disabled tomcat.yml
cef.yml.disabled gsuite.yml.disabled mssql.yml.disabled proofpoint.yml.disabled traefik.yml.disabled
checkpoint.yml.disabled haproxy.yml.disabled mysqlenterprise.yml.disabled rabbitmq.yml.disabled zeek.yml.disabled
cisco.yml.disabled ibmmq.yml.disabled mysql.yml.disabled radware.yml.disabled zookeeper.yml.disabled
coredns.yml.disabled icinga.yml.disabled nats.yml.disabled redis.yml.disabled zoom.yml.disabled
crowdstrike.yml.disabled iis.yml.disabled netflow.yml.disabled santa.yml.disabled zscaler.yml.disabled
cyberarkpas.yml.disabled imperva.yml.disabled netscout.yml.disabled snort.yml.disabled6 使用模块采集nginx日志
前提 nginx 模块已经开启nginx日志是常规格式
1.修改nginx模块配置
cat /etc/filebeat/modules.d/nginx.yml EOF
- module: nginxaccess:enabled: truevar.paths: [/var/log/nginx/access.log*]error:enabled: truevar.paths: [/var/log/nginx/error.log*]ingress_controller:enabled: false
EOF2.filebeat执行该文件。
可能遇到的故障
由于之前创建了大量索引模式可能会导致索引匹配冲突要么改优先级或匹配其他索引。 索引模式冲突举例zhiyong18-luckyboy-log* 和 zhiyong18-luckyboy-log-modules* vim access.log 后日志不采集或这不写入。需要重启nginx
cat 14-modules_nginx-to-es.yaml EOF
filebeat.config.modules:# 注意此处的${path.config}对应的路径是/etc/filebeat目录path: ${path.config}/modules.d/*.yml# 支持热加载reload.enabled: true# 指定每间隔多长时间检测一次“${path.config}/modules.d/*.yml”reload.period: 5soutput.elasticsearch:hosts: - http://10.0.0.91:9200- http://10.0.0.92:9200- http://10.0.0.93:9200index: zhiyong18-luckyboy-log-modules-nginx# 禁用索引的生命周期(Index Lifecycle Management,简称ilm)如果不禁用则忽略自定义索引名称
setup.ilm.enabled: false
# ES的索引模板名称,和ES最好别冲突
setup.template.name: zhiyong18-luckyboy-modules
# ES索引模板的匹配模式
setup.template.pattern: zhiyong18-luckyboy-log*
# 如果索引模板已经存在是否覆盖推荐设置为false
setup.template.overwrite: false
EOFsource: {geo: {continent_name: Africa,country_iso_code: SC,country_name: Seychelles,location: {lon: 55.6667,lat: -4.5833}},3.去 discover 查看官方模块非常详细把日志中隐藏的国家、IP、状态码都显示出来了 7 nginx模块中经纬度混合问题
1.在使用了nginx模块采集原生nginx日志后若发现地理位置坐标点全在一个字段中无法确定其地理位置坐标点。需要使用数据映射。
下图为正确的示例地理位置正确映射 2.创建一条索引模式以后使用nginx模块采集日志时就匹配这条索引
索引名称zhiyong18-luckyboy-modules索引模式zhiyong18-luckyboy-log*
3.索引设置
{number_of_shards: 3,number_of_replicas: 0
}4.设置数据映射source.geo.location -- 地理位置坐标点 5.创建后预览
{template: {settings: {index: {number_of_shards: 3,number_of_replicas: 0}},mappings: {properties: {source: {properties: {geo: {properties: {location: {type: geo_point}}}}}}},aliases: {}}
}最后创建地图查看分布图
最后创建地图查看分布图