1.zabbix-agent
2.zabbix-proxy
3.zabbix-server
安装zabbxi-get
yum install zabbix-get.x86_64
##########################################################################################################
Zabbix agent on xxxxxxxxx is unreachable for 5 minutes
1.ps aux | grep zabbix;netstat -lnp | grep zabbix看进程在不在;
2.ps -ef | grep zabbix 查看所有的进程,包括父子进程;
3.在agent上telnet server_ip/proxy_ip 10051;在 server/proxy上telnet agent_ip 10050;
4. grep -v "^#" /etc/zabbix/zabbix_agentd.conf| grep -v "^$"查看是不是hostname和server上的不一致;
5. 重启agent 和proxy:service zabbix-agent restart;service zabbix-prioxy restart
还是不行?
下面的命令查看打开agent的日志等级,将DebugLevel设为3 ,保存重启
grep -v "^#" /etc/zabbix/zabbix_agentd.conf| grep -v "^$"
即增加这个DebugLevel=3;
tailf tailf /var/log/zabbix/zabbix_agentd.log,查看报错:
resuming Zabbix agent checks on host "xxxxxxxx": connection restored
这个问题可以通过修改/etc/zabbix/zabbix_agentd.conf,
将Timeout设置参数为30或者小于30的数字,保存退出!
重启agent和proxy,要是还不想,查看一下服务器的内存是否足够!
解决脚本用zabbix用户远程执行到agnet服务器没有权限的问题:
1.在执行zabbix_get的主机上创建mkdir -p /var/lib/zabbix/.ssh并执行
chown -R zabbix.zabbix /var/lib/zabbix 修改文件夹权限
sudo -u zabbix ssh-keygen -t rsa -b 2048 几次回车得到公钥和私钥
拷贝/var/lib/zabbix/.ssh/id_rsa.pub 的内容
将拷贝的内容放到执行脚本的那台远程机器的/root/.ssh/authorized_keys中
并修改执行脚本的那台远端机器的/etc/sudoers文件,添加下面的两行:
Defaults:nopasswd !requiretty
zabbix ALL=(ALL) ALL
注释 Defaults requiretty该行