一般能反映机房设备位置、结构我们都喜欢通过网络拓扑图来展现,但个人感觉还不够直观、明了的表现出自己想要的结果(自己太挑剔了,呵呵)。因此写一个生成真实机柜模拟图平台,实现与真实服务器外观、服务状态、空闲位置等信息。
在线效果图
http://blog.liuts.com/idc/
系统截图
1、平台显示某一排截图
2、平台显示某台服务器详细信息截图
3、状态说明
2U服务器正常状态
2U服务器当机状态
系统原理
通过获取运维平台的服务器信息(包括位置、操作系统、机型等),格式为XML,通过c++的tinyxml来解析并渲染成比较美观的HTML格式。当机的信息通过Nagios来获取。这样就可以生成非常人性化的展现平台了:)
系统代码Servermap.cpp
\n";
else
HTMLstr+="在线效果图
http://blog.liuts.com/idc/
系统截图
1、平台显示某一排截图
2、平台显示某台服务器详细信息截图
3、状态说明
2U服务器正常状态
2U服务器当机状态
系统原理
通过获取运维平台的服务器信息(包括位置、操作系统、机型等),格式为XML,通过c++的tinyxml来解析并渲染成比较美观的HTML格式。当机的信息通过Nagios来获取。这样就可以生成非常人性化的展现平台了:)
系统代码Servermap.cpp
"+CurrServer_row[i].substr(2,2)+"排
\n";
HTMLstr+="\n"; //HTMLstr+=" | \n" ;
HTMLstr+="
| \n";
}
HTMLstr+="
\n"; } HTMLstr+="\n"; } //类入 口main(),接受用户参数; int main() { string * row; string idctype=""; //定义机柜排号; string IDCA[10]={"01","02","03","04","05","06"}; string IDCC[10]={"18","19","20"}; //IDC A idctype="idc"; row=IDCA; servermap appa(row,idctype); appa.ProduRow(); appa.writefile("idca.html"); //IDC C idctype="idc"; row=IDCC; servermap appc(row,idctype); appc.ProduRow(); appc.writefile("idcc.html"); //free(p); return 0; }
XML数据格式
如大家有什么疑问或感兴趣的话题可以通过weibo与我交流:http://t.qq.com/yorkoliu
按README编译时总提示/home/liuts/xxxxx,然后看了一下有太多地方有这个了,没有一个配置文件可以更改的吗?
编译出servermap后不能用./servermap 运行?
请帮助,谢谢