第十八章 EMQX日志管理

系列文章目录

第一章 总体概述
第二章 在实体机上安装ubuntu
第三章 Windows远程连接ubuntu
第四章 使用Docker安装和运行EMQX
第五章 Docker卸载EMQX
第六章 EMQX客户端MQTTX Desktop的安装与使用
第七章 EMQX客户端MQTTX CLI的安装与使用
第八章 Wireshark工具的安装与使用
第九章 MQTT报文
第十章 MQTT消息质量等级QoS
第十一章 MQTT主题
第十二章 MQTT会话
第十三章 MQTT消息
第十四章 MQTT订阅
第十五章 EMQX访问控制
第十六章 EMQX黑名单与连接抖动检测
第十七章 EMQX数据集成
第十八章 EMQX日志管理


前言


1 日志简介

通过 EMQX 的日志功能,您可查看客户端访问、操作系统或网络异常等问题,如登录错误,异常访问,性能故障等等,并基于日志信息进行问题排查或系统性能优化。

EMQX 支持两种不同的日志输出方式:

1、控制台输出日志(默认值)

2、文件输出日志。

日志级别:

EMQX 日志包含 8 个等级,默认为 warning 级别,由低到高分别为:

debug < info < notice < warning < error < critical < alert < emergency

每一种日志输出的内容如下所示:
在这里插入图片描述

EMQX只会输出比配置日志级别高的日志数据。

2 日志配置

通过EMQX Dashboard 可以方便的修改日志配置。保存修改后将立即生效,无需重启节点。点击左侧导航栏的 管理-> 日志。选择相应的页签配置控制台输出日志或文件输出日志。

2.1 控制台日志配置

在这里插入图片描述
配置控制台日志处理进程的选项:

1、启用日志处理进程:单击切换开关以启用控制台日志处理进程。

2、日志级别:从下拉列表中选择要使用的日志级别。可选值为:debug, info, notice, warning, error, critical, alert, emergency 。默认值

为:warning

3、日志格式类型:从下拉列表中选择日志格式。可选值为:textjson。默认值为 text

4、时间戳格式:从下拉列表中选择日志时间戳格式。可选值为:

  • auto: 根据所使用的日志格式类型自动确定时间戳格式。对于文本格式类型,使用 rfc3339 格式;对于 JSON 格式类型,则使用 epoch格式。

  • epoch: 时间戳以微秒精度的 Unix 纪元时间格式表示。

  • rfc3339: 时间戳使用符合 RFC3339 标准的日期时间字符串格式,格式示例为 2024-03-26T11:52:19.777087+00:00

  • 时间偏移量:定义日志中时间相对 UTC 的偏移量,默认情况下跟随系统,默认值为 system

完成配置后,点击 保存更改

2.2 文件输出日志配置

在日志页面,选择文件日志页签:
在这里插入图片描述

配置文件日志处理进程的选项:

1、启用日志处理进程:单击切换开关以启用文件日志处理进程。

2、日志文件名字:填写日志文件的名称。默认为/opt/emqx/log/emqx.log

3、最大日志文件数:轮换的最大日志文件数。默认值为10

4、日志文件轮换大小:设置日志文件大小,达到设定的值时日志文件将进行轮换。如果禁用,则日志文件将无限增长。可在文本框输入设定的值,在下拉列表中选择单

位,可选值为:MB, GB, KB

5、日志级别:从下拉列表中选择要使用的日志级别。可选值为:debug, info, notice, warning, error, critical, alert, emergency 。默认值

为:warning

6、日志格式类型:从下拉列表中选择日志格式。可选值为:textjson。默认值为 text

7、时间戳格式

从下拉列表中选择日志时间戳格式。可选值为:

  • auto: 根据所使用的日志格式类型自动确定时间戳格式。对于文本格式类型,使用 rfc3339 格式;对于 JSON 格式类型,则使用 epoch格式。

  • epoch: 时间戳以微秒精度的 Unix 纪元时间格式表示。

  • rfc3339: 时间戳使用符合 RFC3339 标准的日期时间字符串格式,格式示例为 2024-03-26T11:52:19.777087+00:00

  • 时间偏移量:定义日志中时间相对 UTC 的偏移量,默认情况下跟随系统,默认值为 system

完成配置后,点击保存修改

在文件日志启用后,日志目录下会有如下几种文件:

  • emqx.log.N: 以 emqx.log 为前缀的文件为日志文件,包含了 EMQX 的所有日志消息。比如 emqx.log.1emqx.log.2
  • emqx.log.siz 和 emqx.log.idx: 用于记录日志滚动信息的系统文件,请不要手动修改

总结

以上,就是日志介绍。

### 如何定位和查看 EMQX 日志文件 EMQX日志系统设计灵活,支持多种方式来管理和查看日志文件。以下是关于 EMQX 日志位置及相关操作的具体说明: #### 1. **日志文件的位置** EMQX 默认的日志文件路径可以通过以下几种方式进行确认: - 如果使用的是二进制包安装,则日志文件通常位于 `/var/log/emqx` 目录下[^3]。 - 对于 Docker 部署的情况,如果未指定挂载目录,默认情况下日志会保存在容器内部的相应路径中;但如果指定了挂载点(如 `/home/emqx/log`),则日志会被写入该挂载点下的文件夹中[^5]。 具体来说,常见的日志文件包括但不限于以下几个: - `emqx.log`: 记录 EMQX Broker 运行过程中的主要事件和错误信息[^2]。 - `erlang.log`: Erlang 虚拟机运行期间产生的日志记录。 - `run_erl.log`: 启动过程中以及后台管理工具的相关日志输出。 #### 2. **查询当前已启用的日志处理器 (Log Handlers)** 为了更精确地了解哪些类型的日志被处理及它们的目标输出位置,可以利用命令行工具列出所有的 log handlers: ```bash emqx_ctl log handlers list ``` 此命令能够展示每一个 handler 所对应的唯一 ID (`log handler id`) 及其职责范围,比如接受何种等级的日志、采用怎样的过滤机制以及最终将日志导向何处等细节[^1]。 #### 3. **调整或自定义日志行为** 若需进一步修改默认设置或者新增特定需求的日志功能,可通过编辑配置文件实现。例如,在 `etc/log.conf` 文件里设定不同的日志级别、更改目标存储地址或是制定轮转策略等内容均属可行方案之一[^4]。 另外值得注意的一点是,尽管上述提到的标准权限模式为 `-rw-r--r-- 1 root root` ,但在实际运维场景当中可能还需要考虑其他因素的影响,像团队协作环境下的访问控制等问题,因此有时也会见到类似 `chmod -R 777` 这样较为宽松的操作实例用于测试阶段快速解决问题的情形存在。 ```python import os def check_log_permissions(log_path='/apps/emqx/log'): """检查日志目录及其子项的权限状态""" try: permissions = oct(os.stat(log_path).st_mode)[-3:] owner_group = f"{os.getlogin()}:{os.getgroups()[0]}" return {"permissions": permissions, "owner_group": owner_group} except Exception as e: return str(e) print(check_log_permissions()) ``` 以上代码片段可用于验证某个给定路径上的基本属性情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值