bpict.dot 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. # ------------------------------------------------------------------------
  2. # FusionInventory
  3. # Copyright (C) 2010-2017 by the FusionInventory Development Team
  4. #
  5. # http://www.fusioninventory.org/ http://fusioninventory.org/
  6. # ------------------------------------------------------------------------
  7. #
  8. # @file bigpicture.dot
  9. # @copyright Copyright (c) 2010-2017 FusionInventory Team
  10. # @license Creative Commons
  11. # Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
  12. # https://creativecommons.org/licenses/by-sa/4.0/
  13. # @since 2017
  14. #
  15. # ------------------------------------------------------------------------
  16. #
  17. # Graphviz - Graph Visualization Software - http://www.graphviz.org/
  18. #
  19. # $ dot -Tpng -o bigpicture.png bigpicture.dot
  20. # $ _
  21. #
  22. digraph G {
  23. rankdir=LR;
  24. label = "The (new) Big Picture of FusionInventory\n\
  25. Copyright (c) 2010-2017 FusionInventory Team \n\
  26. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International\n\
  27. (CC BY-SA 4.0)"
  28. graph [style="filled,solid" fontsize=14 fontname="Verdana" colorscheme="greys9" color=5 fillcolor=2 compound=true];
  29. node [shape=box style=filled fontname="Verdana" colorscheme=rdylgn6 color=black fillcolor=4];
  30. subgraph cluster_known_ethernet_devices {
  31. color = 7;
  32. fillcolor = 1;
  33. style = "filled,dotted";
  34. labelloc = top;
  35. labeljust = left;
  36. label = "Known Ethernet Devices\n(NetDiscovery is able to detect Manufacturer, Model, Serial Number, etc. by SNMP)";
  37. known_ups_eth_1 [label="UPS #n"];
  38. known_phone_eth_1 [label="Phone #n"];
  39. known_switch_eth_1 [label="Switch #n"];
  40. known_printer_eth_1 [label="Printer #n"];
  41. known_load_balancer_eth_1 [label="Load Balancer #n"];
  42. known_ups_eth_1 -> known_phone_eth_1 [style=invis];
  43. known_switch_eth_1 -> known_printer_eth_1 [style=invis];
  44. } // cluster_known_ethernet_devices
  45. subgraph cluster_unknown_ethernet_devices {
  46. color = 7;
  47. fillcolor = 1;
  48. style = "filled,dotted";
  49. labelloc = top;
  50. labeljust = left;
  51. label = "Unknown Ethernet Devices\n(NetDiscovery is NOT able to detect any information by SNMP)";
  52. unknown_ups_eth_1 [label="UPS #n"];
  53. unknown_phone_eth_1 [label="Phone #n"];
  54. unknown_switch_eth_1 [label="Switch #n"];
  55. unknown_printer_eth_1 [label="Printer #n"];
  56. unknown_load_balancer_eth_1 [label="Load Balancer #n"];
  57. unknown_ups_eth_1 -> unknown_phone_eth_1 [style=invis];
  58. unknown_switch_eth_1 -> unknown_printer_eth_1 [style=invis];
  59. } // cluster_unknown_ethernet_devices
  60. subgraph cluster_computer {
  61. labelloc = top;
  62. labeljust = left;
  63. label = "Computer (Windows, macOS, GNU/Linux, BSD, ...)";
  64. subgraph cluster_information_sources {
  65. color = 7;
  66. style = "filled,dotted";
  67. labelloc = top;
  68. labeljust = left;
  69. label = "Sources of Information\n(Depending on Operating System)";
  70. pciid [label="PCI ID Dabatase"];
  71. usbid [label="USB ID Database"];
  72. reg [label="Windows Registry"];
  73. wmi [label="Windows Management Instrumentation (WMI)"];
  74. rpm [label="RPM Package Manager (RPM)"];
  75. dpkg [label="Debian Package Manager (dpkg)"];
  76. dmi [label="Desktop Management Interface (DMI) /\nSystem Management BIOS (SMBIOS)"];
  77. containers [label="Virtualization Containers\n(LXC, LXD, Docker, Virtuozo, FreeBSD Jails, VServer, ...)"];
  78. hypervisors [label="Virtualization Hypervisors\n(XEN, VMware, Hyper-V, OpenVM, QEMU, Parallels, VirtualBox, ...)"];
  79. other_information_sources [label="...\n(Other Sources of Information)"];
  80. } // cluster_information_sources
  81. subgraph cluster_fia {
  82. fillcolor = 3;
  83. labelloc = top;
  84. labeljust = left;
  85. label = "FusionInventory-Agent (FIA)";
  86. node [fillcolor=3];
  87. fia_core [label="FIA Core"];
  88. subgraph cluster_fia_modules {
  89. fillcolor = 4;
  90. labelloc = top;
  91. labeljust = left;
  92. label = "Modules";
  93. fia_esx [label="ESX"];
  94. fia_wmi [label="Wmi"];
  95. fia_deploy [label="Deploy"];
  96. fia_collect [label="Collect"];
  97. fia_inventory [label="Inventory"];
  98. fia_wakeonlan [label="WakeOnLan"];
  99. fia_netdiscovery [label="NetDiscovery"];
  100. fia_netinventory [label="NetInventory"];
  101. }
  102. fia_esx -> fia_core [dir=none];
  103. fia_wmi -> fia_core [dir=none];
  104. fia_deploy -> fia_core [dir=none];
  105. fia_collect -> fia_core [dir=none];
  106. fia_inventory -> fia_core [dir=none];
  107. fia_wakeonlan -> fia_core [dir=none];
  108. fia_netdiscovery -> fia_core [dir=none];
  109. fia_netinventory -> fia_core [dir=none];
  110. } // cluster_fia
  111. subgraph cluster_deploy_executions {
  112. color = 7;
  113. style = "filled,dotted";
  114. labelloc = top;
  115. labeljust = left;
  116. label = "Deploy Executions";
  117. local_executions [label="Programs, Scripts, Commands, ...\n(Actually in the Operating System)"];
  118. remote_executions [label="Packages Received from FI4G\n(Programs, Scripts, Commands, ...)"];
  119. } // cluster_deploy_executions
  120. wmi -> fia_wmi [dir=none];
  121. reg -> fia_wmi [dir=none];
  122. containers -> fia_inventory [ltail=cluster_information_sources dir=none];
  123. local_executions -> fia_deploy [ltail=cluster_deploy_executions dir=none];
  124. } // cluster_computer
  125. subgraph cluster_vmware_esxi_cluster {
  126. labelloc = top;
  127. labeljust = center;
  128. label = "VMware ESXi Cluster";
  129. subgraph cluster_vmware_esxi_1 {
  130. fillcolor = 3;
  131. labelloc = top;
  132. labeljust = right;
  133. label = "VMware ESXi Server";
  134. vmware_esxi_1_vm_1 [label="VM #11\n(vCenter)"];
  135. vmware_esxi_1_vm_2 [label="VM #12"];
  136. vmware_esxi_1_vm_n [label="VM #1n"];
  137. vmware_esxi_1_api [label="VMware API"];
  138. vmware_esxi_1_vm_1 -> vmware_esxi_1_vm_2 -> vmware_esxi_1_vm_n [style=invis];
  139. } // cluster_vmware_esxi_1
  140. subgraph cluster_vmware_esxi_2 {
  141. fillcolor = 3;
  142. labelloc = top;
  143. labeljust = right;
  144. label = "VMware ESXi Server";
  145. vmware_esxi_2_vm_1 [label="VM #21"];
  146. vmware_esxi_2_vm_2 [label="VM #22"];
  147. vmware_esxi_2_vm_n [label="VM #2n"];
  148. vmware_esxi_2_api [label="VMware API"];
  149. vmware_esxi_2_vm_1 -> vmware_esxi_2_vm_2 -> vmware_esxi_2_vm_n [style=invis];
  150. } // cluster_vmware_esxi_2
  151. vmware_esxi_1_vm_1 -> vmware_esxi_1_api [dir=none];
  152. vmware_esxi_1_vm_1 -> vmware_esxi_2_api [dir=none];
  153. } // cluster_vmware_esxi_cluster
  154. subgraph cluster_vmware_esxi_3 {
  155. labelloc = top;
  156. labeljust = right;
  157. label = "VMware ESXi Server";
  158. vmware_esxi_3_vm_1 [label="VM #31"];
  159. vmware_esxi_3_vm_2 [label="VM #32"];
  160. vmware_esxi_3_vm_n [label="VM #3n"];
  161. vmware_esxi_3_api [label="VMware API"];
  162. vmware_esxi_3_vm_1 -> vmware_esxi_3_vm_2 -> vmware_esxi_3_vm_n [style=invis];
  163. } // cluster_vmware_esxi_3
  164. subgraph cluster_itasm_server {
  165. fillcolor = 2;
  166. labelloc = bottom;
  167. labeljust = left;
  168. label = "IT Assets and Services Management Server";
  169. httpd_server [label="HTTPd Server"];
  170. subgraph cluster_glpi {
  171. fillcolor = 3;
  172. labelloc = bottom;
  173. labeljust = left;
  174. label = "GLPI";
  175. glpi_core [label="GLPI Core"];
  176. subgraph cluster_glpi_plugins {
  177. fillcolor = 4;
  178. labelloc = bottom;
  179. labeljust = left;
  180. label = "Plugins";
  181. fi4g [label="FusionInventory for GLPI (FI4G)" fillcolor=3];
  182. data_injection [label="Data Injection"];
  183. purge_logs [label="Purge Logs"];
  184. sim_card [label="SIM Card"];
  185. other_glpi_plugin [label="..."];
  186. } //cluster_glpi_plugins
  187. glpi_core -> fi4g [dir=none];
  188. glpi_core -> data_injection [dir=none];
  189. glpi_core -> purge_logs [dir=none];
  190. glpi_core -> sim_card [dir=none];
  191. glpi_core -> other_glpi_plugin [dir=none];
  192. } // cluster_glpi
  193. httpd_server -> glpi_core [dir=none];
  194. } // cluster_itams_server
  195. subgraph cluster_database_server {
  196. fillcolor = 2;
  197. labelloc = top;
  198. labeljust = left;
  199. label = "Database Server";
  200. subgraph cluster_mysql {
  201. fillcolor = 3;
  202. labelloc = top;
  203. labeljust = left;
  204. label = "MySQL/MariaDB Engine";
  205. db [label="GLPI Database"];
  206. }
  207. } // cluster_database_server
  208. db -> glpi_core [dir=none];
  209. fi4g -> fia_core [dir=none];
  210. fia_esx -> vmware_esxi_1_vm_1 [dir=none];
  211. fia_esx -> vmware_esxi_3_api [dir=none];
  212. known_printer_eth_1 -> fia_netdiscovery [ltail=cluster_known_ethernet_devices dir=none];
  213. known_printer_eth_1 -> fia_netinventory [ltail=cluster_known_ethernet_devices dir=none];
  214. unknown_printer_eth_1 -> fia_netdiscovery [ltail=cluster_unknown_ethernet_devices dir=none];
  215. }