网络依赖图
ACME 的网络资产清单
以下查询生成一个数据表,快速概述 ACME 的网络基础设施。
MATCH (n)
RETURN labels(n)[0] as type,
count(*) as count,
collect(n.host) as names
查找所有公共网站的直接依赖项
以下查询通过数据模型查找 ACME 所有面向公共互联网的业务Web应用程序。
MATCH (website)-[:DEPENDS_ON]->(downstream)
WHERE website.system = "INTERNET"
RETURN website.host as Host,
collect(downstream.host) as Dependencies
ORDER BY Host
查找所有内部网站的直接依赖项
以下查询通过数据模型查找 ACME 所有内部网络的业务网站。
MATCH (website)-[:DEPENDS_ON]->(downstream)
WHERE website.system = "INTRANET"
RETURN website.host as Host,
collect(downstream.host) as Dependencies
ORDER BY Host
查找最受依赖的组件
以下查询查找 ACME 网络基础设施中依赖程度最高的组件。不出所料,最受依赖的组件是 SAN(存储区域网络)。
MATCH (n)<-[:DEPENDS_ON*]-(dependent)
RETURN n.host as Host,
count(DISTINCT dependent) AS Dependents
ORDER BY Dependents DESC
LIMIT 1
查找业务关键组件的依赖链:CRM
以下查询查找 ACME 的 CRM 应用程序的依赖组件路径(从左到右)。如果 ACME 的 CRM(客户关系管理)应用程序出现故障,将对其业务造成重大影响。如果 CRM 主机名右侧的任何组件发生故障,CRM 应用程序将无法运行。
MATCH (dependency)<-[:DEPENDS_ON*]-(dependent)
WITH dependency, count(DISTINCT dependent) AS Dependents
ORDER BY Dependents DESC
LIMIT 1
WITH dependency
MATCH p=(resource)-[:DEPENDS_ON*]->(dependency)
WHERE resource.system = "CRM"
RETURN "[" + head(nodes(p)).host + "]" +
reduce(s = "", n in tail(nodes(p)) | s + " -> " + "[" + n.host + "]") as Chain
查找业务关键组件的依赖链:ERP
以下查询查找 ACME 的 ERP(企业资源规划)应用程序的依赖组件路径(从左到右)。ERP 应用程序代表了一系列业务资源,专门用于支持 ACME 正在进行的业务活动,包括财务和供应链管理。如果 ACME 的 ERP 应用程序出现故障,将对其业务造成重大影响。如果 ERP 主机名右侧的任何组件发生故障,ERP 应用程序将无法运行。此故障将导致收入受损,因为 ACME 的业务依赖于此系统来开展业务。
MATCH (dependency)<-[:DEPENDS_ON*]-(dependent)
WITH dependency, count(DISTINCT dependent) AS Dependents
ORDER BY Dependents DESC
LIMIT 1
WITH dependency
MATCH p=(resource)-[:DEPENDS_ON*]->(dependency)
WHERE resource.system = "ERP"
RETURN "[" + head(nodes(p)).host + "]" +
reduce(s = "", n in tail(nodes(p)) | s + " -> " + "[" + n.host + "]") as Chain
查找业务关键组件的依赖链:数据仓库
以下查询查找 ACME 的 DW(数据仓库)应用程序的依赖组件路径(从左到右)。DW 应用程序代表了一系列业务智能资源,专门用于支持 ACME 的时间敏感型分析流程。如果 ACME 的 DW 应用程序出现故障,将从技术方面对 ACME 的业务运营造成重大影响。如果 DW 主机名右侧的任何组件发生故障,DW 应用程序将无法运行。此故障将导致面向公众的网站(如电子商务应用程序)无法反映 ACME 的 ERP 应用程序的最新可用数据。
MATCH (dependency)<-[:DEPENDS_ON*]-(dependent)
WITH dependency, count(DISTINCT dependent) AS Dependents
ORDER BY Dependents DESC
LIMIT 1
WITH dependency
MATCH p=(resource)-[:DEPENDS_ON*]->(dependency)
WHERE resource.system = "DW"
RETURN "[" + head(nodes(p)).host + "]" +
reduce(s = "", n in tail(nodes(p)) | s + " -> " + "[" + n.host + "]") as Chain
查找移除网络组件(硬件服务器)的影响
以下查询查找依赖于 ACME 的 HARDWARE-SERVER-3 的应用程序。如果网络管理员计划对服务器进行干预,他必须知道哪些应用程序会受到影响。这样他就可以提前通知应用程序用户。
MATCH (application:Application)-[:DEPENDS_ON*]->(server)
WHERE server.host = "HARDWARE-SERVER-3"
RETURN application.type as Type,
application.host as Host
此页面有帮助吗?