Filebeat提供了⼀个⽤于运⾏Beat和执⾏常见任务的命令⾏界⾯,如测试配置⽂件和加载仪表板。 命令⾏还⽀持⽤于控制全局⾏为的全局标志。
常⽤的filebeat命令:
-E, --E \"SETTING_NAME=VALUE\"
覆盖特定的配置设置。 您可以指定多个覆盖。 例如:
filebeat -E \"name=mybeat\" -E \"output.elasticsearch.hosts=[\"http://myhost:9200\"]\"
此设置适⽤于当前正在运⾏的Filebeat进程。 Filebeat配置⽂件不会更改。
-M, --M \"VAR_NAME=VALUE\"
覆盖Filebeat模块的默认配置。 您可以指定多个变量覆盖。 例如:
filebeat -modules=nginx -M \"nginx.access.var.paths=[/var/log/nginx/access.log*]\" -M \"nginx.access.var.pipeline=no_plugins\"-c, --c FILE
指定⽤于Filebeat的配置⽂件。 你在这⾥指定的⽂件是相对于path.config。 如果未指定-c标志,则使⽤默认配置⽂件filebeat.yml。
-d, --d SELECTORS
启⽤对指定选择器的调试。 对于选择器,可以指定逗号分隔的组件列表,也可以使⽤-d“*”为所有组件启⽤调试。 例如,-d“publish”显⽰所有“publish”相关的消息。
-e, --e
记录到stderr并禁⽤syslog /⽂件输出。
-v, --v
记录INFO级别的消息。
./filebeat -configtest 测试配置⽂件
./filebeat -httpprof[(host)]:(port):启动http服务器进⾏性能分析-memprofile (output file) :将存储器配置⽂件写⼊指定的输出⽂件-path.config : 设置配置的默认位置-path.data : 设置数据⽂件的默认位置-path.home : 设置其他⽂件的默认位置-path.logs : 设置⽇志⽂件的默认位置
测试filebeat启动后,查看相关输出信息:
./filebeat -e -c filebeat.yml -d \"publish\"
后台⽅式启动filebeat:
nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 & 将所有标准输出及标准错误输出到/dev/null空设备,即没有任何输出nohup ./filebeat -e -c filebeat.yml > filebeat.log &
停⽌filebeat:查找进程ID并kill掉:
ps -ef |grep filebeatkill -9 进程号
############### Filebeat 配置⽂件说明#############
filebeat:
# List of prospectors to fetch data. prospectors: - # paths指定要监控的⽇志 paths: - /var/log/*.log
#指定被监控的⽂件的编码类型使⽤plain和utf-8都是可以处理中⽂⽇志的。 # Some sample encodings:
# plain, utf-8, utf-16be-bom, utf-16be, utf-16le, big5, gb18030, gbk, # hz-gb-2312, euc-kr, euc-jp, iso-2022-jp, shift-jis, ... #encoding: plain
#指定⽂件的输⼊类型log(默认)或者stdin。 input_type: log
# 在输⼊中排除符合正则表达式列表的那些⾏ # exclude_lines: [\"^DBG\"]
# 包含输⼊中符合正则表达式列表的那些⾏默认包含所有⾏include_lines执⾏完毕之后会执⾏exclude_lines。 # include_lines: [\"^ERR\
# 忽略掉符合正则表达式列表的⽂件默认为每⼀个符合paths定义的⽂件都创建⼀个harvester。 # exclude_files: [\".gz$\"]
# 向输出的每⼀条⽇志添加额外的信息⽐如“level:debug”⽅便后续对⽇志进⾏分组统计。默认情况下会在输出信息的fields⼦⽬录下以指定的新增fields建⽴⼦⽬录例如fields.level。 #fields: # level: debug # review: 1
# 如果该选项设置为true则新增fields成为顶级⽬录⽽不是将其放在fields⽬录下。⾃定义的field会覆盖filebeat默认的field。 #fields_under_root: false
# 可以指定Filebeat忽略指定时间段以外修改的⽇志内容⽐如2h两个⼩时或者5m(5分钟)。 #ignore_older: 0
# 如果⼀个⽂件在某个时间段内没有发⽣过更新则关闭监控的⽂件handle。默认1h,change只会在下⼀次scan才会被发现
#close_older: 1h
# i设定Elasticsearch输出时的document的type字段也可以⽤来给⽇志进⾏分类。Default: log #document_type: log
# Filebeat以多快的频率去prospector指定的⽬录下⾯检测⽂件更新⽐如是否有新增⽂件如果设置为0s则Filebeat会尽可能快地感知更新占⽤的CPU会变⾼。默认是10s。 #scan_frequency: 10s
# 每个harvester监控⽂件时使⽤的buffer的⼤⼩。 #harvester_buffer_size: 16384
# ⽇志⽂件中增加⼀⾏算⼀个⽇志事件max_bytes限制在⼀次⽇志事件中最多上传的字节数多出的字节会被丢弃。The default is 10MB. #max_bytes: 10485760
# 适⽤于⽇志中每⼀条⽇志占据多⾏的情况⽐如各种语⾔的报错信息调⽤栈。这个配置的下⾯包含如下配置 #multiline:
# The regexp Pattern that has to be matched. The example pattern matches all lines starting with [ #pattern: ^\\[
# Defines if the pattern set under pattern should be negated or not. Default is false. #negate: false
# Match can be set to \"after\" or \"before\". It is used to define if lines should be append to a pattern # that was (not) matched before or after or as long as a pattern is not matched based on negate. # Note: After is the equivalent to previous and before is the equivalent to to next in Logstash #match: after
# The maximum number of lines that are combined to one event.
# In case there are more the max_lines the additional lines are discarded. # Default is 500 #max_lines: 500
# After the defined timeout, an multiline event is sent even if no new pattern was found to start a new event # Default is 5s. #timeout: 5s
# 如果设置为trueFilebeat从⽂件尾开始监控⽂件新增内容把新增的每⼀⾏⽂件作为⼀个事件依次发送⽽不是从⽂件开始处重新发送所有
内容。
#tail_files: false
# Filebeat检测到某个⽂件到了EOF之后每次等待多久再去检测⽂件是否有更新默认为1s。 #backoff: 1s
# Filebeat检测到某个⽂件到了EOF之后等待检测⽂件更新的最⼤时间默认是10秒。 #max_backoff: 10s
# 定义到达max_backoff的速度默认因⼦是2到达max_backoff后变成每次等待max_backoff那么长的时间才backoff⼀次直到⽂件有更新才会重置为backoff。 #backoff_factor: 2
# 这个选项关闭⼀个⽂件,当⽂件名称的变化。#该配置选项建议只在windows。 #force_close_files: false
# Additional prospector #- # Configuration to use stdin input #input_type: stdin
# spooler的⼤⼩spooler中的事件数量超过这个阈值的时候会清空发送出去不论是否到达超时时间。 #spool_size: 2048
# 是否采⽤异步发送模式(实验!) #publish_async: false
# spooler的超时时间如果到了超时时间spooler也会清空发送出去不论是否到达容量的阈值。 #idle_timeout: 5s
# 记录filebeat处理⽇志⽂件的位置的⽂件 registry_file: /var/lib/filebeat/registry
# 如果要在本配置⽂件中引⼊其他位置的配置⽂件可以写在这⾥需要写完整路径但是只处理prospector的部分。 #config_dir:
############################# Output ##########################################
# 输出到数据配置.单个实例数据可以输出到elasticsearch或者logstash选择其中⼀种注释掉另外⼀组输出配置。output:
### 输出数据到Elasticsearch elasticsearch:
hosts: [\"localhost:9200\"]
# 输出认证. #protocol: \"https\" #username: \"admin\" #password: \"s3cr3t\"
# 启动进程数. #worker: 1
# 输出数据到指定index default is \"filebeat\" 可以使⽤变量[filebeat-]YYYY.MM.DD keys. #index: \"filebeat\"
# ⼀个模板⽤于设置在Elasticsearch映射默认模板加载是禁⽤的,没有加载模板这些设置可以调整或者覆盖现有的加载⾃⼰的模板 #template:
# Template name. default is filebeat. #name: \"filebeat\"
# Path to template file #path: \"filebeat.template.json\"
# Overwrite existing template #overwrite: false
# Optional HTTP Path #path: \"/elasticsearch\"
# Proxy server url
# 发送重试的次数取决于max_retries的设置默认为3 #max_retries: 3
# 单个elasticsearch批量API索引请求的最⼤事件数。默认是50。
#bulk_max_size: 50
# elasticsearch请求超时事件。默认90秒. #timeout: 90
# 新事件两个批量API索引请求之间需要等待的秒数。如果bulk_max_size在该值之前到达额外的批量索引请求⽣效。 #flush_interval: 1
# elasticsearch是否保持拓扑。默认false。该值只⽀持Packetbeat。 #save_topology: false
# elasticsearch保存拓扑信息的有效时间。默认15秒。 #topology_expire: 15
# 配置TLS参数选项如证书颁发机构等⽤于基于https的连接。如果tls丢失主机的CAs⽤于https连接elasticsearch。 #tls:
# List of root certificates for HTTPS server verifications #certificate_authorities: [\"/etc/pki/root/ca.pem\"]
# Certificate for TLS client authentication #certificate: \"/etc/pki/client/cert.pem\"
# Client Certificate Key
#certificate_key: \"/etc/pki/client/cert.key\"
# Controls whether the client verifies server certificates and host name. # If insecure is set to true, all server host names and certificates will be # accepted. In this mode TLS based connections are susceptible to # man-in-the-middle attacks. Use only for testing. #insecure: true
# Configure cipher suites to be used for TLS connections #cipher_suites: []
# Configure curve types for ECDHE based cipher suites #curve_types: []
# Configure minimum TLS version allowed for connection to logstash #min_version: 1.0
# Configure maximum TLS version allowed for connection to logstash #max_version: 1.2
### 发送数据到logstash 单个实例数据可以输出到elasticsearch或者logstash选择其中⼀种注释掉另外⼀组输出配置。 #logstash:
# Logstash 主机地址 #hosts: [\"localhost:5044\"]
# 配置每个主机发布事件的worker数量。在负载均衡模式下最好启⽤。 #worker: 1
# #发送数据压缩级别 #compression_level: 3
# 如果设置为TRUE和配置了多台logstash主机输出插件将负载均衡的发布事件到所有logstash主机。
#如果设置为false输出插件发送所有事件到随机的⼀台主机上如果选择的不可达将切换到另⼀台主机。默认是false。 #loadbalance: true
# 输出数据到指定index default is \"filebeat\" 可以使⽤变量[filebeat-]YYYY.MM.DD keys. #index: filebeat
# Optional TLS. By default is off.
#配置TLS参数选项如证书颁发机构等⽤于基于https的连接。如果tls丢失主机的CAs⽤于https连接elasticsearch。 #tls:
# List of root certificates for HTTPS server verifications #certificate_authorities: [\"/etc/pki/root/ca.pem\"]
# Certificate for TLS client authentication #certificate: \"/etc/pki/client/cert.pem\"
# Client Certificate Key
#certificate_key: \"/etc/pki/client/cert.key\"
# Controls whether the client verifies server certificates and host name. # If insecure is set to true, all server host names and certificates will be # accepted. In this mode TLS based connections are susceptible to # man-in-the-middle attacks. Use only for testing.
#insecure: true
# Configure cipher suites to be used for TLS connections #cipher_suites: []
# Configure curve types for ECDHE based cipher suites #curve_types: []
### ⽂件输出将事务转存到⼀个⽂件每个事务是⼀个JSON格式。主要⽤于测试。也可以⽤作logstash输⼊。 #file:
# 指定⽂件保存的路径。 #path: \"/tmp/filebeat\"
# ⽂件名。默认是 Beat 名称。上⾯配置将⽣成 packetbeat, packetbeat.1, packetbeat.2 等⽂件。 #filename: filebeat
# 定义每个⽂件最⼤⼤⼩。当⼤⼩到达该值⽂件将轮滚。默认值是1000 KB #rotate_every_kb: 10000
# 保留⽂件最⼤数量。⽂件数量到达该值将删除最旧的⽂件。默认是7⼀星期。 #number_of_files: 7
### Console output 标准输出JSON 格式。 # console:
#如果设置为TRUE事件将很友好的格式化标准输出。默认false。 #pretty: false
############################# Shipper ######################################### shipper:
# #⽇志发送者信息标⽰
# 如果没设置以hostname名⾃居。该名字包含在每个发布事务的shipper字段。可以以该名字对单个beat发送的所有事务分组。 #name:
# beat标签列表包含在每个发布事务的tags字段。标签可⽤很容易的按照不同的逻辑分组服务器。
#例如⼀个web集群服务器可以对beat添加上webservers标签然后在kibana的visualisation界⾯以该标签过滤和查询整组服务器。
#tags: [\"service-X\
# 如果启⽤了ignore_outgoing选项beat将忽略从运⾏beat服务器上所有事务。 #ignore_outgoing: true
# 拓扑图刷新的间隔。也就是设置每个beat向拓扑图发布其IP地址的频率。默认是10秒。 #refresh_topology_freq: 10
# 拓扑的过期时间。在beat停⽌发布其IP地址时⾮常有⽤。当过期后IP地址将⾃动的从拓扑图中删除。默认是15秒。 #topology_expire: 15
# Internal queue size for single events in processing pipeline #queue_size: 1000
# GeoIP数据库的搜索路径。beat找到GeoIP数据库后加载然后对每个事务输出client的GeoIP位置⽬前只有Packetbeat使⽤该选项。 #geoip: #paths:
# - \"/usr/share/GeoIP/GeoLiteCity.dat\" # - \"/usr/local/var/GeoIP/GeoLiteCity.dat\"
############################# Logging #########################################
# 配置beats⽇志。⽇志可以写⼊到syslog也可以是轮滚⽇志⽂件。默认是syslog。logging:
# 如果启⽤发送所有⽇志到系统⽇志。 #to_syslog: true
# ⽇志发送到轮滚⽂件。 #to_files: false # files:
# ⽇志⽂件⽬录。 #path: /var/log/mybeat
# ⽇志⽂件名称
#name: mybeat
# ⽇志⽂件的最⼤⼤⼩。默认 10485760 (10 MB)。 rotateeverybytes: 10485760 # = 10MB
# 保留⽇志周期。 默认 7。值范围为2 到 1024。 #keepfiles: 7
# Enable debug output for selected components. To enable all selectors use [\"*\"] # Other available selectors are beat, publish, service # Multiple selectors can be chained. #selectors: [ ]
# ⽇志级别。debug, info, warning, error 或 critical。如果使⽤debug但没有配置selectors* selectors将被使⽤。默认error。 #level: error
#参考⽂档
因篇幅问题不能全部显示,请点此查看更多更全内容