ActiveRouter简介
当前版本: Beta 0.1 by usher.yue
Email: usher.yue@gmail.com
正在努力开发中........
简单介绍
一、通过ActivedRouter可以实现什么功能?
1、可以集群服务器的监控,通过提供的web Dashboard可以时刻监控每一台服务器的负载、内存、网络、
磁盘等信息。
2、反向代理服务器功能,例如Nginx的功能,可以针对不同的域名对不同的业务服务器集群进行反向代理。
3、Server & Client 模式组合下,可以用作服务器监控使用,Server端可以监控Dashboard,用于直观的web界面监控。
4、反向代理支持 Random 和 Alived 模式,默认Random模式,Alived模式需要在客户端运行Client模式的服务进行数据上报。
5、快速配置反向代理服务,省去配置nginx反向代理的麻烦步骤,一般流量下的负载足以应付。
二、快速入门
2.1、编译安装
Windows平台依赖:
go get github.com/go-ole/go-ole
go get github.com/go-ole/go-ole/oleutil
go get github.com/StackExchange/wmi
go get github.com/shirou/w32
go build main.go
2.2、实现功能
三、工作模式和配置文件
3.1、http反向代理模式(Reserve Proxy),等同nginx的反向代理
运行命令: ActivedRouter --runmode=client 运行client 模式
运行命令: ActivedRouter --runmode=server 运行server 模式
运行命令: ActivedRouter --runmode=reserveproxy 运行反向代理模式(支持reserveproxy&server)
配置文件:
{
"http_switch":"on", //http开关 on off
"proxy_addr":"127.0.0.1:80", //http监听端口
"proxy_method":"random", //proxy方法 random 混合模式下可支持alived方法
"https_switch":"off", //是否开启https on开启https 支持
"https_crt":"a.crt", //https证书
"https_key":"a.key", //https key
"https_proxy_addr":"127.0.0.1:443",//https监听地址
"reserve_proxy":[
{
"domain":"1.12xue.com",
"clients":[
{
"host":"12xuetest.com",
"port":"80"
}
]
},
{
"domain":"2.12xue.com",
"clients":[
{
"host":"12xuedev.com",
"port":"80"
}
]
},
{
"domain":"proxy.12xue.com",
"clients":[
{
"host":"goapi.com",
"port":"80"
}
]
}
]
}
3.2、server和client模式可以配合完全服务器监控,提供web仪表盘。
客户端运行: ActivedRouter --runmode=client
相关配置文件client.json
{
"domain":"wwww.xxx.com", //客户端服务器的域名可空
"cluster":"UIA集群", //服务器集群的标志 可自定义
"router_list":[ //要连接的远程路由服务器列表
"127.0.0.1:8888",
"172.16.200.202:9999"
]
}
服务器运行: ActivedRouter --runmode=server
相关配置文件server.json
{
"host":"127.0.0.1",
"port":"8888",
"srvmode":"router",
"httphost":"127.0.0.1",
"httpport":"8080"
}
4.3、服务器监控模式触发脚本(完善中)
当监控服务器下,路由服务器开启srvmode=moniter之后才会触发
{
"script":[
{
"host":"127.0.0.1",
"hookscript":[
{
"eventtarget":"disk",
"attr":"used",
"gt":"15",
"callback":"ls"
},
{
"eventtarget":"load",
"attr":"load",
"gt":"1.5",
"callback":"ls"
},
{
"eventtarget":"mem",
"attr":"used",
"gt":"75",
"callback":"netstat -ant"
}
]
}
]
}
运行模式
服务器模式和客户端模式
运行模式 |
介绍 |
Client
|
在客服端模式下通告服务器当前服务状态
1、 启动挂在到路由服务器 可以挂在到一个至个服务器上。
2、 实时通告路由服务器当前服务器信息,用作路由分析。
|
Server
|
在服务器模式下监听客户端的状态
1、 监听客户端模式下的服务器的服务状态
|
ReserveProxy
|
内网集群配置反向代理功能,并提供简单的监控服务
|
## 后期提供api服务器监控功能可以实时返回各服务器状态
监控功能 |
介绍 |
虚拟内存
|
时刻监控服务器的虚拟内存
|
load average
|
时刻监控服务器的负载状态
|
网络连接
|
时刻监控服务器的网络连接状态
|
CPU使用率
|
时刻监控CPU的使用率
|
磁盘状态
|
时刻监控服务器的磁盘存储容量
|