目录

WebConsole介绍

WebConsole介绍:

该工具是基于Web的Console工具,位于kbe/tools/server/webconsole中。如下图:

1

其中包括:

  • 用户管理:对用户进行管理
  • 集群管理:管理所有服务器、组件等配置和状态
  • 性能分析:提供tick、cpu、Python、event、network的性能分析
  • 日志查看:实时日志的查看和筛选
  • 状态查看:利用状态图,查看当前cellapp和baseapp的运行状态线性图表
  • Python控制台:可以在该控制台下输入python命令,立即执行
  • Watcher:查看单个组件进程的所有状态信息,并实时更新
  • SpaceViewer:查看所有Space中entity的分布情况

我们先来看看如何进行环境配置,使WebConsole运作起来。

环境配置:

运行环境要求:

  • Python版本:Python3.x(建议3.3或3.3以上版本)
  • Django版本:1.8.9

使用方法:

1:请自行为你所使用的Python安装与之匹配的django模块,如果不想安装django,有另外两个选择:

  • 如果使用的是Python2.6.6,可进入“kbe/tools/server/django_packages”目录,并在该目录下解压Django-1.6.11.tar.gz文件(解压到当前目录);
  • 如果使用的是Python2.7或以上,可进入“kbe/tools/server/django_packages”目录,并在该目录下解压Django-1.8.9.tar.gz文件(解压到当前目录)。

2:修改sync_db.bat、sync_db.sh以及run_server.bat、run_server.sh,使其正确指向你所使用的Python的路径,第一次使用,需要初始化数据:

  • windows下Python3.3 + django 1.8.9,运行“sync_db.bat”命令;
  • linux下Python3.3 + django 1.8.9,运行“sync_db.sh”命令;
  • linux下Python2.6 + django 1.6.11,运行“sync_db_dj-1.6.sh”命令;
  • windows下Python2.6 + django 1.6.11,请参考“sync_db_dj-1.6.sh”自行创建.bat文件。


运行步骤:

1:启动服务器

  • Linux:执行run_server.sh脚本,或者部署到nginx上,浏览器打开地址 “http://xxx.xxx.xxx.xxx:8000/wc/”进行访问,其中“xxx.xxx.xxx.xxx”为运行webconsole的机器IP;
  • Windows:运行run_server.bat(需将run_server.bat中的Python文件夹改为自己的Python文件夹),之后在浏览器打开地址 “http://xxx.xxx.xxx.xxx:8000/wc/”进行访问,其中“xxx.xxx.xxx.xxx”为运行webconsole的机器IP。

2:登录系统

初次登陆需用默认用户名密码登入用户管理界面,并新建管理用户。

1

注意事项:

  • 第一次使用此控制台时,默认的登录账号为“Admin”,默认密码为“123456”,此账号也是后台唯一的管理账号,登录后请及时修改密码;
  • 第一次使用Admin进入后台,需要根据自己启动服务器的用户账号名和用户uid创建新的控制用户,创建完成后,需要退出Admin使用新用户登录才能进行实际的后台操作;
  • 此后台的开发环境为Python3.3 + django 1.8.9,在linux下使用Python2.6.6 + django-1.6.11测试通过;
  • 此工具所有的操作都源于Machine,因此,想要使用这个工具的功能,必须确保machine进程正确运行;

配置说明:

虽然默认的配置下,WebConsole就可以启动起来,但是在一些特殊的环境情况下,还是需要深入的了解配置。比如Machine之间跨网端,就必须自定义配置。

所有的配置位于{kbe/tools/server/webconsole/KBESettings}文件夹下。

1

path.py:路径配置;
settings.py:django的设置以及与引擎相关的参数配置;
urls.py:对django的urlpatterns进行设置;
wsgi.py:django的wsgi配置。

绝大多数是django相关的配置,请参见Django官网

我们来看一下settings.py的最后一段,是涉及与引擎相关的参数配置。

# BOOL
# 是否使用Machines的缓冲机制;
# 使用些机制可以减缓页面打开时的卡顿现象,
# 但对于实时性来说,会有些偏差
# 注意:此机制只能在独立运行时设置成true,
#       如果部署到apache等http服务器上以后此参数仍然为True,
#       有可能会造成大量的udp广播包
USE_MACHINES_BUFFER = True

# FLOAT;单位:秒
# 当多长时间没有查询Machines相关数据时停止缓冲机制,
# 以避免长时间没有人操作还不停的广播查询包
STOP_BUFFER_TIME = 300

# FLOAT;单位:秒
# Machines缓冲机制的刷新间隔
# 间隔时间越短,越精确,发送的数据也越频繁
# 此参数仅在 USE_MACHINES_BUFFER = True 时起作用
MACHINES_BUFFER_FLUSH_TIME = 1.0

# FLOAT;单位:秒
# 每次查询Machine时等待响应的最长时间
MACHINES_QUERY_WAIT_TIME = 1.0

# MACHINES地址配置
# 当此参数不为空时,则由原来的广播探测改为固定地址探测,
# WebConsole仅会以此配置的地址进行探测,
# 当服务器存在跨网段的情况时,此方案犹为有用。
# 例子:
# MACHINES_ADDRESS = ["192.168.0.1", "10.0.0.1", "172.16.0.1"]
MACHINES_ADDRESS = []


功能说明:

功能包块有:用户管理、集群管理、性能分析、日志查看、状态查看、Python控制台、Watcher、SpaceViewer。


1. 用户管理

1

在该界面,可以管理所有用户,包括新增、删除、修改等。

1.1 新建管理用户

1

账号:登陆用的账号;
昵称:登陆后显示的名称;
登录密码:任意字母数字组合;
确认密码:再输入一遍密码;
操作系统用户:Linux系统的用户名称,Windows下开发调试请无视;
操作系统用户uid:Linux系统用户uid,Windows下开发需与被管理的KBE的uid相同,否则无法管理该KBE;
KBE_ROOT:被管理的KBE的KBE_ROOT目录,默认为当前webconsole所在的KBE的KBE_ROOT路径(可为空);
KBE_RES_PATH:被管理的KBE的KBE_RES_PATH目录,默认为当前webconsole所在的KBE的KBE_RES_PATH路径(可为空);
KBE_BIN_PATH:被管理的KBE的KBE_BIN_PATH目录,默认为当前webconsole所在的KBE的KBE_BIN_PATH路径(可为空)。

注:因一台服务器上可同时存在多个KBE,故每个被管理的KBE的系统用户、UID、KBE_ROOT、KBE_RES_PATH、KBE_BIN_PATH都不能与其他用户的参数重复。

1.2 修改资料

输入新的用户参数,点击确认修改即可。

1

1.3 修改密码

输入新的密码两次并点击修改。

1


2. 集群管理

集群管理可以管理所有服务器、组件等配置和状态。

2.1 服务器管理

1

在“服务器管理”页面,你可以对已启动的KBE进程进行管理和资源消耗查看。

  • STOP操作:停止当前进程;
  • KILL操作:杀死当前进程;
  • 启动新组件:启动新的KBE服务组件;
  • 停止服务器:停止当前KBE服务器所有进程;
  • 保存当前服务器运行配置:保存当前KBE服务器进程的数量配置信息。

2.2 启动新组件

在该页面,你可以在服务器群内新建任意数量的组件进程。

1

2.3 所有守护进程状态

在当前界面,你可以查看当前服务器群内所有KBE的Machine信息和资源占用情况。

1

2.4 服务器运行配置

在这个页面,你可以对之前保存的服务器配置进行加载和删除操作。

1


3. 性能分析Profile

在这个页面,选择你想进行分析查看的操作。

1

3.1 TickProfile

在这个页面,你可以进行TickProfile的查询操作,查询时长为空,即默认查询时长为10秒,通过点击柱条可查看相关详细信息。

1

3.2 CProfile

在该界面,你可以进行cprofile的性能分析查询,查询时长为空,即默认查询时长为10秒。

1

3.3 PyProfile

在该界面,你可以进行pyprofile的信息查询分析,查询时长为空,即默认查询时长为10秒。

1

3.4 EventProfile

在该界面,你可以进行eventprofile的信息查询分析,查询时长为空,即默认查询时长为10秒。

1

3.5 NetworkProfile

在该界面,你可以进行网络性能的信息查询分析,查询时长为空,即默认查询时长为10秒。

1


4. 日志查看

该页面提供实时日志的查看和筛选,点击上方的箭头可下拉筛选菜单,默认为查看所有进程和所有类型的日志数据。

4.1 实时日志

1

4.2 日志的筛选

1


5. 状态图

状态图页面提供给开发者查看当前cellapp和baseapp的运行状态线性图表,点击名称可查看单个组件进程的状态线形图。

5.1 状态图组件总览页面:

1

5.2 状态图组件进程页面:

1


6. Python控制台

在该功能下,你可以选择对单个进程使用控制台功能(Telnet形式),点击“连接到控制台”进入该进程控制台,在下方输入框输入命令,点击执行。

6.1 Python控制台的组件进程选择页面

1

6.2 控制台页面

1


7. Watcher

Watcher功能提供给开发者一个查看单个组件进程的所有状态信息(网络信息、响应速度等),并实时更新数据到进程Watcher页面。

7.1 Watcher组件进程选择页面

1

7.2 Watcher操作页面

1


8. SpaceViewer

在SpaceViewer中,你可以查看游戏当中所有Space中的entity的分布情况。

左边的space列表会随着space的产生而更新,右边实时显示该space的entity的运动情况和分布情况。

注:因暂时无法获取space地图的大小,所以该SpaceViewer的XY轴的值为所有entity中最大X值和最大Y值。

1


Copyright © 2018 Yolo Technologies. Publication: 2.0-025. Built: 2018-12-07.