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

简介:

前言:

    今个群里有个哥们问我怎么实现一个集群的架构图,一说架构图,大家肯定想到的是用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,如需转载请自行联系原作者

相关文章
|
3月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
5月前
|
消息中间件 负载均衡 中间件
⚡ 构建真正的高性能即时通讯服务:基于 Netty 集群的架构设计与实现
本文介绍了如何基于 Netty 构建分布式即时通讯集群。随着用户量增长,单体架构面临性能瓶颈,文章对比了三种集群方案:Nginx 负载均衡、注册中心服务发现与基于 ZooKeeper 的消息路由架构。最终选择第三种方案,通过 ZooKeeper 实现服务注册发现与消息路由,并结合 RabbitMQ 支持跨服务器消息广播。文中还详细讲解了 ZooKeeper 搭建、Netty 集群改造、动态端口分配、服务注册、负载均衡及消息广播的实现,构建了一个高可用、可水平扩展的即时通讯系统。
552 0
|
7月前
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
2月前
|
运维 Prometheus 监控
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
别再“亡羊补牢”了!——聊聊如何优化企业的IT运维监控架构
111 8
|
2月前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
229 6
|
7月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
651 1
|
3月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
8月前
|
人工智能 自然语言处理 数据可视化
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
两大 智能体框架 Dify vs Langchain 的全面分析,该怎么选?资深架构师 做一个彻底的解密
|
4月前
|
人工智能 自然语言处理 JavaScript
Github又一AI黑科技项目,打造全栈架构,只需一个统一框架?
Motia 是一款现代化后端框架,融合 API 接口、后台任务、事件系统与 AI Agent,支持 JavaScript、TypeScript、Python 多语言协同开发。它提供可视化 Workbench、自动观测追踪、零配置部署等功能,帮助开发者高效构建事件驱动的工作流,显著降低部署与运维成本,提升 AI 项目落地效率。
379 0
|
4月前
|
运维 监控 安全
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
“没服务器了,那我这运维是白干了吗?”——无服务器架构对运维的冲击与转机
122 0

热门文章

最新文章

  • 1
    AI运维不再是玄学:教你用AI提前预测系统故障,少熬几次夜!
  • 2
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数