Fluentd是用来处理其他系统产生的日志的,它本身也会产生一些运行时日志。Fluentd包含两个日志层:全局日志和插件级日志。每个层次的日志都可以进行单独配置。

  1. 日志级别

    Fluentd的日志包含6个级别:fatal、error、warn、info、debug和trace。级别依次递增,高级别的日志包含低级别的日志。默认为info,所以默认情况下,日志中包含info、warn、error、fatal这4个级别的日志。

  2. 全局日志

    Fluentd内核使用全局日志配置,若插件没有单独设置自己的日志配置项,插件也共用全局日志配置项。可通过命令行或配置文件进行设置。

2.1 命令行

  • -v、-vv用于增加日志级别,-q、-qq用于降低日志级别。
$ fluentd -v  ... # debug level
$ fluentd -vv ... # trace level $ fluentd -q ... # warn level
$ fluentd -qq ... # error leve

使用命令行可以在不改变配置文件的情况下调整日志级别,方便调试。

  • 配置文件

    也可以在配置文件中设置的log_level来配置全局日志级别。
<system>
# equal to -qq option
log_level error
</system>
  1. 插件日志

    可通过@log_level对每个插件单独设置日志级别,这个级别将覆盖全局日志级别。
<source>
@type tail
@log_level debug
path /var/log/data.log
...
</source>
<source>
@type http
@log_level fatal
</source>

上边这个片段中,对两个不同的输入源分别设置了各自的日志级别。

  1. 日志格式

    Fluentd的日志支持text和json两种格式,默认使用text,可在<system>中进行设定。
<system>
<log>
format json
time_format %Y-%m-%d
</log>
</system>

若使用json格式,

2017-07-27 06:44:54 +0900 [info]: #0 fluentd worker is now running worker=0

这条日志将会转化为如下输出:

{"time":"2017-07-27","level":"info","message":"fluentd worker is now running worker=0","worker_id":0}
  1. 将日志写入文件

    Fluentd默认将其日志输出到stdout,可通过-o将日志输出到文件中。
$ fluentd -o /path/to/log_file

若将日志写入文件,默认情况下Fluentd不会进行日志轮转,即会向指定的文件中不断写入日志,这可能会导致日志文件过大。可通过命令行参数开启日志轮转功能。

5.1 --log-rotate-age AGE

这里AGE为整数或字符串,需要和下边的rotate-size配合使用。

整数表示轮转文件个数;

字符串表示轮转频率,可为daily、weekly或monthly。

5.2 --log-rotate-size BYTES

BYTES为轮转文件的大小,达到此字节数即开始写入新的文件。

当rotate-age值为整数时,通过此配置项控制日志的轮转。

$ fluentd -c fluent.conf --log-rotate-age 5 --log-rotate-size 104857600
  1. 捕获Fluentd日志

    Fluentd自身日志也可以被采集。

    Fluentd使用fluent作为自身日志的tag,我们可以通过<label @FLUENT_LOG>来处理Fluentd自身的日志。
# Add hostname for identifying the server
<label @FLUENT_LOG>
<filter fluent.*>
@type record_transformer
<record>
host "#{Socket.gethostname}"
</record>
</filter> <match fluent.*>
@type monitoring_plugin
# parameters...
</match>
<label>

这样做的一个用处是用来监控Fluentd运行情况。

9. Fluentd部署:日志的更多相关文章

  1. JXOJ(基于UOJ)部署日志

    JXOJ部署日志 前些日子协助cyc.llf两位奆老部署了JXOJ,为方便日后维护我校OJ的同学,写篇日志做记录以日后查看. 一.准备: ​ 在尝试了多个不同OJ之后,我们最终选择了Universal ...

  2. 为什么我们需要Logstash,Fluentd等日志摄取器?

    前文传送门:Logging with ElasticSearch, Kibana, ASP.NET Core and Docker 疑问:既然应用能直接向ElasticSearch写日志,为什么我们还 ...

  3. Linux_部署日志服务器

    一.部署日志服务 1.查看自己的系统是否安装(一般默认安装) [root@localhost ~]# rpm -qa | grep rsyslog rsyslog-8.37.0-13.el8.x86_ ...

  4. Fluentd部署详解

    Fluentd系统配置项 https://www.cnblogs.com/sanduzxcvbnm/p/13920972.html Fluentd自身日志 https://www.cnblogs.co ...

  5. 10. Fluentd部署:高可用配置

    对于高访问量的web站点或者服务,可以采用Fluentd的高可用配置模式. 消息分发语义 Fluentd设计初衷主要是用作事件日志分发系统的.这类系统支持几种不同的分发模式: 至多一次.消息被立即发送 ...

  6. CentOS 6.7下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

    一.简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取 ...

  7. CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

    一.简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取 ...

  8. 性能测试二十:环境部署之Tomcat多实例部署+日志监控

    一个tomcat性能有限,所以需要部署等多个tomcat 单实例部署与windows下类似,项目包放到webapp目录下,启动bin目录下的startup.sh即可启动命令:./startup.sh启 ...

  9. CDH部署日志

    CDH部署时出现如图所示的错误 可去服务器查看:/opt/cm-5.5.0/run/cloudera-scm-agent/process/ccdeploy_hbase-conf_etchbasecon ...

随机推荐

  1. gpg加解密异常

    在本地windows电脑和开发环境(linux) ,都不报错,但是在测试环境(linux) 上报错. 报错信息 org.bouncycastle.openpgp.PGPException: Excep ...

  2. 应用启动加速-并发初始化spring bean

    背景 随着需求的不断迭代,服务承载的内容越来越多,依赖越来越多,导致服务启动慢,从最开始的2min以内增长到5min,导致服务发布很慢,严重影响开发效率,以及线上问题的修复速度.所以需要进行启动加速. ...

  3. jdbc 10:jdbc事务

    jdbc连接mysql,涉及到的事务问题 package com.examples.jdbc.o10_jdbc事务; import java.sql.Connection; import java.s ...

  4. JavaScript进阶内容——BOM详解

    JavaScript进阶内容--BOM详解 在上一篇文章中我们学习了DOM,接下来让我们先通过和DOM的对比来简单了解一下BOM 首先我们先来复习一下DOM: 文档对象模型 DOM把文档当作一个对象来 ...

  5. Schur不等式(舒尔不等式)

    舒尔( Schur \texttt{Schur} Schur)不等式1 具体内容 Schur \texttt{Schur} Schur 不等式: x , y , z x,y,z x,y,z 为非负实数 ...

  6. ACWing94.递归实现指数型枚举

    https://www.acwing.com/problem/content/description/94/ 题面 \92. 递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有 ...

  7. C#基础语法之-泛型

    泛型:一共7个知识点 1.引入泛型,延迟声明 2.如何声明和使用泛型 3.泛型的好处和原理 4.泛型类,泛型方法,泛型接口,泛型委托 5.泛型约束 6.协变,逆变 7.泛型缓存 一.为啥会出现泛型,有 ...

  8. 使用Docker-compose来封装celery4.1+rabbitmq3.7服务,实现微服务架构

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_115 大家都知道,Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统,在之前的一篇文章中:python3.7+Torn ...

  9. MySQL 数据定义语句

    表相关 修改表名 alter table grade rename hang; 新增表字段 alter table grade add `name` varchar(100); 修改表字段类型 alt ...

  10. ENSP 与VMware workstation 同时安装会出现AR40 或者VMware蓝屏

    前言: 你已经安装了VMware workstation,ENSP,Virtualbox,并且关闭了hyper-v,还会出现报错或者VMware蓝屏. #此处补充一条命令systeminfo 如果你看 ...