filebeat安装配置(windows系统)
按照规划表修改配置:
系统平台 | 网络划分 | 地区 | IP | 状态 | 使用配置文件 | kafka_topic |
---|---|---|---|---|---|---|
测试服务平台 | 测试网区 | 测试 | 10.10.10.10 | 已安装 | D:/filebeat/zhfw_tyyhzx.yml | nginxlog |
执行步骤:
1、核对统一nginx日志格式:
log_format main
'{"@timestamp":"$time_iso8601",'
'"host":"$hostname",'
'"server_ip":"$server_addr",'
'"client_ip":"$remote_addr",'
'"xff":"$http_x_forwarded_for",'
'"domain":"$host",'
'"url":"$uri",'
'"referer":"$http_referer",'
'"args":"$args",'
'"upstreamtime":"$upstream_response_time",'
'"responsetime":"$request_time",'
'"request_method":"$request_method",'
'"status":"$status",'
'"size":"$body_bytes_sent",'
'"request_body":"$request_body",'
'"request_length":"$request_length",'
'"protocol":"$server_protocol",'
'"upstreamhost":"$upstream_addr",'
'"file_dir":"$request_filename",'
'"http_user_agent":"$http_user_agent"'
'}';
access_log /var/log/nginx/access.log mian;
2、下载解压文件到D盘根目录:
D:\filebeat-8.4.3-windows-x86_64
3、创建并修改配置文件:
创建文件:D:\filebeat-8.4.3-windows-x86_64\zhfw_tyyhzx.yml
文件配置内容如下:注意修改log文件路径和kafka_topic服务名称
filebeat.inputs:
- type: log
enabled: true
paths:
- D:\nginx-1.20.1\nginx-1.20.1\logs\access.log
fields:
kafka_topic: nginxlog
fields_under_root: true
encoding: plain
tail_files: false
json.keys_under_root: true
json.overwrite_keys: true
json.add_error_key: true
scan_frequency: 3s
backoff: 1s
max_backoff: 5s
backoff_factor: 2
output.kafka:
enabled: true
hosts: ['10.10.30.30:9092','10.10.30.40:9092']
topic: '%{[kafka_topic]}'
4、nginx日志分割设置
创建windows系统nginx日志分割脚本(nginx_cut_log.bat)
@echo off
rem 先进去 D盘,否则会导致启动不了nginx
rem cd /d D:\nginx-1.20.1\nginx-1.20.1 这个命令只有在d盘好使。
D:
cd D:\nginx-1.20.1\nginx-1.20.1
rem taskkill /F /IM nginx.exe > nul 杀死nginx服务
rem date格式:2021-08-06
set today=%date:~0,4%-%date:~5,2%-%date:~8,2%
set dir=D:\nginx-1.20.1\nginx-1.20.1\logs\backup
md "%dir%"
rem access log 后面的是你要备份日志文件的地址
move "D:\nginx-1.20.1\nginx-1.20.1\logs\access.log" "%dir%\access-%today%.log"
move "D:\nginx-1.20.1\nginx-1.20.1\logs\error.log" "%dir%\error-%today%.log"
rem start nginx 杀死nginx服务,需要对应使用这条启动nginx
rem reopen log files,否则无法日志无法继续写入文件
rem nginx.exe -s reopen(优先用这种) 或者 nginx.exe -s reload
nginx.exe -s reopen
rem pause表示暂停,这样dos窗体就不会一闪而过,我们能够清晰的看到执行结果,(在调试过程中使用,正式调通以后可以注释掉)
rem pause
添加nginx日志切割脚本的计划任务
1、搜索任务计划程序,创建基本任务
2、触发器:每天 开始时间 23:59:00 每隔一天执行一次
3、操作:启动程序 添加脚本路径 D:\nginx_cut_log.bat
4、添加完任务需要修改计划任务属性:选择【不管用户是否登录都要运行】
5、filebeat开机启动设置
方法一:使用nssm设置 (推荐,测试可用)
参考教程:https://zhuanlan.zhihu.com/p/455904037
nssm官方下载地址: http://nssm.cc/download
NSSM常用命令:
1.安装服务:nssm install 服务名称
2.删除服务:nssm remove 服务名称
3.删除服务确定:nssm remove 服务名称 confirm
4.修改服务(显示界面修改):nssm edit 服务名称
5.启动服务:nssm start 服务名称
6.停止服务:nssm stop 服务名名称
7.停止服务:nssm stop 服务名称
1、下载NSSM,根据windows平台位数,将32/64位nssm.exe文件解压至任意文件夹
2、cmd定位至nssm.exe所在目录,如你操作系统是32bit,请对应32位的nssm.exe文件,如你操作系统是64bit,请对应64位的nssm.exe
3、输入 nssm install {服务名称},即注册Windows服务的名称。
4、填写相关程序信息。如下图:
位置1处输入安装命令nssm install filebeat 会弹出截图中这个窗口。
设置说明,如下:
位置2处Application Path: 选择系统安装的exe或bat。这里使用filebeat运行程序位置:D:\filebeat-8.4.3-windows-x86_64\filebeat.exe
位置2处Startup directory: 选择exe或bat项目的根目录。添加运行程序后会自动默认根路径为:D:\filebeat-8.4.3-windows-x86_64\
位置3处Arguments: 输入启动参数。完整启动命令为:
filebeat.exe -c zhfw_tyyhzx.yml -e
这里只需要添加程序参数:-c zhfw_tyyhzx.yml -e
4、填写完检查无问题直接点击 install service 完成服务安装。
默认服务安装完后,服务默认是没有开启的,需要手动点击服务启动,否则没有生效。
方法二:使用系统自带的任务计划程序 (备用,未测试)
filebeat启动运行脚本:(filebeat_start.bat)
@echo off
rem 先进去 D盘,否则会导致启动不了filebeat
rem cd /d D:\filebeat-8.4.3-windows-x86_64 这个命令只有在d盘好使。
D:
cd D:\filebeat-8.4.3-windows-x86_64
filebeat.exe -c zhfw_tyyhzx.yml -e
pause
添加filebeat日志切割脚本的计划任务
1、搜索任务计划程序,创建基本任务
2、触发器:计算机启动时
3、操作:启动程序 添加脚本路径 D:\filebeat_start.bat
4、添加完任务需要修改计划任务属性:选择【不管用户是否登录都要运行】
6、filebeat程序启动
打开CMD输入启动命令:(使用的配置文件为:zhfw_tyyhzx.yml,如使用其他名称配置文件请更换文件名)
./filebeat.exe -c zhfw_tyyhzx.yml -e
开启后cmd窗口就不要关闭!