前言:
如今大点的公司,都会有个类似机房的机柜摆放图的系统,可能有太多兄弟的公司没有这样的东西,如果想开发咋办? 又想开发出一套自动生成的咋办? 跟着我简单的开发出一套吧 ~ 有问题,大家mail我 ~
Hello,更多的运维相关的文章请到 ,blog.xiaorui.cc !
这个机房展现图,是没有啥难度的,我就详细的介绍下,该平台页面用到的一些流程处理和自动化方面的东西。
对于空机柜的显示:
其实这个项目,随便找个差不多的开发都可以做出来的 ! 但是我相信看我博客的人,十个有九个是运维的朋友,他们肯定也很好奇这个东西是如何是实现的 ~
首先这些服务器的图片的咋搞到的,可以去官网搞,也可以到zol那里拔图。
为了更好的展现服务器当前的状态,咱们可以归类几个状态。 比如正常状态下的power绿灯的闪耀,没开机状态下灯是灭的,服务器硬件出问题时候,服务器出问题正在维修的时候。
正常开机的状态:
没有开机的状态:
出问题的服务器状态:
已经联系了IBM dell hp厂商维修的状态:
至于其他的前端代码,就没啥了,其实就是填充数据,可以用jquery的tooltip组件,实现服务器的信息展现,不会让页面显示的杂乱!
别问我这些个数据,是自己手动填入的吗?
呵呵,肯定不会了,不然为啥说是自动化运维 ~
简单说下,在idc机柜拓扑方面的自动化理解 !
手动: 让世纪互联机房的兄弟们抄录摆放图,格式一定要是我们统一的格式。
如下:
让他们统计好了,我们简单看看格式问题,然后再验证下这次上线的情况,用提前从服务器抓到的数据进行对比序列号和型号后,从我们自己的接口上传excel文件,会自动解析插入到数据库中 !
其实这些东西最好还是半自动,毕竟每次的迁移也不是那么的复杂,又没有bat那样的规模!
参考下lldp的协议标准,只要在交换机端开放这个协议,我在客户端就可以抓到和定位自己的交换机型号和端口。 但这个东西不太适用于拓扑的自动化统计。
校验机柜的位置:
在服务器端是无法得知机柜位置的,但是可以通过交换机来验证他的大体位置。因为交换机的位置是先前已经知道的,然后mac验证得出他在交换机是哪个端口,然后通过网络组的接口,知道哪些接口是在哪个机柜上。
呵呵,也只能做到这些了。
还有就是点击服务器的时候显示主机的状态,存活状态啥的,可以用saltstack的api去实现他。再外加一个ipmitool的modules,来确定他的硬件好坏。 当然这个状态不绝对,最少能确定他是能开机的,只是有可能系统问题不能ping通而已。
当然用zabbix的mysql取值也可以的,反正能让前端取到数据就行了。
实现的前端的部分代码:
<div class=”row” style=”width:2000px;”>
<div class=”span3″ style=”border-style:solid;”>
<h2>2021 机柜</h2>
<table border=”0″>
<tr style=”width:268px; height:50px;”>
<!– background=”33.png” style=”position: relative;” –>
<td><img src=”dl380.gif” alt=”10.2.20.111″ rel=”tooltip” data-original-title=’IP地址:10.2.20.111<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
<tr style=”width:268px; height:60px;”>
<td><img src=”dl380.gif” alt=”10.2.20.112″ rel=”tooltip” data-original-title=’IP地址:10.2.20.112<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
<tr style=”width:268px; height:60px;”>
<td><img src=”dl380.gif” alt=”10.2.20.113″ rel=”tooltip” data-original-title=’IP地址:10.2.20.113<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
<tr style=”width:268px; height:60px;”>
<td><img src=”dl380.gif” alt=”10.2.20.114″ rel=”tooltip” data-original-title=’IP地址:10.2.20.114<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
<tr style=”width:268px; height:60px;”>
<td><img src=”dl380.gif” alt=”10.2.20.115″ rel=”tooltip” data-original-title=’IP地址:10.2.20.115<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
<tr style=”width:268px; height:60px;”>
<td><img src=”dl380.gif” alt=”10.2.20.116″ rel=”tooltip” data-original-title=’IP地址:10.2.20.116<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
<tr style=”width:268px; height:60px;”>
<td><img src=”dl380.gif” alt=”10.2.20.117″ rel=”tooltip” data-original-title=’IP地址:10.2.20.117<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
<tr style=”width:268px; height:60px;”>
<td><img src=”dl380.gif” alt=”10.2.20.118″ rel=”tooltip” data-original-title=’IP地址:10.2.20.118<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
<tr style=”width:268px; height:60px;”>
<td><img src=”dl380.gif” alt=”10.2.20.119″ rel=”tooltip” data-original-title=’IP地址:10.2.20.119<br>状态:ok<br>ping status: ok<br>型号:Hp dl380<br>U数:23<br>system:Centos 6.4<br>项目组:私有云<br>项目负责人:tim gao<br>点击查看’></img></td>
</tr>
</table>
</div>
总结下:
还是那句话,这东西随便找个开发都可以做出来,我这里也只是说下,自己对于IDC拓扑开发的理解,还有自动化方面的适用性,当然个人能力有限,想到的自动化很不健全 ~ 还是那种走流程的方案,靠谱点 。
1. 让机房抄录摆放图,按照咱们接口中特定的格式。
2. 来了后,找个人确定下格式。
3. 把这个excel文件放到页面的验证接口,做验证。(服务器信息的验证,ip 型号 资产号 序列号、通过交换机接口验证他的大体机柜位置)
4. 插入到数据库中,并实现数据的展现。
这些HW图片开发者图标在哪里找的,能提供一下地址嘛。我想要那些带状态类的,可是找不到.http://support.huawei.com/onlinetool/datums/piclib/index.jsp