从 Fluentd 上传日志
Fluentd 是一款开源日志收集器,帮助您构建统一的日志层。您的应用基础架构中可能存在不同的日志类型——借助 Fluentd,您可以将各种日志类型整合在一处,便于统一追踪。
您可以使用 Fluentd 将日志推送到 Site24x7 AppLogs,从而追踪、分析和管理各种日志类型。请按照以下步骤操作。
安装 Site24x7-Fluentd 输出插件
- 打开命令提示符,如果使用 FluentD 代理,请使用以下命令安装插件:
$ gem install fluent-plugin-site24x7
- 如果使用 td-agent,请使用以下命令:
$ /usr/sbin/td-agent-gem install fluent-plugin-site24x7
在 Site24x7 AppLogs 中添加日志配置文件
- 登录您的 Site24x7 账号 > Admin > AppLogs > Log Profile,并点击右上角的添加日志配置文件。
- 点击选择日志类型下拉列表以选择日志类型(例如:Apache 访问日志)。系统将应用默认日志模式,您也可以添加自定义日志模式。
- 选择日志收集器作为日志来源。

- 点击保存。
- 保存日志配置文件后,导航至 Admin > AppLogs > Log Profile,并从列表中选择新创建的日志配置文件。
- 复制提供的输入变量文本,并在参数 log_type_config 后将其输入日志收集器中。

将事件匹配发送至 Site24x7 AppLogs
- 安装插件并在 Site24x7 AppLogs 中创建日志配置文件后,在 Fluentd 配置文件中添加以下配置,以匹配事件并将其发送至 Site24x7:注意:如果安装的是 td-agent,配置文件路径为:/etc/td-agent/td-agent.conf
示例:
# Match events tagged with "site24x7.**" and send them to Site24x7 <match site24x7.**>
@type site24x7
@id site24x7_agent
log_type_config
#Paste the key copied from Site24x7 AppLogs in the <your_log_type_config>
<buffer>
@type memory
flush_thread_count 4
flush_interval 3s
chunk_limit_size 5m
chunk_limit_records 500
</buffer>
</match>

- 可选参数:
属性 描述 默认值 max_retry 重新发送失败上传的次数。 3 retry_interval 重试之间的休眠时间间隔,每次重试呈指数增长。 2 秒 http_idle_timeoutthis 无流量情况下 HTTP 持久连接保持打开状态的超时时间(秒)。 5 秒 http_read_timeout 套接字连接直到连接断开的超时时间(秒)。 30 秒 http_proxy 您的代理 URL
可选 HTTP 代理:http_proxy 'http://user:passs@mproxy.host:proxy.port'nil - 重启 Fluentd 代理,将带有 Site24x7 标签的事件推送到 Site24x7 AppLogs。
故障排除说明:
我在 Site24x7 AppLogs 中看不到来自 Fluentd 的日志,该如何解决?
如果您在 Site24x7 中未收到日志,可能的原因包括:
- 已配置日志配置文件中输入的日志模式不正确。
- 推送了已配置日志模式中不存在的额外参数。
要排查这些问题,请按照以下说明操作:
- 在 Fluentd 中启用调试日志。您可以在 Fluentd 配置文件中添加以下条目并重启 Fluentd 代理:
<system>
log_level debug
</system> - 检查"/var/log/td-agent/td-agent.log"日志文件,搜索"pattern not matched"消息,识别在 Site24x7 AppLogs 中未看到数据的日志类型。
- 针对已识别的日志类型重新配置日志配置文件,并更新 Fluentd 配置文件中的 log_type_config 值。
如果遇到其他错误,请携带错误日志联系 support@site24x7.com。
