[Orleans[NET Core 3.1] 学习笔记(四)( 2 )监控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)

然后修改 ProgramSiloHostBuilder 的配置,添加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激活的情况:

Studen 被激活和调用的情况:

舒坦,妈妈再也不用担心我搞不清Orleans的运行情况啦

Dashboard API

Dashboard提供了一些可以调用的HTTP API,感兴趣的可以去 OrleansDashboard 看看

猜你喜欢

转载自www.cnblogs.com/amber-L/p/12205865.html