sts 静态配置
1.功能描述
该模块用于输出 NJET Stream Server 的指标信息,支持返回 json, html 及prometheus 格式。
2.依赖模块
njet_ctrl.conf
load_module modules/njt_stream_stsd_module.so;
3.指令说明
3.1 数据面配置指令
server_traffic_status_zone
- | - |
---|---|
语法 | server_traffic_status_zone [shared:name:size] |
默认值 | shared:stream_server_traffic_status:1m |
配置位置 | stream |
描述:
配置一个共享内存区域,该区域存储stream server的运行状态。
server_traffic_status
- | - |
---|---|
语法 | server_traffic_status <on|off> |
默认值 | off |
配置位置 | stream, server |
描述:
是否记录stream server 的指标, 如果配置了server_traffic_status_zone指令,将自动开启指标采集。
server_traffic_status_filter_by_set_key
- | - |
---|---|
语法 | server_traffic_status_filter_by_set_key key [name] |
默认值 | - |
配置位置 | stream, server |
描述:
对Stream统计的流量进行分组(name)及子分组(key), 可以使用变量,例如 $server_addr, $server_port等。参数name 不指定时,默认值是streamFilterZones。
3.2 控制面配置指令
stream_server_traffic_status_display
- | - |
---|---|
语法 | stream_server_traffic_status_display |
默认值 | - |
配置位置 | location |
描述:
该指令用于获取stream server 的指标信息,默认输出格式由指令stream_server_traffic_status_display进行设置。
stream_server_traffic_status_display_format
- | - |
---|---|
语法 | stream_server_traffic_status_display_format <json|html|prometheus> |
默认值 | json |
配置位置 | location |
描述:
该指令用于配置指标的默认返回格式。
4.配置样例
njet.conf
njt_stream_stsc_module 模块采用静态编译,不用单独加载。
worker_processes auto;
cluster_name njet;
node_name node1;
error_log logs/error.log info;
helper ctrl modules/njt_helper_ctrl_module.so conf/njet_ctrl.conf;
helper broker modules/njt_helper_broker_module.so;
events {
worker_connections 1024;
}
http {
include mime.types;
access_log on;
vhost_traffic_status_zone;
server {
listen 8080;
location / {
root html;
}
}
}
stream {
server_traffic_status_zone shared:aabbcc:2m;
upstream tcpa {
server 127.0.0.1:1234;
}
upstream udpa {
server 127.0.0.1:1236 fail_timeout=6s weight=5 max_fails=10;
}
server {
listen 1234;
listen 1237;
server_traffic_status on;
return "aa\n";
}
server {
listen 1235;
server_traffic_status off;
server_traffic_status_filter_by_set_key * $server_addr;
server_traffic_status_filter_by_set_key "*" "2 $server_addr";
proxy_pass tcpa;
}
server {
listen 1236 udp;
server_traffic_status_filter_by_set_key * $server_addr::;
server_traffic_status on;
return "1236\n";
}
server {
listen 1238 udp;
server_traffic_status_filter_by_set_key * $server_addr::;
server_traffic_status off;
proxy_pass 192.168.40.158:1111;
}
}
njet_ctrl.conf
需要加载动态模块njt_stream_stsd_module.so
load_module modules/njt_http_sendmsg_module.so;
load_module modules/njt_ctrl_config_api_module.so;
load_module modules/njt_helper_health_check_module.so;
load_module modules/njt_http_upstream_api_module.so;
load_module modules/njt_http_location_api_module.so;
load_module modules/njt_doc_module.so;
load_module modules/njt_http_vtsd_module.so;
load_module modules/njt_stream_stsd_module.so;
error_log logs/error_ctrl.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
access_log off;
server {
listen 8081;
location /api {
dyn_module_api;
}
location /doc {
doc_api;
}
location /metrics {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
location /stream_metrics {
stream_server_traffic_status_display;
#stream_server_traffic_status_display_format html;
stream_server_traffic_status_display_format json;
}
}
}
~
在浏览器上通过访问该网址: http://192.168.40.158:8081/stream_metrics