Mysql 监控4

2022-06-30 00:16:45 浏览数 (1)

目前是使用 root 的身份执行的,但是 zabbix agent 是使用 zabbix 身份来执行这条命令的,我们尝试使用 zabbix 来执行一下,看看效果

代码语言:javascript复制
[root@mysql-server scripts]# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
0
[root@mysql-server scripts]# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
rm: cannot remove `/tmp/localhost-mysql_cacti_stats.txt': Operation not permitted
0
[root@mysql-server scripts]# 

前一条报错的原因是 zabbix 用户在查询 Slave_IO_Running|Slave_SQL_Running 时,没有访问数据库的权限

后一条报错的原因是对于之前使用root生成的 /tmp/localhost-mysql_cacti_stats.txt zabbix没有写权限

给zabbix赋权

分别来进行处理,先处理写权限问题

代码语言:javascript复制
[root@mysql-server scripts]# chown  zabbix.zabbix /tmp/localhost-mysql_cacti_stats.txt  
[root@mysql-server scripts]# sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg 
0
[root@mysql-server scripts]#

再处理数据库访问权限问题

安装zabbix-agent时自动创建了zabbix用户,这样的用户没有登录权限,并且把 /var/lib/zabbix 当自己的家 (一个无家可归的孩子)

代码语言:javascript复制
zabbix:x:496:493:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

修改 /etc/passwd,我们把它修改成这样

代码语言:javascript复制
zabbix:x:496:493:Zabbix Monitoring System:/home/zabbix:/bin/bash

然后给 zabbix 创建一个家

代码语言:javascript复制
[root@mysql-server ~]# mkdir /home/zabbix
[root@mysql-server ~]# cp /etc/skel/.*  /home/zabbix/
cp: omitting directory `/etc/skel/.'
cp: omitting directory `/etc/skel/..'
cp: omitting directory `/etc/skel/.gnome2'
cp: omitting directory `/etc/skel/.mozilla'
[root@mysql-server ~]# chown -R zabbix.zabbix /home/zabbix/
[root@mysql-server ~]# su - zabbix 
[zabbix@mysql-server ~]$ vim .my.cnf
[zabbix@mysql-server ~]$ cat .my.cnf 
[client]
user = root
password = xxxxxx
[zabbix@mysql-server ~]$ 

0 人点赞