artem_shestakov.fluentbit

Ansible Fluent-bit 角色

一个简单的角色,用于安装和设置 Fluent-bit

角色变量

配置

名称 描述 默认值
fluentbit_config_path 配置和解析器文件的路径 /etc/fluent-bit
fluentbit_flush 设置刷新时间(秒.纳秒)。引擎循环使用 Flush 超时来定义何时需要通过定义的输出插件刷新输入插件获取的记录。 5
fluentbit_grace 设置退出时的宽限时间(秒,整数值)。引擎循环使用 Grace 超时来定义退出等待时间 5
fluentbit_daemon 布尔值,设置 Fluent Bit 是否应该以守护进程(后台)方式运行。允许的值有:yes,no,on,off off
fluentbit_dns_mode 设置异步DNS解析器使用的主传输层协议,可以在每个插件基础上覆盖 UDP
fluentbit_log_file 可选日志文件的绝对路径。默认情况下,所有日志会重定向到标准错误界面(stderr)。
fluentbit_log_level 设置日志详细程度级别。 info
fluentbit_http_server 启用内置HTTP服务器 off
fluentbit_http_listen 设置启用时HTTP服务器的监听接口 0.0.0.0
fluentbit_http_port 设置HTTP服务器的TCP端口 2020
fluentbit_coro_stack_size 设置协程堆栈大小(字节)。值必须大于运行系统的页面大小。请勿设置过小的值(例如4096),否则协程线程可能会溢出堆栈缓冲区。除非您知道自己在做什么,否则请不要更改此参数的默认值 24576
fluentbit_scheduler_cap 设置最大重试时间(秒)。该属性自 v1.8.7 起支持。 2000
fluentbit_scheduler_base 设置指数退避的基数。该属性自 v1.8.7 起支持。 5
fluentbit_inputs 输入部分定义一个来源(与输入插件相关) 名称:forward
监听:0.0.0.0
端口:24224
fluentbit_outputs 输出部分指定记录在满足标签匹配后应该跟随的目标 名称:srdout
匹配:'*'

管道

  • fluentbit_inputs - 输入(来源)列表。每个输入的元素是键/值字典的集合。默认值为:
fluentbit_inputs:
  - Name: forward
    Listen: 0.0.0.0
    Port: 24224
  • fluentbit_outputs - 输出(接收端)列表。每个输出的元素是键/值字典的集合。默认值为:
fluentbit_outputs:
  - Name: stdout
    Match: '*'
  • fluentbit_filters - 过滤器列表。每个元素是键/值字典的集合。默认值为 []。示例:
---
- name: 部署 fluent-bit 服务
  hosts: "{{ lookup('env', 'TARGET') }}"
  become: true
  roles:
    - role: artem_shestakov.fluentbit
      version: "v1.0.0"
  vars:
    fluentbit_inputs:
      - Name: forward
        Listen: 0.0.0.0
        Port: 24224
      - Name: syslog
        Tag: haproxy
        Path: /var/lib/haproxy/dev/log
        Unix_Perm: "0666"
    fluentbit_filters:
      - Name: record_modifier
        Match: "*"
        Record: hostname ${HOSTNAME}
      - Name: parser
        Match: "*"
        Key_Name: data
        Parser: syslog-rfc3164-local
    fluentbit_outputs:
      - Name: es
        Match: *
        Host: 192.168.2.3
        Port: 9200
        Index: my_index
        Type: my_type
    fluentbit_parsers:
      - Name: syslog-rfc3164-local
        Format: regex
        Regex: ^\<(?<pri>[0-9]+)\>(?<time>[^ ]* {1,2}[^ ]* [^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?(?:[^\:]*\:)? *(?<message>.*)$
        Time_Key: time
        Time_Format: '%b %d %H:%M:%S'
        Time_Keep: On
  • fluentbit_parsers - 解析器列表。每个解析器的元素是键/值字典的集合。默认值为 []。示例:
fluentbit_parsers:
  - Name: named-capture-test
    Format: regex
    Regex: /^(?<date>[a-zA-Z]+ \d+ \d+\:\d+\:\d+) (?<message>.*)/m
  - Name: docker
    Format: json
    Time_Key: time
    Time_Format: "%Y-%m-%dT%H:%M:%S %z"
  • fluentbit_multiline_parsers - 多行解析器列表。每个解析器的元素是键/值字典的集合。每个解析器应包含 rules 列表。每条规则是三个元素的字典:state_nameregex_patternnext_state。默认值为 []。示例:
fluentbit_multiline_parsers:
  - name: multiline-regex-test
    type: regex
    flush_timeout: 1000
    rules:
      - state_name: start_state
        regex_pattern: /([a-zA-Z]+ \d+ \d+\:\d+\:\d+)(.*)/
        next_state: cont
      - state_name: cont
        regex_pattern: /^\s+at.*/
        next_state: cont

示例剧本

示例在这里

许可证

BSD

作者信息

Artem Shestakov artem.s.shestakov@yandex.ru

关于项目

Ansible role to install Fluent bit https://fluentbit.io/

安装
ansible-galaxy install artem_shestakov.fluentbit
许可证
Unknown
下载
5.3k
拥有者