Monitor user to query processlist
Perhaps you can create a DB user whose sole purpose in life is to collect the processlist.

Your error message indicates that zabbix does not have the PROCESS privilege.

Without the PROCESS privilege, zabbix can only view the processlist of zabbix users. Not much fun, eh?

But WAIT, you said

mysqladmin -u zabbix processlist


That will attempt to connect as zabbix@localhost which you did not define. Please note:


zabbix@localhost will authenticate via the socket file
zabbix@'%' will authenticate via TCP/IP


Simply run

GRANT SELECT, PROCESS ON *.* TO 'zabbix'@'localhost';


and your troubles should be over.

Without adding another MySQL user, just specify the TCP/IP protocol

mysqladmin -u zabbix --protocol=tcp processlist