logstash基本语法及运行

来源:互联网 发布:阿里云域名解析没生效 编辑:程序博客网 时间:2024/06/10 11:13

logstash基础知识

  • logstash给事件加的额外字段

    1. host标记事件发生在哪里
    2. type标记事件唯一类型
    3. tags标记事件的某方面属性,数组
    4. @timestamp标记事件发生事件
  • 过滤插件的通用方法: add_tag、 remove_tag、 add_field、 remove_field, 在插件过滤匹配成功时生效

语法

  • 区域, {}定义区域,区域内可以包括插件区域定义
  • 数据类型, bool、string、number、array、hash
  • 字段引用:[]引用字段的值,[geoip][location][0], 也支持倒序[geoip][location][-1]
  • 变量内插:
the longitude is %{[geoip][location][0]}"
  • 条件判断

    1. equality: ==, !=,<, >, <=, >=
    2. regexp: =~, !~
    3. inclusion: in, not in
    4. boolean: and, or, nand, xor
    5. unary: !()
  • 命令行参数

    1. -e 执行一段字符串脚本
    2. -f 或–config 指定配置, logstash -f /etc/logstash.d/会自动读取该目录下所有文件文本,拼接成完整的大配置,各小配置会以字母排序加载,因此最后以数字编号方式命令配置文件
    3. -t 测试配置文件是否能正常解析
    4. -l或–log ,logstash默认输出日志到标准错误。该选项可指定日志输出位置,如 bin/logstash -l logs/logstash.log
    5. –pipeline-workers或-w, 运行filter和output的pipline线程数量,默认是cpu核数
    6. –pipeline-batch-size或-b, 每个logstash pipline线程,在执行具体filter和output函数之前,最多能累积的日志条数,默认125条,越大性能越好,消耗jvm内存也越大
    7. –pipline-batch-delay或-u, 每个线程在打包批量日志的时候,最多等到几毫秒,默认5ms
    8. –pluginpath或-P, bin/logstash –pluginpath /path/to/own/plugins加载插件
    9. –verbose, 输出一定调试日志
    10. –debug输出更多调试日志
  • 5.0以后版本,config/logstash.yml文件,可以设置启动命令如:

pipline:    workers: 24    batch:        size:125        delay:5

插件命令

  • 查看插件: bin/logstash-plugin list 查看本机可用插件
  • 安装插件: bin/logstash-plugin install logstash-output-webhdfs
  • 升级插件: bin/logstash-plugin update logstash-input-tcp

长期运行

  • nohup cmd & 后台运行
  • screen
# 学习screen1. 创建: screen -dmS elkscreen_1 (可以自定义)2. 连接已创建的elkscreen_1: screen -r elkscreen_1, 然后看到一个一模一样的新终端,运行logstash,不ctrl+c,而按 ctrl+A+D,重新连接也是-r3. 查看创建的screen:   screen -list
  • supervisor,请看地址
http://blog.csdn.net/ricky110/article/details/77430387
原创粉丝点击