Troubleshooting
Check for possible problems upon database agent installation.
Firewall configuration checking
Unblock your firewall. Monitoring data cannot be sent to the server if the TCP outbound firewall is set for the WhaTap server.
How to check the firewall
It is normal only when the following connection-related information appears after executing the telnet command. (telnet [Server IP] [Server Port])
$ telnet 52.193.60.176 6600
Trying 52.193.60.176...
Connected to 52.193.60.176.
Escape character is '^]'.
The WhaTap collection server data can be found in Management > Agent installation.
Checking agent logs
If the agent cannot connect to the database or some data is not collected, check the agent logs first. The following sections describe causes and solutions based on the messages recorded in the logs.
- logs/: Agent log folder created in the agent installation path.
- nohup.out: Standard output record to check first when the agent fails to start. It is created in the agent installation path when you run the agent with
./startd.sh.
After changing the configuration file (whatap.conf) or the JDBC driver, restart the agent.
./stop.sh
./startd.sh
Cannot connect to the database
Account information not registered
File not exist or Invalid file: db.user
The monitoring account information file (db.user) does not exist. The agent may stop after attempting to connect without account information. In the agent installation path, register the account information with uid.sh, and then run the agent with ./startd.sh.
./uid.sh {DB_USER} {DB_PASSWORD}
Account name or password mismatch
Access denied for user 'whatap'@'<Agent IP>' (using password: YES)
CRITICAL! : DB Connection FAILED. Invaild username or password.
DB Account error!!!
If the connection repeatedly fails with this error, the agent stops. Check the following, register the account information again with uid.sh, and then run the agent with ./startd.sh.
- Check that the registered password matches the password of the database account.
- Check that the
'account'@'IP'shown in the log is included in the allowed hosts of the database account (hostinmysql.user).
Cannot reach the database over the network
Communications link failure
The driver has not received any packets from the server.
The agent server cannot connect to the database port. Check the database status, port, firewall, and the db_ip and db_port values in whatap.conf. The agent does not stop and keeps retrying the connection. Once the problem is resolved, it reconnects automatically.
nc -zv {DB_IP} 3306
JDBC driver version mismatch
WARN: Establishing SSL ...
Communications link failure
The last packet successfully received from the server was ... ago.
Unable to load authentication plugin 'caching_sha2_password'.
If the jdbc/ folder has no driver, the agent connects with its built-in default driver and may fail to connect to MySQL 8.0 or later. Place a Connector/J 8.0 or later driver (.jar) in the jdbc/ folder and restart the agent. Downloading JDBC
Database requires SSL connections
Connections using insecure transport are prohibited while --require_secure_transport=ON.
The database allows only SSL connections (require_secure_transport=ON), but useSSL=false is set in connect_option of whatap.conf. Remove useSSL=false from connect_option and restart the agent.
Public key retrieval not allowed
Public Key Retrieval is not allowed
This error can occur after the database restarts or FLUSH PRIVILEGES is run, even if the agent was previously connecting normally. It occurs when useSSL=false is set in connect_option and the agent connects with an account that uses caching_sha2_password authentication. Apply one of the following and restart the agent.
-
Remove
useSSL=falsefromconnect_option. (Recommended) -
If SSL is not available, also set
allowPublicKeyRetrieval=true. Use this option only when the connection path is a trusted network.whatap.confconnect_option=?useSSL=false&allowPublicKeyRetrieval=true
Some data is not collected
If the agent is connected to the database but the monitoring account lacks privileges, only the related data is not collected, and command denied, lack rights, or you need ... privilege(s) messages are recorded in the agent log. The agent does not stop. Check the privileges of the monitoring account with the following command.
SHOW GRANTS FOR 'whatap'@'%';
| Agent log | Required privilege | Data not collected |
|---|---|---|
SELECT command denied ... for table 'threads' and other performance_schema tables | grant select on performance_schema.* to whatap; | Active sessions, wait events, lock information |
SELECT command denied ... for table 'innodb_lock_waits' | grant select on sys.* to whatap; | Lock information |
View 'sys.innodb_lock_waits' ... lack rights | grant process on *.* to whatap;Also check the performance_schema privilege | Lock information |
you need (at least one of) the PROCESS privilege(s) | grant process on *.* to whatap; | Deadlock information, session information of other accounts |
you need (at least one of) the ... REPLICATION CLIENT privilege(s)you need ... REPLICATION SLAVE privilege(s) | grant replication client on *.* to whatap;grant replication slave on *.* to whatap; | Replication information |
After granting privileges, restart the agent. For the features supported by each privilege, see Support features for each role in Creating an Account.
Constraints
Multiple regions impossible to be selected as a single project
-
In the WhaTap monitoring service website, when creating a project, you cannot select multiple regions. When using multiple regions, create separate projects.
-
If servers exist in multiple regions as in the cloud environment, the collection servers must be located in each region to avoid constraints on the performance data collection such as network latency.
-
WhaTap builds collection servers for each region to meet customer requirements.
Duplicate agent names (ONAME) impossible to be used
WhaTap DBX monitoring uses the agent's IP address and port to identify the agent. If the database server to be monitored in the user environment uses the same IP and port, the WhaTap server cannot identify the server instance.
-
If the server instance is not dynamically expanded, you can bypass it by manually setting a name for database identification by seeing the following.
-
If the databases to be monitored use internal addresses or duplicate IPs due to network virtualization, use separate database naming patterns by seeing the following.