swiv
源码地址:swiv
安装: npm i -g yahoo-swiv
启动 : swiv --druid druid_broker:8082
生成配置文件:swiv --druid druid_broker:8082 --print-config --with-comments > pivot.yaml
修改配置文件:
$main.sum($value_sum)
无法识别value_sum
聚合值
# 启动端口
port: 9090
# 集群
clusters:
# 配合 druid broker 地址
- name: druid
type: druid
host: druid_broker:8082
# 设置默认超时
timeout: 60000
# 自动将source扫描成datacube
sourceListScan: auto
sourceListRefreshInterval: 15000
dataCubes:
# 加载数据源
- name: hbase-metrics-1
title: hbase-metrics
clusterName: druid
# 对应底层数据源
source: hbase-metrics-1
refreshRule:
rule: query
# 默认时区
defaultTimezone: Etc/UTC
# 默认查询周期
defaultDuration: P1H
# 默认指标
defaultSortMeasure: sum
introspection: autofill-all
# 维度
dimensions:
- name: __time
title: Time
kind: time
formula: $__time
- name: cluster_name
title: Cluster Name
formula: $cluster_name
- name: level
title: Level
formula: $level
- name: host_name
title: Host Name
formula: $host_name
- name: server_name
title: Server Name
formula: $server_name
- name: namespace
title: Namespace
formula: $namespace
- name: table_schema
title: Table Schema
formula: $table_schema
- name: table_name
title: Table Name
formula: $table_name
- name: region_name
title: Region Name
formula: $region_name
- name: metric_type
title: Metric Type
formula: $metric_type
- name: metric_name
title: Metric Name
formula: $metric_name
measures:
- name: count
title: Count
formula: $main.sum($count)
- name: sum
title: Sum
formula: $main.sum($value_sum)
turnilo
源码地址:turnilo
安装:npm install -g turnilo
启动: turnilo --druid druid_broker:8082
生成配置文件:turnilo --druid druid_broker:8082 --print-config --with-comments > pivot.yaml
修改配置文件:
customization:
timezones:
- Asia/Hong_Kong
- Etc/UTC
clusters:
- name: druid
url: http://druid_broker:8082
sourceListScan: auto
sourceListRefreshOnLoad: false
sourceListRefreshInterval: 0
sourceReintrospectOnLoad: false
sourceReintrospectInterval: 0
dataCubes:
- name: hbase-metrics
title: hbase-metrics
clusterName: druid
source: hbase-metrics
timeAttribute: __time
refreshRule:
rule: query
defaultTimezone: Asia/Hong_Kong
defaultDuration: PT1H
defaultSortMeasure: value_sum
defaultSelectedMeasures: ['value_sum']
introspection: autofill-all
attributeOverrides:
dimensions:
- name: time
title: Time
kind: time
formula: $__time
- name: cluster_name
title: Cluster Name
formula: $cluster_name
- name: level
title: Level
formula: $level
- name: host_name
title: Host Name
formula: $host_name
- name: server_name
title: Server Name
formula: $server_name
- name: namespace
title: Namespace
formula: $namespace
- name: table_schema
title: Table Schema
formula: $table_schema
- name: table_name
title: Table Name
formula: $table_name
- name: region_name
title: Region Name
formula: $region_name
- name: metric_type
title: Metric Type
formula: $metric_type
- name: metric_name
title: Metric Name
formula: $metric_name
measures:
- name: value_sum
title: Value Sum
formula: $main.sum($value_sum)
format: 0,0.0 a
- name: count
title: Count
formula: $main.sum($count)
format: 0,0.0 a
发布
操作步骤:
- 目标服务器上安装
node
,选择版本v16.14.0
- 配置环境变量
export NODE_HOME=/home/xxx/software/nodejs
PATH=$PATH:$NODE_HOME/bin
- 将本地下载好的软件打包(来自
npm install ...
)${NODE_HOME}\node_modules\npm\node_modules\turnilo
cd ~/software;ln -snf turnilo-1.33.1/ turnilo
后台启动:
cd ~/software/turnilo
# 编辑好配置文件后启动
nohup bin/turnilo -c pivot.yaml 2>&1 > ~/logs/turnilo.log &
# 或者采用node启动
nohup npm run start -- -c pivot.yaml 2>&1 > ~/logs/turnilo.log &
其他
全局npm
安装组件后会在${NODE_HOME}\node_modules\npm
下面生成命令文件,而${NODE_HOME}\node_modules\npm
会在安装node
后自动或者手动加入到环境变量PATH
中。
比如: turnilo
#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac
if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/node_modules/turnilo/bin/turnilo" "$@"
ret=$?
else
node "$basedir/node_modules/turnilo/bin/turnilo" "$@"
ret=$?
fi
exit $ret
或者:turnilo.cmd
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\node_modules\turnilo\bin\turnilo" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\node_modules\turnilo\bin\turnilo" %*
)
所以全局安装后可以直接调用turnilo
命令。