AWS ElastiCache Serverless¶
Use the "Guance Cloud Sync" script packages in the script market to synchronize cloud monitoring and cloud asset data to Guance
Configuration¶
Install Func¶
We recommend enabling Guance Integrations - Extensions - Hosted Func: all prerequisites are installed automatically. Continue with script installation.
To deploy Func yourself, see Self-hosted Func.
Install Script¶
Note: Please prepare the required Amazon AK in advance (for simplicity, you can grant global read-only permissions
ReadOnlyAccess)
Activate Script in DataFlux Func (Automata)¶
- Log in to the Guance console
- Click the 【Integration】 menu and select 【Cloud Account Management】
- Click 【Add Cloud Account】, select 【AWS】, and fill in the required information on the interface. If you have already configured the cloud account information before, ignore this step
- Click 【Test】, and if the test is successful, click 【Save】. If the test fails, please check if the relevant configuration information is correct and test again
- Click 【Cloud Account Management】, and you can see the added cloud account in the list. Click the corresponding cloud account to enter the details page
- Click the 【Integration】 button on the cloud account details page, find
AWS ElastiCache Serverlessunder theNot Installedlist, click the 【Install】 button, and the installation interface will pop up for installation.
Activate Script Manually¶
-
Log in to the Func console, click on the 【Script Market】, enter the Guance script market, and search for
integration_aws_elasticache_serverless -
Click 【Install】, then enter the corresponding parameters: AWS AK ID, AK Secret, and account name.
-
Click 【Deploy Startup Script】, the system will automatically create the
Startupscript set and automatically configure the corresponding startup script. -
After activation, you can see the corresponding automatic trigger configuration in 「Manage / Automatic Trigger Configuration」. Click 【Execute】 to execute it immediately without waiting for the scheduled time. After a while, you can view the execution task records and corresponding logs.
Verification¶
- Under [Management / Automatic Trigger Configuration], confirm that an automatic trigger configuration exists for the task, and check the task records and logs for errors.
- In Guance, check [Infrastructure / Custom] for asset information.
- In Guance, check [Metrics] for the corresponding monitoring data.
Metrics¶
After configuring Amazon CloudWatch, the default Measurement is as follows, more metrics can be collected through configuration Amazon CloudWatch Metrics Details
Serverless Cache Metrics¶
| Metric | Description | Unit |
|---|---|---|
| BytesUsedForCache | Total number of bytes used by data stored in the cache. | Bytes |
| ElastiCacheProcessingUnits | Total number of lastiCacheProcessingUnits (ECPU) consumed to execute 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. This 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 scaled faster than ElastiCache could scale. | 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 from the cache | Bytes |
| IamAuthenticationExpirations | Total number of expired IAM authenticated Redis connections. You can find more information about IAM authentication in the user guide. | Count |
| IamAuthenticationThrottling | Total number of throttled IAM authenticated Redis AUTH or HELLO requests. You can find more information about IAM authentication in the user guide. | Count |
| KeyAuthorizationFailures | Number of failed attempts by users to access keys they do not have permission to access. We recommend setting an alarm for this to detect unauthorized access attempts. | Count |
| AuthenticationFailures | Total number of failed attempts to authenticate to Redis using the AUTH command. We recommend setting an alarm for this to detect unauthorized access attempts. | Count |
| CommandAuthorizationFailures | Number of failed attempts by users to run commands they do not have permission to invoke. We recommend setting an alarm for this to detect unauthorized access attempts. | Count |
GetTypeCmds |
Number of read-only commands executed. | Count |
HashBasedCmds |
Number of hash commands executed. | Count |
ListBasedCmds |
Number of list commands executed. | Count |
SetTypeCmds |
Number of write commands executed. | Count |
StringBasedCmds |
Number of string commands executed. | Count |
Objects¶
The collected Amazon AWS ElastiCache Serverless object data structure can be seen 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
tagsandfieldsmay change with subsequent updatesTip 1:
tags.namevalue is the instance ID, used as a unique identifierTip 2:
fields.message,fields.network_interfaces,fields.blockdevicemappingsare JSON serialized strings