目录
一、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 自动发现与自动注册
1、zabbix 自动发现
zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。
缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。
①关闭防火墙和安全机制
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-agent02
②在服务端和客户端上配置 hosts 解析
vim /etc/hosts
③在 Web 页面配置自动发现
点击左边菜单栏【配置】中的【自动发现】,点击【创建发现规则】
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【发现动作】
点击左边菜单栏【配置】中的【主机】刷新,等待一段时间后即可刷新出自动发现的客户端主机
(重启zabbix-agent可以加快刷新速度)
2、zabbix 自动注册
zabbix agent2 会主动上报自己的信息,发给 zabbix server。
缺点是可能因为配置文件配置错误或者网络不通等原因导致 zabbix agent2 可能找不到 zabbix server。
①环境准备
点击左边菜单栏【配置】中的【发现动作】,勾选发现规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
②在服务端和客户端上配置 hosts 解析
vim /etc/hosts
③修改 zabbix-agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
systemctl restart zabbix-agent2
④在 Web 页面配置自动注册
点击左边菜单栏【配置】中的【动作】,上方菜单选择 【自动注册动作】,点击【创建动作】
等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,即可刷新出自动发现的客户端主机
二、部署 zabbix 代理服务器
分布式监控的作用:
●分担 server 的集中式压力
●解决多机房之间的网络延时问题
①关闭防火墙和安全机制
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxy
②安装 zabbix-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;
⑥创建 zabbix 数据库用户并授权
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
⑧修改 zabbix-proxy 配置文件
vim /etc/zabbix/zabbix_proxy.conf
systemctl enable --now zabbix-proxy.service
⑨在所有主机上配置 hosts 解析
vim /etc/hosts
⑩在 Web 页面配置 agent 代理
点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除
点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
⑪ 配置 agent 使用 proxy
(1)在客户端修改 agent2 配置文件:
vim /etc/zabbix/zabbix_agent2.conf
(2)在 Web 页面配置:
点击左边菜单栏【配置】中的【主机】,点击【创建主机】
(3)分别在客户端和代理服务器上重启服务
systemctl restart zabbix-agent2
systemctl restart zabbix-proxy
三、部署 Zabbix 高可用集群
官方的高可用仅仅针对 Zabbix Server 部分,数据库部分和前端部分需要自行采用各自领域的高可用解决方案,例如zabbix-databases采用MHA、MMM等方案实现高可用,zabbix-web采用负载均衡、集群等方案实现高可用。
1、服务端配置
默认情况下,HA 是关闭的。HA 部分的配置在配置文件的最下面:High availability cluster parameters 部分。
①修改主节点 Zabbix Server 配置文件
vim /etc/zabbix/zabbix_server.conf
systemctl restart zabbix-server
②主节点给数据库授权远程登录权限
mysql -uroot -p123
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;
③修改备节点 Zabbix Server 配置文件
vim /etc/zabbix/zabbix_server.conf
systemctl restart zabbix-server
2、客户端配置
vim /etc/zabbix/zabbix_agentd.conf
四、Zabbix 监控 java 应用
1、客户端步奏
①设置JDK环境变量,安装tomcat
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
②配置 java jmxremote 远程监控功能
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
2、服务端步奏
①安装zabbix-java-gateway
yum install -y zabbix-java-gateway
systemctl enable --now zabbix-java-gateway.service
netstat -lntp | grep 10052 #zabbix-java-gateway 默认监听 10052 端口
②修改服务端 zabbix配置文件
vim zabbix_proxy.conf
systemctl restart zabbix-proxy.service
3、在Web 页面添加主机,关联模板
点击左边菜单栏【配置】中的【主机】,点击 zbx-agent01
五、Zabbix 监控 SNMP
SNMP,简单网络管理协议,常用于监控网络设备(交换机、路由器等),也能监控支持开启SNMP功能的设备(windows、linux、打印机等)。
1、服务端和客户端安装 snmp 监控程序
关selinux和防火墙
yum install -y net-snmp net-snmp-utils
2、修改 snmp 的配置文件,并启动服务
vim /etc/snmp/snmpd.conf
systemctl start snmpd
3、使用 snmpwalk 命令测试
snmpwalk -v 2c -c public 127.0.0.1 sysname
–v 1|2c|3:指定SNMP协议版本,v2c通过团体名作为认证,v3通过用户名和密码认证
–c:指定团体名(设备间的暗号)
sysname:为 snmp 的 key,用于查看系统名称;SysDesc 用于查看系统信息
4、在 Web 页面配置 snmp 方式监控
点击左边菜单栏【配置】中的【主机】,点击 创建主机