前言:
如今大点的公司,都会有个类似机房的机柜摆放图的系统,可能有太多兄弟的公司没有这样的东西,如果想开发咋办? 又想开发出一套自动生成的咋办? 跟着我简单的开发出一套吧 ~ 有问题,大家mail我 ~
无难度,只是简单介绍下,该运维平台用到的一些流程处理和自动化方面的东西。
对于空机柜的显示:
其实这个项目,随便找个差不多的开发都可以做出来的 ! 但是我相信看我博客的人,十个有九个是运维的朋友,他们肯定也很好奇这个东西是如何是实现的 ~
首先这些服务器的图片的咋搞到的,可以去官网搞,也可以到zol那里拔图。
为了更好的展现服务器当前的状态,咱们可以归类几个状态。 比如正常状态下的power绿灯的闪耀,没开机状态下灯是灭的,服务器硬件出问题时候,服务器出问题正在维修的时候。
正常开机的状态:
没有开机的状态:
出问题的服务器状态:
已经联系了IBM dell hp厂商维修的状态:
至于其他的前端代码,就没啥了,其实就是填充数据,可以用jquery的tooltip组件,实现服务器的信息展现,不会让页面显示的杂乱!
别问我这些个数据,是自己手动填入的吗?
呵呵,肯定不会了,不然为啥说是自动化运维 ~
简单说下,在idc机柜拓扑方面的自动化理解 !
手动: 让世纪互联机房的兄弟们抄录摆放图,格式一定要是我们统一的格式。
如下:
让他们统计好了,我们简单看看格式问题,然后再验证下这次上线的情况,用提前从服务器抓到的数据进行对比序列号和型号后,从我们自己的接口上传excel文件,会自动解析插入到数据库中 !
其实这些东西最好还是半自动,毕竟每次的迁移也不是那么的复杂,又没有bat那样的规模!
参考下lldp的协议标准,只要在交换机端开放这个协议,我在客户端就可以抓到和定位自己的交换机型号和端口。 但这个东西不太适用于拓扑的自动化统计。
校验机柜的位置:
在服务器端是无法得知机柜位置的,但是可以通过交换机来验证他的大体位置。因为交换机的位置是先前已经知道的,然后mac验证得出他在交换机是哪个端口,然后通过网络组的接口,知道哪些接口是在哪个机柜上。
呵呵,也只能做到这些了。
还有就是点击服务器的时候显示主机的状态,存活状态啥的,可以用saltstack的api去实现他。再外加一个ipmitool的modules,来确定他的硬件好坏。 当然这个状态不绝对,最少能确定他是能开机的,只是有可能系统问题不能ping通而已。
当然用zabbix的mysql取值也可以的,反正能让前端取到数据就行了。
实现的前端的部分代码:
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
|
<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>
|
blog:http://rfyiamcool.blog.51cto.com/1030776/1346389
总结下:
还是那句话,这东西随便找个开发都可以做出来,我这里也只是说下,自己对于IDC拓扑开发的理解,还有自动化方面的适用性,当然个人能力有限,想到的自动化很不健全 ~ 还是那种走流程的方案,靠谱点 !
1. 让机房抄录摆放图,按照咱们接口中特定的格式。
2. 来了后,找个人确定下格式。
3. 把这个excel文件放到页面的验证接口,做验证。(服务器信息的验证,ip 型号 资产号 序列号、通过交换机接口验证他的大体机柜位置)
4. 插入到数据库中,并实现数据的展现。
本文转自 rfyiamcool 51CTO博客,原文链接:http://blog.51cto.com/rfyiamcool/1346389,如需转载请自行联系原作者