1 Star 0 Fork 0

TarsCloud / TarsDocs_en

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
tars-monitor.md 3.40 KB
一键复制 编辑 原始数据 按行查看 历史
ruanshudong 提交于 2020-03-03 21:26 . fix dir

tars-monitor documentation

Introduction

tars-monitor is the phptars service and feature monitoring report module

It consists of two sub-modules:

  • Service monitoring
  • Feature monitoring

Instructions

Installation

Install with composer composer install phptars/tars-monitor

Usage

Service monitoring report

  • locator is the reporting address, usually issued by the server
  • socketMode is set to 1 to report using socket mode socketMode is set to 2 to report using swoole tcp client (requires swoole support) socketMode is set to 3 to report using swoole tcp coroutine client coroutine method (requires support of swoole2.0 or above)

Timely reporting (default)

The use of regular reporting requires swoole_table support. By calling addStat to temporarily store the reporting information, the task process of the tars-server will collect for a period of time (the reporting interval is issued by the server, generally 60s).

$locator = "tars.tarsregistry.QueryObj@tcp -h 172.16.0.161 -p 17890";
$socketMode = 1;
$statfWrapper = new \Tars\monitor\StatFWrapper($locator, $socketMode);
$statfWrapper->addStat ("PHPTest.helloTars.obj", "test", "172.16.0.116", 51003,200,0,0);
$statfWrapper->addStat ("PHPTest.helloTars.obj", "test", "172.16.0.116", 51003,200,0,0);
$statfWrapper->addStat ("PHPTest.helloTars.obj", "test", "172.16.0.116", 51003,200,0,0);

Reported data can use multiple storage methods. The cache provides the implementation of swoole_table and redis. Users can also implement contract/StoreCacheInterface by themselves. For the configuration storage method, please refer to examples tars-http-server configuration for src / services.php.

return array (
    'namespaceName' => 'HttpServer \\',
    'monitorStoreConf' => [
        'className' => Tars \ monitor \ cache \ SwooleTableStoreCache :: class,
        'config' => []
    ]
);

monitorStoreConf is the configuration of the storage method, className is the implementation class, and config is the corresponding configuration. For example, when using the redis storage method, you need to configure the redis host, port, and key prefix in the config. When monitorStoreConf is not configured, SwooleTableStoreCache is used for storage by default.

Single report

At the same time, tars-monitor also provides a single report interface monitorStat, that is, each tars request call will be reported once.

$locator = "tars.tarsregistry.QueryObj@tcp -h 172.16.0.161 -p 17890";
$socketMode = 1;
$statfWrapper  = new \Tars\monitor\StatFWrapper($locator,$socketMode);  
$statfWrapper->monitorStat("PHPTest.helloTars.obj","test","172.16.0.116",51003,200,0,0);

Feature monitoring

Parameters are similar to service monitoring

$statfWrapper  = new \Tars\monitor\PropertyFWrapper("tars.tarsregistry.QueryObj@tcp -h 172.16.0.161 -p 17890",1);  
$statfWrapper->monitorProperty("127.0.0.1","userdefined",'Sum',2);  
$statfWrapper->monitorProperty("127.0.0.1","userdefined",'Count',2);  
$statfWrapper->monitorProperty("127.0.0.1","userdefined",'Count',1);

Monitor View

After the data is reported, the user can view the reported data in the Service Monitoring / Feature Monitoring tab.

Other

Because other modules have integrated this module, __so in general, the service script does not need to use this module explicitly. __

1
https://gitee.com/TarsCloud/TarsDocs_en.git
git@gitee.com:TarsCloud/TarsDocs_en.git
TarsCloud
TarsDocs_en
TarsDocs_en
master

搜索帮助