博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fluentd 例子
阅读量:6760 次
发布时间:2019-06-26

本文共 2960 字,大约阅读时间需要 9 分钟。

0. 安装、启动

安装

curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh

更新:最近貌似会安装最新版本2.3.2安装会有问题,可以手动下载td-agent-2.2.1-0.el6.x86_64.rpm,手动安装

sudo rpm -ivh td-agent-2.2.1-0.el6.x86_64.rpm

 

启动

/opt/td-agent/embedded/bin/ruby /usr/sbin/td-agent --log /var/log/td-agent/td-agent.log --use-v1-config --group td-agent --daemon /var/run/td-agent/td-agent.pid

1. http输入,stdout输出

例子

    @type http    port 8888    bind 0.0.0.0
type stdout

请求

curl http://10.218.139.216:8888/td3 -d 'json={"hi":"abc"}'

结果(/var/log/td-agent/td-agent.log)

2016-02-03 10:17:00 +0800 td3: {
"hi":"abc"}

格式:

@type mongo host 10.218.139.216 port 27017 database db_log collection db_col time_format %H-%M-%S:%s #时-分-秒.毫秒 localtime #本地时间 flush_interval 10s

 

2. http输入,文件输出

例子

## Source descriptions# HTTP input# POST http://localhost:8888/
?json=
@type http port 8888 bind 0.0.0.0## Output# File output# match tag=td.*.* and output to file
@type file path /home/jihite/monitor/test.log flush_interval 10s
## match tag=td2.*.* and output to file
@type file path /home/jihite/monitor/test_2.log flush_interval 10s

http请求:

curl http://10.218.139.216:8888/td2 -d 'json={"hi":1}'

linux命令:

发POST请求工具:

结果查看:

2016-02-01T15:46:06+08:00       td      {
"hi":1}

3. http输入,mongoDB输出

例子

## Source descriptions# HTTP input# POST http://localhost:8888/
?json=
@type http port 8888 bind 0.0.0.0## Output# MongoDB output# match tag=td2.*.* and output to file
@type mongo host 10.218.139.216 port 27017 database db_log collection db_col time_key time flush_interval 10s

请求

curl 10.218.139.216:8888/td2 -d 'json={"hi":"123"}'

 

结果查询:

> show dbsdb_log  0.078GBlocal   0.078GB> use db_logswitched to db db_log> show collectionsdb_colsystem.indexes> db.db_col.find(){ "_id" : ObjectId("56af19dbdfb99f0f50000001"), "hi" : 2, "time" : ISODate("2016-02-01T08:39:47Z") }

4. python写日志

安装插件

sudo pip install fluent-logger

参考:https://github.com/fluent/fluent-logger-python

日志记录示例:

import loggingfrom fluent import handlercustom_format = {  'host': '%(hostname)s',  'where': '%(module)s.%(funcName)s',  #具体到文件、函数  'type': '%(levelname)s',  'stack_trace': '%(exc_text)s'}logging.basicConfig(level=logging.DEBUG)l = logging.getLogger('fluent.test')h = handler.FluentHandler('python.mongo', host='10.218.139.216', port=24224)formatter = handler.FluentRecordFormatter(custom_format)h.setFormatter(formatter)l.addHandler(h)def funcs():    l.warning("hello")    l.error("hello  error")l.info('{"from": "1", "to": "2"}')

修改td-agent.conf

    @type forward    port 24224
@type mongo host 10.218.139.216 port 27017 database db_python collection col_python time_key time flush_interval 10s

 

转载地址:http://zhfeo.baihongyu.com/

你可能感兴趣的文章
oracle之 oracle database vault(数据库保险库)
查看>>
linux 条件测试 ******
查看>>
第一次使用Android Studio时你应该知道的一切配置(三):gradle项目构建
查看>>
Expert 诊断优化系列------------------语句调优三板斧
查看>>
怎样使用下载的bootstrap模板?
查看>>
P1636 Einstein学画画
查看>>
TCP/IP 协议簇 端口 三次握手 四次挥手 11种状态集
查看>>
java正则表达式:验证字符串数字
查看>>
Linux中最常用的JAVA_HOME配置
查看>>
Shiro系列(1) - 权限管理的介绍与原理
查看>>
php页面zend加密乱码的解决办法
查看>>
按日期、时间批量删除文件
查看>>
Ubuntu16.04部署phantomjs的一个问题
查看>>
总结js(1)
查看>>
CTF---Web入门第四题 Forms
查看>>
PowerDesigner的安装
查看>>
webservices 服务器未能识别 HTTP 头 SOAPAction 的值:.
查看>>
iOS应用开发,全局强制竖屏,部分页面允许旋转的处理
查看>>
Linux运维教程
查看>>
Git学习
查看>>