Commit Graph

629 Commits

Author SHA1 Message Date
cdfive 856ff312e9 dashboard: add support for managing gateway flow rules (#699) 2019-07-10 09:37:00 +08:00
cdfive eda7fdc5c8 Add parse method for parse ApiPredicateItem from json string in UpdateGatewayApiDefinitionGroupCommandHandler 2019-07-10 09:37:00 +08:00
cdfive 817a41d996 doc: add a blog link about building front-end development environment of dashboard in awesome-sentinel.md 2019-07-10 09:37:00 +08:00
Eric Zhao 90662a423b Code refinement for Sentinel config classes
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-07-08 23:06:07 +08:00
Lin.Liang ff33de199a Support arbitrary configuration properties file path for Sentinel (#804)
- Support customized log and configuration properties directory
2019-07-08 19:06:54 +08:00
yidadi c14e3296cb Refine the methods and variable name in SlotChainProvider (#871) 2019-06-27 16:50:43 +08:00
Lin.Liang ba146765e3 Reuse connections of the same address in ZooKeeper data-source (#788)
* Fix the problem that too many connections (zkClient) are established
2019-06-27 13:39:56 +08:00
Braavos dca4440d40 Add unit tests for com.alibaba.csp.sentinel.eagleeye.EagleEyeCoreUtils (#854) 2019-06-24 09:28:08 +08:00
Eric Zhao 66b9198fc3 dashboard: update dependencies in package.json to fix vulnerabilities
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-19 10:34:22 +08:00
Eric Zhao 58a83b42aa Update ZooKeeper client in data-source module to 3.4.14 to fix vulnerability
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-19 10:09:20 +08:00
cdfive 8661d9abc1 Add support for logging into console for common logs (#836)
* Add a ConsoleHandler to support logging into stdout and stderr.
* Add a `csp.sentinel.log.output.type` property to configure for output type of record logs (only a temporary design)
* Add millisecond to the format of CspFormatter
2019-06-19 09:46:13 +08:00
Eric Zhao 7997cf65fc
Fix the numeric overflow bug of ping response data in the cluster module (#844)
- Change type of cluster ping data response from byte to int. This change is compatible with old versions

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-18 15:11:05 +08:00
Eric Zhao 56e463e1fe
Add support for request item pattern matching in API gateway flow control (#842)
- Update the `GatewayParamParser` to support matching the request item.
- Update the internal logic of converting gateway rules to parameter flow rules. The unified mismatched parameters (`SentinelGatewayConstants.GATEWAY_NOT_MATCH_PARAM`) will be configured as an exception item with a large threshold (indicating always pass).
- Add a `GatewayRegexCache` to cache the compiled regex for performance.
- Constant rename: separate URL matching strategy from parameter matching strategy

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-18 14:08:54 +08:00
Eric Zhao d59beaec66
Fix the bug that numeric overflow might occur when refilling tokens in ParamFlowChecker (#838)
- use AtomicLong to replace AtomicInteger

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-18 13:39:37 +08:00
Eric Zhao eb7508ca80 Improve the edit dialog for FlowRule and ParamFlowRule in Sentinel dashboard (#845)
* dashboard: update edit dialog for FlowRule and ParamFlowRule
- Add duration configuration support for ParamFlowRule
- Some other enhancements

* Code polish: move implementation of toRule() to AbstractRuleEntity

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-18 00:18:07 +08:00
Eric Zhao 00f116e344 Refine the DegradeRule and add validating logic for the two new attributes
- improvement of #789

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-17 20:38:02 +08:00
Jason Joo 254ccbbdc5 doc: Update README.md with the new metric log writing format (#840) 2019-06-17 10:16:48 +08:00
Eric Zhao 08676c4f6e
Support parsing cookie as request items in gateway flow control (#814)
- Add `getCookieValue` method in RequestItemParser interface and update GatewayParamParser
- Add cookie parsing logic for Spring Cloud Gateway and Zuul

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-14 17:48:03 +08:00
Lin.Liang 2eecd3ac6a Make the value of RT_MAX_EXCEED_N in DegradeRule configurable (#789)
- Add two attributes in DegradeRule: rtSlowRequestAmount and minRequestAmount
2019-06-14 17:42:03 +08:00
Lin.Liang e6e27c6faa Make maxParamByteSize configurable in ParamFlowRequestDataWriter of cluster client module and fix bugs (#823) 2019-06-13 22:38:26 +08:00
Eric Zhao 0f6cadbc93 doc: remove vivo logo in README.md
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-13 15:51:58 +08:00
Luan Louis f762ba2042 doc: add the blog link to awesome-sentinel.md about handling RESTful API resources (#825)
blog by @LuanLouis
2019-06-12 14:32:25 +08:00
cdfive e810ab849e Fix multiple slash command name issue in sentinel-transport-netty-http module (#817) 2019-06-12 09:36:25 +08:00
Jobs Wang e3b9f99f9d doc: add the link of sentinel-pigeon-adapter repo to awesome-sentinel.md (#781) 2019-06-11 17:02:36 +08:00
Eric Zhao 281d3420ca dashboard: code refinement for version and auth API
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-06-11 15:55:11 +08:00
HiSEN 72276a3951 dashboard: Add HTTP API to get the version the of the dashboard (#800) 2019-06-11 15:41:07 +08:00
liming 062385f306 doc: update awesome-sentinel.md (#815) 2019-06-10 09:50:52 +08:00
kexianjun 0176f0ead3 Use calculateTimeIdx to calculate array idx in LeapArray#getPreviousWindow (#723)
* also some code cleanup
2019-06-06 06:02:44 +08:00
Lin.Liang ee38587a6e Remove redundant operation when adding child node in NodeSelectorSlot (#794) 2019-06-04 18:02:43 +08:00
Lin.Liang 3a9e2629b7 Replace AtomicInteger with LongAdder for curThreadNum of StatisticNode (#747) 2019-06-04 17:51:36 +08:00
TomlongTK 9583e18706 doc: add a dashboard multiple data-source adapter demo to Awesome Sentinel (#806)
by @finefuture
2019-06-03 12:53:59 +08:00
Eric Zhao 4182c013c8 dashboard: Filter internal virtual resources in MetricFetcher
- also fix pom.xml to suppress warnings

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-25 15:09:10 +08:00
Eric Zhao f8ebbbccf4 Bump version to 1.7.0-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-25 15:07:19 +08:00
Eric Zhao 3d2c33ef1d Bump version to 1.6.1 (release)
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-23 09:49:15 +08:00
Carpenter Lee f3e705c5f3 Add exceptionsToTrace and exceptionsToIgnore support in Tracer (#766)
Signed-off-by: Carpenter Lee <hooleeucas@163.com>
2019-05-22 10:06:03 +08:00
Eric Zhao 8d0bb691b3 Fix the bug for parsing with only non-param gateway rules
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-22 09:47:41 +08:00
Eric Zhao ae0b8a5c74 Refactor API gateway common module to separate converted rules from other rule managers
- Separate converted parameter rules from ParamFlowManager. Now the converted rules will be kept in GatewayRuleManager directly.
- Add a GatewayFlowSlot to do separate flow checking for generated rules.
- Refactor rule converting mechanism: now gateway rules in normal mode (without parameter) will also be converted to a parameter flow rule. The index will be the last (the last position). In GatewayParamParser we put a constant value to the last position.

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-22 09:47:41 +08:00
Eric Zhao 77dec5f845 Separate parameter metric storage from ParamFlowSlot and improve ParamFlowRuleUtil
- Add a ParameterMetricStorage specific for caching ParameterMetric (moved from ParamSlot)
- Add rule map building helper method in ParamFlowRuleUtil so that we can reuse it in other rule managers

Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-22 09:47:41 +08:00
Eric Zhao 54da16d304 Refactor FlowRuleChecker to improve code reuse
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-22 09:47:41 +08:00
yikangfeng 4ec0462e31 Add getCpuUsageThreshold() method in SystemRuleManager (#770) 2019-05-21 16:00:46 +08:00
threedr3am 83ab401ab4 dashboard: fix wrong bean name of FlowRuleZookeeperProvider sample (#765) 2019-05-16 13:34:35 +08:00
Eric Zhao 0508c92665
Fix the bug that parameters are not carried when exiting entries in SentinelReactorSubscriber 2019-05-10 14:47:18 +08:00
Carpenter Lee 18d8b4c8a7
Add CPU usage and system load to metric (#749)
Signed-off-by: Carpenter Lee <hooleeucas@163.com>
2019-05-10 14:20:00 +08:00
尹吉欢 274ecb51c3 Fix the bug that Chinese characters are malformed in response body of ZuulBlockFallbackProvider (#737) 2019-05-09 10:07:27 +08:00
Eric Zhao 6e4560845c Update SENTINEL_VERSION constant to 1.6.1
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-05-06 13:46:03 +08:00
Carpenter Lee a2683383d1
[Feature]Add an extension to Sentinel internal statistics (#730)
Add Sentinel MetricExtension, which provides extension to Sentinel internal statistics.
This extension provides callbacks when a request passes rule checking, 
blocked by flow control, successfully end or exception occurred. 
Accompanied by these events, response time and current thread number 
will be recorded too.

Signed-off-by: Carpenter Lee <hooleeucas@163.com>
2019-05-06 10:55:42 +08:00
haofangyuan 55838d9fb0 dashboard: Fix empty rule pushing bug of FlowRuleZookeeperPublisher sample (#732) 2019-05-05 15:08:07 +08:00
kexianjun 1d1878c1dd dashboard: Add ZooKeeper flow rule dynamic publisher sample (#714) 2019-04-29 13:48:29 +08:00
Jason Joo ecf4822ae1 Make SentinelConfig.loadProps() thread-safe using CopyOnWriteArraySet (#706) 2019-04-25 20:00:44 +08:00
Eric Zhao 346e9b274e Bump version to 1.6.1-SNAPSHOT
Signed-off-by: Eric Zhao <sczyh16@gmail.com>
2019-04-25 09:38:59 +08:00