发表于 2020-12-11 16:21:44

iTop系统集成-数据同步概述

本帖最后由 adminlily 于 2020-12-11 16:25 编辑

数据同步概述


联合多个来源强大的数据同步引擎允许将多种信息源(例如,在使用网络发现工具或资产管理工具时)联合到iTop中。
使用数据源对象联合
在iTop中使用数据源对象定义了该联合。请参阅数据源 每个数据来源都定义了iTop如何处理来自给定来源的给定类型对象的同步。
用于同步数据的通用流程
用于将数据与iTop同步的通用(正在进行的)流程基于以下步骤:

[*]从外部源应用程序中提取数据
[*]将数据转换为适合iTop的内容格式
[*]使用MySQL命令[未由iTop处理]将导入和数据放入iTop中的副本表中
[*]搜索用于在iTop中匹配对象[由iTop处理]
[*]在iTop中创建或更新同步对象[由iTop处理]
[*]在iTop中显示和管理同步的对象

流程以两种可能的方式执行:
1:数据提要直接写入数据库
下面是一个示例,它介绍了一个XTL125501从外部来源到iTop的信息,它使用ETL直接在MySQL中编写流动。
https://www.itophub.io/wiki/media?w=600&tok=b19114&media=2_7_0%3Aadvancedtopics%3Adata-synchro-via-sql.png在iTop中实现数据同步
要在iTop中实现数据同步,请执行以下步骤:

[*]在iTop管理员菜单中,为要导入的对象类型定义数据源对象。这将在iTop数据库中创建一个特定的副本表,名为“synchro_data_xx”。 (一旦创建了数据源,请检查数据源的“属性”选项卡。临时表的名称显示在顶部。)
[*]使用常用ETL或普通的旧脚本,使用来自外部源的数据填充与数据源相对应的“synchro_data_xxxx”表。您可以使用特殊列primary_key将对象的任何标识符存储在外部应用中。该表中的每个数据将对应于iTop中的一个对象。列ID保留供iTop使用,无法写入。所有其他列对应于iTop对象的字段。
[*]触发器通过执行页面“ synchroo”在iTop对象和临时表的副本之间执行数据synchro/[ ttps://www.itophub.io/wiki/page?id=2_7_0%3Aadvancedtopics%3Asynchro_exec.php]synchro_exec.php”(无论是在命令行模式下还是通过调用网页(例如使用wget))。

当然,您可以定期(每小时,每天或每周)安排上述第2步和第3步。
有关更多信息,请参见副本。
2:数据通过CSV文件供稿
一种替代方法包括创建一个中间CSV文件,并使用synchro_import.php(由iTop提供)来将导入执行到MySQL中。在这种情况下,信息流动如下所示:
https://www.itophub.io/wiki/media?w=600&tok=e387b1&media=2_7_0%3Aadvancedtopics%3Adata-synchro-via-file.png
[*]从外部源应用程序中提取数据
[*]将数据转换为适合iTop的内容格式
[*]将数据写入中间CSV文件中
[*]导入将数据放入iTop中的副本表中[由iTop处理]
[*]搜索用于在iTop中匹配对象[由iTop处理]
[*]在iTop中创建或更新同步对象[由iTop处理]
[*]在iTop中显示和管理同步的对象

替代方法是使用服务 [ ttps://www.itophub.io/wiki/page?id=2_7_0%3Aadvancedtopics%3Asynchro_import.php]synchro_import.php将CSV文件中的数据转换为导入以及将iTC中的动态转换为iTC即可。
CSV导入和数据同步有什么区别?
数据同步
数据同步是指以循环方式将导入数据从另一个系统转换为iTop。它可以从命令行或从Web运行,但不能交互运行。数据同步针对不经常使用数据的大量数据进行了优化。例如,每天可以在iTop中同步来自LDAP数据的10,000个联系人。每天不会修改多于一小部分的用户记录。 iTop可以有效地处理此问题。
同步数据时,iTop会跟踪iTop对象和数据的源之间的关系。因此,可以防止用户修改iTop中的同步对象(部分或全部),并通知他们数据的来源。这对于在iTop中“联合”数据的多个源很有用。
CSV导入
CSV导入可以交互方式运行,也可以从命令行运行。它更针对“一次性”进口。可以从脚本(使用命令行界面或从Web)或交互式使用它。执行CSV导入时,iTop不会提供有关记录来源的导入信息。将记录加载到iTop中后,授权用户可以修改对象,而原始源无需任何引用。
总结一下:
CSV导入适用于:

[*]将初始数据导入iTop
[*]在数据上执行批量转换(有时导出>在Excel中修改> re-import比直接在iTop中编辑对象要容易)

同步有益于:

[*]在iTop中的不同系统之间联合数据
[*]通过某些计划机制导入数据
[*]防止用户修改导入的数据


同步配置项目
当配置项与数据源同步时,iTop中的显示会略有不同。配置项上的操作活动也可能是受限的,数据源的配置上是依赖。
例如,对于最终用户,同步的对象的字段可能显示为只读。还可以配置iTop以防止用户删除同步的对象。同步对象的确切行为由每个配置项源的属性确定。
下面的屏幕快照显示了同步的服务器在iTop中的外观。 (请注意对象标题中的“锁定”图标及其附带的工具提示)。
https://www.itophub.io/wiki/media?w=400&tok=300edc&media=mediawiki%3Asynchronizedobject.png

增加了复杂性
设计
在设计此机制时,请牢记以下约束:

[*]为每天同步大量数据进行了优化
[*]与第三方数据管理工具(如Talend)轻松集成
[*]确保安全并易于操作故障排除


设置和常见陷阱
由于这些要求,设置起来并不像人们想象的那样直观。常见陷阱如下:
从同步数据表中删除记录
从同步数据表中删除记录不会删除对象。它将只是从同步机制中分离对象。用户将有权编辑或删除对象,就像在UI中创建对象一样。将对象重新连接到同步需要同时设置数据源,以便可以进行对帐,然后将记录重新引入到同步数据表中。请参阅上面的删除操作原理。同步将从您的同步数据表中删除记录。
定期重新创建完全同步数据表
通过相关的设置,这将起作用。但是,当表清空后(直到再次填充表且同步重复运行),用户将看不到相应的对象已同步。同步需要很长时间才能执行,并且将在iTop Web服务器上大量占用影响度和响应时间。对于同步的每个项目,都必须进行对帐,要求执行对搜索的查询才能获得最佳匹配。
使用此机制进行实时同步
通过诸如RESTTJSON之类的Web服务来实现它要容易得多。这样,该范例就更加直观:创建一个对象(分别更新并删除),然后您必须调用REST运维“对象创建”(分别更新并删除)。

页: [1]
查看完整版本: iTop系统集成-数据同步概述