文档
插件
alinode

alinode

介绍

产品概述

Node.js 性能平台(Node.js Performance Platform)是面向所有 Node.js 应用提供 性能监控、安全提醒、故障排查、性能优化 等服务的整体性解决方案,尤其适用于中大型 Node.js 应用。

Node.js 性能平台凭借对 Node.js 内核深入的理解,提供完善的工具链和服务,协助客户主动、快速发现和定位线上问题。

应用场景

Node.js 提供的精确到虚拟机级别的深度监控,能够如实的反应应用运行状态,通过配置报警规则,用户可以在发现系统出现故障(内存泄露或者 CPU 热点等)趋势时,通过诊断接口迅速定位故障点。

Node.js 性能平台特别适合业务发展迅速、应用发布频繁、流量上升明显的 Node.js 应用。

插件使用

  1. Docker 容器下使用 alinode 镜像

要使用 alnode 的前提是要使用它提供的 node.js 版本,此处这里提供了 alinode@v12,v14,v16 的基础镜像

💡

此插件需要配合 alnode 才能生效,使用官方node是不生效的!

  • alinode 镜像列表
# v16
FROM wangweianger/alinode:16.15.0
 
# v14
FROM wangweianger/alinode:14.19.2
 
# v12
FROM wangweianger/alinode:12.22.12
  1. 安装依赖
yarn add @yunflyjs/yunfly-plugin-alinode
  1. config/config.plugin.ts 文件中申明插件
/**
 * yunfly plugin
 */
const plugins: {[key:string]: string}[] = [
  {
    name: 'alinode',
    package: '@yunflyjs/yunfly-plugin-alinode',
    lifeHook: 'beforeStart'
  }
];
// 
export default plugins;
  1. config/config.default.ts 文件中开启插件
config.alinode = {
  enable: true,
  appid: 'xxxxx',
  secret: 'xxxxxx',
}
💡

此处的 appidsecret 需要去 alinode 平台申请, 申请地址:https://www.aliyun.com/product/nodejs (opens in a new tab)

Api

插件提供两个api

killAgenthub

关闭已存在的 agenthub 进程,停止数据收集

import { killAgenthub } from '@yunflyjs/yunfly-plugin-alinode';
 
// 关闭数据收集
killAgenthub();

startAgenthub

开启 agenthub 进程, 开始收集数据。

import { startAgenthub } from '@yunflyjs/yunfly-plugin-alinode';
 
// 开始数据收集
startAgenthub();

alinode Docker

  • 提供了 alinode 镜像列表
# v16
FROM wangweianger/alinode:16.15.0
 
# v14
FROM wangweianger/alinode:14.19.2
 
# v12
FROM wangweianger/alinode:12.22.12
  • 自己打镜像,镜像代码案例
FROM python:3.6
 
# 安装alinode@16.15.0
ENV ALINODE_VERSION=7.6.0 \ 
    ARCH=x64 \
    ENABLE_NODE_LOG=YES \
    NODE_LOG_DIR=/tmp \
    HOME=/root \
    TZ=Asia/Shanghai
 
RUN curl -fsSLO --compressed "https://npm.taobao.org/mirrors/alinode/v$ALINODE_VERSION/alinode-v$ALINODE_VERSION-linux-$ARCH.tar.gz" \
    && curl -fsSLO --compressed "https://npm.taobao.org/mirrors/alinode/v$ALINODE_VERSION/SHASUMS256.txt" \
    && grep " alinode-v$ALINODE_VERSION-linux-$ARCH.tar.gz\$" SHASUMS256.txt | sha256sum -c - \
    && tar -zxf "alinode-v$ALINODE_VERSION-linux-$ARCH.tar.gz" -C /usr/local --strip-components=1 --no-same-owner \
    && rm "alinode-v$ALINODE_VERSION-linux-$ARCH.tar.gz" SHASUMS256.txt \
    && ln -s /usr/local/bin/node /usr/local/bin/nodejs \
    && ENABLE_NODE_LOG=NO npm install -g @alicloud/agenthub --registry https://registry.npmmirror.com
 
RUN npm config set registry https://registry.npmmirror.com \
    && npm install -g yarn

以上是 alinode Docker 案例,只需要更改 ALINODE_VERSION 的版本号即可,具体版本号请参考:Node.js性能平台运行时版本和官方对应列表 (opens in a new tab)

alinode 能做什么