9. Fluentd部署:日志
Fluentd是用来处理其他系统产生的日志的,它本身也会产生一些运行时日志。Fluentd包含两个日志层:全局日志和插件级日志。每个层次的日志都可以进行单独配置。
日志级别
Fluentd的日志包含6个级别:fatal、error、warn、info、debug和trace。级别依次递增,高级别的日志包含低级别的日志。默认为info,所以默认情况下,日志中包含info、warn、error、fatal这4个级别的日志。全局日志
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>
- 插件日志
可通过@log_level对每个插件单独设置日志级别,这个级别将覆盖全局日志级别。
<source>
@type tail
@log_level debug
path /var/log/data.log
...
</source>
<source>
@type http
@log_level fatal
</source>
上边这个片段中,对两个不同的输入源分别设置了各自的日志级别。
- 日志格式
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}
- 将日志写入文件
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
- 捕获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部署:日志的更多相关文章
- JXOJ(基于UOJ)部署日志
JXOJ部署日志 前些日子协助cyc.llf两位奆老部署了JXOJ,为方便日后维护我校OJ的同学,写篇日志做记录以日后查看. 一.准备: 在尝试了多个不同OJ之后,我们最终选择了Universal ...
- 为什么我们需要Logstash,Fluentd等日志摄取器?
前文传送门:Logging with ElasticSearch, Kibana, ASP.NET Core and Docker 疑问:既然应用能直接向ElasticSearch写日志,为什么我们还 ...
- Linux_部署日志服务器
一.部署日志服务 1.查看自己的系统是否安装(一般默认安装) [root@localhost ~]# rpm -qa | grep rsyslog rsyslog-8.37.0-13.el8.x86_ ...
- Fluentd部署详解
Fluentd系统配置项 https://www.cnblogs.com/sanduzxcvbnm/p/13920972.html Fluentd自身日志 https://www.cnblogs.co ...
- 10. Fluentd部署:高可用配置
对于高访问量的web站点或者服务,可以采用Fluentd的高可用配置模式. 消息分发语义 Fluentd设计初衷主要是用作事件日志分发系统的.这类系统支持几种不同的分发模式: 至多一次.消息被立即发送 ...
- CentOS 6.7下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
一.简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取 ...
- CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
一.简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取 ...
- 性能测试二十:环境部署之Tomcat多实例部署+日志监控
一个tomcat性能有限,所以需要部署等多个tomcat 单实例部署与windows下类似,项目包放到webapp目录下,启动bin目录下的startup.sh即可启动命令:./startup.sh启 ...
- CDH部署日志
CDH部署时出现如图所示的错误 可去服务器查看:/opt/cm-5.5.0/run/cloudera-scm-agent/process/ccdeploy_hbase-conf_etchbasecon ...
随机推荐
- 【一知半解】AQS
什么是AbstractQueuedSynchronizer(AQS) 字面意思是抽象队列同步器,使用一个voliate修饰的int类型的同步状态,通过一个FIFO队列完成资源获取的排队工作,把每个参与 ...
- MySQL--数据过滤(AND、OR、IN、NOT操作符)
MySQL允许给出多个WHERE子句.这些子句可以两种方式使用:以AND子句的方式或OR子句的方式使用. 1.组合WHERE子句 1.1 AND操作符 SELECT prod_id,prod_pric ...
- Solution -「Luogu 3959」 宝藏
果真是宝藏题目. 0x01 前置芝士 这道题我是真没往状压dp上去想.题目来源. 大概看了一下结构.盲猜直接模拟退火!\xyx 所需知识点:模拟退火,贪心. 0x02 分析 题目大意:给你一个图,可能 ...
- jdbc 01: 连接mysql,并实现数据插入
jdbc连接mysql,并实现数据插入 package com.examples.jdbc.o1_连接与插入; import java.sql.*; /* jdbc数据库连接六步 */ public ...
- C#基础语法之-泛型
泛型:一共7个知识点 1.引入泛型,延迟声明 2.如何声明和使用泛型 3.泛型的好处和原理 4.泛型类,泛型方法,泛型接口,泛型委托 5.泛型约束 6.协变,逆变 7.泛型缓存 一.为啥会出现泛型,有 ...
- python 线程理解
简介 一个应用程序由多个进程组成,一个进程有多个线程,一个线程则是操作系统调度的最小单位,当应用程序运行时,操作系统根据优先级和时间片调度线程(决定此时此刻执行哪个线程). python的线程 pyt ...
- 20220722-Java中this关键字
this关键字知识总结 学习资源:B站韩顺平老师Java入门教学 代码示例1 public class This01 { public static void main(String[] args) ...
- 完整代码:安卓小软件“CSV联系人导入导出工具”
完整代码:安卓小软件"CSV联系人导入导出工具" 开发了一个安卓小软件"CSV联系人导入导出工具",欢迎测试.本软件可以帮你快速备份和恢复联系人,不用担心号码遗 ...
- vue中axios配置代理的俩种方式及优缺点
概述:Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 当我们使用vue向服务器发送AJAX请求时,我们会遇到跨域问题,一般跨域的解决方案有俩种,一种是官 ...
- Luogu2439 [SDOI2005]阶梯教室设备利用 (动态规划)
同上一题,区间改左闭右开就双倍经验了.貌似可以跑最长路. #include <iostream> #include <cstdio> #include <cstring& ...