need help with Zabbix server
-
I wonder if Firewalld is blocking this. Zabbix should really be using 'zabbix'@'localhost' instead of the IP address.
-
@Mike-Davis said in need help with Zabbix server:
sudo mysql -u zabbix -p -h xx.xx.14.212
Enter password:
ERROR 2005 (HY000): Unknown MySQL server host 'xx.xx.14.212' (0)I'm assuming that this mysql server is not on the same server as Zabbix?
So check your firewall, and check /etc/mysql/my.cnf and make sure that it's set to listen on the IP address and not 127.0.0.1.
-
I just tested this on my zabbix system and got
He received 2005
-
it is on the same server.
I just edited:
sudo vi /etc/zabbix/zabbix_server.conf
and set :
DBhost=localhost -
@Mike-Davis said in need help with Zabbix server:
it is on the same server.
I just edited:
sudo vi /etc/zabbix/zabbix_server.conf
and set :
DBhost=localhostThen go back and run the Grant commands again, adjusting the IP accordingly.
-
It looks like this was a housekeeper / permissions issue.
It was resolved several years ago, so I'm guessing permissions.
-
sudo mysql -u zabbix -p -h localhost
Enter password:
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES) -
@Mike-Davis said in need help with Zabbix server:
I did enter the real IP address.
Should be 127.0.0.1
-
@Mike-Davis said in need help with Zabbix server:
sudo mysql -u zabbix -p -h localhost
Enter password:
ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: YES)Need to grant permissions to the correct user. You have two overlapping users created in that database. Remove them both and start over ONLY with the localhost one.
-
Can you confirm the running services against what I have here.
-
@scottalanmiller
since I have 3 accounts, I tried:MariaDB [(none)]> drop user zabbix;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> select user, host from mysql.user;
+--------+--------------------+
| user | host |
+--------+--------------------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| zabbix | localhost |
| zabbix | xx.xx.14.212 |
+--------+--------------------+
5 rows in set (0.00 sec)MariaDB [(none)]> drop user zabbix@localhost;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> select user, host from mysql.user;
+--------+--------------------+
| user | host |
+--------+--------------------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| zabbix | xx.xx.14.212 |
+--------+--------------------+
4 rows in set (0.00 sec)MariaDB [(none)]> drop user [email protected];
ERROR 1396 (HY000): Operation DROP USER failed for 'zabbix'@'xx.xx.14.212'
MariaDB [(none)]> select user, host from mysql.user;
+--------+--------------------+
| user | host |
+--------+--------------------+
| root | 127.0.0.1 |
| root | ::1 |
| root | localhost |
| zabbix | xx.xx.14.212 |
+--------+--------------------+
4 rows in set (0.00 sec)MariaDB [(none)]> drop user 'zabbix'@'xx.xx.14.212';
ERROR 1396 (HY000): Operation DROP USER failed for 'zabbix'@'xx.xx.14.212'Can't seem to delete the last one.
-
Here is a report (2007) of the syntax to be used to provide access to the database for a user.
-
to delete the last account, it didn't like that I specified the host, even though it was listed. I did:
delete from mysql.user where user='zabbix' ;and that took.
now I just have the user zabbix@localhost
I restarted services and in the log I'm getting:
1141:20161020:154817.079 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
1141:20161020:154817.086 database is down: reconnecting in 10 seconds
1141:20161020:154827.330 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES) -
@Mike-Davis Can you login to MariaDB with the username/password you're using for Zabbix?
mysql -u zabbix -p
-
@Mike-Davis said in need help with Zabbix server:
to delete the last account, it didn't like that I specified the host, even though it was listed. I did:
delete from mysql.user where user='zabbix' ;and that took.
now I just have the user zabbix@localhost
I restarted services and in the log I'm getting:
1141:20161020:154817.079 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
1141:20161020:154817.086 database is down: reconnecting in 10 seconds
1141:20161020:154827.330 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES)And that's the only user that there should be.
-
I can't log in with the user zabbix. Only as root.
Just for kicks I looked at the zabbix_agentd.log
I'm getting this error:1132:20161020:154817.055 agent #3 started [listener #2] 1134:20161020:154817.056 active check configuration update from 127.0.0.1:10051 started to fail (cannot connect to 127.0.0.1:10051: 111 Connection refused)
Is it possible I need to open 127.0.0.1 in the firewall?
I do have this command:sudo firewall-cmd --permanent --zone=public --add-port=10051/tcp
-
@Mike-Davis If you can't login to the database using the credentials you created for the Zabbix user, then that will be one problem.
Firewall ports may or may not be another.
-
@Mike-Davis said in need help with Zabbix server:
I can't log in with the user zabbix. Only as root.
Just for kicks I looked at the zabbix_agentd.log
I'm getting this error:1132:20161020:154817.055 agent #3 started [listener #2] 1134:20161020:154817.056 active check configuration update from [127.0.0.1:10051] started to fail (cannot connect to 127.0.0.1]:10051]: [111] Connection refused)
Is it possible I need to open 127.0.0.1 in the firewall?
I do have this command:sudo firewall-cmd --permanent --zone=public --add-port=10051/tcp
No, there is no network or firewall involved here.
-
@Mike-Davis said in need help with Zabbix server:
sudo firewall-cmd --permanent --zone=public --add-port=10051/tcp
That's not even the right port. Why are you looking at 10051 when 3306 is the MySQL port?
-
The issue is simple, you have a username / password mismatch. There is nothing more to it.
You know that the firewall can't be involved for three reasons...
- Root user works, so you've gotten past that point.
- The MySQL client does not use the network stack to connect in this way.
- Localhost / 127.0.0.1 never goes through the firewall.