Logtail配置文件和记录文件

Logtail运行时依赖一系列的配置文件并产生部分信息记录文件,本文档介绍常见文件的基本信息及路径。

启动参数配置文件(ilogtail_config.json)

ilogtail_config.json文件用于配置Logtail的启动参数,文件类型为JSON。更多信息,请参见设置Logtail启动参数

重要
  • 该文件必须为合法JSON,否则无法启动Logtail。

  • 修改该文件后,必须重启Logtail才能生效。具体操作,请参见重启Logtail

  • Logtail默认使用HTTP协议和服务端进行管控面和数据面的通信,使用HTTPS协议和服务端进行鉴权。

    • 如果出于安全考虑,需要使用HTTPS协议和服务端进行通信,则可以分别将config_server_addressdata_server_list.endpoint显式指定为https。

    • 如果使用HTTPS协议传输数据,会增加传输延时,非关键场景不建议使用。

安装Logtail后,您可以在ilogtail_config.json文件进行如下操作。

  • 修改Logtail的运行参数。

  • 检验安装命令是否正确。

    ilogtail_config.json文件中的config_server_address参数和data_server_list参数的值取决于安装时选择的安装命令,如果其中的地域和日志服务所在地域不一致或地址无法联通,说明安装时选择了错误的命令。这时Logtail无法正常采集日志,需重新安装。

  • 文件路径

    • 主机环境

      操作系统

      Logtail

      ilogtail_config.json文件路径

      Linux

      Logtail(64位程序)

      /usr/local/ilogtail/ilogtail_config.json

      Windows(64位操作系统)

      Logtail(64位程序)

      C:\Program Files\Alibaba\Logtail\ilogtail_config.json

      Logtail(32位程序)

      C:\Program Files (x86)\Alibaba\Logtail\ilogtail_config.json

      说明

      Windows 64位操作系统支持运行32/64位应用程序,但是出于兼容性考虑,在Windows 64位操作系统上,Windows会使用单独的x86目录来存放32位应用程序。

      Windows (32位操作系统)

      Logtail(32位程序)

      C:\Program Files\Alibaba\Logtail\ilogtail_config.json

    • 容器环境

      ilogtail_config.json文件存储在Logtail容器中,文件路径配置在Logtail容器的环境变量ALIYUN_LOGTAIL_CONFIG中,您可通过docker inspect ${logtail_container_name} | grep ALIYUN_LOGTAIL_CONFIG命令查看。例如:/etc/ilogtail/conf/cn-hangzhou/ilogtail_config.json

  • 文件示例

    $cat /usr/local/ilogtail/ilogtail_config.json
    {
        "config_server_address" : "http://logtail.cn-hangzhou-intranet.log.aliyuncs.com",
        "data_server_list" :
        [
            {
                "cluster" : "cn-hangzhou",
                "endpoint" : "cn-hangzhou-intranet.log.aliyuncs.com"
            }
        ],
        "cpu_usage_limit" : 0.4,
        "mem_usage_limit" : 100,
        "max_bytes_per_sec" : 2097152,
        "process_thread_count" : 1,
        "send_request_concurrency" : 4,
        "streamlog_open" : false
    }

用户标识配置文件

用户标识配置文件中包含阿里云主账号的ID信息,用于标识这台服务器有权限被该账号访问、采集日志。更多信息,请参见配置用户标识

重要
  • 在采集非本账号ECS、自建IDC、其他云厂商服务器日志时需要配置用户标识。

  • 用户标识配置文件中必须配置阿里云账号(主账号)ID,不支持RAM用户。

  • 用户标识配置文件只需配置文件名,无需配置文件后缀。

  • 一台服务器上可配置多个用户标识,Logtail容器中仅支持配置一个用户标识。

  • 文件路径

    • 主机环境

      • Linux:/etc/ilogtail/users/。

      • Windows:C:\LogtailData\users\。

    • 容器环境

      用户标识保存在Logtail容器的环境变量ALIYUN_LOGTAIL_USER_ID中,您可通过docker inspect ${logtail_container_name} | grep ALIYUN_LOGTAIL_USER_ID命令查看。

  • 文件示例

    $ls /etc/ilogtail/users/

用户自定义标识文件(user_defined_id)

user_defined_id文件用于配置用户自定义标识。更多信息,请参见创建用户自定义标识机器组

重要

创建自定义标识机器组时需要配置user_defined_id文件。

  • 文件路径

    • 主机环境

      • Linux:/etc/ilogtail/user_defined_id。

      • Windows:C:\LogtailData\user_defined_id。

    • 容器环境

      用户自定义标识配置在Logtail容器的环境变量ALIYUN_LOGTAIL_USER_DEFINED_ID中,可通过docker inspect ${logtail_container_name} | grep ALIYUN_LOGTAIL_USER_DEFINED_ID命令查看。

  • 文件示例

    $cat /etc/ilogtail/user_defined_id
    aliyun-ecs-rs1e16355

Logtail采集配置文件(user_log_config.json)

user_log_config.json文件记录Logtail从日志服务获取的Logtail采集配置信息,文件类型为JSON,每次Logtail采集配置更新时会同步更新该文件。可通过user_log_config.json文件确认Logtail采集配置是否已经下发到服务器。Logtail采集配置文件存在,且内容与日志服务上的Logtail采集配置一致,表示Logtail采集配置已下发。

重要

除手动配置AccessKey信息、数据库密码等敏感信息外,不建议修改该文件。

  • 文件路径

    • 主机环境

      操作系统

      Logtail

      user_log_config.json文件路径

      Linux

      Logtail(64位程序)

      /usr/local/ilogtail/user_log_config.json

      Windows(64位操作系统)

      Logtail(64位程序)

      C:\Program Files\Alibaba\Logtail\user_log_config.json

      Logtail(32位程序)

      C:\Program Files (x86)\Alibaba\Logtail\user_log_config.json

      说明

      Windows 64位操作系统支持运行32/64位应用程序,但是出于兼容性考虑,在Windows 64位操作系统上,Windows会使用单独的x86目录来存放32位应用程序。

      Windows (32位操作系统)

      Logtail(32位程序)

      C:\Program Files\Alibaba\Logtail\user_log_config.json

    • 容器环境

      user_log_config.json文件存储在Logtail容器中,文件路径为/usr/local/ilogtail/user_log_config.json。

  • 文件示例

    $cat /usr/local/ilogtail/user_log_config.json
    {
       "metrics" : {
          "##1.0##k8s-log-c12ba2028*****939f0b$app-java" : {
             "aliuid" : "16542189*****50",
             "category" : "app-java",
             "create_time" : 1534739165,
             "defaultEndpoint" : "cn-hangzhou-intranet.log.aliyuncs.com",
             "delay_alarm_bytes" : 0,
             "enable" : true,
             "enable_tag" : true,
             "filter_keys" : [],
             "filter_regs" : [],
             "group_topic" : "",
             "local_storage" : true,
             "log_type" : "plugin",
             "log_tz" : "",
             "max_send_rate" : -1,
             "merge_type" : "topic",
             "plugin" : {
                "inputs" : [
                   {
                      "detail" : {
                         "IncludeEnv" : {
                            "aliyun_logs_app-java" : "stdout"
                         },
                         "IncludeLable" : {
                            "io.kubernetes.container.name" : "java-log-demo-2",
                            "io.kubernetes.pod.namespace" : "default"
                         },
                         "Stderr" : true,
                         "Stdout" : true
                      },
                      "type" : "service_docker_stdout"
                   }
                ]
             },
             "priority" : 0,
             "project_name" : "k8s-log-c12ba2028c*****ac1286939f0b",
             "raw_log" : false,
             "region" : "cn-hangzhou",
             "send_rate_expire" : 0,
             "sensitive_keys" : [],
             "tz_adjust" : false,
             "version" : 1
          }
       }
    }

AppInfo记录文件(app_info.json)

app_info.json文件记录Logtail的启动时间、获取到的IP地址、主机名等信息。

如果已在服务器的/etc/hosts文件中设置了主机名与IP地址绑定,则自动获取绑定的IP地址。如果没有设置主机名绑定,会自动获取本机的第一块网卡的IP地址。

重要
  • AppInfo记录文件仅用于记录Logtail内部信息。修改该文件不会改变Logtail获取的IP地址。

  • 如果修改了服务器的主机名等网络配置,请重启Logtail,获取新的IP地址。

  • 文件路径

    • 主机环境

      操作系统

      Logtail

      app_info.json文件路径

      Linux

      Logtail(64位程序)

      /usr/local/ilogtail/app_info.json

      Windows(64位操作系统)

      Logtail(64位程序)

      C:\Program Files\Alibaba\Logtail\app_info.json

      Logtail(32位程序)

      C:\Program Files (x86)\Alibaba\Logtail\app_info.json

      说明

      Windows 64位操作系统支持运行32/64位应用程序,但是出于兼容性考虑,在Windows 64位操作系统上,Windows会使用单独的x86目录来存放32位应用程序。

      Windows (32位操作系统)

      Logtail(32位程序)

      C:\Program Files\Alibaba\Logtail\app_info.json

    • 容器环境

      app_info.json文件存储在Logtail容器中,文件路径为/usr/local/ilogtail/app_info.json。

  • 文件示例

    $cat /usr/local/ilogtail/app_info.json
    {
       "UUID" : "",
       "hostname" : "logtail-ds-slpn8",
       "instance_id" : "E5F93BC6-B024-11E8-8831-0A58AC14039E_1**.***.***.***_1536053315",
       "ip" : "1**.***.***.***",
       "logtail_version" : "0.16.13",
       "os" : "Linux; 3.10.0-693.2.2.el7.x86_64; #1 SMP Tue Sep 12 22:26:13 UTC 2017; x86_64",
       "update_time" : "2018-09-04 09:28:36"
    }

    字段

    说明

    UUID

    服务器序列号。

    hostname

    主机名。

    instance_id

    随机生成的Logtail唯一标识。

    ip

    Logtail获取到的IP地址。该字段为空时表示Logtail没有获取到IP地址,Logtail无法正常运行,请为服务器设置IP地址并重启Logtail。

    说明

    如果您创建了IP地址机器组,请确保机器组中配置的IP与此处显示的IP地址一致。如果不一致,请在日志服务控制台上修改机器组内IP地址,等待1分钟再查看。

    logtail_version

    Logtail客户端版本。

    os

    操作系统版本。

    update_time

    Logtail最近一次启动时间。

Logtail运行日志(ilogtail.LOG)

ilogtail.LOG文件记录了Logtail的运行日志,日志级别从低到高分别为INFO、WARN和ERROR,其中INFO类型的日志无需关注。

如果采集异常,请先诊断采集错误,根据具体的错误类型和Logtail运行日志排查问题。更多信息,请参见如何查看Logtail采集错误信息

说明

如果因Logtail采集异常提交工单时,请同时上传该日志。

  • 文件路径

    • 主机环境

      操作系统

      Logtail

      ilogtail.LOG件路径

      Linux

      Logtail(64位程序)

      /usr/local/ilogtail/ilogtail.LOG

      Windows(64位操作系统)

      Logtail(64位程序)

      C:\Program Files\Alibaba\Logtail\ilogtail.LOG

      Logtail(32位程序)

      C:\Program Files (x86)\Alibaba\Logtail\ilogtail.LOG

      说明

      Windows 64位操作系统支持运行32/64位应用程序,但是出于兼容性考虑,在Windows 64位操作系统上,Windows会使用单独的x86目录来存放32位应用程序。

      Windows (32位操作系统)

      Logtail(32位程序)

      C:\Program Files\Alibaba\Logtail\ilogtail.LOG

    • 容器环境:

      ilogtail.LOG文件存储在Logtail容器中,文件路径为/usr/local/ilogtail/ilogtail.LOG。

  • 文件示例

    $tail /usr/local/ilogtail/ilogtail.LOG
    [2018-09-13 01:13:59.024679]    [INFO]    [3155]    [build/release64/sls/ilogtail/elogtail.cpp:123]    change working dir:/usr/local/ilogtail/
    [2018-09-13 01:13:59.025443]    [INFO]    [3155]    [build/release64/sls/ilogtail/AppConfig.cpp:175]    load logtail config file, path:/etc/ilogtail/conf/ap-southeast-1/ilogtail_config.json
    [2018-09-13 01:13:59.025460]    [INFO]    [3155]    [build/release64/sls/ilogtail/AppConfig.cpp:176]    load logtail config file, detail:{
       "config_server_address" : "http://logtail.ap-southeast-1-intranet.log.aliyuncs.com",
       "data_server_list" : [
          {
             "cluster" : "ap-southeast-1",
             "endpoint" : "ap-southeast-1-intranet.log.aliyuncs.com"
          }
    ]

Logtail插件日志(logtail_plugin.LOG)

logtail_plugin.LOG文件记录Logtail插件的运行日志,日志级别从低到高分别为INFO、WARN和ERROR,其中INFO类型的日志无需关注。

如果在诊断采集错误时,提示CANAL_RUNTIME_ALARM等错误,可以通过logtail_plugin.LOG文件排查。

说明

如果因插件异常提交工单时,请在工单中上传该文件。

  • 文件路径

    • 主机环境

      操作系统

      Logtail

      logtail_plugin.LOG文件路径

      Linux

      Logtail(64位程序)

      /usr/local/ilogtail/logtail_plugin.LOG

      Windows(64位操作系统)

      Logtail(64位程序)

      C:\Program Files\Alibaba\Logtail\logtail_plugin.LOG

      Logtail(32位程序)

      C:\Program Files (x86)\Alibaba\Logtail\logtail_plugin.LOG

      说明

      Windows 64位操作系统支持运行32/64位应用程序,但是出于兼容性考虑,在Windows 64位操作系统上,Windows会使用单独的x86目录来存放32位应用程序。

      Windows (32位操作系统)

      Logtail(32位程序)

      C:\Program Files\Alibaba\Logtail\logtail_plugin.LOG

    • 容器环境

      logtail_plugin.LOG文件存储在Logtail容器中,文件路径为/usr/local/ilogtail/logtail_plugin.LOG。

  • 文件示例

    $tail /usr/local/ilogtail/logtail_plugin.LOG
    2018-09-13 02:55:30 [INF] [docker_center.go:525] [func1] docker fetch all:start
    2018-09-13 02:55:30 [INF] [docker_center.go:529] [func1] docker fetch all:stop
    2018-09-13 03:00:30 [INF] [docker_center.go:525] [func1] docker fetch all:start
    2018-09-13 03:00:30 [INF] [docker_center.go:529] [func1] docker fetch all:stop
    2018-09-13 03:03:26 [INF] [log_file_reader.go:221] [ReadOpen] [##1.0##sls-zc-test-hz-pub$docker-stdout-config,k8s-stdout]    open file for read, file:/logtail_host/var/lib/docker/containers/7f46afec6a14de39b59ee9cdfbfa8a70c2fa26f1148b2e2f31bd3410f5b2d624/7f46afec6a14de39b59ee9cdfbfa8a70c2fa26f1148b2e2f31bd3410f5b2d624-json.log    offset:40379573    status:794354-64769-40379963
    2018-09-13 03:03:26 [INF] [log_file_reader.go:221] [ReadOpen] [##1.0##k8s-log-c12ba2028cfb444238cd9ac1286939f0b$docker-stdout-config,k8s-stdout]    open file for read, file:/logtail_host/var/lib/docker/containers/7f46afec6a14de39b59ee9cdfbfa8a70c2fa26f1148b2e2f31bd3410f5b2d624/7f46afec6a14de39b59ee9cdfbfa8a70c2fa26f1148b2e2f31bd3410f5b2d624-json.log    offset:40379573    status:794354-64769-40379963
    2018-09-13 03:04:26 [INF] [log_file_reader.go:308] [CloseFile] [##1.0##sls-zc-test-hz-pub$docker-stdout-config,k8s-stdout]    close file, reason:no read timeout    file:/logtail_host/var/lib/docker/containers/7f46afec6a14de39b59ee9cdfbfa8a70c2fa26f1148b2e2f31bd3410f5b2d624/7f46afec6a14de39b59ee9cdfbfa8a70c2fa26f1148b2e2f31bd3410f5b2d624-json.log    offset:40379963    status:794354-64769-40379963
    2018-09-13 03:04:27 [INF] [log_file_reader.go:308] [CloseFile] [##1.0##k8s-log-c12ba2028cfb444238cd9ac1286939f0b$docker-stdout-config,k8s-stdout]    close file, reason:no read timeout    file:/logtail_host/var/lib/docker/containers/7f46afec6a14de39b59ee9cdfbfa8a70c2fa26f1148b2e2f31bd3410f5b2d624/7f46afec6a14de39b59ee9cdfbfa8a70c2fa26f1148b2e2f31bd3410f5b2d624-json.log    offset:40379963    status:794354-64769-40379963
    2018-09-13 03:05:30 [INF] [docker_center.go:525] [func1] docker fetch all:start
    2018-09-13 03:05:30 [INF] [docker_center.go:529] [func1] docker fetch all:stop

容器路径映射文件(docker_path_config.json)

docker_path_config.json文件只有在采集容器日志时才会创建,用于记录容器文件和宿主机文件的路径映射关系。文件类型为JSON。

如果在诊断采集错误时,如果提示DOCKER_FILE_MAPPING_ALARM错误,表示添加Docker文件映射失败,可以通过docker_path_config.json文件排查。

说明
  • docker_path_config.json文件为记录文件,任何修改操作均不会生效。删除后会自动创建,不影响业务的正常运行。

  • 因采集容器日志异常而提交工单时,请在工单中上传此文件。

  • 文件路径

    /usr/local/ilogtail/docker_path_config.json

  • 文件示例

    $cat /usr/local/ilogtail/docker_path_config.json
    {
       "detail" : [
          {
             "config_name" : "##1.0##k8s-log-c12ba2028cfb444238cd9ac1286939f0b$nginx",
             "container_id" : "df19c06e854a0725ea7fca7e0378b0450f7bd3122f94fe3e754d8483fd330d10",
             "params" : "{\n   \"ID\" : \"df19c06e854a0725ea7fca7e0378b0450f7bd3122f94fe3e754d8483fd330d10\",\n   \"Path\" : \"/logtail_host/var/lib/docker/overlay2/947db346695a1f65e63e582ecfd10ae1f57019a1b99260b6c83d00fcd1892874/diff/var/log\",\n   \"Tags\" : [\n      \"nginx-type\",\n      \"access-log\",\n      \"_image_name_\",\n      \"registry.cn-hangzhou.aliyuncs.com/log-service/docker-log-test:latest\",\n      \"_container_name_\",\n      \"nginx-log-demo\",\n      \"_pod_name_\",\n      \"nginx-log-demo-h2lzc\",\n      \"_namespace_\",\n      \"default\",\n      \"_pod_uid_\",\n      \"87e56ac3-b65b-11e8-b172-00163f008685\",\n      \"_container_ip_\",\n      \"172.20.4.224\",\n      \"purpose\",\n      \"test\"\n   ]\n}\n"
          } 
       ],
       "version" : "0.1.0"
    }