天天看點

運維架構圖之用前端簡易實作叢集架構圖運維平台化之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,如需轉載請自行聯系原作者

繼續閱讀