共享内存统计

功能描述

可以通过页面查看当前配置共享内存,worker占用的cpu和内存,以及upstream server状态等参数。

指令说明

Syntax shm_status on|off
Default 默认为on
Context main

说明:共享内存统计功能的开关,不默认为shm_status on。

Syntax shm_status_display
Default -
Context http->location

说明:共享内统计展示页面,配置在控制面ctrl.conf中。

配置说明

njet.conf

helper broker modules/njt_helper_broker_module.so conf/mqtt.conf;
helper ctrl modules/njt_helper_ctrl_module.so conf/ctrl.conf;

load_module modules/njt_agent_dynlog_module.so;
load_module modules/njt_http_dyn_server_module.so;  #server验证
load_module modules/njt_http_location_module.so;  #location验证

load_module modules/njt_http_dyn_proxy_pass_module.so; #动态proxy_pass模块
load_module  modules/njt_http_dyn_upstream_module.so;   #动态upstream模块

user  root;
worker_processes auto;

cluster_name helper;
node_name node1;

error_log  logs/error.log info;
pid        logs/njet.pid;
events {
    worker_connections  1024;
}

shared_slab_pool_size  100m;  #动态共享内存管理指令,配置大小要大于需要配置的upstream共享内存大小

shm_status  on; #默认为on,可以不配

http {
    dyn_kv_conf conf/iot-work.conf;
    include       mime.types;
    default_type  application/octet-stream;

    access_log  logs/access.log;

    upstream backend1 {
  
         zone backend1 1m;
       
         server 127.0.0.1:5678;
       
      }

        server {
                listen 5555;
                server_name localhost;
              
                location / { 
                        keepalive_timeout 750s;
                        return 200 "5555 ok";
                }
                 location /test {
                  proxy_http_version 1.1;
                  proxy_set_header Connection "";
                  proxy_pass http://backend1;
                }
                location /mirror {
                   internal;
                   set $upstream dyn_backend1;
                   proxy_pass http://$upstream;
                }
        }
      
        server {
      
               listen 5678;
             
               location / {   
                    
                    return 200 "5678 ok";
                }
      
      
        }

}

njet_ctrl.conf

load_module modules/njt_http_sendmsg_module.so;
load_module modules/njt_ctrl_config_api_module.so;
load_module modules/njt_http_upstream_api_module.so;  #upstream api模块
load_module modules/njt_http_location_api_module.so;
load_module modules/njt_doc_module.so;
load_module modules/njt_http_dyn_server_api_module.so;
load_module  modules/njt_http_dyn_upstream_module.so;  #动态upstream模块
load_module modules/njt_http_dyn_upstream_api_module.so;  #动态upstream模块
load_module modules/njt_http_shm_status_module.so;   #共享内存统计模块

events {
    worker_connections  1024;
}
error_log         logs/error_ctrl.log info;

http {
    dyn_sendmsg_conf  conf/iot-ctrl.conf;
    dyn_kv_conf       conf/ctrl_kv.conf;
    access_log        logs/access_ctrl.log combined;

    include           mime.types;

    server {
        listen       8081;
        keepalive_timeout 0;

        location /api {
             dyn_module_api;

        }
         location /doc {
             doc_api;
         }
       
         location /shm {
            shm_status_display;
        }

  }

}


cluster_name helper;
node_name node1;

配置样例

查看共享内存统计页面

img img

查看worker的CPU和内存使用情况

img img

查看upstream server的状态

img img

json格式共享内存,CPU内存,upstream状态等指标输出

img img

html格式共享内存,CPU内存,upstream状态等指标输出

img img

jsonp格式共享内存,CPU内存,upstream状态等指标输出

img img

prometheus格式共享内存,CPU内存,upstream状态等指标输出

img img