X

MariaDBのSLAVE STATUSがzabbix 5.0.1で取得できなかったので対処した

新規に構築したサーバーでmysql(mariadb)のslave statusをzabbixで取れなくなったので対処した。
色んなサイトにzabbixでレプリケーション監視設定方法は載っているので省きます。

各バージョンは

CentOS Linux release 8.1.1911 (Core)
Server version: 10.5.3-MariaDB MariaDB Server
zabbix_agentd (daemon) (Zabbix) 5.0.1

slave のレプリケーション監視の仕込みが終わりコマンドで確認を実施した所

# HOME=/var/lib/zabbix mysql -e “SHOW SLAVE STATUS\G”
ERROR 1227 (42000) at line 1: Access denied; you need (at least one of) the SUPER, REPLICATION SLAVE ADMIN privilege(s) for this operation

こんな感じで以前は取得出来ていましたが出来なくなってます。

権限周りが変わってるようですので確認します。

MariaDB [(none)]> show privileges;

をたたくとレプリケーションに関係ありそうなのが

| Binlog admin | Server | To purge binary logs |
| Binlog monitor | Server | To use SHOW BINLOG STATUS and SHOW BINARY LOG |
| Replication master admin | Server | To monitor connected slaves |
| Replication slave admin | Server | To start/monitor/stop slave and apply binlog events |
| Replication slave | Server Admin | To read binary log events from the master |

こんな感じで出てきましたので
エラーで指示されていたReplication slave adminを指定してGRANTしてみます。

MariaDB [(none)]> GRANT Replication slave admin ON *.* TO ‘zabbixagent’@’localhost’ IDENTIFIED BY ‘hogegegege’;
Query OK, 0 rows affected (0.001 sec)

再度コマンドを実行した所

# HOME=/var/lib/zabbix mysql -e “SHOW SLAVE STATUS\G”
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: ***.***.***.***
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 139614521
Relay_Log_File: www3-relay-bin.000009
Relay_Log_Pos: 5306
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 139614521
Relay_Log_Space: 5614
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
Master_SSL_Crl:
Master_SSL_Crlpath:
Using_Gtid: No
Gtid_IO_Pos:
Replicate_Do_Domain_Ids:
Replicate_Ignore_Domain_Ids:
Parallel_Mode: optimistic
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates
Slave_DDL_Groups: 0
Slave_Non_Transactional_Groups: 0
Slave_Transactional_Groups: 6

取得出来ました。
これでzabbixでレプリケーションの監視が出来ました。

higherhope: