-
Notifications
You must be signed in to change notification settings - Fork 255
logkit主配置文件
Sun Jianbo edited this page Dec 4, 2017
·
14 revisions
在启动logkit时,需要通过-f
参数指定logkit的主配置文件,如 ./logkit -f logkit.conf
一份示例配置文件如下:
{
"max_procs": 8, # 选填,默认为机器的CPU数量
"debug_level": 1, # 选填,默认为0,打印DEBUG日志
"bind_host":"127.0.0.1:4000", # 选填,默认自己找一个4000以上的可用端口开启
"profile_host":"localhost:6060", # 选填,默认为空,不开启
"log":"./run/logkit.log", # 选填,默认打到stdout,logkit自身日志打到文件保存的路径
"clean_self_log":true, # 选填,默认false
"clean_self_dir":"./run", # 选填,clean_self_log 为true时候生效,默认 "./run"
"clean_self_pattern":"*.log-*", # 选填,clean_self_log 为true时候生效,默认 "*.log-*"
"clean_self_cnt":5, # 选填,clean_self_log 为true时候生效,默认 5
"rest_dir":"./.logkitconfs", # 选填,通过web页面存放的logkit配置文件夹,默认为logkit程序运行目录的子目录`.logkitconfs`下
"static_root_path":"./public", # 必填,logkit页面的静态资源路径,即项目中public目录下的内容,包括html、css以及js文件,请尽量填写绝对路径
"timeformat_layouts":["[02/Jan/2006:15:04:05 -0700]"], #选填,默认为空。
"confs_path": ["confs","confs2", "/home/me/*/confs"], #必填,监听的日志目录
"cluster": { # 启用 cluster 功能时必须添加该项
"master_url": [], # slave 至少填一个 master 的 url
"is_master": true, # master 必须置为 true
"enable": true # 启用 cluster 必须置为 true
}
}
logkit.conf
主配置参数如下:
-
max_procs
可选项,go的runtime.GOMAXPROCS -
debug_level
可选项,日志输出级别,0为debug,1为INFO,2为WARN,3为ERROR,4为PANIC,5位FATAL,数字越高则不打印低级别的日志, -
bind_host
可选项,监听的host及端口地址,默认不填则随机选择一个4000及以上的可用端口。 -
profile_host
可选项,默认为空,不开启profile,若不为空,则开启golang的profile service,填写诸如"localhost:6060" -
static_root_path
必填项,logkit页面的静态资源路径,即项目中public目录下的内容,包括html、css以及js文件,请尽量填写绝对路径。 -
confs_path
必填项,监听Runner配置文件夹,是一个列表,列表中的每一项都是一个监听的配置文件文件夹路径。文件夹路径若为相对路径,则根据运行logkit路径为基础路径寻找相对路径,如果每一项中文件夹下配置发生增加、减少或者变更,会根据配置创建相应的runner,每个conf文件是一个runner,可以使用表达式来监听文件夹。当符合表达式的文件夹增加或减少时,每隔十秒能检测出变动。confs_path
中最大能监听的文件数取决于系统的fs.inotify.max_user_instances
,请谨慎添加,目前qiniu的服务器默认限制数在128. -
rest_dir
选填,通过web页面存放的logkit配置文件夹,默认为logkit程序运行目录的子目录.logkitconfs
下 -
log
可选项,logkit自身日志的存储路径,默认不开启,日志直接打到stdout,开启后日志会报错到指定路径的文件,并按时间进行文件命名,并当日志文件超过200MB时自动rotate。 -
clean_self_log
可选项,是否清理logkit本身产生的日志,默认删除./run/*.log-*
匹配命中的日志文件,当log
参数生效时,默认匹配删除log
路径文件夹下符合定义的文件,保留文件名时间戳最新的5个文件。 -
clean_self_dir
可选项,logkit本身日志的路径,默认为./run
,当log
参数生效时,自动指定log
路径文件夹。 -
clean_self_pattern
可选项,logkit本身日志的模式,默认为*.log-*
,当log
参数生效时,自动指定log
路径对应文件名作为模式。 -
clean_self_cnt
可选项,保留logkit日志文件个数,默认为 5 -
timeformat_layouts
可选项,增加的自定义时间格式,是一个json字符串数组,默认为空。logkit本身支持一系列常规的时间格式转换,对于特殊的时间格式,可以通过这个参数指定解析。另一方面,为了提高时间类型数据解析的速度,可以通过这个选项快速匹配时间的格式。时间格式的写法必须符合golang的时间格式定义方法,参见https://golang.org/pkg/time/#pkg-constants ,简单来说,年份必须是2006
,月份必须是1
或者Jan
,日必须是2
,时必须是3
,分必须是4
,秒必须是5
,时区必须是+7
。比如比如RFC3339的格式定义为2006-01-02T15:04:05+07:00
,又或者我们自己定义一个简单版的时间2006|01|02|03|04|05
,年月日时分秒分别用竖线|
分隔,假设当前时间为2017年6月6日20时38分12秒,则按我们定义的格式显示为2017|06|06|20|38|12
。 -
cluster
可选项, 该配置项为logkit
cluster 功能的相关配置,详细说明请参考 Cluster
注意:清理logkit本身日志的,需要保证日志进行rotate,如果日志只是重定向到一个文件内,那日志是不会被删除的。推荐rotatelogs方式如下:
./logkit -f logkit.conf 2>&1 | rotatelogs -l -f ./run/logkit.log-%m%d%H%M%S 500M
快速开始 | Pandora | Readers | Parsers | Senders | Download | 七牛智能日志管理平台 | logkit-pro专业版