项目简介
随着信息系统的发展,为了监控和诊断测试及生产环境中功能应用的问题与故障,事件或日志记录系统变得十分必要。对于物联网(IoT)解决方案,有效日志记录且不影响系统正常运行至关重要,云环境则有助于日志的外部处理和信息可视化。本项目针对CardioID创建的CardioWheel IoT解决方案,开发一个日志系统以跟踪和观察应用中的数据流,同时谨慎处理敏感用户信息。项目重点展示如何设置环境以接收从CardioWheel设备实现中生成的日志数据。
项目的主要特性和功能
- 嵌入式日志库开发:运用Espressif IoT Development Framework Plugin(ESP - IDF,版本4.4.4)和Visual Studio Code(版本1.85.0)开发应用。
- 安全通信:采用SSH文件传输协议(SFTP)保障数据传输的安全与一致性,借助OpenSSH Tool实现设备与云环境之间的通信。
- 数据解析:利用Logstash作为解析工具,分析和解释具有特定语法的数据结构。
- 搜索与可视化:使用OpenSearch实现搜索引擎,通过可视化工具OpenSearch Dashboards方便用户查看和分析日志数据。
安装使用步骤
前提条件
用户已下载本项目的源码文件,使用具有Linux操作系统和Ubuntu 20.04.3 LTS发行版的物理机,硬件配置为两根4GB DDR3 1600 MHz的内存、Intel(R) Pentium(R) CPU G3240 @ 3.10GHz处理器、500GB硬盘。
安装步骤
- ESP - IDF环境配置:参考ESP - IDF文档进行环境搭建。
- 通信配置
- 安装OpenSSH:
sudo apt install openssh - server
- 生成SSH密钥:
ssh - keygen -t rsa
- 复制公钥到远程主机:
ssh - copy - id username@remotehost
- 确保SSH配置(
/etc/ssh/sshd_config
)合适 - (可选)若使用个人路由器和系统,需将SSH端口(默认22)转发到路由器的指定端口
- (可选)若要通过Windows或Linux连接SSH隧道,安装Bitvise SSH Client并导入私钥
- 确保IoT设备的目标目录存在于用户目录中
- 安装OpenSSH:
- 解析工具配置
- 手动下载Logstash 8.6.1版本点击下载(LINUX X86_64文件)
- 解压到Ubuntu机器的指定目录
- 进入解压文件夹的
bin
目录,执行./logstash -f logstash.conf
命令启动Logstash实例 - 配置
logstash.conf
文件(内容见项目总结)
- OpenSearch配置
- 安装Docker
- 创建新目录并添加
docker - compose.yml
文件(内容见项目总结) - 在目录中执行
docker - compose up
命令启动OpenSearch实例 - 连接到5601端口(用户名:admin,密码:admin)
- 平台启动后,添加索引映射(内容见项目总结)
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】