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
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.