系统参数
LoongCollector 启动时会加载实例级系统参数配置文件,用于进程资源、credential、热加载间隔等行为。发行版默认路径为 conf/instance_config/local/loongcollector_config.json。目录布局参考文档:目录结构说明。
为兼容历史环境,仍可通过环境变量指定该文件路径:LOONG_CONFIG 或 ALIYUN_LOGTAIL_CONFIG。若文档或安装包中仍出现 ilogtail_config.json 等文件名,多指同一类实例级配置,以实际部署包为准。
参数列表
cpu_usage_limit
double
CPU使用阈值,以单核计算。取值范围:0.1~当前机器的CPU核心数
警告 cpu_usage_limit为软限制,实际 LoongCollector 进程占用的 CPU 可能超过限制值,超限 5 分钟后将触发熔断保护,进程会自动重启。
例如设置为 0.4,表示将尽可能限制 CPU 使用为单核的 40%,超出后触发上述保护逻辑。
mem_usage_limit
Int
内存使用阈值。
警告 mem_usage_limit为软限制,实际 LoongCollector 进程占用的内存可能超过限制值,超限 5 分钟后将触发熔断保护,进程会自动重启。
default_access_key_id
String
写入 SLS 的 access_id,需要具备写入权限。
default_access_key
String
写入 SLS 的 access_key,需要具备写入权限。
config_scan_interval
Int
采集配置等本地定义文件(continuous_pipeline_config / onetime_pipeline_config 等)热加载扫描间隔,单位为秒。
data_server_port
Int
用于控制 flusher_sls 往 SLS 发送的协议类型。
取值范围:443(默认),表示使用 HTTPS 协议发送;80表示使用 HTTP 协议发送。
如果使用SLS内网域名写入,建议使用HTTP协议发送,提高传输性能。
send_running_status
Bool
为更好地了解 LoongCollector 的使用情况以便规划产品能力,进程会上报一些脱敏后的运行统计信息。您也可以手动关闭此开关。
host_path_blacklist
String
全局主机路径黑名单,黑名单为子串匹配,Linux下多个子串以:分隔,Windows下以;分隔。比如禁止采集NAS挂载,可以配置为/volumes/kubernetes.io~csi/nas-。
ignored_interfaces
String
仅 Linux。逗号分隔的网卡接口名列表:在根据主机名解析本机 IPv4、以及枚举网卡 IPv4 集合时,这些接口上的地址会被忽略,避免把虚拟网卡/网桥地址当成节点主 IP。
回环接口 lo 与 127.* 始终不参与,无需写入本项。
默认值为 kube-ipvs0,nodelocaldns,docker0,常见于 Kubernetes + Docker 节点(kube-proxy IPVS、NodeLocal DNS、Docker 默认网桥)。若环境中还有其它干扰接口(如部分 CNI 网卡),可在此追加名称,或用环境变量覆盖。
对应 gflag 与 JSON 顶层键同名;仅影响 C++ 侧主机 IP 相关逻辑。
metrics_report_method
String
自身指标输出方式。默认为空,即不输出指标。
当前支持的值:
file:每分钟将指标输出到ilogtail运行目录下的self_metrics目录,文件格式为self-metrics-&{time}.json,最多保留60个指标文件(即1小时的数据)。该方式适合本地调试使用。
max_bytes_per_sec
Int
全局发送字节速率上限相关(与默认 default_send_byte_per_sec 等配合,详见代码)。
send_request_concurrency
Int
异步发送并发度(有上下限裁剪,见代码)。
process_thread_count
Int
处理线程数。
ebpf.receive_event_chan_cap
Int
用于接收内核事件的队列大小,默认为 4096
ebpf.admin_config.debug_mode
Bool
是否开启 ebpf debug 模式,默认为 false
ebpf.admin_config.log_level
String
ebpf 相关的日志级别,包括 info warn 和 debug,默认为 warn
sls_request_dscp
Int
设置C++部分发送到SLS网络请求中的 DSCP 字段,取值范围为0到63。默认不设置。
典型配置
在需要自定义网卡过滤时,可在顶层增加 ignored_interfaces(留空表示清空默认列表,请谨慎评估是否会导致误选 IP):
环境变量
与 ilogtail_config.json 对应规则
ilogtail_config.json 对应规则部分顶层配置项可通过环境变量覆盖,命名规则为:带 LOONG_ 前缀且后半段为配置键的大写形式,启动时会映射回同名 gflag(与 JSON 键一致)。下面是一个具体的例子。
ignored_interfaces
String
与 JSON / gflag 中 ignored_interfaces 含义相同,逗号分隔接口名。
LOONG_IGNORED_INTERFACES
String
与 ignored_interfaces 等价;去掉前缀 LOONG_ 并转小写后对应 gflag ignored_interfaces。
containerd runtime相关环境变量配置
CONTAINERD_SOCK_PATH
String
自定义containerd sock路径,非必选。默认为/run/containerd/containerd.sock。自定义取值可以通过查看/etc/containerd/config.toml grpc.address字段获取。
CONTAINERD_STATE_DIR
String
自定义containerd 数据目录,非必选。自定义取值可以通过查看/etc/containerd/config.toml state字段获取。
LOGTAIL_LOG_LEVEL
String
用于控制主进程(日志路径中可能仍包含历史分段名 ilogtail)与 Golang 插件的日志等级,支持 trace、debug、info、warning、error、fatal 等通用等级。
因为 Kubernetes 本身自带资源限制能力,若将 LoongCollector 部署到集群中并希望主要依赖 Pod 的 CPU/内存配额而不使用本进程的软限制熔断,可将
cpu_usage_limit与mem_usage_limit设为很大值(例如99999999),以弱化实例级熔断触发。
未列入上表的实例级键仍可能通过配置合并、ParseJsonToFlags 映射到 gflags 或由专用加载逻辑解析,完整列表与语义以源码为准,可查阅 AppConfig.cpp 中的 LoadResourceConf、LoadOtherConf、ParseJsonToFlags 及各处的 DEFINE_FLAG 定义。
Last updated