【Distributed】分布式监控系统zabbix应用(二)

这篇具有很好参考价值的文章主要介绍了【Distributed】分布式监控系统zabbix应用(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、部署 Zabbix 代理服务器

1. 分布式监控的作用

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

结构:agent ——> proxy ——> server

2. 部署过程

systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-proxy

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2.1 设置 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.repo

yum install -y zabbix-proxy-mysql zabbix-sql-scripts zabbix-selinux-policy

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2.2 部署数据库

  要求 MySQL 5.7 或 Mariadb 10.5 及以上版本

#配置 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
EOF

yum install -y mariadb-server mariadb

systemctl enable --now mariadb

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#初始化数据库
mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y

mysql -u root -pabc123

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#创建数据库并指定字符集
CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#创建 zabbix 数据库用户并授权
GRANT all ON zabbix_proxy.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2.3 导入数据库信息

rpm -ql zabbix-sql-scripts 		#查询 sql 文件的位置

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2.4 修改 zabbix-proxy 配置文件

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2.5 启动 zabbix-proxy

systemctl start zabbix-proxy
systemctl enable zabbix-proxy

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2.6 在所有主机上配置 hosts 解析

vim /etc/hosts
192.168.145.30 zbx-server
192.168.145.15 zbx-agent01
192.168.145.45 zbx-agent02
192.168.145.60 zbx-proxy

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2.7 在 Web 页面配置 agent 代理

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

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2.8 配置 agent 使用 proxy

#在客户端修改 agent2 配置文件
vim /etc/zabbix/zabbix_agent2.conf
......
Server=192.168.145.60			#80行,指定 zabbix 代理服务器的 IP 地址
ServerActive=192.168.145.60		#133行,指定 zabbix 代理服务器的 IP 地址

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#分别在客户端和代理服务器上重启服务
systemctl restart zabbix-agent2

systemctl restart zabbix-proxy

等待一段时间后,点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常

在服务端查看日志
tail -f /var/log/zabbix/zabbix_proxy.log

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

二、部署 Zabbix 高可用集群

  官方的高可用仅仅针对 Zabbix Server 部分,数据库部分和前端部分需要自行采用各自领域的高可用解决方案。

1. 服务端配置

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

#主节点 Zabbix Server 配置
vim /etc/zabbix/zabbix_server.conf
......
DBHost=192.168.145.30					#87行
DBName=zabbix							#99行
DBUser=zabbix							#115行
DBPassword=zabbix						#123行
......
HANodeName=zbx-server01					#974行,设置为当前节点主机名
NodeAddress=192.168.145.30:10051		#984设置为节点IP


systemctl restart zabbix-server

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#主节点给数据库授权远程登录权限
mysql -uroot -pabc123
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#备节点 Zabbix Server 配置
vim /etc/zabbix/zabbix_server.conf
......
DBHost=192.168.145.30					#87行
DBName=zabbix							#99行
DBUser=zabbix							#115行
DBPassword=zabbix						#123行
......
HANodeName=zbx-server02					#974行,设置为当前节点主机名
NodeAddress=192.168.145.30:10051		#984设置为节点IP


systemctl restart zabbix-server

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

2. 客户端配置

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

3. 测试

vim /etc/hosts
192.168.145.30 zbx.abc.com
192.168.145.75 zbx.def.com
192.168.145.15 zbx-agent01
192.168.145.45 zbx-agent0

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

三、Zabbix 监控 Windows 系统

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.145.30
【Agent listen port】:10050
【Server or Proxy for active checks】:192.168.145.30
勾选 【Add agent location to the PATH】

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

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

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

四、Zabbix 监控 java 应用

1.客户端开启 java jmxremote 远程监控功能

#上传 tomcat 软件包到 /opt 目录中
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#配置 java jmxremote 远程监控功能
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.145.15"           #tomcat服务器地址

cygwin=false

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#启动服务,查看端口
/usr/local/tomcat/bin/startup.sh 

netstat -lntp | grep 12345

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

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 端口

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

3.修改服务端 zabbix-server 配置

vim /etc/zabbix/zabbix_server.conf
......
JavaGateway=127.0.0.1			# 317行,指定 zabbix-java-gateway 的 IP 地址
StartJavaPollers=5				# 333行,开启用来收集java数据的poller进程的数量

systemctl restart zabbix-server

ps -ef | grep zabbix_server | grep java

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

4.在服务端 Web 页面添加主机,关联模板

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

#监控其它 java 应用
java -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" \
-jar XXX.jar

五、Zabbix 监控 SNMP

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

1.服务端安装 snmp 监控程序

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

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

vim /etc/snmp/snmpd.conf
......
view    systemview    included   .1				#57行,添加此配置

systemctl start snmpd

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

3.使用 snmpwalk 命令测试

snmpwalk -v 2c -c public 127.0.0.1 sysname

SNMPv2-MIB::sysName.0 = STRING: zbx-server
-------------------------------------------------------

–v 1|2c|3:指定SNMP协议版本,v2c通过团体名作为认证,v3通过用户名和密码认证
–c:指定团体名(设备间的暗号)

sysname:为 snmp 的 key,用于查看系统名称;SysDesc 用于查看系统信息
-------------------------------------------------------

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

4.在 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}

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

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

【Distributed】分布式监控系统zabbix应用(二),Distributed,分布式,zabbix

总结

1. Zabbix 如何邮件报警

1)在服务端web管理页面的 【管理】-【报警媒介类型】中设置报警类型和报警内容
2)在 【User settings】-【profile】-【报警媒介】中设置 类型 收件人 启用时间 故障严重级别
3)在【配置】-【动作】-Trigger actions】中添加 报警触发器和操作内容
4)测试

2. Zabbix 和 Prometheus 区别

zabbix 优点:

  1、监控模版可以包含多个指标,在不涉及自定义采集脚本等其他方式的情况下,使用SNMP、Zabbix Agent 的情况下可以做到开箱即用;

  2、指标和触发器(Zabbix的告警规则叫触发器)的关联交互挺好用;

  3、宏和宏变量的使用可以大大的提高告警的便捷性,基本可以做到每个label 不同的阈值;

  4、Zabbix 的指标采集挺丰富的,包括采集间隔,是否要一直采集还是每天固定时间段来采集;

  5、Zabbix 的管理页面,这个不愧是企业级软件,Zabbix 很大一部分的优势是靠它来体现的。

zabbix缺点:

  1、Zabbix 架构原生是单点,没有集群方案,官方推荐的是使用keepalived 来进行3个点的负载均衡,这个方案在现在来说还是有很大的优化空间的。

  2、Zabbix 的数据存储使用关系型数据库,在 Zabbix 刚发布的时候,这个没的选择,但放在现在这是个很大的问题,当指标数量增加以后,数据的存储空间、查询时间都变成了一个恐怖的事情。当前使用了6TiB的空间来存储了每帧80万条数据,采集间隔一分钟,详细数据1个月,历史数据大概1年半的数据,Prometheus 存储比这个节省多了。当然zabbix 也可以支持更大的数据收集规模,只是不知道资源会按什么比例增长。

  3、升级复杂,体验了4.4.0升级到4.4.10以后,升级太麻烦,使用Zabbix 你的团队最好配置一个DBA 来处理各种问题。

  4、Zabbix 和 Grafana 的结合不太好,语句写起来挺生硬的,也能用,但是不如Prometheus 灵活。

Prometheus 的优点:

  1、结构简单,但是可以水平扩展,通过和thanos 结合可以做到无缝的水平扩展。不喜欢thanos 也可以使用自带的联邦功能进行扩展,Prometheus 的思想就是:我尽量简单但是好用,剩下的功能尽管放给其他人做

  2、采用时序数据库,大大的节省了存储空间,并且提升了查询效率。我使用3TiB 的空间存储了每帧300万条数据,30秒采集一次,大约有120万条数据是15秒采集一次,详细数据存2个月,5分钟降准数据存半年,一小时降准数据存一年,而且我还不需要DBA 参与。

  3、采集配置简单,简单配置以后就可以收取丰富的指标,不用自己一个指标一个指标的添加。

  4、原生支持收集很多服务暴露的监控数据,Zabbix 很难收集应用自身提供的监控数据。

Prometheus 的缺点:

  当前告警规则无法快捷的支持每个label 一个阈值,要么统一阈值,要么一个label 一条规则,量大了以后真的不好管理。文章来源地址https://www.toymoban.com/news/detail-534076.html

到了这里,关于【Distributed】分布式监控系统zabbix应用(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式监控之Zabbix6.0监控系统一

    作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行浏览整个网站所有的服务器状态 可以在web前端方便的监

    2024年02月12日
    浏览(46)
  • Zabbix分布式监控系统概述、部署、自定义监控项、邮件告警

    目录 前言 (一)业务架构 (二)运维架构 一、Zabbix分布式监控平台 (一)Zabbix概述 (二)Zabbix监控原理 (三)Zabbix 6.0 新特性 1. Zabbix server高可用 2. Zabbix 6.0 LTS新增Kubernetes监控功能 (四)Zabbix 6.0 功能组件 1.Zabbix Server (1)Zabbix datdbdse (2)Zabbix web 2. Zabbix Agent (1)主动

    2024年01月21日
    浏览(37)
  • 分布式 | 如何搭建 DBLE 的 JVM 指标监控系统

    本篇文章采用 Docker 方式搭建 Grafana + Prometheus 实现对 DBLE 的 JVM 相关指标的监控系统。 作者:文韵涵 爱可生 DBLE 团队开发成员,主要负责 DBLE 需求开发,故障排查和社区问题解答。 本文来源:原创投稿 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编

    2024年02月12日
    浏览(44)
  • Golang链路追踪:实现高效可靠的分布式系统监控

    在当今互联网应用的架构中,分布式系统已经成为主流。分布式系统的优势在于能够提供高可用性、高并发性和可扩展性。然而,随着系统规模和复杂性的增加,系统的监控和调试变得越来越困难。为了解决这个问题,链路追踪技术应运而生。 本文将介绍链路追踪的概念和原

    2024年02月08日
    浏览(34)
  • 基于物联网云平台的分布式光伏监控系统的设计与实现

     贾丽丽 安科瑞电气股份有限公司 上海嘉定 201801    摘要 :针对国内光伏发电监控系统的研究现状,文中提出了基于云平台的光伏发电监控体系。构建基于B/S架构的数据实时采集与推送,以SSH(struts+spring+hibernate)作为Web开发框架,开发基于云平台的光伏发电远程监控系统。

    2024年02月08日
    浏览(35)
  • 分布式系统架构设计之分布式消息队列的水平扩展性、安全可用性以及监控与调优

    随着业务的快速发展和数据的不断增长,单一的消息队列服务器往往难以满足高并发、高可用和高吞吐量的需求,因此,如何实现消息队列的水平扩展成为了一个重要的问题。这部分我将从分区、副本、负载均衡等关键概念出发,一起探讨如何实现分布式消息队列的水平扩展

    2024年02月01日
    浏览(37)
  • Zabbix监控系统详解2:基于Proxy分布式实现Web应用监控及Zabbix 高可用集群的搭建

    分担 server 的集中式压力; 解决多机房之间的网络延时问题。 1.3.1 zabbix-server 整个监控体系中 最核心的组件 ,它负责接收客户端发送的报告信息,所有配置、 统计数据及操作数据都由它组织。 1.3.2 Database 所有配置信息和zabbix收集到的数据都存储在数据库中。 1.3.3 zabbix-pro

    2024年02月07日
    浏览(35)
  • 完美的分布式监控系统 Prometheus与优雅的开源可视化平台 Grafana

    prometheus与grafana之间是相辅相成的关系。简而言之Grafana作为可视化的平台,平台的数据从Prometheus中取到来进行仪表盘的展示。而Prometheus这源源不断的给Grafana提供数据的支持。 Prometheus是一个开源的系统监控和报警系统,能够监控和告警各种系统,包括网络、存储、服务器和

    2024年02月07日
    浏览(37)
  • 1+X 云计算运维与开发(中级)案例实战——Zabbix分布式监控系统

    学而不思则罔,思而不学则殆。 IP 主机名 节点 192.168.200.10/24 zabbix-server Server节点 192.168.200.20/24 zabbix-agent Agent节点 这个实验非常简单,就是最基本的配置yum源,安装,修改配置文件,启动,然后在图形化界面操作。 1.配置yum源 2.安装服务 [ server节点 : lamp+zabbix-server] [ agent节点

    2024年02月04日
    浏览(44)
  • 完美的分布式监控系统——Prometheus(普罗米修斯)与优雅的开源可视化平台——Grafana(格鲁夫娜)

            prometheus与grafana之间是相辅相成的关系。作为完美的分布式监控系统的Prometheus,就想布加迪威龙一样示例和动力强劲。在猛的车也少不了仪表盘来观察。于是优雅的可视化平台Grafana出现了。         简而言之Grafana作为可视化的平台,平台的数据从Prometheus中取到来进

    2024年02月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包