定制 alan/yii2-metrics 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

alan/yii2-metrics

最新稳定版本:v1.0.3

Composer 安装命令:

composer require alan/yii2-metrics

包简介

yii2 framework metrics

README 文档

README

接入步骤:

  1. 定义常量 YII_APP_NAME,该常量用于底层区分应用,由于我们经常使用yii2的高级框架,我建议定义在common配置文件下面common/config/main.php
defined('YII_APP_NAME') or define('YII_APP_NAME', 'myYiiApplication');
  1. 在主配置文件里面定义行为 建设配置在common/config/main.php
<?php
    return [
    'as metrics' => [
        'class' => yii2\metrics\filters\MetricsFilter::class,
        'appName' => YII_APP_NAME,
    ],
    'components' => [
        // 其它组件的配置
    ],
];
  1. 添加支持/metrics路由
<?php
namespace backend\controllers;

use yii\rest\Controller;
use yii2\metrics\MetricsTrait;

class MetricsController extends Controller {
	use MetricsTrait;
  public function behaviors(): array
  {
      $behaviors = parent::behaviors();
      $this->fillIpControllerBehavior($behaviors, ['127.0.0.1']);//允许访问访路由的ip白名单
      return $behaviors;
     }
}
  1. 上报rabbitmq任务数数据
use yii\console\Controller;
use yii2\metrics\MetricsTrait;

class  CrontabController extends Controller {
      /**
     * 上报rabbitMq任务剩余情况到prometheus
     */
    public function actionRabbitMqMetrics()
    {
        //此该填写了backend模块的id
        $factory = new \yii2\metrics\rabbitMq\Factory(YII_APP_NAME, 'app-backend');
        try {
            foreach ($factory->getIterator() as $task) {
                \yii2\crontab\base\Crontab::instance()->withTargetData($task)->withHandler($task)->run();
            }
        }catch (\Exception $exception) {
            echo sprintf("actionCheckQueues has exception msg:%s, at file:%s, at line: %d, trace: %s\n",
                $exception->getMessage(), $exception->getFile(), $exception->getLine(), '');
        }
    }

}
  1. 添加计划任务
# 商户上报mq任务数量
* * * * * php yii crontab/rabbit-mq-metrics

统计信息

  • 总下载量: 33
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2021-12-08