服务名称

文档链接

管理服务,是Fox-Edge中的内核级服务,它作用是进行 仓库的管理服务的管理升级的管理配置的管理

它是一个关键性的基础服务,被定义为 内核 级别。

简要介绍

Fox-Edge主要包括仓库的管理、服务的管理、升级的管理、配置的管理

仓库管理

Fox-Edge采用的是 积木式架构 ,也就是说,整个系统就像积木一样,由各种形式的部件搭建而成。Fox-Edge提供了组件仓库,作为可选部件的素材。

在Fox-Edge中包括云端仓库和本地组件两个概念。

云端仓库指的是线上Fox-Cloud所提供的远程仓库,灵狐在公网上提供了公共仓库的服务。 用户可以从云端仓库中,寻找自己需要的各种部件,然后选择进行安装到本地Fox-Edge之中。

其中包含,服务模块、静态解码器、动态解码、动态模板、前端模块,这几种部件,用户可以根据需要进行安装。

本地组件指的是从云端的组件仓库下载各种部件之后,落地到本地Fox-Edge系统中的部件。 用户在安装组件到Fox-Edge本地之后,可以对这些部件直接使用,也可以进行必要的配置和修改。

服务管理

在安装完成各种部件之后,Fox-Edge会呈现出由这些组件所提供的各种相应功能。

为了方便用户对进程进行管理,针对服务模块,Fox-Edge提供服务管理,来显示运行的服务进程状态,并进行启动、停止、卸载,配置为随机启动的功能。

配置管理

在安装完成各种部件之后,Fox-Edge就能够进行各种工作参数的配置。

各服务安装完成,并完成了进程的启动后,它们会通告给管理服务,请求生成对应的全局配置项目。

通过为该服务进行全局参数的配置后,重启服务进程,就可以进行生效。

注意:每个服务都有自己的全局参数配置格式,具体如何修改配置,请查阅相关的服务文档。

全局参数配置完毕后,用户就可以在Fox-Edge中,添加基础的 通道配置设备配置监控任务 配置,以及其他操作任务、设备模型、周期任务、计算任务等各种配置信息。

升级管理

Fox-Edge的开发者会不断将新的部件和版本,提交到云端的中央仓库,供Fox-Edge的用户进行安装、升级。 用户可以从组件仓库页面中,进行部件的升级操作。

全局配置

管理服务,自身也有全局参数的配置,主要包括云端仓库的连接配置,MQTT管理接口的配置,系统进程的监控配置,Fox-Edge进程的启动配置,license的配置。

仓库配置

在全局参数之中,管理服务默认有个 repositoryConfig 的配置

该参数主要是指明,如何连接云端的仓库的配置参数。如果用户使用Fox-Cloud搭建自己的云端仓库,可以将连接信息修改为自己的服务器信息。

管理服务会根据该参数,自动登录Fox-Cloud云端。出厂配置中,默认已经填写了灵狐的Fox-Cloud公网仓库信息

注意:Fox-Cloud系统的获得者,只能在自己或者甲方的内网之中,搭建组件仓库,不可以将其应用在公网之中。

{
     "file": "http://repository.fox-tech.cn",
     "host": "http://repository.fox-tech.cn/prod-api",
     "lockdown": 60,
     "password": "****",
     "username": "Fox-Edge-Public"
}
配置说明:连接云端仓库的配置信息
{
     "file": "http://repository.fox-tech.cn",--------------云端仓库的HTTP文件服务器位置
     "host": "http://repository.fox-tech.cn/prod-api",-----云端仓库的API位置
     "lockdown": 60,---------------------------------------自动登录云端仓库失败后,重新登录的时间间隔
     "password": "****",-----------------------------------登录密码:默认12345678
     "username": "Fox-Edge-Public"-------------------------登录账户:默认Fox-Edge-Public
}

进程配置

在全局参数之中,管理服务默认有个 systemProcessConfig 的配置

该参数主要是指明,如何查询非Fox-Edge的系统进程信息。例如,MySQL服务、Redis缓存、Nacos配置管理服务、NODE-RED服务。

这些服务,并不是Fox-Edge的应用服务,但是用户往往又需要将这些服务纳入Fox-Edge中进行统一管理,这样就对整个边缘端系统的运行状况,了如指掌。

通过在这个配置中,指明各服务的特征,那么Fox-Edge就可以使用Linux的ps -aux|grep xxxx命令,去查找这个进程,并在Fox-Edge的进程管理页面中呈现出来。

{
     "node-red": "node-red",
     "redis-server": "/bin/redis-server",
     "nacos-server": "/nacos-server",
     "mysql-server": "/sbin/mysqld",
     "maria-server": "/sbin/mariadbd"
}
配置说明:Linux中,PS命令中的进程的特征,例如redis会形成,ps -aux|grep redis-server的命令行
{
     "node-red": "node-red",-------------------------------node-red的特征
     "redis-server": "/bin/redis-server",--------------------redis的特征
     "nacos-server": "/nacos-server",----------------------nacos的特征
     "mysql-server": "/sbin/mysqld",----------------------mysql的特征
     "maria-server": "/sbin/mariadbd"---------------------mariadb的特征
}

MQTT配置

在全局参数之中,管理服务默认有个 mqttConfig 的配置

用户可以通过MQTT协议,对Fox-Edge进行远程管理。该参数主要是指明,如何连接云端的MQTT服务器。

{
     "mqtt": {
          "host": "192.168.1.21",
          "name": "Mica-Mqtt-Client",
          "port": 1883,
          "enabled": true,
          "timeout": 5,
          "use-ssl": false,
          "version": "mqtt_3_1_1",
          "clientId": "",
          "password": "****",
          "reconnect": true,
          "user-name": "mica",
          "re-interval": 5000,
          "clean-session": true,
          "keep-alive-secs": 60,
          "buffer-allocator": "heap",
          "read-buffer-size": "8KB",
          "max-bytes-in-message": "10MB"
     },
     "topic": {
          "request": "/fox/manager/c2e/{edgeId}/forward",
          "respond": "/fox/manager/e2c/forward/{edgeId}"
     },
     "enable": true
}
配置说明:MQTT的连接参数
注意:请提前百度了解MQTT协议的一些基础概念
{
     "mqtt": {-------------------------------------------------MQTT服务器的连接信息
          "host": "192.168.1.21",------------------------------IP地址
          "name": "Mica-Mqtt-Client",--------------------------名称
          "port": 1883,----------------------------------------端口号
          "enabled": true,
          "timeout": 5,
          "use-ssl": false,
          "version": "mqtt_3_1_1",-----------------------------MQTT版本号
          "clientId": "",--------------------------------------服务器分配的clientId
          "password": "****",----------------------------------密码
          "reconnect": true,
          "user-name": "mica",---------------------------------用户
          "re-interval": 5000,
          "clean-session": true,
          "keep-alive-secs": 60,
          "buffer-allocator": "heap",
          "read-buffer-size": "8KB",
          "max-bytes-in-message": "10MB"
     },
     "topic": {------------------------------------------------TOPIC的参数格式,其中{edgeId}会被自动替换为具体的edgeId
          "request": "/fox/manager/c2e/{edgeId}/forward",------发送TOPIC
          "respond": "/fox/manager/e2c/forward/{edgeId}"-------订阅TOPIC
     },
     "enable": true--------------------------------------------是否使用MQTT连接云端
}

启动配置

在全局参数之中,管理服务默认有个 serviceStartConfig 的配置

这个参数是服务进程的启动配置.

注意:该参数是由管理服务自动进行配置的,不可修改。

{
     "services": [
          {
               "appLoad": true,
               "appName": "channel-serialport",
               "appPort": 9014,
               "appType": "service"
          },
          {
               "appLoad": true,
               "appName": "channel-udpsocket-service",
               "appPort": 9017,
               "appType": "service"
          },
          {
               "appLoad": true,
               "appName": "channel-udp-server",
               "appPort": 9010,
               "appType": "service"
          }
     ]
}
配置说明:进程的启动配置
{
     "services": [------------------------------------进程的启动配置
          {
               "appLoad": true,-----------------------是否随机启动
               "appName": "channel-serialport",-------进程的名称
               "appPort": 9014,-----------------------进程的服务端口
               "appType": "service"-------------------进程的服务级别
          },
          {
               "appLoad": true,
               "appName": "channel-udpsocket-service",
               "appPort": 9017,
               "appType": "service"
          },
          {
               "appLoad": true,
               "appName": "channel-udp-server",
               "appPort": 9010,
               "appType": "service"
          }
     ]
}

内核配置

在全局参数之中,管理服务默认有个 kernelEnableConfig 的配置

这个参数是不同版本的管理服务,进行版本服务识别的配置信息。通过这个配置项目,会过滤掉不支持的服务列表。

注意:该参数是由管理服务自动进行配置的,不可修改。

{
     "kernel": {
          "enable": [
               {
                    "appName": "manager-compose",
                    "appType": "kernel"
               }
          ],
          "disable": [
               {
                    "appName": "manager-service",
                    "appType": "kernel"
               },
               {
                    "appName": "gateway-service",
                    "appType": "kernel"
               },
               {
                    "appName": "controller-service",
                    "appType": "system"
               },
               {
                    "appName": "period-service",
                    "appType": "service"
               }
          ]
     }
}
配置说明:使能和去使能的服务
{
     "kernel": {
          "enable": [---------------------------------------指明当前版本,启用的是呢些服务
               {
                    "appName": "manager-compose",-----------启动的是compose版本的manager
                    "appType": "kernel"
               }
          ],
          "disable": [--------------------------------------指明当前版本,禁止了哪些服务
               {
                    "appName": "manager-service",-----------compose版本的时候,要禁掉local版本的manager
                    "appType": "kernel"
               },
               {
                    "appName": "gateway-service",-----------也禁止掉gateway,manager-compose占用9000端口,跟gateway是冲突的
                    "appType": "kernel"
               },
               {
                    "appName": "controller-service",--------也禁止掉controller,manager-compose已经包含这个模块了
                    "appType": "system"
               },
               {
                    "appName": "period-service",------------也禁止掉period,也是因为manager-compose已经包含该模块了
                    "appType": "service"
               }
          ]
     }
}

license配置

在全局参数之中,管理服务默认有个 license 的配置

Fox-Edge根据CPU ID生成为设备生成的license注册信息,用于制造商在销售时对用户进行注册管理。

说明:灵狐在将Fox-Edge开源后,就不再计划使用该功能。下游厂商如果希望使用lisense功能,可以跟灵狐讨论具体的技术方案。

{
     "cpuid": "C3060400FFFBEBBF",
     "license": "gvd3oFIqC9fc2aY+Tv64ux077ux1/2Fi7ggMrgsG0kT/IJ2Rjy9r3IoDYVe2p3s5qsL72ofOKDXA1ztfGcgdnSK5XBgxJhNHy5xeX/MG1QS/Ed2gxVnVwCe9D29vBW6k/XWDHPGiad6ewpb7k1HXLSLK4n8ZmL+sgxXktnIKueI="
}
配置说明:license的配置
{
     "cpuid": "C3060400FFFBEBBF",--------------------CPU的ID,在首页可以看到
     "license": "HXLSLK4n8ZmL+sgxXktnIKueI="---------序列号,用户可以跟厂商获得一个license后,才可以进行登录管理
}