使用API模式命令需要在客户端引入sentinel-transport-simple-http模块。
http://x.x.x.x:8719/api 备注:get all available command handlers
[{
"url": "/cnode",
"desc": "get clusterNode metrics by id, request param: id={resourceName}"
}, {
"url": "/origin",
"desc": "get origin clusterNode by id, request param: id={resourceName}"
}, {
"url": "/tree",
"desc": "get metrics in tree mode, use id to specify detailed tree root"
}, {
"url": "/version",
"desc": "get sentinel version"
}, {
"url": "/clusterNode",
"desc": "get all clusterNode VO, use type=notZero to ignore those nodes with totalRequest <=0"
}, {
"url": "/basicInfo",
"desc": "get sentinel config info"
}, {
"url": "/jsonTree",
"desc": "get tree node VO start from root node"
}, {
"url": "/getClusterMode",
"desc": "get cluster mode status"
}, {
"url": "/metric",
"desc": "get and aggregate metrics, accept param: startTime={startTime}&endTime={endTime}&maxLines={maxLines}&identify={resourceName}"
}, {
"url": "/setClusterMode",
"desc": "set cluster mode, accept param: mode={0|1} 0:client mode 1:server mode"
}, {
"url": "/systemStatus",
"desc": "get system status"
}, {
"url": "/getSwitch",
"desc": "get sentinel switch status"
}, {
"url": "/getRules",
"desc": "get all active rules by type, request param: type={ruleType}"
}, {
"url": "/api",
"desc": "get all available command handlers"
}, {
"url": "/setRules",
"desc": "modify the rules, accept param: type={ruleType}&data={ruleJson}"
}, {
"url": "/setSwitch",
"desc": "set sentinel switch, accept param: value={true|false}"
}, {
"url": "/clusterNodeById",
"desc": "get clusterNode VO by id, request param: id={resourceName}"
}]
http://x.x.x.x:8719/basicInfo 备注:get sentinel config info
{
"machine": "localhost",
"ip": "172.17.202.84"
}
http://x.x.x.x:8719/getRules?type={} 支持4种类型:flow、degrade、authority、system 备注:get all active rules by type, request param: type={ruleType}
http://x.x.x.x:8719/getRules?type=flow
[{
"clusterConfig": {
"fallbackToLocalWhenFail": true,
"sampleCount": 10,
"strategy": 0,
"thresholdType": 0,
"windowIntervalMs": 1000
},
"clusterMode": false,
"controlBehavior": 0,
"count": 2.0,
"grade": 1,
"limitApp": "default",
"maxQueueingTimeMs": 500,
"resource": "melonSentinel",
"strategy": 0,
"warmUpPeriodSec": 10
}]
http://x.x.x.x:8719/getRules?type=degrade
[{"count":1000.0,"grade":0,"limitApp":"default","passCount":0,"resource":"melonSentinel","timeWindow":10}]
http://x.x.x.x:8719/getRules?type=system
[{
"avgRt": -1,
"highestCpuUsage": 0.6,
"highestSystemLoad": -1.0,
"maxThread": -1,
"qps": -1.0
}]
授权规则(黑白名单) http://x.x.x.x:8719/getRules?type=authority
[{
"limitApp": "Test01",
"resource": "melonSentinel",
"strategy": 1
}]
http: //x.x.x.x:8719/clusterNodeById?id=melonSentinel 备注:get clusterNode VO by id, request param: id={resourceName}
{
"averageRt": 0,
"blockQps": 0,
"exceptionQps": 0,
"oneMinuteBlock": 0,
"oneMinuteException": 0,
"oneMinutePass": 0,
"oneMinuteTotal": 0,
"passQps": 0,
"resource": "melonSentinel",
"successQps": 0,
"threadNum": 0,
"timestamp": 1571042212251,
"totalQps": 0
}
http://x.x.x.x:8719/cnode?id=melonSentinel 备注:get clusterNode metrics by id, request param: id={resourceName}
idx id thread pass blocked success total aRt 1m-pass 1m-block 1m-all exception
2 melonSentinel 0 0.0 0.0 0.0 0.0 0.0 0 0 0 0.0
http://x.x.x.x:8719/jsonTree?type=root 备注:get tree node VO start from root node
[{"averageRt":0,"blockQps":0,"exceptionQps":0,"id":"6f6d19bc-412f-497f-aef2-dbbc72a7d997","oneMinuteBlock":0,"oneMinuteException":0,"oneMinutePass":0,"oneMinuteTotal":0,"passQps":0,"resource":"machine-root","successQps":0,"threadNum":0,"timestamp":1571034483436,"totalQps":0},{"averageRt":0,"blockQps":0,"exceptionQps":0,"id":"57f25e01-0568-4350-bbf0-6287dab39710","oneMinuteBlock":0,"oneMinuteException":0,"oneMinutePass":0,"oneMinuteTotal":0,"parentId":"6f6d19bc-412f-497f-aef2-dbbc72a7d997","passQps":0,"resource":"sentinel_default_context","successQps":0,"threadNum":0,"timestamp":1571034483436,"totalQps":0},{"averageRt":0,"blockQps":0,"exceptionQps":0,"id":"b697d5e7-c608-4018-9563-d872052516da","oneMinuteBlock":0,"oneMinuteException":0,"oneMinutePass":0,"oneMinuteTotal":0,"parentId":"57f25e01-0568-4350-bbf0-6287dab39710","passQps":0,"resource":"melonSentinel","successQps":0,"threadNum":0,"timestamp":1571034483436,"totalQps":0}]
http://x.x.x.x:8719/origin?id=melonSentinel 备注:get origin clusterNode by id, request param: id={resourceName}
id: melonSentinel
idx originthreadNum passQps blockQps totalQps aRt 1m-pass 1m-block 1m-total
http://x.x.x.x:8719/clusterNode 备注:get all clusterNode VO, use type=notZero to ignore those nodes with totalRequest <=0
[{
"averageRt": 0,
"blockQps": 0,
"exceptionQps": 0,
"oneMinuteBlock": 0,
"oneMinuteException": 0,
"oneMinutePass": 0,
"oneMinuteTotal": 0,
"passQps": 0,
"resource": "melonSentinel",
"successQps": 0,
"threadNum": 0,
"timestamp": 1571044165381,
"totalQps": 0
}]
http://x.x.x.x:8719/systemStatus 备注:get system status
{"b":0.0,"r":0.0,"t":0,"qps":0.0,"rqps":0.0}
http://x.x.x.x:8719/tree 备注:get metrics in tree mode, use id to specify detailed tree root
EntranceNode: machine-root(t:0 pq:0.0 bq:0.0 tq:0.0 rt:0.0 prq:0.0 1mp:0 1mb:0 1mt:0)
-EntranceNode: sentinel_default_context(t:0 pq:0.0 bq:0.0 tq:0.0 rt:0.0 prq:0.0 1mp:0 1mb:0 1mt:0)
--melonSentinel(t:0 pq:0.0 bq:0.0 tq:0.0 rt:0.0 prq:0.0 1mp:0 1mb:0 1mt:0)
t:threadNum pq:passQps bq:blockQps tq:totalQps rt:averageRt prq: passRequestQps 1mp:1m-pass 1mb:1m-block 1mt:1m-total
http://x.x.x.x:8719/tree?id=melonSentinel
t:threadNum pq:passQps bq:blockQps tq:totalQps rt:averageRt prq: passRequestQps 1mp:1m-pass 1mb:1m-block 1mt:1m-total
http://x.x.x.x:8719/getSwitch 备注:get sentinel switch status
Sentinel switch value: true
http://x.x.x.x:8719/setSwitch?value=false 备注:setSwitch set sentinel switch, accept param: value={true|false}
Sentinel set switch value: false
http://172.17.202.84:8719/metric?startTime=1571046028000&endTime=1571046034000&identify=melonSentinel 备注:get and aggregate metrics, accept param: startTime={startTime}&endTime={endTime}&maxLines={maxLines}&identify={resourceName}
1571046478000|__system_load__|20351|0|0|0|0|0|0|0
1571046478000|__cpu_usage__|936|0|0|0|0|0|0|0
http://x.x.x.x:8719/version 备注:get sentinel version
1.6.3
http://x.x.x.x:8719/setRules?type=authority&data=[{"limitApp":"Test01","resource":"melonSentinel","strategy":1},{"limitApp":"TestB02","resource":"melonSentinel","strategy":1},{"limitApp":"TestB03","resource":"melonSentinel","strategy":1}] 备注:modify the rules, accept param: type={ruleType}&data={ruleJson}
success
http://x.x.x.x:8719/getClusterMode 备注:get cluster mode status
{"mode":-1,"clientAvailable":false,"serverAvailable":false,"lastModified":-1}
http://x.x.x.x:8719/setClusterMode?mode=1 备注:set cluster mode, accept param: mode={0|1} 0:client mode 1:server mode
success