To monitor MySQL on an Ubuntu server where an Icinga agent is installed, you’ll need to configure both the agent and the Icinga server to handle the monitoring tasks. Here’s a detailed step-by-step guide:
Step 1: Install MySQL Monitoring Plugins
On the Icinga Agent Server: Install the nagios-plugins package, which includes the check for MySQL. Execute:
sudo apt-get update
sudo apt-get install monitoring-plugins
Install mySql Server
Step 2: Configure MySQL for Monitoring
Create a MySQL User for Monitoring:
Log into your MySQL server:
mysql -u root -p
Create a user specifically for monitoring purposes:
CREATE USER 'icinga'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'icinga'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step 3: Configure Icinga Agent
Add MySQL Check Command to Icinga Agent:
Edit or create a new command configuration file:
sudo nano /etc/icinga2/conf.d/commands.conf
Add the MySQL check command:
object CheckCommand "check_mysql" {
import "plugin-check-command"
command = [ PluginDir + "/check_mysql" ]
arguments = {
"-H" = {
value = "$mysql_address$"
description = "IP address or hostname of the MySQL server"
}
"-u" = {
value = "$mysql_user$"
description = "Username for MySQL login"
}
"-p" = {
value = "$mysql_password$"
description = "Password for MySQL login"
}
}
}
Step 4: Configure Icinga Server
Define Host Object:
Define or ensure that the host object for your MySQL server exists in your Icinga configuration:
object Host "mysql-server" {
import "generic-host"
address = "mysql-agent-ip" // Replace with the actual IP address of your MySQL server
check_command = "hostalive"
}
Define Service for MySQL Monitoring:
Create a service definition to check MySQL:
apply Service "mysql-service" {
import "generic-service"
check_command = "check_mysql"
vars.mysql_address = "localhost"
vars.mysql_user = "icinga"
vars.mysql_password = "yourpassword"
assign where host.name == "mysql-server"
}
Reload Icinga 2:
After making these changes, reload Icinga 2 to apply them:
sudo systemctl reload icinga2
Step 5: Verify the Configuration
- Icinga Web 2: Log into Icinga Web 2 and navigate to the ‘Services’ section. Check if the new service for monitoring MySQL is displayed and showing correct status information.
- Troubleshooting:
- If the service shows errors, check the Icinga 2 logs for any detailed error messages (
/var/log/icinga2/icinga2.log
). - Ensure that the MySQL user permissions and network connections between the Icinga agent and server are correctly configured.
- If the service shows errors, check the Icinga 2 logs for any detailed error messages (
Latest posts by Rajesh Kumar (see all)
- Discover the Heart of India with Mera Apna Bihar - December 20, 2024
- Experience the Pulse of Bangalore with Bangalore Orbit - December 20, 2024
- Discover the City of Lakes with Bhopal Orbit - December 20, 2024