AWS ElastiCache Serverless¶
Use the script market "Guance cloud synchronization" series of script packages to synchronize cloud monitoring and cloud asset data to Guance.
Configuration¶
Install Func¶
It is recommended to enable Guance integration - extension - hosted Func: all prerequisites are automatically installed, please continue with the script installation.
If you deploy Func by yourself, refer to Self-deploy Func
Install Script¶
Note: Please prepare an Amazon AK that meets the requirements in advance (for simplicity, you can directly grant global read-only permission
ReadOnlyAccess
)
Hosted Version Activation Script¶
- Log in to Guance console
- Click on the 【Integration】 menu, select 【Cloud Account Management】
- Click 【Add Cloud Account】, select 【AWS】, fill in the required information on the interface; if you have already configured the cloud account information before, skip this step
- Click 【Test】, after a successful test, click 【Save】; if the test fails, check whether the related configuration information is correct and retest
- In the 【Cloud Account Management】 list, you can see the added cloud account, click on the corresponding cloud account, go to the detail page
- Click the 【Integration】 button on the cloud account detail page, find
AWS ElastiCache Serverless
under theNot Installed
list, click the 【Install】 button, and install it via the installation interface.
Manual Activation Script¶
-
Log in to the Func console, click 【Script Market】, enter the official script market, search for
guance_aws_elasticache_serverless
-
After clicking 【Install】, input the corresponding parameters: AWS AK ID, AK Secret, and account name.
-
Click 【Deploy Start Script】, the system will automatically create a
Startup
script set and automatically configure the corresponding start script. -
After enabling, you can see the corresponding automatic trigger configuration in the 「Manage / Automatic Trigger Configuration」. Click 【Execute】, and it will execute immediately without waiting for the scheduled time. After a while, you can view the execution task records and corresponding logs.
We default to collecting some configurations, see the Metrics section for details.
Verification¶
- In 「Manage / Automatic Trigger Configuration」 confirm whether the corresponding task has the corresponding automatic trigger configuration, and at the same time, you can check the corresponding task records and logs to check for any abnormalities.
- In Guance, 「Infrastructure / Custom」 check if there is any asset information.
- In Guance, 「Metrics」 check if there is any corresponding monitoring data.
Metrics¶
After configuring Amazon-Cloud Monitoring, the default metric set is as follows, you can collect more metrics through configuration Amazon Cloud Monitoring Metric Details
Serverless Cache Metrics¶
Metric | Description | Unit |
---|---|---|
BytesUsedForCache | Total number of bytes used to store data in the cache. | Bytes |
ElastiCacheProcessingUnits | Total number of lastiCacheProcessingUnits (ECPU ) consumed executing requests on the cache. |
Count |
SuccessfulReadRequestLatency | Latency of successful read requests. | Microseconds |
SuccessfulWriteRequestLatency | Latency of successful write requests. | Microseconds |
TotalCmdsCount |
Total number of all commands executed in the cache. | Count |
CacheHitRate |
Represents the cache hit rate. It is calculated using cache_hits and cache_misses statistics as follows: cache_hits/(cache_hits + cache_misses). | Percentage |
CacheHits |
Number of successful read-only key lookups in the cache. | Count |
CurrConnections |
Number of client connections to the cache. | Count |
ThrottledCmds |
Number of requests throttled by ElastiCache because the workload expanded faster than ElastiCache could expand. | Count |
NewConnections | Total number of connections accepted by the server during this period. | Count |
CurrItems |
Number of items in the cache. | Count |
CurrVolatileItems |
Number of items in the cache with TTL. | Count |
NetworkBytesIn | Total number of bytes transmitted to the cache. | Bytes |
NetworkBytesOut | Total number of bytes transmitted out from the cache. | Bytes |
IamAuthenticationExpirations | Total number of IAM-authenticated Redis connections that have expired. You can find more information about authenticating using IAM in the user guide. | Count |
IamAuthenticationThrottling | Total number of throttled IAM-authenticated Redis AUTH or HELLO requests. You can find more information about authenticating using IAM in the user guide. | Count |
KeyAuthorizationFailures | Number of failed attempts by users accessing keys they do not have permission to access. We recommend setting up alerts for this to detect unauthorized access attempts. | Count |
AuthenticationFailures | Total number of failed attempts to authenticate with Redis using the AUTH command. We recommend setting up alerts for this to detect unauthorized access attempts. | Count |
CommandAuthorizationFailures | Number of failed attempts by users running commands they do not have permission to call. We recommend setting up alerts for this to detect unauthorized access attempts. | Count |
Objects¶
The collected AWS ElastiCache Serverless object data structure from Amazon can be viewed in 「Infrastructure - Custom」
{
"category": "custom_object",
"fields": {
"CreateTime": "2024-04-10T02:45:41.921000Z",
"DailySnapshotTime": "00:00",
"Description": " ",
"Endpoint": "{\"Address\": \"test-es-serverless-xxxx.serverless.cnw1.cache.amazonaws.com.cn\", \"Port\": 6379}",
"ReaderEndpoint": "{\"Address\": \"test-es-serverless-xxxx.serverless.cnw1.cache.amazonaws.com.cn\", \"Port\": 6380}",
"SecurityGroupIds": "[\"sg-099fc30041cxxxx\"]",
"SubnetIds": "",
"message": {}
},
"measurement": "aws_elasticache",
"tags": {
"ARN": "arn:aws-cn:elasticache:cn-northwest-1:xxxxx:serverlesscache:test-es-serverless",
"Engine": "redis",
"FullEngineVersion": "7.1",
"MajorEngineVersion": "7",
"RegionId": "cn-northwest-1",
"ServerlessCacheName": "test-es-serverless",
"Status": "available",
"name": "test-es-serverless"
}
}
Note: Fields in
tags
,fields
may change with subsequent updates.Tip 1: The value of
tags.name
is the instance ID, which serves as unique identification.Tip 2:
fields.message
,fields.network_interfaces
,fields.blockdevicemappings
are JSON serialized strings.