目录
一、zabbix 自动发现与自动注册
1、zabbix 自动发现
①关闭防火墙和安全机制
②在服务端和客户端上配置 hosts 解析
③在 Web 页面配置自动发现
2、zabbix 自动注册
①环境准备
②在服务端和客户端上配置 hosts 解析
③修改 zabbix-agent2 配置文件
④在 Web 页面配置自动注册
二、部署 zabbix 代理服务器
①关闭防火墙和安全机制
②安装 zabbix-proxy
③部署数据库
④初始化数据库
⑤创建数据库并指定字符集
⑥创建 zabbix 数据库用户并授权
⑦导入数据库信息
⑧修改 zabbix-proxy 配置文件
⑨在所有主机上配置 hosts 解析
⑩在 Web 页面配置 agent 代理
⑪ 配置 agent 使用 proxy
三、部署 Zabbix 高可用集群
1、服务端配置
①修改主节点 Zabbix Server 配置文件
②主节点给数据库授权远程登录权限
③修改备节点 Zabbix Server 配置文件
2、客户端配置
四、Zabbix 监控 java 应用
1、客户端步奏
①设置JDK环境变量,安装tomcat
②配置 java jmxremote 远程监控功能
③启动服务,查看端口
2、服务端步奏
①安装zabbix-java-gateway
②修改服务端 zabbix配置文件
3、在Web 页面添加主机,关联模板
五、Zabbix 监控 SNMP
1、服务端和客户端安装 snmp 监控程序
2、修改 snmp 的配置文件,并启动服务
3、使用 snmpwalk 命令测试
4、在 Web 页面配置 snmp 方式监控
zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent02
vim /etc/hosts
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
(重启zabbix-agent可以加快刷新速度)
zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。
点击左边菜单栏【配置】中的【发现动作】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
vim /etc/hosts
vim /etc/zabbix/zabbix_agent2.conf
systemctl restart zabbix-agent2
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】
等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,即可刷新出自动发现的客户端主机
分布式监控的作用:
●分担 server 的集中式压力
●解决多机房之间的网络延时问题
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxy
rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
yum -y install zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy
vim /etc/yum.repos.d/mariadb.repo
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
yum install -y mariadb-server mariadb
mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如123) -> 后面一路 Y
mysql -u root -p123
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;
rpm -ql zabbix-sql-scripts
cd /usr/share/zabbix-sql-scripts/mysql/
mysql -uroot -p123 zabbix_proxy < proxy.sql
vim /etc/zabbix/zabbix_proxy.conf
systemctl enable --now zabbix-proxy.service
vim /etc/hosts
点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
(1)在客户端修改 agent2 配置文件:
vim /etc/zabbix/zabbix_agent2.conf
(2)在 Web 页面配置:
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
(3)分别在客户端和代理服务器上重启服务
systemctl restart zabbix-agent2
systemctl restart zabbix-proxy
官方的高可用仅仅针对 Zabbix Server 部分,数据库部分和前端部分需要自行采用各自领域的高可用解决方案,例如zabbix-databases采用MHA、MMM等方案实现高可用,zabbix-web采用负载均衡、集群等方案实现高可用。
默认情况下,HA 是关闭的。HA 部分的配置在配置文件的最下面:High availability cluster parameters 部分。
vim /etc/zabbix/zabbix_server.conf
systemctl restart zabbix-server
mysql -uroot -p123
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;
vim /etc/zabbix/zabbix_server.conf
systemctl restart zabbix-server
vim /etc/zabbix/zabbix_agentd.conf
mv /opt/jdk1.8.0_361/ /usr/local/
vim /etc/profile.d/java.sh
export JAVA_HOME=/usr/local/jdk1.8.0_361
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile.d/java.sh
java -version
mv /opt/apache-tomcat-9.0.16 /usr/local/tomcat
vim /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=12345 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Djava.rmi.server.hostname=192.168.80.30"
cd /usr/local/tomcat/bin
./startup.sh
netstat -lntp |grep java
yum install -y zabbix-java-gateway
systemctl enable --now zabbix-java-gateway.service
netstat -lntp | grep 10052 #zabbix-java-gateway 默认监听 10052 端口
vim zabbix_proxy.conf
systemctl restart zabbix-proxy.service
点击左边菜单栏【配置】中的【主机】,点击 zbx-agent01
SNMP,简单网络管理协议,常用于监控网络设备(交换机、路由器等),也能监控支持开启SNMP功能的设备(windows、linux、打印机等)。
关selinux和防火墙
yum install -y net-snmp net-snmp-utils
vim /etc/snmp/snmpd.conf
systemctl start snmpd
snmpwalk -v 2c -c public 127.0.0.1 sysname
–v 1|2c|3:指定SNMP协议版本,v2c通过团体名作为认证,v3通过用户名和密码认证
–c:指定团体名(设备间的暗号)
sysname:为 snmp 的 key,用于查看系统名称;SysDesc 用于查看系统信息
点击左边菜单栏【配置】中的【主机】,点击 创建主机