全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 更多
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 智能硬件
日志服务

配置启动参数

更新时间:2018-03-08 14:51:06

本文描述Logtail启动配置参数,如有特殊需求,可以参考本文进行设置。

应用场景

配置Logtail启动配置参数适用于以下场景:

  • 因内存中需要维护每个文件的签名、采集位置、文件名等元信息,如需采集大量日志文件,可能会导致内存占用率高。
  • 日志数据量大,发送到日志服务的流量也很大,导致CPU占用率高。
  • 需要收集syslog/TCP数据流。

启动配置

  • 文件路径

    /usr/local/ilogtail/ilogtail_config.json

  • 文件格式

    JSON

  • 文件示例 (只展示部分配置项)

    1. {
    2. ...
    3. "cpu_usage_limit" : 0.4,
    4. "mem_usage_limit" : 100,
    5. "max_bytes_per_sec" : 2097152,
    6. "process_thread_count" : 1,
    7. "send_request_concurrency" : 4,
    8. "streamlog_open" : false,
    9. "streamlog_pool_size_in_mb" : 50,
    10. "streamlog_rcv_size_each_call" : 1024,
    11. "streamlog_formats":[],
    12. "streamlog_tcp_port" : 11111,
    13. "buffer_file_num" : 25,
    14. "buffer_file_size" : 20971520,
    15. "buffer_file_path" : "",
    16. ...
    17. }

常用配置参数

参数名 参数值 参数说明
cpu_usage_limit CPU占用率阈值,Double类型,以单核计算。 如0.4,则限制Logtail的CPU使用为CPU单核的40%,超出后Logtail自动重启。大部分场景下,极简模式单核处理能力约24MB/s,完整正则模式单核处理能力约12MB/s,参考
mem_usage_limit 常驻内存使用阈值,int类型,单位是MB。 如100,则限制Logtail的内存使用为100兆字节,超出后Logtail自动重启。如需要采集的 distinct文件数目超过1000,请酌情修改上调该阈值。
max_bytes_per_sec Logtail发送原始数据的流量限制,int类型,以Byte/s 计算。 如 2097152,则限制Logtail 发送数据的速率为2MB/s。
process_thread_count Logtail处理日志文件写入数据的线程数。 默认1个处理线程,一般可以处理极简模式24MB/s或完整正则模式12MB/s的写入。默认情况下无需调整该阈值,只在必要的时候适当上调。
send_request_concurrency Logtail默认是异步发送数据包,如果写入TPS 很高可以配置更高的异步并发。 默认4个异步并发,可以按照一个并发支持0.5MB/s~1MB/s网络吞吐来计算,具体依据网络延时而定。注意:参数过高容易导致网络端口占用过多,此时需调整TCP相关参数
streamlog_open 是否打开接受syslog功能,bool类型。 false表示关闭,true 表示打开,详细说明
streamlog_pool_size_in_mb 单位是MB,用于缓存接收到的syslog数据。 syslog 用于接收日志的内存池大小,程序启动时会一次性申请指定大小的内存,请根据机器内存大小以及实际需求填写。
streamlog_rcv_size_each_call logtail 每次调用 linux socket rcv 接口使用的缓冲区大小,单位是 byte。 如果 syslog 流量很大,可以调高该值,建议取值范围 1024 到 8192。
streamlog_formats 定义接收到的 syslog 日志解析方式。 详细说明
streamlog_tcp_addr logtail 用于接收 syslog 日志的 绑定地址,默认0.0.0.0。 详细说明
streamlog_tcp_port logtail 用于接收 syslog 日志的 TCP 端口。 默认是 11111。
buffer_file_num 网络异常,写入配额超限后,Logtail将实时解析后的日志写入本地文件(安装目录下)缓存起来,等待恢复后尝试重新发送服务端。该参数限制缓存文件的最大数目。 公共云用户默认25个。
buffer_file_size 该参数设置单个缓存文件允许的最大字节数,(buffer_file_num * buffer_file_size) 是缓存文件可以实际使用的最大磁盘空间。 默认20971520字节(20MB)。
buffer_file_path 该参数设置缓存文件存放目录,请在修改该参数后,手动将旧缓存目录下名称如 logtail\_buffer\_file_* 的文件移动到新缓存目录,以保证Logtail可以读取到该缓存文件并在发送后进行删除。 默认为空,缓存文件存放于程序安装目录(/usr/local/ilogtail)。
bind_interface 本机绑定的网卡名,例如eth1(只支持Linux版本)。 默认情况下自动绑定可用网卡,若配置该参数,Logtail将强制使用该网卡进行日志上传。
check_point_filename checkpoint文件保存的全路径,用于自定义Logtail的checkpoint保存位置。 默认情况下为/tmp/logtail_check_point。建议Docker用户修改此文件保存地址,并将checkpoint所在目录挂载到宿主机,否则容器释放时会因丢失checkpoint信息而产生重复采集。例如Docker中配置check_point_filename为 /data/logtail/check_point.dat,Docker启动命令增加-v /data/docker1/logtail:/data/logtail, 将宿主机/data/docker1/logtail目录挂载到Docker中的/data/logtail目录。

注意:

  • 此表仅列出您需要关注的常用启动参数,如 ilogtail_config.json 内有表格中未列出的参数,会使用默认配置,属于正常情况。
  • 请根据需要新增或修改指定配置参数所对应的值,用不到的配置项可以不用增加到 ilogtail_config.json,如采集 syslog 数据流相关设置等。

修改配置

  1. 按需配置 ilogtail_config.json

    请确认修改配置后,配置内容为合法JSON。

  2. 重启Logtail使配置生效。

    1. /etc/init.d/ilogtaild stop
    2. /etc/init.d/ilogtaild start
    3. /etc/init.d/ilogtaild status
本文导读目录