管理 InfluxDB 日志
了解如何配置、管理和处理您的 InfluxDB 日志
配置您的 InfluxDB 日志位置
默认情况下,InfluxDB 将所有日志输出到 stdout。要查看 InfluxDB 日志,请查看 influxd
进程的输出。
将日志写入文件
要将 InfluxDB 日志写入文件,请在启动 InfluxDB 服务 (influxd
) 时将 stdout 重定向到文件。
influxd 1> /path/to/influxdb.log
当记录到文件时,InfluxDB 使用 logfmt 格式。
以服务形式运行 InfluxDB 时的日志
如果您使用服务管理器运行 InfluxDB,则服务管理器将确定日志的位置。
大多数 Linux 系统将日志定向到 systemd
日志。要访问这些日志,请使用以下命令
sudo journalctl -u influxdb.service
有关更多信息,请参阅 journald.conf 文档。
当 InfluxDB 作为服务运行时,默认情况下会丢弃 stdout (发送到 /dev/null
)。要将日志写入文件
在文本编辑器中打开 InfluxDB 启动脚本 (
/etc/default/influxdb
)。将
STDOUT
环境变量设置为您要存储 InfluxDB 日志的路径。例如STDOUT=/var/log/influxdb/influxd.log
保存对启动脚本的更改。
重启 InfluxDB 服务以应用更改。
service influxdb restart
配置您的日志级别
使用 log-level
InfluxDB 配置选项 来指定 InfluxDB 服务输出的日志级别。InfluxDB 支持以下日志级别
- debug: 输出 debug、info 和 error 日志级别的日志。
- info: (默认) 输出 info 和 error 日志级别的日志。
- error: 仅输出 error 日志级别的日志。
influxd --log-level=info
export INFLUXD_LOG_LEVEL=info
有关配置 InfluxDB 的信息,请参阅 InfluxDB 配置选项。
启用 Flux 查询日志
使用 flux-log-enabled
配置选项 启用 Flux 查询日志记录。InfluxDB 将 Flux 查询日志与所有其他 InfluxDB 日志一起输出到 stdout。
influxd --flux-log-enabled
export INFLUXD_FLUX_LOG_ENABLED=true
有关配置 InfluxDB 的信息,请参阅 InfluxDB 配置选项。
使用外部工具管理和处理日志
使用以下常用工具来管理和处理 InfluxDB 日志
logrotate
logrotate 简化了日志文件的管理,并提供日志文件的自动轮换压缩、删除和邮件发送。Logrotate 可以设置为每小时、每天、每周、每月或当日志文件达到特定大小时处理日志文件。
hutils
hutils 是用于处理具有 logfmt 编码的日志的命令行实用程序集合,包括
- lcut: 基于指定的字段名称从 logfmt 跟踪中提取值。
- lfmt: 重新格式化并突出显示 logfmt 行的关键部分。
- ltap: 以一致的方式从日志提供程序访问消息,以便其他操作 logfmt 跟踪的实用程序可以轻松解析。
- lviz: 通过构建数据集的树来可视化 logfmt 输出,将常见的键值对集合组合到共享的父节点中。
lnav (Log File Navigator)
lnav (Log File Navigator) 是一款高级日志文件查看器,可用于在终端中监视和分析日志文件。lnav 查看器提供单个日志视图、自动日志格式检测、筛选、时间线视图、美化打印视图以及使用 SQL 查询日志。
日志格式
InfluxDB 根据日志输出位置以两种格式之一输出日志。
控制台/TTY
当记录到终端或其他 TTY 设备时,InfluxDB 使用控制台友好的格式。
控制台/TTY 格式示例
2022-09-29T21:58:29.936355Z info Welcome to InfluxDB {"log_id": "0dEoz3C0000", "version": "dev", "commit": "663d43d210", "build_date": "2022-09-29T21:58:29Z", "log_level": "info"}
2022-09-29T21:58:29.977671Z info Resources opened {"log_id": "0dEoz3C0000", "service": "bolt", "path": "/Users/exampleuser/.influxdbv2/influxd.bolt"}
2022-09-29T21:58:29.977891Z info Resources opened {"log_id": "0dEoz3C0000", "service": "sqlite", "path": "/Users/exampleuser/.influxdbv2/influxd.sqlite"}
2022-09-29T21:58:30.059709Z info Checking InfluxDB metadata for prior version. {"log_id": "0dEoz3C0000", "bolt_path": "/Users/exampleuser/.influxdbv2/influxd.bolt"}
logfmt
当记录到文件时,InfluxDB 使用 logfmt,这是一种机器可读的结构化日志格式,可更轻松地与 Splunk、Papertrail、Elasticsearch 和其他第三方工具集成。
logfmt 格式示例
ts=2022-09-29T16:54:16.021427Z lvl=info msg="Welcome to InfluxDB" log_id=0dEYZvqG000 version=dev commit=663d43d210 build_date=2022-09-29T16:54:15Z log_level=info
ts=2022-09-29T16:54:16.062239Z lvl=info msg="Resources opened" log_id=0dEYZvqG000 service=bolt path=/Users/exampleuser/.influxdbv2/influxd.bolt
ts=2022-09-29T16:54:16.062457Z lvl=info msg="Resources opened" log_id=0dEYZvqG000 service=sqlite path=/Users/exampleuser/.influxdbv2/influxd.sqlite
ts=2022-09-29T16:54:16.144430Z lvl=info msg="Checking InfluxDB metadata for prior version." log_id=0dEYZvqG000 bolt_path=/Users/exampleuser/.influxdbv2/influxd.bolt
此页内容对您有帮助吗?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供关于 InfluxDB 和本文档的反馈和错误报告。要获得支持,请使用以下资源
拥有年度合同或支持合同的客户 可以 联系 InfluxData 支持。