关闭selinux和firewalld
监控数据库
在server1中
执行命令后取不到信息
给数据库添加密码
mkdir /var/lib/zabbix
cd /var/lib/zabbix/
vim .my.cnf
重启服务:systemctl restart zabbix-agent.service
因为前端中写入的ip是127.0.0.1,所以此时就可以直接通过zabbix_get来得到数据
当此文件被移走后,再通过zabbix_get来获取数据时就不能获取
在前端中添加数据库模板
此时就可以对数据库进行监控
percona
安装
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
cd /var/lib/zabbix/percona/templates/
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
systemctl restart zabbix-agent.service ##重启服务,让其读取文件内容
cd …
cd scripts/
vim ss_get_mysql_stats.php
执行脚本
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
会得到数据而且在/tmp下会有缓存
此时运行的身份是root,文件的拥有者也是root,只有root才有写权限
但是zabbix是以zabbix的身份运行的
所以当程序自己运行时文件不能被更改
删除文件就可以解决这一问题,此时当程序自己运行时就可以更改文件内容了
rm -fr localhost-mysql_cacti_stats.txt
在前端添加模板
添加完成
此时在server1中就可以得到数据
Java应用(tomcat)
在server2中
安装依赖性
yum install -y java-1.8.0-openjdk.x86_64
解压apache-tomcat-7.0.37.tar.gz到/usr/local
tar zxf apache-tomcat-7.0.37.tar.gz -C /usr/local/
做软链接
cd /usr/local/
ln -s apache-tomcat-7.0.37/ tomcat
cd tomcat/bin
vim catalina.sh
启动脚本
./startup.sh
此时就可以得到8888的端口
在server1中
yum install zabbix-java-gateway -y
cd /etc/zabbix/
vim zabbix_java_gateway.conf
systemctl enable --now zabbix-java-gateway.service
其监测的端口时10052
vim zabbix_server.conf
systemctl restart zabbix-server.service
在前端添加模板与JMX接口
添加成功
此时就可以对java应用进行监控
调整server端传递数据方式
起初,server主动访问agent向其提供数据,这样server的负荷太大,我们希望server被动将数据回传到agent,这样可以大大减少server的负荷
在server3中
vim zabbix_agentd.conf
将值设为0,此时就不会监听10050端口
systemctl restart zabbix-agent.service
此时查看10050端口,可以看到全部处于wait状态
在server1中用zabbix_get获取数据也被拒绝
当值设为3时
查看端口
在server1上也可以获取到数据
在前端配置
配置完成
此时server被动将数据回传到agent
proxy
使用场景:
1.监控远程区域设备
2.监控本地网络不稳定区域
3.当zabbix监控上千设备时,使用它来减轻server的压力
4.简化分布式监控的维护
在前端中删除server3
在server3上
将主机名修改为proxy并写入每个主机的/etc/hosts
systemctl disable --now zabbix-agent.service
nginx -s stop
yum install -y zabbix-proxy-mysql
vim /etc/zabbix/zabbix_proxy.conf
yum install mariadb-server -y
systemctl enable --now mariadb.service
进入mysql
create database zabbix_proxy character set utf8 collate utf8_bin;
create user ‘zabbix’@‘localhost’ identified by ‘westos’;
grant all privileges on zabbix_proxy.* to ‘zabbix’@‘localhost’;
quit
vim /etc/zabbix/zabbix_proxy.conf
DBpassword=westos
cd /usr/share/doc/zabbix-proxy-mysql-4.0.27
zcat schema.sql.gz | mysql -uzabbix -pwestos zabbix_proxy
vim /etc/zabbix/zabbix_proxy.conf
在server2中
vim /etc/zabbix/zabbix_agentd.conf
Server=172.25.18.3
ServerActive=172.25.18.3
Hostname=server2
systemctl restart zabbix-agent.service
在server1中
zabbix_server -R config_cache_reload
在server3(proxy)中重启服务
systemctl restart zabbix-proxy.service
在浏览器中操作如下
删除server3
点击管理–>agent代理程序–>创建代理–>名字为proxy,为主动式–>添加
点击server2–>在由agent代理程序检测里选择proxy—>更新
配置完成
此时server3就变成了代理
zabbix+睿象云+APP通知
在server1上下载ca_zabbix_release-2.1.0.tar.gz
解压到/usr/lib/zabbix/alertscripts/
tar zxf ca_zabbix_release-2.1.0.tar.gz -C /usr/lib/zabbix/alertscripts/
cd /usr/lib/zabbix/alertscripts/
cd cloudalert/
cd bin/
./install.sh 279a66ad-2ed0-44fa-955d-b89357e3c5d5(在浏览器中创建得到)
停用所选媒介,防止影响
systemctl restart zabbix-server
在server2上
systemctl stop zabbix-agent.service
此时可以在前端上看到server2不能连接
此时睿象云就给绑定的手机APP发送了通知
在手机APP上可以看到通知
这时点击认领即可
在睿象云端就会显示在处理中
此时我们就可以去解决问题
在server2上,将服务开启
systemctl start zabbix-agent.service
这时,问题被解决,睿象云会再次向手机APP发送已解决的通知
在睿象云端也显示已关闭