Skip to content

Commit 82348d6

Browse files
committed
Add support for cluster status and add extend in-memory metrics
1 parent 3a1f4c6 commit 82348d6

File tree

1 file changed

+59
-37
lines changed

1 file changed

+59
-37
lines changed

README.md

Lines changed: 59 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -3,54 +3,60 @@
33
> **Disclaimer:** The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances, using Amazon CloudWatch or Amazon Cognito.
44
55

6+
67
## What is DBTop Monitoring ?
78

89
DBTop Monitoring is evolution of [RDSTop Monitoring Solution](https://github.com/aws-samples/rds-top-monitoring) initiative.
910

10-
DBTop Monitoring is lightweight application to perform realtime monitoring for AWS Database Resources.
11+
DBTop Monitoring is lightweight application to perform real-time monitoring for AWS Database Resources.
1112
Based on same simplicity concept of Unix top utility, provide quick and fast view of database performance, just all in one screen.
1213

13-
1414
<img width="1089" alt="image" src="./images/image01.png">
1515

1616

17-
## How looks like DBTop Monitoring ?
17+
18+
## How does DBTop Monitoring look like?
1819

1920
<img width="1089" alt="image" src="./images/image02.png">
2021

2122
<img width="1089" alt="image" src="./images/image03.png">
2223

2324
<img width="1089" alt="image" src="./images/image04.png">
2425

26+
27+
### [Visit the YouTube channel for videos](https://www.youtube.com/@DBTopMonitoringSolution)
28+
29+
30+
2531
## How it works?
2632

2733
<img width="1089" alt="image" src="./images/image05.png">
2834

2935

3036

31-
3237
## Database engine support
3338

3439
DBTop Monitoring Solution currently supports following database engines:
3540

36-
- AWS RDS for MySQL
37-
- AWS RDS for PostgreSQL
38-
- AWS RDS for MariaDB
39-
- AWS RDS for Oracle
40-
- AWS RDS for SQLServer
41-
- Amazon Aurora Instance (MySQL-Compatible Edition)
42-
- Amazon Aurora Instance (PostgreSQL-Compatible Edition)
43-
- Amazon ElastiCache for Redis
44-
- Amazon MemoryDB for Redis
45-
- Amazon Aurora Clusters (MySQL-Compatible Edition)
46-
- Amazon Aurora Clusters (PostgreSQL-Compatible Edition)
47-
- Amazon DocumentDB Clusters
41+
- [Amazon Relational Database Service (RDS)](https://aws.amazon.com/rds/)
42+
- [Amazon RDS for MySQL](https://aws.amazon.com/rds/mysql/)
43+
- [Amazon RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/)
44+
- [Amazon RDS for MariaDB](https://aws.amazon.com/rds/mariadb/)
45+
- [Amazon RDS for Oracle](https://aws.amazon.com/rds/oracle/)
46+
- [Amazon RDS for SQLServer](https://aws.amazon.com/rds/sqlserver/)
47+
- [Amazon Aurora Instance (MySQL-Compatible Edition)](https://aws.amazon.com/rds/aurora/)
48+
- [Amazon Aurora Instance (MySQL-Compatible Edition)](https://aws.amazon.com/rds/aurora/)
49+
- [Amazon Aurora Instance (PostgreSQL-Compatible Edition)](https://aws.amazon.com/rds/aurora/)
50+
- [Amazon Aurora Clusters (MySQL-Compatible Edition)](https://aws.amazon.com/rds/aurora/)
51+
- [Amazon Aurora Clusters (PostgreSQL-Compatible Edition)](https://aws.amazon.com/rds/aurora/)
52+
- [Amazon In-Memory Databases](https://aws.amazon.com/elasticache/)
53+
- [Amazon ElastiCache for Redis](https://aws.amazon.com/elasticache/redis/)
54+
- [Amazon MemoryDB for Redis](https://aws.amazon.com/memorydb/)
55+
- [Amazon DocumentDB (with MongoDB compatibility)](https://aws.amazon.com/documentdb/)
4856

4957
Additional expanded support coming later to :
5058

51-
- Amazon OpenSearch
52-
53-
59+
- [Amazon OpenSearch Service](https://aws.amazon.com/opensearch-service/)
5460

5561

5662

@@ -61,11 +67,13 @@ Additional expanded support coming later to :
6167
- **Backend.** NodeJS API Component to gather performance information from database engines, AWS CloudWatch and Enhanced Monitoring.
6268

6369

70+
6471
## Architecture
6572

6673
<img width="1023" alt="image" src="./images/image06.png">
6774

6875

76+
6977
## Use cases
7078

7179
- **Monitor instance performance.**
@@ -81,18 +89,25 @@ Additional expanded support coming later to :
8189

8290
## Solution Requirements
8391

84-
#### Amazon RDS Enhanced Monitoring
92+
#### [Amazon RDS](https://aws.amazon.com/rds/) Enhanced Monitoring
8593

86-
Amazon RDS provides metrics in real time for the operating system (OS) that your DB instance runs on. DBTop Monitoring solution integrate metrics from Enhanced Monitoring and it has to be enabled.
87-
Follow procedure below to turn on Enhanced Monitoring.
94+
[Amazon RDS](https://aws.amazon.com/rds/) provides metrics in real time for the operating system (OS) that your DB instance runs on. DBTop Monitoring solution integrate metrics from Enhanced Monitoring and it has to be enabled. Follow procedure below to turn on Enhanced Monitoring.
8895

89-
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html
96+
[Setting up and enabling Enhanced Monitoring](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.Enabling.html)
9097

9198

9299
#### VPC Network Access to AWS Database Instances
93100

94101
DBTop Monitoring Solution needs to access privately AWS Database resources, grant inboud access for security groups used by database resources.
95102

103+
_First, you need to take a note of the Cloudformation resources created by the stack_
104+
105+
<img width="1023" alt="Cloudformation Security Group Id" src="./images/image07.png">
106+
107+
108+
_Second, you need to edit the Security Group that allows access to your Database resources, in this case to ElastiCache_
109+
110+
<img width="1023" alt="Edit Security Group Id to Allow Redis" src="./images/image08.png">
96111

97112

98113
## Resource Usage and Cost
@@ -111,29 +126,30 @@ DBTop Monitoring Solution will use following resources:
111126

112127
## Solution Deployment
113128

114-
115-
116129
> **Time to deploy:** Approximately 10 minutes.
117130
118131

119132
### Create database monitoring users
120133

121134
Database credentials are needed to connect to the database engine and gather real-time metrics, use following statements to create the monitoring users.
122135

123-
#### MySQL
124-
```
136+
137+
#### [Amazon RDS for MySQL](https://aws.amazon.com/rds/mysql/)
138+
```sql
125139
CREATE USER 'monitor'@'%' IDENTIFIED BY '<PASSWORD>';
126140
GRANT PROCESS ON *.* TO 'monitor'@'%' ;
127141
```
128142

129-
#### PostgreSQL
130-
```
143+
144+
#### [Amazon RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/)
145+
```sql
131146
CREATE USER monitor WITH PASSWORD '<PASSWORD>';
132147
GRANT pg_read_all_stats TO monitor;
133148
```
134149

135-
#### MS SQLServer
136-
```
150+
151+
#### [Amazon RDS for SQLServer](https://aws.amazon.com/rds/sqlserver/)
152+
```sql
137153
USE [master]
138154
GO
139155
CREATE LOGIN [monitor] WITH PASSWORD=N'<PASSWORD>', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
@@ -146,14 +162,15 @@ GRANT VIEW SERVER STATE TO [monitor]
146162
GO
147163
```
148164

149-
#### Oracle
150-
```
165+
166+
#### [Amazon RDS for Oracle](https://aws.amazon.com/rds/oracle/)
167+
```sql
151168
CREATE USER monitor IDENTIFIED BY '<PASSWORD>';
152169
GRANT CREATE SESSION,SELECT ANY DICTIONARY TO monitor;
153170
```
154171

155172

156-
#### Amazon DocumentDB
173+
#### [Amazon DocumentDB (with MongoDB compatibility)](https://aws.amazon.com/documentdb/)
157174
```
158175
db.createUser(
159176
{
@@ -169,16 +186,16 @@ db.createUser(
169186
Follow the step-by-step instructions to configure and deploy the DBTop Monitoring Solution into your account.
170187

171188
1. Make sure you have sign in AWS Console already.
172-
2. Download AWS Cloudformation Template (DBMonitoringSolution.template) located into conf folder.
189+
2. Download AWS Cloudformation Template ([DBMonitoringSolution.template](https://raw.githubusercontent.com/aws-samples/db-top-monitoring/main/conf/DBTopMonitoringSolution.template)) located into conf folder.
173190
3. [**Open AWS CloudFormation Console**](https://console.aws.amazon.com/cloudformation/home#/stacks/create/template?stackName=DBTopMonitoringSolution)
174-
4. Create an stack using Cloudformation template (DBMonitoringSolution.template) already downloaded on step 2.
191+
4. Create an stack using Cloudformation template ([DBMonitoringSolution.template](/conf/DBMonitoringSolution.template)) already downloaded on step 2.
175192
5. Input **Stack name** parameter.
176193
6. Acknowledge **Application Updates - Disclaimer** parameter.
177194
7. Input **Username** parameter, this username will be used to access the application. An email will be sent with temporary password from AWS Cognito Service.
178195
8. Input **AWS Linux AMI** parameter, this parameter specify AWS AMI to build App EC2 Server. Keep default value.
179196
9. Select **Instance Type** parameter, indicate what instance size is needed.
180197
10. Select **VPC Name** parameter, indicate VPC to be used to deploy application server.
181-
11. Select **Subnet Name** parameter, indicate subnet to be used to deploy application server, this subnet needs to have outbound internet access to reach AWS APIs. Also application server needs to be able to reach AWS Database Resources, add appropiate inboud rules on AWS RDS security groups to allow network connections.
198+
11. Select **Subnet Name** parameter, indicate subnet to be used to deploy application server, this subnet needs to have outbound internet access to reach AWS APIs. Also application server needs to be able to reach AWS Database Resources, add appropiate inboud rules on Amazon RDS security groups to allow network connections.
182199
12. Select **Public IP Address** parameter, the deployment will assign private IP Address by default to access the application, you can assign Public IP Address to access the application in case you need it, Select (true) to assign Public IP Address.
183200
13. Input **CIDR** parameter, specify CIDR inbound access rule, this will grant network access for the application.
184201
14. Click **Next**, Click **Next**, select **acknowledge that AWS CloudFormation might create IAM resources with custom names**. and Click **Submit**.
@@ -191,8 +208,13 @@ CA-signed certificate that not only encrypts, but also publicly authenticates yo
191208

192209

193210

211+
## Security
212+
213+
See [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.
194214

195215

196216

217+
## License
197218

219+
This library is licensed under the MIT-0 License. See the [LICENSE](LICENSE.txt) file.
198220

0 commit comments

Comments
 (0)