iLogtail使用入门-iLogtail本地配置模式部署(For Kafka Flusher)
简介:iLogtail使用入门-iLogtail本地配置模式部署(For Kafka Flusher)。
阿里已经正式开源了可观测数据采集器iLogtail。作为阿里内部可观测数据采集的基础设施,iLogtail承载了阿里巴巴集团、蚂蚁的日志、监控、Trace、事件等多种可观测数据的采集工作。
iLogtail作为阿里云SLS的采集Agent,一般情况下都是配合SLS进行使用,通常采集配置都是通过SLS控制台或API进行的。那是否可以在不依赖于SLS的情况下使用iLogtail呢?
本文将会详细介绍如何在不依赖于SLS控制台的情况下,进行iLogtail本地配置模式部署,并将json格式的日志文件采集到非SLS(例如Kafka等)。
场景
采集/root/bin/input_data/json.log(单行日志json格式),并将采集到的日志写入本地部署的kafka中。
前提条件
kafka本地安装完成,并创建名为logtail-flusher-kafka的topic。部署详见链接。
安装ilogtail
下载最新的ilogtail版本,并解压。
解压tar包
$ tar zxvf logtail-linux64.tar.gz
查看目录结构
$ ll logtail-linux64
drwxr-xr-x 3 500 500 4096 bin
drwxr-xr-x 184 500 500 12288 conf
-rw-r--r-- 1 500 500 597 README
drwxr-xr-x 2 500 500 4096 resources
进入bin目录
$ cd logtail-linux64/bin
$ ll
-rwxr-xr-x 1 500 500 10052072 ilogtail_1.0.28 # ilogtail可执行文件
-rwxr-xr-x 1 500 500 4191 ilogtaild
-rwxr-xr-x 1 500 500 5976 libPluginAdapter.so
-rw-r--r-- 1 500 500 89560656 libPluginBase.so
-rwxr-xr-x 1 500 500 2333024 LogtailInsight
采集配置
配置格式
针对json格式的日志文件采集到本地kafa的配置格式:
{
"metrics": {"{config_name1}" : {"enable": true,"category": "file","log_type": "json_log","log_path": "/root/bin/input_data","file_pattern": "json.log","plugin": {"processors": [ {"detail": {"SplitSep": "","SplitKey": "content"},"type": "processor_split_log_string"},{"detail": {"ExpandConnector": "","ExpandDepth": 1,"SourceKey": "content","KeepSource": false},"type": "processor_json"}],"flushers":[{"type": "flusher_kafka","detail": {"Brokers":["localhost:9092"],"Topic": "logtail-flusher-kafka"}}]},"version": 1},"{config_name2}" : {...}
}
}
详细格式说明:
文件最外层的key为metrics,内部为各个具体的采集配置。
采集配置的key为配置名,改名称需保证在本文件中唯一。建议命名:"##1.0##采集配置名称"。
采集配置value内部为具体采集参数配置,其中关键参数以及含义如下:
参数名 类型 描述
enable bool 该配置是否生效,为false时该配置不生效。
category string 文件采集场景取值为"file"。
log_type string log类型。json采集场景下取值json_log。
log_path string 采集路径。
file_pattern string 采集文件。
plugin object 具体采集配置,为json object,具体配置参考下面说明
version int 该配置版本号,建议每次修改配置后加1
plugin 字段为json object,为具体输入源以及处理方式配置:
配置项 类型 描述
processors object array 处理方式配置,具体请参考链接。 processor_json:将原始日志按照json格式展开。
flushers object array flusher_stdout:采集到标准输出,一般用于调试场景; flusher_kafka:采集到kafka。
完整配置样例
进入bin目录,创建及sys_conf_dir文件夹及ilogtail_config.json文件。
1. 创建sys_conf_dir
$ mkdir sys_conf_dir
2. 创建ilogtail_config.json并完成配置。
logtail_sys_conf_dir取值为:$pwd/sys_conf_dir/
config_server_address固定取值,保持不变。
$ pwd
/root/bin/logtail-linux64/bin
$ cat ilogtail_config.json
{
"logtail_sys_conf_dir": "/root/bin/logtail-linux64/bin/sys_conf_dir/", "config_server_address" : "http://logtail.cn-zhangjiakou.log.aliyuncs.com"
}
3. 此时的目录结构
$ ll
-rwxr-xr-x 1 500 500 ilogtail_1.0.28
-rw-r--r-- 1 root root ilogtail_config.json
-rwxr-xr-x 1 500 500 ilogtaild
-rwxr-xr-x 1 500 500 libPluginAdapter.so
-rw-r--r-- 1 500 500 libPluginBase.so
-rwxr-xr-x 1 500 500 LogtailInsight
drwxr-xr-x 2 root root sys_conf_dir
在sys_conf_dir下创建采集配置文件user_local_config.json。
说明:json_log场景下,user_local_config.json仅需修改采集路径相关参数log_path、file_pattern即可,其他参数保持不变。
$ cat sys_conf_dir/user_local_config.json
{
"metrics":
{"##1.0##kafka_output_test":{"category": "file","log_type": "json_log","log_path": "/root/bin/input_data","file_pattern": "json.log","create_time": 1631018645,"defaultEndpoint": "","delay_alarm_bytes": 0,"delay_skip_bytes": 0,"discard_none_utf8": false,"discard_unmatch": false,"docker_exclude_env":{},"docker_exclude_label":{},"docker_file": false,"docker_include_env":{},"docker_include_label":{},"enable": true,"enable_tag": false,"file_encoding": "utf8","filter_keys":[],"filter_regs":[],"group_topic": "","plugin":{"processors":[{"detail": {"SplitSep": "","SplitKey": "content"},"type": "processor_split_log_string"},{"detail":{"ExpandConnector": "","ExpandDepth": 1,"SourceKey": "content","KeepSource": false},"type": "processor_json"}],"flushers":[{"type": "flusher_kafka","detail":{"Brokers":["localhost:9092"],"Topic": "logtail-flusher-kafka"}}]},"local_storage": true,"log_tz": "","max_depth": 10,"max_send_rate": -1,"merge_type": "topic","preserve": true,"preserve_depth": 1,"priority": 0,"raw_log": false,"aliuid": "","region": "","project_name": "","send_rate_expire": 0,"sensitive_keys":[],"shard_hash_key":[],"tail_existed": false,"time_key": "","timeformat": "","topic_format": "none","tz_adjust": false,"version": 1,"advanced":{"force_multiconfig": false,"tail_size_kb": 1024} }
}
}
启动ilogtail
终端模式运行
$ ./ilogtail_1.0.28 --ilogtail_daemon_flag=false
也可以选择daemon模式运行
$ ./ilogtail_1.0.28
$ ps -ef|grep logtail
root 48453 1 ./ilogtail_1.0.28
root 48454 48453 ./ilogtail_1.0.28
采集场景模拟
往/root/bin/input_data/json.log中构造json格式的数据,代码如下:
$ echo '{"seq": "1", "action": "kkkk", "extend1": "", "extend2": "", "type": "1"}' >> json.log
$ echo '{"seq": "2", "action": "kkkk", "extend1": "", "extend2": "", "type": "1"}' >> json.log
消费topic为logtail-flusher-kafka中的数据。
$ bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic logtail-flusher-kafka
{"Time":1640862641,"Contents":[{"Key":"__tag__:__path__","Value":"/root/bin/input_data/json.log"},{"Key":"seq","Value":"1"},{"Key":"action","Value":"kkkk"},{"Key":"extend1","Value":""},{"Key":"extend2","Value":""},{"Key":"type","Value":"1"}]}
{"Time":1640862646,"Contents":[{"Key":"__tag__:__path__","Value":"/root/bin/input_data/json.log"},{"Key":"seq","Value":"2"},{"Key":"action","Value":"kkkk"},{"Key":"extend1","Value":""},{"Key":"extend2","Value":""},{"Key":"type","Value":"1"}]}
本地调试
为了快速方便验证配置是否正确,可以将采集到的日志打印到标准输出完成快速的功能验证。
替换本地采集配置plugin-flushers为flusher_stdout,并以终端模式运行$ ./ilogtail_1.0.28 --ilogtail_daemon_flag=false,即可将采集到的日志打印到标准输出快速进行本地调试。
{
"type": "flusher_stdout",
"detail":
{"OnlyStdout": true
}
}
原文链接
本文为阿里云原创内容,未经允许不得转载。
iLogtail使用入门-iLogtail本地配置模式部署(For Kafka Flusher)相关推荐
- Spring Cloud Config入门(本地配置)
转载自 https://www.cnblogs.com/zcr3108346262/p/7602314.html spring cloud config 简介 Spring Cloud Config为 ...
- iLogtail使用入门-K8S环境日志采集到SLS
简介:iLogtail是阿里云中简单日志服务又名"SLS"的采集部分. 它用于收集遥测数据,例如日志.跟踪和指标,目前已经正式开源(https://github.com/alib ...
- 携程Apollo(阿波罗)配置中心本地开发模式不接入配置中心进行本地开发
官方教程:https://github.com/ctripcorp/apollo/wiki/Java%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%E6%8 ...
- Spark2.1.0 + CarbonData1.0.0集群模式部署及使用入门
1 引言 Apache CarbonData是一个面向大数据平台的基于索引的列式数据格式,由华为大数据团队贡献给Apache社区,目前最新版本是1.0.0版.介于目前主流大数据组件应用场景的局限性,C ...
- 华为AP+AC本地转发模式配置以及理解
配置思路: AC的配置: AC的无线配置: AC的接口配置 switch 配置: 按照以上配置配好之后,无线网咯就基本上建立了,我在学习这个的时候总有一些问题很困扰,比如为什么ap是通过dhcp怎么获 ...
- Hive3入门至精通(基础、部署、理论、SQL、函数、运算以及性能优化)15-28章
Hive3入门至精通(基础.部署.理论.SQL.函数.运算以及性能优化)15-28章 [Hive3入门至精通(基础.部署.理论.SQL.函数.运算以及性能优化)1-14章](https://blog. ...
- 尚硅谷大数据技术Zookeeper教程-笔记01【Zookeeper(入门、本地安装、集群操作)】
视频地址:[尚硅谷]大数据技术之Zookeeper 3.5.7版本教程_哔哩哔哩_bilibili 尚硅谷大数据技术Zookeeper教程-笔记01[Zookeeper(入门.本地安装.集群操作)] ...
- Elasticsearch7从入门到精通(简介、部署、原理、开发、ELK)
Elasticsearch7从入门到精通(简介.部署.原理.开发.ELK) 第1章.Elasticsearch简介 1-1.Elasticsearch介绍 Elasticsearch官方网站:http ...
- 云服务器ECS入门及云上网站部署
云服务器ECS入门及云上网站部署 一.什么是云服务器ECS 云服务器ECS (Elastic Compute Service) 是阿里云提供的性能卓越.稳定可靠.弹性扩展的laaS(Infrastru ...
最新文章
- 软件随想: 软件 = 程序 + 软件工程
- Informatic 使用过程中的问题
- 用substr()函数高效的输出一个字符串的所用子串
- yelee主题博客四周变透明
- JavaFX之TableView的SelectionMode
- NFS网络文件系统服务介绍与实战
- 晨哥真有料丨女生眼里的满分男生!
- 【elasticsearch】文档 CRUD 增删改查 以及 相关 参数
- 如何恢复快捷方式上的小箭头
- 实验九 TCP 协议分析实验
- win7科学计算机的用法,win7系统自带的计算器使用的修复步骤
- 本科双非,考研压线上北大,总结一下我的复习过程,希望对考研er有点帮助!
- ssh登录极路由后台_自己动手DIY:路由器刷机改造
- 使用GIMP for Mac
- 【设计模式】简单工厂模式+工厂方法模式+抽象工厂模式
- 题目 1039: 宏定义之闰年判断
- 单身毒妈第一至八季/全集Weeds迅雷下载
- 图像配准融合(一)——基于互信息的图像配准方法(c++)
- ML (Chapter 10): 降维与度量学习
- nexus 6p刷android go,Nexus 6P刷入第三方Recovery获取Root权限教程
热门文章
- 小程序switch内部加上文字_文字游戏大全:模拟游戏会长经营公会的小程序,你会管理公会吗?...
- redis 如何 mysql_Redis 如何保持和 MySQL 数据一致
- layui table reload post请求_如何实现在Layui框架中完成父窗口刷新(更新)
- vscode中如何创新建php文件,vscode如何创建代码模板
- 使用yum命令安装mysql_Linux Centos 下使用yum 命令安装mysql实现步骤
- python的内存回收机制_关于python的变量使用回收机制
- mysql封装执行_解决Mysql封装类执行报错——Mysql::insert() should not be called
- Apache java文件比对,Java Apache Commons的字符串比较
- 学位论文是根,学术论文是叶
- 励志!86岁的他,申请获得国家自然科学基金!