美文网首页
fluentbit+influxdb+chronograf收集日

fluentbit+influxdb+chronograf收集日

作者: chronos | 来源:发表于2018-09-05 17:36 被阅读628次

fluentbit 是一个C实现的轻量级日志收集工具,相比 fluentd 资源占用要小,相对的插件数量上要比 fluentd 要少的多,功能上也少一些。官网的对比地址:https://docs.fluentbit.io/manual/about/fluentd_and_fluentbit 。我这里准备用 fluentbit 换掉原来的 fluentd,进一步降低资源占用。

安装 fluentbit

## 添加 GPG
wget -qO - https://packages.fluentbit.io/fluentbit.key | sudo apt-key add -
# 更新 sources lists
echo "deb https://packages.fluentbit.io/ubuntu/xenial xenial main" >> /etc/apt/sources.list

sudo apt-get update
sudo apt-get install td-agent-bit

这里安装的 td-agent-bit 就是 fluentbit

安装 influxdb + chronograf

为了方便,我使用 docker 部署, docker-compose.yml 如下:

influxdb:
  image: "influxdb:1.6-alpine"
  ports: ['127.0.0.1:8086:8086']
  volumes:
    - "/var/docker/influxdb:/var/lib/influxdb"
  environment:
    - TZ=Asia/Shanghai
    - GOGC=10
    - INFLUXDB_DATA_INDEX_VERSION=tsi1
  restart: "always"

chronograf:
  image: "chronograf:1.6-alpine"
  net: host
  restart: "always"
docker-compose up -d

配置 fluentbit

默认的配置在 /etc/td-agent-bit 目录下面

# td-agent-bit.conf
[SERVICE]
    Flush        1
    Daemon       Off
    Log_Level    info
    Log_File     /var/log/fluent-bit.log
    Parsers_File parsers.conf

[INPUT]
    Name cpu
    Tag  stats.cpu

[INPUT]
    Name disk
    Tag  stats.disk

[INPUT]
    Name mem
    Tag  stats.mem

[INPUT]
    Name          netif
    Tag           stats.net
    Interface     eth0

[INPUT]
    Name tail
    Tag tengine
    Path /var/log/tengine/source/*.log
    DB /var/log/tengine/source/cursor.db
    Parser nginx

[OUTPUT]
    Name  influxdb
    Match tengine
    Host 127.0.0.1
    Port 8086
    Database log
    Tag_Keys host http_version method remote

[OUTPUT]
    Name  influxdb
    Match stats.*
    Host 127.0.0.1
    Port 8086
    Database stats
# parsers.conf
[PARSER]
    Name   nginx
    Format regex
    Regex ^(?<remote>[^ ]*) \[(?<time>[^\]]*)\] "(?<host>\S*)" "(?<method>\S+) (?<path>[^\"]*?) (?<http_version>\S+)" (?<code>\S*) (?<size>[-0-9\.]+) "(?<referer>[^\"]*)" "(?<agent>[^\"]*)" (?<upstream_time>[-0-9\.]+) (?<request_time>[-0-9\.]+)$
    Time_Key time
    Time_Format %Y-%m-%dT%H:%M:%S%z
    Types code:integer size:integer upstream_time:float request_time:float

这里的 parser 配置是根据我的 tengine 日志配置的,具体的正则可以通过 http://rubular.com/ 测试。

启动 fluent-bit

sudo systemctl start td-agent-bit

从 chronograf 查看数据

从浏览器访问 http://localhost:8888,配置连接 influxdb。

influxdb连接配置

打开 Data Explorer 查看数据

在 Dashboards 里面可以添加 Cell ,显示各种指标。

Dashboards 的功能也可以使用 grafana 实现。

相关文章

  • fluentbit+influxdb+chronograf收集日

    fluentbit 是一个C实现的轻量级日志收集工具,相比 fluentd 资源占用要小,相对的插件数量上要比 f...

  • 日更:收集阳光

    奇迹感恩日记: 1、今日累计为公司收款6320元,新进4单,4天累计为公司收款14220元,共9单,非常感恩~ 2...

  • 日更:收集快乐

    奇迹感恩日记: 1、今日为公司收款2单3160元,5天累计11单,累计收款17380元~ 2、本月累计完成个案13...

  • 2019-06-18

    6月17日最佳金句评选结果 今日共收集金句:8条 收集人:林海雪 ...

  • 机器人控

    收集控021 | 孙咔咔的爸爸 收集控021:孙咔咔的爸爸 2016年7月28日 题记:其实收集对于每个人来说,每...

  • 62号 #百日生涯营# D23收集日

    百日营的Day23-收集日 【百日生涯营DAY23】 收集日:世界是一个庞大恢弘的参照系。其他人都选择了什么样的活...

  • 人类月球日(收集篇)

    2022.7.20 周三 多云 39-27度 1969年的今天,美国"阿波罗11号"登月,宇航员阿姆斯特朗首次在月...

  • 中药药用一览表,每个中国家庭必备!

    鲵影萍踪收集整理 (2018年11月29日)

  • 古镇大坝名胜古迹

    鲵影萍踪收集整理 (2018年12月20日)

  • LogStash多来源日志收集配置

      最近需要做一下K8S的应用内日志收集,试水了一下LogStash的日志收集,下面给大家看一下如何收集多来源的日...

网友评论

      本文标题:fluentbit+influxdb+chronograf收集日

      本文链接:https://www.haomeiwen.com/subject/vbiowftx.html