超详细 zabbix分布式proxy,监控JAVA原理,低级自动发现

zabbix分布式监控proxy

安装proxy

创建库
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@localhost identified by '123456';
安装proxy
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.tuna.tsinghua.edu.cn/zabbix#g' /etc/yum.repos.d/zabbix.repo
yum install zabbix-proxy-mysql -y
导入表结构
zcat /usr/share/doc/zabbix-proxy-mysql5.0.8/schema.sql.gz |mysql -uzabbix -p123456 zabbix
修改配置文件 
vim /etc/zabbix/zabbix_proxy.conf
Server=10.0.0.71
ServerPort=10051
Hostname=tj_proxy
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456

启动
systemctl start zabbix-proxy.service

创建代理

在这里插入图片描述
在这里插入图片描述
agent 配置:

vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.8 (proxy的地址)
ServerActive=172.16.1.8
Hostname=172.16.1.9
systemctl restart zabbix-agent.service

在这里插入图片描述

zabbix监控java jvm原理

开启监控接口

#安装tomcat
rpm -ivh jdk-8u102-linux-x64.rpm
mkdir /app
tar xf apache-tomcat-8.0.27.tar.gz -C /app/apache-tomcat-8.0.27/bin/startup.sh
#增加一行
vim /app/apache-tomcat-8.0.27/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -
Dcom.sun.management.jmxremote -
Djava.rmi.server.hostname=10.0.0.8 -
Dcom.sun.management.jmxremote.port=12345 -
Dcom.sun.management.jmxremote.ssl=false -
Dcom.sun.management.jmxremote.authenticate=false"
#重启生效
/app/apache-tomcat-8.0.27/bin/shutdown.sh
/app/apache-tomcat-8.0.27/bin/startup.sh
#检验
[root@web01 opt]# netstat -lntup|grep 12345
tcp6 0 0 :::12345 :::*
LISTEN 100141/java

安装zabbix-java-gateway来监控jvm

yum install zabbix-java-gateway.x86_64 -y
systemctl start zabbix-java-gateway.service
systemctl enable zabbix-java-gateway.service
修改zabbix-server的配置文件
vim /etc/zabbix/zabbix_server.conf
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=3
systemctl restart zabbix-server.service

添加监控
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

zabbix低级自动发现

新增一个监控项原型
增加一个UserParameter=xxxx[*],cmd $1
监控每块网卡的mac地址
[root@web01 zabbix_agent2.d]# cat zbx_net.conf
UserParameter=net_mac[*],ifconfig $1|awk '/ether/{print $$2}'
[root@zabbix-server ~]# zabbix_get -s 10.0.0.8 -k net_mac[eth1]
00:0c:29:2e:16:18

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过低级自动发现监控mysql多实例
准备环境mysql多实例

cp /etc/my.cnf /etc/my3307.cnf

vim /etc/my3307.cnf
[mysqld]
datadir=/data/3307/
socket=/data/3307/mysql.sock
port=3307
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/data/3307/mysqld.log
pid-file=/data/3307/mysqld.pid
sed '/^$/d' /etc/my3307.cnf
sed -i '/^$/d' /etc/my3307.cnf
cp /etc/my3307.cnf /etc/my3308.cnf
sed -i 's#3307#3308#g' /etc/my3308.cnf
cat /etc/my3308.cnf
mysql_install_db --user=mysql --defaultsfile=/etc/my3307.cnf
mysql_install_db --user=mysql --defaultsfile=/etc/my3308.cnf
mysqld_safe --defaults-file=/etc/my3307.cnf &
mysqld_safe --defaults-file=/etc/my3308.cnf &
mysqladmin -uroot -h 127.0.0.1 -P 3307 password '123456'
mysql -uroot -p123456 -h 127.0.0.1 -P 3307
mysqladmin -uroot -h 127.0.0.1 -P 3308 password '123456'
mysql -uroot -p123456 -h 127.0.0.1 -P 3308

创建低级自动发现规则

#自定义规则的监控项
vim /etc/zabbix/zabbix_agent2.d/zbx_mysql.conf
UserParameter=mysql.port.discovery,/bin/bash /server/scripts/mysql_port_discovery.sh

vim /server/scripts/mysql_port_discovery.sh
#!/bin/bash
#mysql low-level discovery
res=`netstat -lntp|awk -F "[ :\t]+" '/mysqld/{print$5}'`
port=($res)
printf '['
for key in ${
    
    !port[@]}
do
if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${
      
      #port[@]}-1))" ]];then
printf '{'printf "\"{
    
    #MYSQLPORT}\":\"${port[${key}]}\"},"
else [[ "${key}" -eq "((${#port[@]}-1))" ]]
printf '{'printf "\"{
    
    #MYSQLPORT}\":\"${port[${key}]}\"}"
fi
done
printf ']\n'
#重启
systemctl restart zabbix-agent2.service
#测试
[root@zabbix-server ~]# zabbix_get -s 10.0.0.8 -k
mysql.port.discovery
[{
    
    "{#MYSQLPORT}":"3306"},{
    
    "{#MYSQLPORT}":"3307"},{
    
    "{#MYSQLPORT}":"3308"}]

在这里插入图片描述
在这里插入图片描述

创建监控项原型

vim zbx_mysql.conf
UserParameter=mysql_alive[*],mysqladmin -uroot -p123456 -h 127.0.0.1 -P $1 ping 2>/dev/null|grep -c alive
#测试
[root@zabbix-server ~]# zabbix_get -s 10.0.0.8 -k mysql_alive[3307] 
1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_49629796/article/details/113729684