|
该功能与本论坛ROS主机管理功能实现方式一样,对于集群的ROS管理员来说非常方便,可以上报ROS的在线客户数、CPU使用率、内存使用率、流量等,每隔10分钟上报一次数据,后台收集后整理,可以生成ROS的性能曲线图。ROS端脚本 :- local online
- local cpuload
- local cpufr
- local frmem
- local tomem
- :set online [:len [/ip firewall address-list find list ="Lan"]]
- :set cpuload [/sys resource get cpu-load]
- :set cpufr [/sys resource get cpu-frequency]
- :set frmem [/sys resource get free-memory]
- :set tomem [/sys resource get total-memory]
- local server "服务器地址/cs.asp?str=蓝色动力网络-$online-$cpuload-$cpufr-$frmem-$tomem"
- /tool fetch url=($server) mode=http
复制代码 注意:应给不同的ROS设置不同的名称,比如蓝色动力网络,在其它站点应改成其它名字。
设置计划任务每10分钟执行一次该脚本即可。
服务器端写asp接收脚本,将str字符串分解插入数据库即可。
asp脚本:- <%
- strs=request("str")
- str=Split(strs,"-")
- rn=str(0)
- Set rs = Server.CreateObject("Adodb.RecordSet")
- rs.open "select id from ros_tbl where rosname='" & rn & "'", Conn, 1, 1
- if not rs.eof then
- ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR") '获取ROS上报时的IP地址
- If ip= "" Then ip =request.ServerVariables("REMOTE_ADDR")
- conn.execute("insert into ros_update(rosname,ip,oluser,usedcpu,totalcpu,usedmem,totalmem) values('" & str(0) & "','" & ip & "'," & str(1) & "," & str(2) & "," & str(3) & "," & str(4) & "," & str(5) & ")")
- conn.close
- set conn=nothing
- end if
- %>
复制代码 服务器端还需要写生成曲线脚本,筛选数据库记录,将ROS名称一样的获取生成性能曲线图即可(分CPU使用率曲线、内存使用率曲线),对应IP地址可以即时登录网管,不需要再使用DDNS了。 |
|