简介:windows下安装filebeat,并且初次使用
此处只介绍 Windows 下面的安装,至于其他系统, 请参考: 官方文档
下载并解压后,有两种方式运行,一种是注册为 Windows 服务,另一种是直接通过命令行运行;下面分别介绍两种方式。
前提:系统必须有 PowerShell
,因为官方安装包中提供的脚本只能在 PowerShell
中运行,若是 win10 系统,可忽略,因为它已经自带了 PowerShell
, 否则请下载 PowerShell
并安装。
C:\Program Files
。filebeat--windows
为 Filebeat
。PowerShell
。PowerShell
中运行以下命令:cd 'C:\Program Files\Filebeat'
C:\Program Files\Filebeat> .\install-service-filebeat.ps1
注:
如果此处提示你没有权限,请运行以下的命令注册 Filebeat 服务 :
PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-filebeat.ps1
到这,已经将 Filebeat 成功注册为系统服务,当下一次开机时它会自动启动,当然你也可以手动通过服务控制面板启动它。
这里我的报错: 未解决,使用下面直接运行
Windows PowerShell
版权所有 (C) 2015 Microsoft Corporation。保留所有权利。
PS C:\Users\lcc> cd J:\elasticsearch\filebeat
PS J:\elasticsearch\filebeat> .\install-service-filebeat.ps1
.\install-service-filebeat.ps1 : 无法加载文件 J:\elasticsearch\filebeat\install-service-filebeat.ps1,因为在此系统上禁
止运行脚本。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ .\install-service-filebeat.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS J:\elasticsearch\filebeat> PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-filebeat.ps1
PowerShell.exe : 无法将“PowerShell.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括
路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service- ...
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (PowerShell.exe:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
#2. 通过命令行运行 Filebeat
解压安装包,不需要安装,就可以用了
通过命令行运行 Filebeat 非常简单,只需将 Filebeat 文件解压到某个目录后,通过以下命令运行:
filebeat -e -c filebeat.yml
运行结果如下:
C:\Users\lcc>J:
J:\elasticsearch\filebeat>filebeat -e -c filebeat.yml
2018/03/06 13:52:21.929143 beat.go:436: INFO Home path: [J:\elasticsearch\filebeat] Config path: [J:\elasticsearch\filebeat] Data path: [J:\elasticsearch\filebeat\data] Logs path: [J:\elasticsearch\filebeat\logs]
2018/03/06 13:52:21.998692 beat.go:443: INFO Beat UUID: 72405e7b-7ce4-4b88-9a68-5855a00f8d7b
2018/03/06 13:52:22.011701 beat.go:203: INFO Setup Beat: filebeat; Version: 6.1.0
2018/03/06 13:52:21.983181 metrics.go:23: INFO Metrics logging every 30s
2018/03/06 13:52:22.042723 client.go:123: INFO Elasticsearch url: http://localhost:9200
2018/03/06 13:52:22.053731 module.go:76: INFO Beat name: DESKTOP-8H6R9VN
2018/03/06 13:52:22.080750 beat.go:276: INFO filebeat start running.
2018/03/06 13:52:22.098763 registrar.go:71: INFO No registry file found under: J:\elasticsearch\filebeat\data\registry. Creating a new registry file.
2018/03/06 13:52:22.189828 registrar.go:108: INFO Loading registrar data from J:\elasticsearch\filebeat\data\registry
2018/03/06 13:52:22.197334 registrar.go:119: INFO States Loaded from registrar: 0
2018/03/06 13:52:22.236360 crawler.go:48: INFO Loading Prospectors: 1
2018/03/06 13:52:22.247369 crawler.go:82: INFO Loading and starting Prospectors completed. Enabled prospectors: 0
2018/03/06 13:52:22.251872 reload.go:127: INFO Config reloader started
2018/03/06 13:52:22.245867 registrar.go:150: INFO Starting Registrar
2018/03/06 13:52:22.267383 reload.go:219: INFO Loading of config files completed.
2018/03/06 13:52:52.050789 metrics.go:39: INFO Non-zero metrics in the last 30s: beat.info.uptime.ms=31150 beat.memstats.gc_next=4194304 beat.memstats.memory_alloc=1362136 beat.memstats.memory_total=2989128 filebeat.harvester.open_files=0 filebeat.harvester.running=0 libbeat.config.module.running=0 libbeat.config.reloads=1 libbeat.output.type=elasticsearch libbeat.pipeline.clients=0 libbeat.pipeline.events.active=0 registrar.states.current=0 registrar.writes=1
https://baijiahao.baidu.com/s?id=1579517215515045102&wfr=spider&for=pc
https://docs.microsoft.com/zh-cn/powershell/scripting/setup/setup-reference?view=powershell-6
http://blog.csdn.net/github_39939645/article/details/78896737
日志产生机器:SecureCRT
使用方法参见:http://blog.csdn.net/qq_21383435/article/details/78626217
这样设置后,产生的数据如下:
日志输入配置
Filebeat 使用了安装目录下的 filebeat.yml 文件进行相关配置。此处我们主要会用到以下的配置:
filebeat.prospectors:
- type: log
# 此处需特别注意,官方默认配置为 false,需要修改为 true
enabled: true
paths:
# 此处配置的是需要收集的日志所在的位置,可使用通配符进行配置
- D:/00-SourceCRT/log/*.log
日志输出配置
因为我们使用的是 logstash 收集日志,所以得注释掉默认的 elasticsearch 配置,并取消 logstash 的注释,最终的效果为:
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
es运行
es-head运行
这个index使我们原本有的,wjb-2018.03.02
我猜应该是filebeat读取日志文件最新的,你需要添加日志,于是我在SecureCRT中执行了几个ls命令
D:\00-SourceCRT\log文件下日志大小变大了,但是任然没有在es中有索引新建立
查看file-beat发现有一行日志
2018/03/07 01:10:15.648001 client.go:465: WARN Can not index event (status=404): {"type":"index_not_found_exception","reason
*,.watches,.triggered_watches,.watcher-history*]) doesn't match","index_uuid":"_na_","index":"filebeat-6.1.0-2018.03.07"}
找不到index名字为filebeat-6.1.0-2018.03.07(这个要根据你当前时间运行)
然后我们在kibana中创建这个index
put filebeat-6.1.0-2018.03.07
{
}
然后查询
GET /filebeat-6.1.0-2018.03.07/_search
{
"query": {
"match_all": {}
}
}
发现信息为空
然后我继续在SecureCRT中执行了几个ls命令,再次查询结果如下,有许多数据了,都是日志中的
{
"_index": "filebeat-6.1.0-2018.03.07",
"_type": "doc",
"_id": "nUgF_mEBoynl0riLX-Vh",
"_score": 1,
"_source": {
"@timestamp": "2018-03-07T01:13:39.444Z",
"offset": 285,
"message": """[05, 1.log base,VERSIONS [0m[01;31mimg_align_celeba.zip[0m index.html.1 index.html.3 [01;31mlib.tar.gz[0m nohup.out [01;31mPython-2.7.13.tar.gz[0m [01;34mtomcat[0m zookeeper.out""",
"prospector": {
"type": "log"
},
"beat": {
"version": "6.1.0",
"name": "XTZ-01802051417",
"hostname": "XTZ-01802051417"
},
"source": """D:\00-SourceCRT\log\《192.168.10.84》-03-07-09.log"""
}
},
{
"_index": "filebeat-6.1.0-2018.03.07",
"_type": "doc",
"_id": "pEgF_mEBoynl0riLY-Vg",
"_score": 1,
"_source": {
"@timestamp": "2018-03-07T01:13:40.452Z",
"source": """D:\00-SourceCRT\log\《192.168.10.84》-03-07-09.log""",
"offset": 748,
"message": "-rw-r--r-- 1 root root 16050745 Oct 26 10:11 2.txt",
"prospector": {
"type": "log"
},
"beat": {
"version": "6.1.0",
"name": "XTZ-01802051417",
"hostname": "XTZ-01802051417"
}
}
},
而且在kibana中查看到
你有可能看不到这些,需要看提示去掉action.auto_create_index
配置