【三】部署zabbix-proxy代理服务器和高可用,以及监控windows系统和java应用

zabbix代理服务器和高可用

  • 1.部署zabbix代理服务器
    • 1.1 代理端zabbix-proxy配置
    • 1.2 客户端zabbix-agent配置
    • 1.3 zabbix-proxy总结
  • 2. 部署Zabbix高可用集群
    • 2.1 主节点zabbix-server配置
    • 2.2 备节点zabbix-server配置
    • 2.3 客户端zabbix_agent配置
    • 2.4 Zabbix高可用集群总结
  • 3.Zabbix 监控Windows系统
    • 3.1 win10客户端配置
    • 3.2 服务端Web页面配置
    • 3.3 zabbix监控Windows服务器总结
  • 4.Zabbix监控java应用
    • 4.1 客户端zabbix-agent配置
    • 4.2 代理端zabbix-proxy配置
    • 4.3 zabbix 监控 JAVA应用总结
  • 5.Zabbix监控SNMP(端口号:161)
    • 5.1 服务端zabbix-server配置
    • 5.2 Web页面配置
    • 5.3 Zabbix监控SNMP总结

参见部署Zabbix监控步骤详解

1.部署zabbix代理服务器

在这里插入图片描述

分布式监控的作用:

  • 分担server的集中式压力
  • 解决多机房之间的网络延时问题

agent --> proxy --> server

在这里插入图片描述

1.1 代理端zabbix-proxy配置

###关闭和禁止防火墙开机自启功能
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config

(1)修改proxy代理的主机名,并将IP地址与主机名之间的对应关系加入到/etc/hosts文件中

###修改代理服务器的主机名
hostnamectl set-hostname zbx-proxyvim /etc/hosts
###将以下IP地址与主机名之间的对应关系,分别加入到服务端和客户端的所有主机/etc/hosts文件中
192.168.80.20 zbx-server
192.168.80.20 zbx.gzy.com
192.168.80.40 zbx-agent01
192.168.80.30 zbx-agent02
192.168.80.10 zbx-proxy

在这里插入图片描述
(2)在服务端、客户端以及zabbix-proxy中设置计划性任务,每30分钟自动执行一次时间同步

crontab -e
###在所有主机中执行时间同步操作
*/30 * * * * /usr/sbin/ntpdate ntp.aliyun.com 

在这里插入图片描述

(3)设置zabbix的下载源,安装zabbix-proxy

rpm -ivh 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.repoyum install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy

在这里插入图片描述

(4)部署Mariadb yum源,安装并启动Mariadb数据库

#配置Mariadb yum源
cat > /etc/yum.repos.d/mariadb.repo << EOF
[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
EOFyum install -y mariadb-server mariadb###启动数据库
systemctl restart mariadb.service 
systemctl enable mariadb.service 
netstat -lntp | grep 3306

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

(5)初始化数据库

mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如123) -> 后面一路 Ymysql -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;

在这里插入图片描述

导入数据库信息;

cat /usr/share/zabbix-sql-scripts/mysql/proxy.sql | mysql -uroot -p123 zabbix_proxy

(6)修改zabbix-proxy配置文件

vim /etc/zabbix/zabbix_proxy.conf
Server=192.168.80.20				#32行,指定zabbix服务端的 IP 地址
Hostname=zbx-proxy					#42行,指定当前zabbix代理服务器的主机名
DBPassword=zabbix					#194行,指定当前数据库zabbix用户的密码

在这里插入图片描述

(7)在zabbix代理服务端,启动zabbix-proxy服务

systemctl start zabbix-proxy.service 
systemctl enable zabbix-proxy.service
systemctl status zabbix-proxy.service 
netstat -lntp | grep zabbix

在这里插入图片描述

(8)在Web页面配置agent代理

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用
点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

点击左边菜单栏【管理】中的【agent代理程序】,点击【创建代理】
【agent代理程序名称】输入 zbx-proxy
【系统代理程序模式】选择 主动式
【代理地址】输入 192.168.80.10
点击 【添加】

在这里插入图片描述

1.2 客户端zabbix-agent配置

(1)在客户端修改zabbix_agent2.conf配置文件

vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.80.10			#80行,指定zabbix代理服务器的IP地址
ServerActive=192.168.80.10		#133行,指定zabbix代理服务器的IP地址

在这里插入图片描述

(2)在Web页面配置

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】输入 zbx-agent01
【可见的名称】输入 zbx-agent01
【模板】搜索 Linux ,选择 Linux by Zabbix agent
【群组】选择 Linux server
【Interfaces】选择 客户端,【IP地址】输入 192.168.80.40,【端口】输入 10050
【由agent代理程序监测】选择 zbx-proxy
点击 【添加】

在这里插入图片描述

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】输入 zbx-agent02
【可见的名称】输入 zbx-agent02
【模板】搜索 Linux ,选择 Linux by Zabbix agent
【群组】选择 Linux server
【Interfaces】选择 客户端,【IP地址】输入 192.168.80.30,【端口】输入 10050
【由agent代理程序监测】选择 zbx-proxy
点击 【添加】

在这里插入图片描述

(3)分别在客户端和代理服务器上重启服务

###重启客户端服务
systemctl restart zabbix-agent2
netstat -lntp | grep zabbix###重启代理服务端
systemctl restart zabbix-proxy
netstat -lntp | grep zabbix

等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常;
在这里插入图片描述

在zabbix_proxy代理服务端查看日志;

tail -f /var/log/zabbix/zabbix_proxy.log

在这里插入图片描述
在zabbix_server服务端查看日志;

 tail -f /var/log/zabbix_server.log

在这里插入图片描述

1.3 zabbix-proxy总结

zabbix proxy代理服务器————代替zabbix server接收agent发来的监控数据,再汇总后转发给zabbix server端

2. 部署Zabbix高可用集群

此处的高可用仅仅针对Zabbix Server部分,数据库部分和前端部分需要自行采用各自领域的高可用解决方案。
在这里插入图片描述

2.1 主节点zabbix-server配置

(1)服务端配置
默认情况下,HA是关闭的。HA部分的配置在配置文件的最下面:High availability cluster parameters部分。

主节点Zabbix Server配置

###修改zabbix_server主机名
hostnamectl set-hostname zbx-server01
suvim /etc/zabbix/zabbix_server.conf
......
DBHost=192.168.80.20
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
......
HANodeName=zbx-server01					#设置为当前节点主机名或者IP地址,需保证同一集群中唯一
NodeAddress=192.168.80.20:10051			#设置为相对应的节点IP

在这里插入图片描述

在这里插入图片描述
(2)重新启动主节点zabbix-server服务

systemctl restart zabbix-server
netstat -lntp | grep zabbix

在这里插入图片描述

(3)主节点给数据库授权远程登录权限

mysql -uroot -p123
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;

在这里插入图片描述

2.2 备节点zabbix-server配置

###关闭和禁止防火墙开机自启功能
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config

(1)设置备节点与主节点时间同步

yum install -y ntpdate
ntpdate -u ntp.aliyun.com

(2)设置备节点主机名,并添加到/etc/hosts文件中

###备节点服务端主机名
hostnamectl set-hostname zbx-server02
suvim /etc/hosts
192.168.80.20 zbx.gzy.com
192.168.80.20 zbx-server01
192.168.80.90 zbx-server02
192.168.80.40 zbx-agent01
192.168.80.10 zbx-agent02

在这里插入图片描述

(3)安装依赖包,创建zabbix用户

yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ makeuseradd -s /sbin/nologin -M zabbix

在这里插入图片描述

(4)上传源码包zabbix-6.0.13.tar.gz到/opt目录,然后编译安装

cd /opt
rz -E
#zabbix-6.0.13.tar.gz
tar xf zabbix-6.0.13.tar.gzcd /opt/zabbix-6.0.13/./configure \
--sysconfdir=/etc/zabbix/ \
--enable-server \
--with-mysql \
--with-net-snmp \
--with-libxml2 \
--with-ssh2 \
--with-openipmi \
--with-zlib \
--with-libpthread \
--with-libevent \
--with-openssl \
--with-ldap \
--with-libcurl \
--with-libpcremake -j2 install

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

(5)检查版本

zabbix_server --version

(6)修改zabbix server配置文件,修改数据库的密码

vim /etc/zabbix/zabbix_server.conf 
......
LogFile=/var/log/zabbix_server.log		#38行,指定zabbix日志路径
DBPassword=zabbix					#123行,指定在zabbix监控中,登录zabbix数据库的密码###创建/var/log/zabbix_server.log文件,并设置所属主用户为zabbix
touch /var/log/zabbix_server.log
chown zabbix.zabbix /var/log/zabbix_server.log

(7)准备systemctl服务管理文件

vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix[Install]
WantedBy=multi-user.target

(8) 启动zabbix-server服务

systemctl start zabbix-server.service
systemctl enable zabbix-server.service
netstat -lntp | grep 10051			#zabbix_server默认监听10051端口

在这里插入图片描述
(9)修改备节点Zabbix Server的配置文件zabbix_server.conf

vim /etc/zabbix/zabbix_server.conf
......
DBHost=192.168.80.20
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
......
HANodeName=zbx-server02
NodeAddress=192.168.80.90:10051

(10)启动备节点zabbix-server服务

systemctl start zabbix-server
systemctl enable zabbix-server
netstat -lntp | grep zabbix

2.3 客户端zabbix_agent配置

vim /etc/zabbix/zabbix_agentd.conf 
......
Server=192.168.80.20,192.168.80.90
ServerActive=192.168.80.20;192.168.80.90			#注意,ServerActive 的连接符是‘;’ ,而不是‘,’

2.4 Zabbix高可用集群总结

zabbix HA:仅对zabbix server实现的高可用主备节点都要配置相同的 DBHost DBName DBUser DBPasswordHANodeName 指定集群节点名称,要求每个节点名称唯一NodeAddress  指定集群节点的 IP:端口

3.Zabbix 监控Windows系统

3.1 win10客户端配置

(1)下载Windows客户端Zabbix agent 2

https://cdn.zabbix.com/zabbix/binaries/stable/6.0/6.0.13/zabbix_agent2-6.0.13-windows-amd64-openssl.msi

(2)安装客户端,配置

双击客户端软件包开始安装
【Host name】:WIN10-SERVER
【Zabbix server IP/DNS】:192.168.80.20
【Agent listen port】:10050
【Server or Proxy for active checks】:192.168.80.20
勾选 【Add agent location to the PATH】

在这里插入图片描述

3.2 服务端Web页面配置

(1)在服务端 Web 页面添加主机,关联模板

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】输入 win10-agent01
【可见的名称】输入 win10-agent01-192.168.80.120
【模板】搜索 windows ,选择 Windows by Zabbix agent
【群组】输入 windows ,选择 windows(新)
【Interfaces】点击添加 客户端,【IP地址】输入 192.168.80.120,【端口】输入 10050

在这里插入图片描述
在这里插入图片描述
关闭win10主机,观察web页面的监控情况;

在这里插入图片描述

3.3 zabbix监控Windows服务器总结

zabbix 监控 Windows服务器   在 Windows服务器 上安装 Windows版本的 zabbix agent2 客户端应用,并配置

4.Zabbix监控java应用

在这里插入图片描述

4.1 客户端zabbix-agent配置

(1) 客户端开启java jmx的remote远程监控功能
上传tomcat软件包到/opt目录中

cd /opt
rz -E
#apache-tomcat-9.0.16.tar.gz
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat

(2)配置java jmx的remote远程监控功能

vim /usr/local/tomcat/bin/catalina.sh
......	#位置在 cygwin=false 前
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"           #tomcat服务器地址cygwin=false

在这里插入图片描述

(3)客户端启动tomcat服务,查看暴漏的JMX端口

/usr/local/tomcat/bin/startup.sh 
netstat -lntp | grep 12345

在这里插入图片描述

4.2 代理端zabbix-proxy配置

(1)服务端/代理端安装并启动zabbix-java-gateway服务
重点强调:由于我安装了proxy代理服务,因此我应该是在proxy代理服务上安装zabbix-java-gateway服务。

yum install -y zabbix-java-gatewaysystemctl restart zabbix-java-gateway.service
systemctl enable zabbix-java-gateway.service
netstat -lntp | grep 10052    #zabbix-java-gateway 默认监听 10052 端口

在这里插入图片描述

(2) 修改代理端zabbix_proxy.conf配置

vim /etc/zabbix/zabbix_proxy.conf 
......
JavaGateway=192.168.80.10		# 317行,指定 zabbix-java-gateway 的 IP 地址
StartJavaPollers=5				# 333行,开启用来收集java数据的poller进程的数量systemctl restart zabbix-proxy.service 
ps -ef | grep zabbix | grep java

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

(3) 在服务端 Web 页面添加主机,关联模板

点击左边菜单栏【配置】中的【主机】,点击 zbx-agent01
【模板】搜索 JMX ,选择 Generic Java JMX
【Interfaces】点击添加 JMX,【IP地址】输入 192.168.80.30,【端口】输入 12345
点击 【更新】
等待一段时间后 Zabbix server 的可用性增加了 JXM 监控方式

在这里插入图片描述

重启zabbix服务端、代理端以及客户端所有主机服务;
在这里插入图片描述
在zabbix_proxy代理服务端查看日志

tail -f /var/log/zabbix/zabbix_proxy.log

在这里插入图片描述
在zabbix_server服务端查看日志

tail -f /var/log/zabbix_server.log

在这里插入图片描述

4.3 zabbix 监控 JAVA应用总结

(1)需要在JAVA应用启动参数中添加 开启JMX端口的参数配置
-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"(2)在 zabbix server 或 zabbix proxy 安装 zabbix java gateway,并修改配置zabbix server 或 zabbix proxy的配置设置java gateway的地址和进程数
(3)在服务端web管理页面中修改被监控主机配置,添加 JMX 接口监控

5.Zabbix监控SNMP(端口号:161)

5.1 服务端zabbix-server配置

SNMP,简单网络管理协议,常用于监控网络设备,也能监控支持开启SNMP功能的设备(windows、linux、打印机等)。

(1)服务端安装snmp监控程序

yum install -y net-snmp net-snmp-utils

在这里插入图片描述

(2)修改snmp的配置文件,并启动服务

vim /etc/snmp/snmpd.conf
......
view    systemview    included   .1				#57行,添加此配置systemctl start snmpd
systemctl enable snmpd
netstat -lntp | grep 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 用于查看系统信息
-------------------------------------------------------

在这里插入图片描述

5.2 Web页面配置

(1)在Web页面配置snmp方式监控

点击左边菜单栏【配置】中的【主机】,点击 Zabbix server
【模板】取消链接并清理 现有模板 Linux by Zabbix agent
搜索 Generic,选择 Generic by SNMP
【群组】搜索 net,选择 net(新)
【Interfaces】点击【添加】选择 SNMP ,【IP地址】输入 127.0.0.1,【端口】输入 161
【SNMP version】选择 SNMPv2
【SNMP community】输入 {$SNMP_COMMUNITY}

在这里插入图片描述

点击上方菜单栏【宏】
选择【主机宏】
【宏】输入 {$SNMP_COMMUNITY},【值】 输入 public(要与网络设备设置的团体名一致),【描述】输入 网络设备snmp的团队名
点击 【更新】
等待一段时间后 Zabbix server 的可用性就变成了 SNMP 监控方式

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

5.3 Zabbix监控SNMP总结

zabbix 监控 支持SNMP协议的网络设备  
在服务端web管理页面中使用 SNMP 接口监控主机,默认端口为 161,并指定网络设备的团体名(设备暗号)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/15260.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【uniapp开发小程序】实现读取手机剪切板第一条,识别并以姓名/手机号/收货地址格式输出

效果图&#xff1a; 完整代码&#xff1a; <template><view class""><text>测试</text><view click"pasteContent()" class"content">点击此处可快速识别 您的收货信息</view></view> </templat…

WAIC2023记录

汤晓鸥 学生与工作&#xff1a; 微软布局大模型方向

Linux高频常用指令汇总

目录 认识 Linux 目录结构 绝对路径&#xff1a;以根目录开头的, 称为绝对路径 相对路径&#xff1a;不是根目录开头的,称为相对路径 ls pwd cd mkdir touch cat echo rm cp mv vim编辑器 1、进入文件 2、进行编辑模式 3、保存退出 重要的几个热键[Tab],[ct…

如何利用Spine制作简单的2D骨骼动画

在2D游戏中&#xff0c;我们经常看到各种各样的角色动画。动画能给游戏带来生机和灵气。创作一段美妙的动画&#xff0c;不仅需要强大的软件工具&#xff0c;更需要一套完善的工作流程。 Spine就是一款针对游戏开发的2D骨骼动画编辑工具。Spine 可以提供更高效和简洁 的工作流…

【电子学会】2023年05月图形化四级 -- 还原轨迹

还原轨迹 1. 准备工作 &#xff08;1&#xff09;删除小猫&#xff1b; &#xff08;2&#xff09;从角色库添加“Butterfly 1”角色&#xff1b; &#xff08;3&#xff09;保留白色背景。 2. 功能实现 &#xff08;1&#xff09;点击绿旗&#xff0c;清除舞台&#xff…

【Kafka】Kafka的Broker概述

【Kafka】Kafka的Broker概述 文章目录 【Kafka】Kafka的Broker概述1. Broker的工作流程1.1 Zookeeper存储的Kafka信息1.2 Broker 总体工作流程1.3 Broker重要参数 2. 节点服役和退役2.1 服役新节点2.2 退役旧节点 3. Kafka副本3.1 副本信息3.2 Leader选举流程3.3 Leader 和 Fol…

2023全新UI 哈希玛特HashMart全开源盲盒系统源码下载

ashMart&#xff08;哈希玛特&#xff09;是首款开源的面向生产的高性能、易开发的盲盒系统。它包含&#xff1a;首页看板、商品管理、订单管理、盲盒管理、系统管理、会员管理、权限管理、记录管理&#xff0c;并且拥有完善的搭建使用手册和接口文档。是帮助您快速落地盲盒商城…

基础IO及文件系统

一、系统接口介绍 1. open()命令 模式下&#xff1a;ctrlv进入visual block模式&#xff0c;然后选择J、K&#xff0c;然后输入大写i&#xff0c;然后输入//&#xff0c;最后按ESC&#xff0c;即可完成批量注释&#xff0c;按u取消。ctrl v 进入块选择模式&#xff0c;选中你要…

安装ps显示找不到MSVCP140.dll,三个修复方法可解决

在安装photoshop软件的时候&#xff0c;电脑报错“安装ps显示找不到MSVCP140.dll&#xff0c;无法继续执行此代码”&#xff0c;这个是由于Windows系统中的MSVCP140.dll文件丢失或者损坏&#xff0c;MSVCP140.dll是一种动态链接库文件&#xff0c;它是由Microsoft Visual C的编…

阿里云轻量服务器和ecs区别(最新更新)

阿里云服务器ECS和轻量应用服务器有什么区别&#xff1f;云服务器ECS是明星级云服务器&#xff0c;轻量应用服务器可以理解为简化版的云服务器ECS&#xff0c;轻量适用于单机应用&#xff0c;云服务器ECS适用于集群类高可用高容灾应用&#xff0c;阿里云百科来详细说下阿里云轻…

STM32网络通信Web Server中SSI和CGI的应用

介绍 最近由于项目功能需要&#xff0c;开始研究STM32 WebServer通信以及SSI和CGI应用方法。项目结束后&#xff0c;主要总结浏览器与STM32之间进行通行&#xff0c;STM32作为服务器而浏览器做为客户端进行通行。 文件介绍 此部分的代码是根据ST官方的Web Server例程的基础上…

微服务的划分姿势分享

微服务是一种理念&#xff0c;没有确切的定义和边界&#xff0c;好比设计原则&#xff0c;是属于抽象的概念。在定义不明确的情况下谈划分也是一种各说各话&#xff0c;具体问题需要具体分析。 微服务的划分矛盾在于粒度&#xff0c;如果粒度太大了&#xff0c;分和不分似乎都差…