ManageEngine Log360 Cloud中的小组件是可嵌入的UI组件,您可以使用我们的 JS软件开发工具包自行创建。这些小组件可用于执行某些功能,能够无缝利用第三方应用的数据。
例如,通过Log360 Cloud中的自定义小组件,您可以将EDR或电子邮件安全解决方案中的数据无缝集成到Log360 Cloud,实现监控、分析和采取必要行动——全部在一个平台上完成。
设置 → 管理 → 开发者空间 → 自定义小组件 ,您可以通过添加标签 菜单将其添加到仪表板,该小组件将显示在仪表板设置中。 如何在仪表板中创建自定义小组件


设置 → 管理 → 开发者空间 → 自定义小组件 ,您可以通过导航到报告 → 管理自定义报告 → 添加报告 ,然后选择报告类型为自定义小组件,将其添加为自定义报告。如何在自定义报告中创建自定义小组件





您可以通过点击...图标,导航到 ,您可以通过首选项 → 添加新的Web标签 ,选择要添加为Web标签的自定义小组件。如何在Web标签中创建自定义小组件



事件工作台。此操作可直接在 事件工作台 设置 自定义小部件 标签中完成,允许您将自定义小组件无缝集成到事件工作台。 如何在事件工作台中创建自定义小组件在Log360 Cloud中添加自定义小组件


ZET,即Zoho扩展工具包,是一个命令行界面(CLI),帮助开发者为ManageEngine Log360 Cloud构建和打包自定义小组件。
以下是如何使用ZET构建自定义小组件,并将这些小组件打包集成到ManageEngine Log360 Cloud中以增强功能。
安装必要组件
访问官方Node.js网站:
先决条件
该命令将返回已安装的Node.js版本,例如v14.18.1。
检查npm版本
npm -v
该命令将返回已安装的npm版本,例如6.14.12。
如果两个命令都返回版本号,表示Node.js和npm已成功安装。
安装Zoho扩展工具包(ZET)CLI
按照以下步骤安装ZET CLI:
运行以下命令安装zapps CLI node包:
验证安装
安装完成后,运行以下命令确认安装成功:
如果安装成功,将显示与zet命令相关的帮助信息。
使用ZET创建新项目
按以下步骤使用Zoho扩展工具包(ZET)创建新项目:
运行以下命令创建新项目:
zet init
该命令会列出可用的Zoho和ManageEngine服务。请选择您要创建项目模板的相应服务。
验证服务器启动
项目创建完成且本地开发服务器启动后,通过浏览器打开以下任意URL验证状态:
小组件预览:http://localhost:5000/app/widget.html
渲染自定义小组件所需的所有必要文件均存储在“
All necessary files required for rendering your custom widget are stored inside the "应用你的项目的 "文件夹。
若要在本地运行你的应用并在沙盒实例中测试它,请使用以下命令启动本地HTTP服务器:
$ zet run
这将在你的本地机器上启动HTTP服务器,地址为 端口 5000。运行命令前,请确保该端口未被其他进程占用。
服务器启动后,在你的网页浏览器中打开以下URL,以检查服务器是否成功运行:
http://127.0.0.1:5000/app/widget.html
如果页面正确加载,你的小部件现已在本地环境中运行并可供测试。
在上传应用之前,务必正确验证和打包。请按照以下步骤操作:
验证应用
运行以下命令以检查应用包中的任何问题:
$ zet validate
该命令将扫描你的应用是否存在违规。如果发现问题,必须先解决才能继续上传。
打包应用
验证成功后,运行以下命令生成可上传的ZIP文件:
$ zet pack
这将在你的项目目录的 "dist" 文件夹中创建ZIP文件。然后可以上传此打包文件到 Log360 Cloud 进行部署。
按照以下步骤将自定义小部件添加到Log360 Cloud:
进入 设置 → Developer Space → Custom Widgets Log360 Cloud中的小组件类型

Developer Documentation 链接提供了有关如何为Log360 Cloud构建自定义小部件的详细说明。查阅该文档以获取更多信息。
Sample Widgets 部分将带你进入Log360 Cloud中预创建的小部件。

要创建新小部件,点击 创建自定义小部件 → 立即创建.


在 创建自定义小部件表单:




Log360 Cloud支持 两种模式 用于自定义小部件创建:
$ zet run
开发自定义小部件后,使用以下命令打包:
$ zet pack
你也可以不用ZET,而是将
网页标签
HTML页面 后,将以下配置添加至 widgets列表中的 plugin-manifest.json 文件内:
{
"location": "dashboard",
"url": "/app/widget.html",
"name": "Sample Log360 Cloud widget",
"display_name": "Sample Log360 Cloud widget"
}
这样确保小部件显示在 Log360 Cloud仪表盘上。.
要将自定义小部件添加到 自定义报告,请将以下配置添加到 plugin-manifest.json 文件内:
{
"location": "custom_reports",
"url": "/app/widget.html",
"name": "Sample Log360 Cloud widget",
"display_name": "Sample Log360 Cloud widget"
}
文件中: 这允许小部件用作.
向网页标签添加自定义小部件 要将自定义小部件作为网页标签
{
"location": "web_tab",
"url": "/app/widget.html",
"name": "Sample Log360 Cloud widget",
"display_name": "Sample Log360 Cloud widget"
}
添加,请将以下配置添加至plugin-manifest.json文件中的widgets列表: 这使用户能够在Log360 Cloud中以网页标签方式访问小部件。.
向网页标签添加自定义小部件 要将自定义小部件作为网页标签
{
"location": "web_tab",
"url": "/app/widget.html",
"name": "Sample Log360 Cloud widget",
"display_name": "Sample Log360 Cloud widget"
}
添加,请将以下配置添加至plugin-manifest.json文件中的widgets列表: 这使用户能够在Log360 Cloud中以网页标签方式访问小部件。.
若要在 事件工作台中包含自定义小部件,使用如下配置:
{
"location": "incident-workbench",
"url": "/app/incident-workbench.html",
"name": "Security Analysis",
"display_name": "Security Analysis"
"options": {
"fieldName":"filehash"
}
}
该配置确保小部件与 事件工作台 事件工作台集成,实现实时事件分析。
自定义小部件添加后,若修改并上传其name属性,将导致该小部件从其映射模块(仪表盘、报告、网页标签或事件工作台)中移除。
Log360 Cloud允许的模块位置如下:
在事件工作台添加自定义小部件不同于其他模块,因为需要将特定字段映射到小部件。添加小部件到事件工作台时,必须指定 选项 以映射 fieldName 到自定义小部件。
以下是一些重要字段:
当与字段相关的 事件工作台 被点击时, 日志数据 与该行对应的数据将从表格数据传递到 自定义控件.
{
"logUUID": 430453503444,
"HOSTNAME": "EVENT-TEST",
"USERNAME": "FELIX-9050",
...
}




JS SDK:
JS SDK 提供了一套 JavaScript 函数,用于将 Logs360Cloud 功能集成到您的自定义控件中。这些 API 使您的控件与平台之间能够无缝交互。
该函数作为基础调用,用于建立自定义控件与产品之间的连接。初始化完成后,其他 JS API 才会被定义。
返回 promise
LOGS360CLOUD.init().then(function (res) { console.log(res); });
从产品服务器获取产品数据,如元数据或自定义控件中的任何输入数据。请注意,只有 Logs360 API 可以通过此函数调用。
var options ={url:"/api/v1/meta/log_types"}; LOGS360CLOUD.get(options).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });
从自定义控件向服务器添加数据。请注意,只有 Logs360 API 可以通过此函数调用。
var options ={url:"/api/v1/search", params:{query:query, start_time:startTime, end_time:endTime, start_from: '1', limit:'1000', logtype:[logtype]}}; LOGS360CLOUD.add(options).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });
该函数用于在控件窗口显示加载指示器。通过视觉提示正在进行数据获取、API调用或后台计算等过程,提升用户体验。
LOGS360CLOUD.showLoader(opts).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });
该函数用于从控件窗口移除或隐藏加载指示器。通常在数据检索或 API 执行完成后调用。
LOGS360CLOUD.hideLoder(opts).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });
该函数用于在控件中显示顶部通知。该通知可用于告知用户重要更新、警报或过程状态。
var opts = { type: "success" , message: "message shown successfully",autoClose:true,duration:2000}; LOGS360CLOUD.showNotification(opts).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); });
该函数用于隐藏或移除控件窗口顶部通知。当需要在通知自动关闭前手动关闭,或者根据用户操作清除通知时,该功能十分有用。
LOGS360CLOUD.hideLoader(opts).then(function(response) { console.log(response); }).catch(function(response) { console.log(response); })
获取所有成功安装的 API 应用的详细信息。
LOGS360CLOUD.getConnections().then( function(res){ console.log(res); });
该函数通过发起 API 调用,从集成的第三方应用获取数据。该函数支持多种配置选项,如 URL、HTTP 方法、头信息、参数和负载,允许与外部服务无缝交互。
let headers = [{ "headerName": "accept", "headerValue": "application/vnd.atlas.2023-01-01+json"}]; let params = [{"bodyParamName": "path", "bodyParamValue": "/dharun_test/sub folder/_ My Paper doc.paper" }]; var opts = { url: "https://cloud.mongodb.com/api/atlas/v2/groups?envelope=false& includeCount=true&itemsPerPage=100&pageNum=1&pretty=false", method : "GET", connectionLinkName: "mongotest", headers : headers, params: params }; LOGS360CLOUD.invokeUrl(opts).then( function(res){ console.log(res); });