Monitoring Amazon RDS With Opsview
Opsview can be easily deployed in the cloud usng Amazon RDS as a back-end for storage, which allows you to scale out as your data set grows - giving a more efficient setup. However it's important to monitor RDS to ensure that it is functioning correctly.
Monitoring via the application
Assuming that this is a new RDS instance we want to monitor, you will have to do the following steps:
- mysql -u username -p password -h rdshostname.amazon-ec2.com -P 3306
- GRANT SELECT ON *.* TO 'opsviewro'@'opsviewipaddress' IDENTIFIED BY 'PASSWORD';
- Set-up the RDS "security group" to allow the Opsview EC2 instance's IP address, access to the RDS database on port 3306.
- Once you have your Opsview server connected to your RDS DB on port 3306 (i.e. MySQL and all derivatives henceforth), you can begin to monitor using the built-in "Database - MySQL Server" template in the software.
Simply navigate to "Settings > Hosts > Add", and enter the address of the RDS DB (you can get this via the RDS console page) and then choose "Database - MySQL Server" from the "Host Templates" section at the bottom like so:
Next navigate to "Monitors" and under the "Database - MySQL" service group, click on "MySQL DB Processes" so that it has a minus next to it (to remove it from our host). This is because this particular check uses check_nrpe to ensure a "mysql" process is running on the box - and as we dont have access to the underlying box to install an NRPE agent, we can remove this:
Click on the "Attributes" tab and then add your permissions to allow access to the RDS DB.
Click on "Submit changes" and then reload Opsview via "Settings > Apply Changes" and then you can view your newly monitored Amazon RDS database as below:
Monitoring via Amazon RDS
Now you are monitoring the application from within itself, you can move on to monitoring RDS via AWS CloudWatch (API) and get the underlying system information. This comes out of the box in Opsview 4.4 with our CloudWatch Opspack.
Here we'll add in the RDS checks to our host and then we can add the RDS template to the original host later.
So, lets add the template via the GUI:
Now you've got your host template added, you'll need to add your attributes again and specify the variables for the RDS instance:
Here you have to specify your address (...amazonaws.com) and then your instance (opsviewdbseperate). In EC2, this would be our "i-232XXX" number. Next, click submit changes, reload Opsview again - and you're done, you are now monitoring RDS via AWS Cloudwatch: