You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将单台主机osquery代理数据采集至中央服务器?配置排查求助

osquery代理数据采集配置问题排查

一、现有配置的语法错误

你的主机和服务器配置存在JSON语法错误,这是触发Error reading config: Error parsing the config JSON的直接原因:

修正后的主机配置:

//主机配置
{
  "options": {
    "distributed_plugin": "tls",
    "distributed_interval": "3600",
    "enroll_tls_endpoint": "https://10.182.2.142/enroll",
    "tls_server_certs": "/opt/osquery/share/osquery/certs/certs.pem",
    "tls_hostname": "SERVER_IP",
    "config_plugin": "filesystem",
    "logger_plugin": "filesystem"
  }
}
  • 修正点:"tls_server_certs"行末尾添加逗号;移除"logger_plugin"行末尾多余的逗号。

修正后的服务器配置:

//服务器配置
{
  "options": {
    "distributed_server": "true",
    "distributed_plugin": "tls",
    "distributed_interval": "3600",
    "tls_server_certs": "/opt/osquery/share/osquery/certs/certs.pem"
  }
}
  • 此配置语法无错误,但功能上需补充后续配置以实现数据接收。

二、服务器未收到日志的核心问题

  1. 日志存储路径错误:主机配置中logger_plugin设为filesystem,日志会保存在主机本地(默认路径/var/log/osquery/),不会上传到中央服务器。若要将日志发送至服务器,需修改配置:

    "logger_plugin": "tls",
    "logger_tls_endpoint": "https://10.182.2.142/log"
    

    同时服务器需配置对应的TLS日志接收端点。

  2. 分布式查询未配置:你要获取主机实时进程数据,需在服务器端创建分布式查询任务,主机才会按distributed_interval(当前设为3600秒)拉取查询并返回结果。若需更实时的数据,可缩短distributed_interval,或启用事件表(如process_events)配合持续日志上报。

三、事件发布器禁用的说明

日志中Event publisher not enabled的提示是默认行为,若不需要对应功能(如BPF、audit等)可忽略;但如果要采集实时进程事件(而非静态进程列表),需启用对应发布器,例如在主机配置中添加:

"enable_bpf": "true"

具体配置需匹配你的操作系统环境。

四、数据采集流程修正步骤

  1. 修复主机配置的JSON语法错误,调整logger_plugin为tls并配置日志端点。
  2. 确保服务器端已配置完整的TLS服务(包括enroll、log、distributed查询端点),可使用osquery自带的osqueryd --distributed_server模式或第三方管理平台。
  3. 在服务器端创建分布式查询,内容为SELECT * FROM processes;(静态进程列表)或SELECT * FROM process_events;(实时进程事件)。
  4. 重启主机和服务器的osquery服务,等待distributed_interval时间后检查服务器是否收到数据。

内容的提问来源于stack exchange,提问作者Mirarani Choudhury

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 16:02:10