Skip to content

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主配置参数如下:

  1. max_procs 可选项,go的runtime.GOMAXPROCS
  2. debug_level 可选项,日志输出级别,0为debug,1为INFO,2为WARN,3为ERROR,4为PANIC,5位FATAL,数字越高则不打印低级别的日志,
  3. bind_host 可选项,监听的host及端口地址,默认不填则随机选择一个4000及以上的可用端口。
  4. profile_host 可选项,默认为空,不开启profile,若不为空,则开启golang的profile service,填写诸如"localhost:6060"
  5. static_root_path 必填项,logkit页面的静态资源路径,即项目中public目录下的内容,包括html、css以及js文件,请尽量填写绝对路径。
  6. confs_path 必填项,监听Runner配置文件夹,是一个列表,列表中的每一项都是一个监听的配置文件文件夹路径。文件夹路径若为相对路径,则根据运行logkit路径为基础路径寻找相对路径,如果每一项中文件夹下配置发生增加、减少或者变更,会根据配置创建相应的runner,每个conf文件是一个runner,可以使用表达式来监听文件夹。当符合表达式的文件夹增加或减少时,每隔十秒能检测出变动。 confs_path 中最大能监听的文件数取决于系统的fs.inotify.max_user_instances,请谨慎添加,目前qiniu的服务器默认限制数在128.
  7. rest_dir 选填,通过web页面存放的logkit配置文件夹,默认为logkit程序运行目录的子目录.logkitconfs
  8. log 可选项,logkit自身日志的存储路径,默认不开启,日志直接打到stdout,开启后日志会报错到指定路径的文件,并按时间进行文件命名,并当日志文件超过200MB时自动rotate。
  9. clean_self_log 可选项,是否清理logkit本身产生的日志,默认删除 ./run/*.log-* 匹配命中的日志文件,当log参数生效时,默认匹配删除log路径文件夹下符合定义的文件,保留文件名时间戳最新的5个文件。
  10. clean_self_dir 可选项,logkit本身日志的路径,默认为 ./run,当log参数生效时,自动指定log路径文件夹。
  11. clean_self_pattern 可选项,logkit本身日志的模式,默认为 *.log-*,当log参数生效时,自动指定log路径对应文件名作为模式。
  12. clean_self_cnt 可选项,保留logkit日志文件个数,默认为 5
  13. 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
  14. 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
Clone this wiki locally