Orleans[NET Core 3.1] 学习笔记(四)( 3 )监控Orleans Silo的方式 OrleansDashboard
简介
orleans用起来的确很爽,更爽的是咱们有能监控它的工具。
orleansdashboard 这个工具是一个可视化的silo监控工具,silo和grain的活跃状态一目了然,各个接口的响应速度也可以很清晰的统计到。
安装
使用nuget引用 orleansdashboard
然后修改 silohostbuilder
的配置,添加dashboard:
new silohostbuilder() .usedashboard(options => { }) .build();
启动silo,然后在浏览器中打开以下url:http://localhost:8080
请注意,dashboard会注册其服务和grain, configureapplicationparts
从而禁用在orleans自动发现grain的功能。要自动发现原始项目的grain,请将配置更改为:
new silohostbuilder() .configureapplicationparts(parts => parts.addfromapplicationbasedirectory()) .usedashboard(options => { }) .build();
配置dashboard
dashboard支持以下配置属性:
-
username
:设置用于访问dashboard的用户名(基本身份验证)。 -
password
:设置用于访问dashboard的密码(基本身份验证)。 -
host
:将web服务器绑定到的主机名(默认为*)。 -
port
:设置dashboard可视化页面访问的端口(默认为8080)。 -
hostself
:将dashboard设置为托管自己的http服务器(默认为true)。 -
counterupdateintervalms
:采样计数器之间的更新间隔(以毫秒为单位)(默认为1000)。
new silohostbuilder() .usedashboard(options => { options.username = "username"; options.password = "password"; options.host = "*"; options.port = 8080; options.hostself = true; options.counterupdateintervalms = 1000; }) .build();
我还注意到官网上有这么一句话,如果遇到性能上的坑,可以尝试一下:
在使用仪表板时如果注意到性能下降。建议您尝试增大counterupdateintervalms到10000
使用dashboard
咱们还是使用 上一节 的例子
修改 silo_consoleapp
项目,使用nuget引用 orleansdashboard (3.0.8)
然后修改 program
中 silohostbuilder
的配置,添加dashboard:
[...] .usedashboard(options => { options.username = "admin"; options.password = "123"; options.host = "*"; options.port = 8080; options.hostself = true; options.counterupdateintervalms = 1000; })//注册dashboard,具体信息见:https://github.com/orleanscontrib/orleansdashboard [...]
启动 silo_consoleapp
,然后我们打开 http://localhost:8080
,输入咱们配置的账号密码后可以看到如下界面:
咱们再按照相同的步骤让张三李四王二麻去教室报名,再回头看看dashboard
silo启动了一个:
grain激活的情况:
student
被激活和调用的情况:
舒坦,妈妈再也不用担心我搞不清orleans的运行情况啦
dashboard监控silo寄宿主机的cpu和内存指标
dashboard给我们提供了监控silo寄宿主机的cpu和内存指标功能,但是需要另外配置
监控windows
监控windows需要引用包 microsoft.orleans.orleanstelemetryconsumers.counters
然后修改 silohostbuilder
的配置,添加dashboard:
new silohostbuilder() .usedashboard(options => { }) .useperfcounterenvironmentstatistics()//添加主机cpu和内存监控 .build();
修改并启动 silo_consoleapp
项目:
这里我遇到一个问题,只能看到cpu,看不到内存,一直也没找到相关的文档和解决方案,百思不得其解,如果有幸有大佬看到这篇文章,还请指点迷津
监控linux
监控linux需要添加库 microsoft.orleans.orleanstelemetryconsumers.linux
然后使用:
new silohostbuilder() .usedashboard(options => { }) .uselinuxenvironmentstatistics() .build();
关于linux的,我还没测试,等以后有空了再来补上
dashboard api
dashboard提供了一些可以调用的http api,感兴趣的可以去 orleansdashboard 看看
本文代码范例
便捷路由
目录 : orleans[net core 3.1] 学习笔记(一).net环境下的分布式应用程序
上一节 : orleans[net core 3.1] 学习笔记(四)( 2 )获取grain的方式
下一节 :
上一篇: 茴香怎么食用?几种制作方法你值得拥有