写点什么

EMQX 可观测性最佳实践

作者:观测云
  • 2024-12-17
    上海
  • 本文字数:1658 字

    阅读完需:约 5 分钟

EMQX 可观测性最佳实践

EMQX 介绍

EMQX 是一款开源、高度可伸缩、高可用的分布式 MQTT 消息服务器,同时也支持 CoAP/LwM2M 等一站式 IoT 协议接入。以下是 EMQX 的一些主要特点和功能:

  • 海量连接与高并发:EMQX 能够处理千万级别的并发客户端,支持大规模分布式架构,具有高可用集群架构和弹性伸缩部署。

  • 多协议支持:EMQX 完整支持 MQTT V5.0 协议规范,并向下兼容 MQTT V3.1 和 V3.1.1。此外,它还可以扩展支持 MQTT-SN、CoAP、LwM2M、WebSocket、STOMP 或私有 TCP 等多种物联网协议。

  • 规则引擎与数据集成:EMQX 内置强大的规则引擎,可以进行数据提取、过滤与转换,并灵活集成 SQL、NoSQL、时序数据库以及 Kafka 等流处理中间件。

  • 边缘到云端的部署:EMQX 支持从资源受限的边缘计算设备到私有云、混合云和公共云的部署,包括物理机、VM、容器/K8S 跨平台任意部署。

  • 完全开源:EMQX 基于 Apache Version 2.0 开源协议,支持开源免费使用,适用于产品原型设计、物联网创业公司以及大规模的商业部署。

  • 安全性:EMQX 提供端到端数据加密(支持国密)、细粒度访问控制,保障数据安全,满足企业合规需求。

  • 易运维:EMQX 提供图形化配置、操作与管理,实时监测运行状态,并支持 MQTT 跟踪进行端到端问题分析。

  • 云原生支持:EMQX 支持通过 Kubernetes Operator 和 Terraform 在企业内部和公共云中进行部署。

  • 产品线:EMQX 提供多种产品,包括 EMQX Broker(开源版)、EMQX Enterprise(企业版)和 EMQX Platform(平台版),以满足不同规模和需求的 IoT 网络和应用。

  • 功能列表:EMQX 支持完整的 MQTT V3.1/V3.1.1 及 V5.0 协议规范,QoS0, QoS1, QoS2 消息支持,持久会话与离线消息支持,Retained 消息支持,Last Will 消息支持,TCP/SSL 连接支持,MQTT/WebSocket/SSL 支持,HTTP 消息发布接口支持等。

EMQX 作为物联网应用开发和物联网平台搭建的基础设施软件,主要在边缘和云端实现物联网设备互联与设备上云,提供物联网设备接入、协议处理、消息路由、数据存储、流数据处理等核心能力。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

安装 DataKit

DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。

登录观测云控制台,在 集成 -> DataKit 选择对应安装方式,当前采用 Linux 主机部署 DataKit。



采集 EMQX 指标

EMQX 默认暴露指标端口为:18083 ,可通过浏览器查看指标相关信息:http://clientIP:18083/api/v5/prometheus/stats 。

由于 EMQX 能够直接暴露 metrics url ,所以可以直接通过 prom 采集器进行采集。进入 DataKit 安装目录 /usr/local/datakit/conf.d ,复制 prom 目录下的配置文件并命名为 emqx.conf 。 示例如下:

cp prom.conf.sample emqx.conf
复制代码

调整内容如下:

[[inputs.prom]]  ## Exporter URLs.  urls = ["http://clientIP:18083/api/v5/prometheus/stats"]
source = "emqx"
keep_exist_metric_name = true
## Customize tags. [inputs.prom.tags] job = "emqx" ...
复制代码

调整文档以上参数。

重启 DataKit

systemctl restart datakit
复制代码

关键指标

统计(Statistics)


消息 (PUBLISH 报文)


字节 (Bytes)


报文 (Packets)


视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “EMQX”, 选择 “EMQX 监控视图”,点击 “确定” 即可添加视图。




监控器

EMQX 节点消息丢弃速率过高

如果消息丢弃数量突然增加,可能表明系统过载,设置告警。




EMQX 报文请求存在错误



总结

通过将 EMQX 指标数据接入到观测云,可以让用户更好地理解和控制 EMQX 集群的行为,从而提高系统的可靠性和效率。

用户头像

观测云

关注

还未添加个人签名 2021-02-08 加入

云时代的系统可观测平台

评论

发布
暂无评论
EMQX 可观测性最佳实践_物联网_观测云_InfoQ写作社区