运维架构图之用前端简易实现集群框架图

简介:

前言:

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

运维平台化之IDC机柜拓扑及数据展现实现思路

http://rfyiamcool.blog.51cto.com/1030776/1346389


wKiom1Qn1rThOaX4AANwufEHeY4204.jpg


用的是 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
原文: 
  
     < script  src = "http://libs.baidu.com/jquery/1.9.0/jquery.js" ></ script >
     < script  src = "http://libs.baidu.com/jqueryui/1.8.22/jquery-ui.min.js " ></ script >
     
     < script  src = "jquery.jOrgChart.js" ></ script >
 
     < script >
     jQuery(document).ready(function() {
         $("#org").jOrgChart({
             chartElement : '#chart',
             dragAndDrop  : true
         });
     });
     </ script >
   </ head >
 
   < body  onload = "prettyPrint();" >
     < div  class = "topbar" >
         < div  class = "topbar-inner" >
             < div  class = "container" >
                 < a  class = "brand"  href = "#" >jQuery Organisation Chart</ a >
                 < ul  class = "nav" >
                     < li >< a  href = "http://github.com/wesnolte" >Github</ a ></ li >
                     < li >< a  href = "http://twitter.com/wesnolte" >Twitter</ a ></ li >                  
                     < li >< a  href = "http://th3silverlining.com" >Blog</ a ></ li >      
                 </ ul >
                 < div  class = "pull-right" >
                     < div  class = "alert-message info"  id = "show-list" >Show underlying list.</ div >
                     
< pre  class = "prettyprint lang-html"  id = "list-html"  style = "display:none" ></ pre >       
                 </ div >              
             </ div >
         </ div >
     </ div >
     
     < ul  id = "org"  style = "display:none" >
     < li >< br >< font  size = "4" >Balance</ font >
      
        < ul >
          < li  id = "beer" >< br >redis 192.168.1.10</ li >
          < li >< br >nginx2 192.168.1.13
            < ul >
              < li >mongodb 192.168.1.16</ li >
              < li >mongodb 192.168.1.19</ li >
            </ ul >
          </ li >
          < li  class = "fruit" >nginx3 192.168.1.24
            < ul >
              < li >php 192.168.1.28
                < ul >
                  < li >mysql 192.168.1.33</ li >
                  < li >mysql 192.168.1.37</ li >
                </ ul >
              </ li >
             
            </ ul >
          </ li >
          < li >spider 192.168.1.41</ li >
          < li  class = "collapsed" >nginx5 192.168.1.44
            < ul >
              < li >Topdeck</ li >
              < li >Reese's Cups</ li >
            </ ul >
          </ li >
        </ ul >
      </ li >
    </ ul >            
     
     < div  id = "chart"  class = "orgChart" ></ div >
     
     < script >
         jQuery(document).ready(function() {
             
             /* Custom jQuery for the example */
             $("#show-list").click(function(e){
                 e.preventDefault();
                 
                 $('#list-html').toggle('fast', function(){
                     if($(this).is(':visible')){
                         $('#show-list').text('Hide underlying list.');
                         $(".topbar").fadeTo('fast',0.9);
                     }else{
                         $('#show-list').text('Show underlying list.');
                         $(".topbar").fadeTo('fast',1);                  
                     }
                 });
             });
             
             $('#list-html').text($('#org').html());
             
             $("#org").bind("DOMSubtreeModified", function() {
                 $('#list-html').text('');
                 
                 $('#list-html').text($('#org').html());
                 
                 prettyPrint();                
             });
         });
     </ script >


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


好了,不多说了 ! 




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

相关文章
|
4天前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
3天前
|
缓存 监控 安全
Django框架在大型Web应用中的架构设计与实战
【5月更文挑战第18天】Django框架在构建大型Web应用中扮演重要角色,采用分层架构(数据、业务逻辑、表示层)和多应用组织模式,结合缓存策略(如Memcached、Redis)提升性能。通过异步处理、分布式部署提高响应速度和扩展性。关注数据分区、安全设计及监控日志,确保系统高效、稳定。Django为复杂业务提供坚实基础,助力打造卓越Web系统。
19 7
|
4天前
|
iOS开发 Python
mac:python安装路径,带你全面解析Python框架体系架构view篇
mac:python安装路径,带你全面解析Python框架体系架构view篇
|
4天前
|
存储 前端开发 JavaScript
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
JavaScript数据类型归纳,架构师花费近一年时间整理出来的前端核心知识
|
4天前
|
前端开发 JavaScript Java
《浅谈架构之路:前后端分离模式》 - 山人行 - 博客园,前端开发新手项目
《浅谈架构之路:前后端分离模式》 - 山人行 - 博客园,前端开发新手项目
|
6天前
|
Web App开发 开发框架 前端开发
Open UI5 前端开发框架配套的 Mock Server 工作原理解析
Open UI5 前端开发框架配套的 Mock Server 工作原理解析
11 0
|
6天前
|
Kubernetes API 调度
Kubernetes学习-核心概念篇(二) 集群架构与组件
Kubernetes学习-核心概念篇(二) 集群架构与组件
|
6天前
|
存储 监控 关系型数据库
关系型数据库设计集群架构节点规划
【5月更文挑战第6天】在实际项目中,可能还需要考虑其他因素,如安全性、合规性、成本等。因此,在进行关系型数据库设计集群架构节点规划时,建议与经验丰富的数据库管理员和架构师合作,以确保项目的成功实施和稳定运行。
23 4
关系型数据库设计集群架构节点规划
|
6天前
|
存储 负载均衡 关系型数据库
关系型数据库设计集群架构架构选择
【5月更文挑战第6天】还可以考虑使用现有的数据库管理系统(DBMS)提供的集群解决方案,如MySQL的InnoDB Cluster、PostgreSQL的Streaming Replication和Patroni等。这些解决方案已经经过了广泛测试和验证,可以大大降低集群架构设计和实现的难度。
19 1
关系型数据库设计集群架构架构选择
|
6天前
|
分布式计算 负载均衡 关系型数据库
关系型数据库设计集群架构需求分析
【5月更文挑战第6天】关系型数据库设计集群架构的需求分析是一个综合考虑业务需求、性能、可用性、可扩展性、数据一致性、安全性、成本效益和技术选型等多个方面的过程。通过深入分析和评估,可以设计出满足业务需求且高效可靠的数据库集群架构。
24 3
关系型数据库设计集群架构需求分析