天天看点

运维架构图之用前端简易实现集群框架图运维平台化之IDC机柜拓扑及数据展现实现思路

前言:

    今个群里有个哥们问我怎么实现一个集群的架构图,一说架构图,大家肯定想到的是用visio或者是亿图,但是动态的咋办?甚至说高端了点,不仅可以看到架构图,而且可以看到流量及负载的信息。 现在运维平台这么火热,大家恨不得把平台做全面点。 我以前做过一个机房展现图,有兴趣的朋友可以再以前的博客中找到。 

<a href="http://rfyiamcool.blog.51cto.com/1030776/1346389" target="_blank">http://rfyiamcool.blog.51cto.com/1030776/1346389</a>

用的是 jquery.jOrgChart.css  js库,实现提来还算简单。大家只需要做个模板,然后各种if判断就行了。你懂的。     个人觉得大家要在cmdb资产系统里面要做好位置的标记,不然后期做架构图展现的时候,会发现 没法动态。。。。。 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

<code>原文: </code>

<code> </code> 

<code>    </code><code>&lt;</code><code>script</code> <code>src</code><code>=</code><code>"http://libs.baidu.com/jquery/1.9.0/jquery.js"</code><code>&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>script</code> <code>src</code><code>=</code><code>"http://libs.baidu.com/jqueryui/1.8.22/jquery-ui.min.js "</code><code>&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>    </code> 

<code>    </code><code>&lt;</code><code>script</code> <code>src</code><code>=</code><code>"jquery.jOrgChart.js"</code><code>&gt;&lt;/</code><code>script</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>script</code><code>&gt;</code>

<code>    </code><code>jQuery(document).ready(function() {</code>

<code>        </code><code>$("#org").jOrgChart({</code>

<code>            </code><code>chartElement : '#chart',</code>

<code>            </code><code>dragAndDrop  : true</code>

<code>        </code><code>});</code>

<code>    </code><code>});</code>

<code>    </code><code>&lt;/</code><code>script</code><code>&gt;</code>

<code>  </code><code>&lt;/</code><code>head</code><code>&gt;</code>

<code>  </code><code>&lt;</code><code>body</code> <code>onload</code><code>=</code><code>"prettyPrint();"</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"topbar"</code><code>&gt;</code>

<code>        </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"topbar-inner"</code><code>&gt;</code>

<code>            </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"container"</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>a</code> <code>class</code><code>=</code><code>"brand"</code> <code>href</code><code>=</code><code>"#"</code><code>&gt;jQuery Organisation Chart&lt;/</code><code>a</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>ul</code> <code>class</code><code>=</code><code>"nav"</code><code>&gt;</code>

<code>                    </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"http://github.com/wesnolte"</code><code>&gt;Github&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;</code>

<code>                    </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"http://twitter.com/wesnolte"</code><code>&gt;Twitter&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;                  </code>

<code>                    </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>a</code> <code>href</code><code>=</code><code>"http://th3silverlining.com"</code><code>&gt;Blog&lt;/</code><code>a</code><code>&gt;&lt;/</code><code>li</code><code>&gt;      </code>

<code>                </code><code>&lt;/</code><code>ul</code><code>&gt;</code>

<code>                </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"pull-right"</code><code>&gt;</code>

<code>                    </code><code>&lt;</code><code>div</code> <code>class</code><code>=</code><code>"alert-message info"</code> <code>id</code><code>=</code><code>"show-list"</code><code>&gt;Show underlying list.&lt;/</code><code>div</code><code>&gt;</code>

<code>                    </code> 

<code>&lt;</code><code>pre</code> <code>class</code><code>=</code><code>"prettyprint lang-html"</code> <code>id</code><code>=</code><code>"list-html"</code> <code>style</code><code>=</code><code>"display:none"</code><code>&gt;&lt;/</code><code>pre</code><code>&gt;       </code>

<code>                </code><code>&lt;/</code><code>div</code><code>&gt;              </code>

<code>            </code><code>&lt;/</code><code>div</code><code>&gt;</code>

<code>        </code><code>&lt;/</code><code>div</code><code>&gt;</code>

<code>    </code><code>&lt;/</code><code>div</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>ul</code> <code>id</code><code>=</code><code>"org"</code> <code>style</code><code>=</code><code>"display:none"</code><code>&gt;</code>

<code>    </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>br</code><code>&gt;&lt;</code><code>font</code> <code>size</code><code>=</code><code>"4"</code><code>&gt;Balance&lt;/</code><code>font</code><code>&gt;</code>

<code>     </code> 

<code>       </code><code>&lt;</code><code>ul</code><code>&gt;</code>

<code>         </code><code>&lt;</code><code>li</code> <code>id</code><code>=</code><code>"beer"</code><code>&gt;&lt;</code><code>br</code><code>&gt;redis 192.168.1.10&lt;/</code><code>li</code><code>&gt;</code>

<code>         </code><code>&lt;</code><code>li</code><code>&gt;&lt;</code><code>br</code><code>&gt;nginx2 192.168.1.13</code>

<code>           </code><code>&lt;</code><code>ul</code><code>&gt;</code>

<code>             </code><code>&lt;</code><code>li</code><code>&gt;mongodb 192.168.1.16&lt;/</code><code>li</code><code>&gt;</code>

<code>             </code><code>&lt;</code><code>li</code><code>&gt;mongodb 192.168.1.19&lt;/</code><code>li</code><code>&gt;</code>

<code>           </code><code>&lt;/</code><code>ul</code><code>&gt;</code>

<code>         </code><code>&lt;/</code><code>li</code><code>&gt;</code>

<code>         </code><code>&lt;</code><code>li</code> <code>class</code><code>=</code><code>"fruit"</code><code>&gt;nginx3 192.168.1.24</code>

<code>             </code><code>&lt;</code><code>li</code><code>&gt;php 192.168.1.28</code>

<code>               </code><code>&lt;</code><code>ul</code><code>&gt;</code>

<code>                 </code><code>&lt;</code><code>li</code><code>&gt;mysql 192.168.1.33&lt;/</code><code>li</code><code>&gt;</code>

<code>                 </code><code>&lt;</code><code>li</code><code>&gt;mysql 192.168.1.37&lt;/</code><code>li</code><code>&gt;</code>

<code>               </code><code>&lt;/</code><code>ul</code><code>&gt;</code>

<code>             </code><code>&lt;/</code><code>li</code><code>&gt;</code>

<code>            </code> 

<code>         </code><code>&lt;</code><code>li</code><code>&gt;spider 192.168.1.41&lt;/</code><code>li</code><code>&gt;</code>

<code>         </code><code>&lt;</code><code>li</code> <code>class</code><code>=</code><code>"collapsed"</code><code>&gt;nginx5 192.168.1.44</code>

<code>             </code><code>&lt;</code><code>li</code><code>&gt;Topdeck&lt;/</code><code>li</code><code>&gt;</code>

<code>             </code><code>&lt;</code><code>li</code><code>&gt;Reese's Cups&lt;/</code><code>li</code><code>&gt;</code>

<code>       </code><code>&lt;/</code><code>ul</code><code>&gt;</code>

<code>     </code><code>&lt;/</code><code>li</code><code>&gt;</code>

<code>   </code><code>&lt;/</code><code>ul</code><code>&gt;            </code>

<code>    </code><code>&lt;</code><code>div</code> <code>id</code><code>=</code><code>"chart"</code> <code>class</code><code>=</code><code>"orgChart"</code><code>&gt;&lt;/</code><code>div</code><code>&gt;</code>

<code>        </code><code>jQuery(document).ready(function() {</code>

<code>            </code><code>/* Custom jQuery for the example */</code>

<code>            </code><code>$("#show-list").click(function(e){</code>

<code>                </code><code>e.preventDefault();</code>

<code>                </code> 

<code>                </code><code>$('#list-html').toggle('fast', function(){</code>

<code>                    </code><code>if($(this).is(':visible')){</code>

<code>                        </code><code>$('#show-list').text('Hide underlying list.');</code>

<code>                        </code><code>$(".topbar").fadeTo('fast',0.9);</code>

<code>                    </code><code>}else{</code>

<code>                        </code><code>$('#show-list').text('Show underlying list.');</code>

<code>                        </code><code>$(".topbar").fadeTo('fast',1);                  </code>

<code>                    </code><code>}</code>

<code>                </code><code>});</code>

<code>            </code><code>});</code>

<code>            </code><code>$('#list-html').text($('#org').html());</code>

<code>            </code><code>$("#org").bind("DOMSubtreeModified", function() {</code>

<code>                </code><code>$('#list-html').text('');</code>

<code>                </code><code>$('#list-html').text($('#org').html());</code>

<code>                </code><code>prettyPrint();                </code>

这里实现的方法有些简单,大家自己举一反三的做成模板,也可以换成自己服务器的图标。

好了,不多说了 ! 

 本文转自 rfyiamcool 51CTO博客,原文链接:http://blog.51cto.com/rfyiamcool/1559137,如需转载请自行联系原作者

继续阅读