分布式应用:Zabbix代理服务器与SNMP监控

目录

一、理论

1.分布式监控

 2.Zabbix代理服务器部署

3.配置 agent 使用 proxy

4.设置 Zabbix-SNMP 监控

二、实验

1.Zabbix代理服务器部署

2.配置 agent 使用 proxy

3.设置 Zabbix-SNMP 监控

三、总结


一、理论

1.分布式监控

(1)作用:
分担 server 的集中式压力
解决多机房之间的网络延时问题

 2.Zabbix代理服务器部署

(1)关闭防火墙、修改主机名

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

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

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repoyum install -y zabbix-proxy-mysql zabbix-get

(3)安装 zabbix 所需的数据库

yum install -y mariadb-server mariadbsystemctl enable --now mariadbmysql_secure_installation         #初始化数据库,并设置密码,如 abc123

(4)添加数据库用户,以及 zabbix 所需的数据库信息

mysql -u root -pabc123CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;
GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
flush privileges;

(5)导入数据库信息

rpm -ql zabbix-proxy-mysql 		#查询 sql 文件的位置zcat /usr/share/doc/zabbix-proxy-mysql-5.0.36/schema.sql.gz | mysql -uroot -pabc123 zabbix_proxy

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

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

(7)启动 zabbix-proxy

systemctl start zabbix-proxy
systemctl enable zabbix-proxy

(8)在所有主机上配置 hosts 解析

192.168.204.214 zbx-server
192.168.204.215 zbx-agent01
192.168.204.216 zbx-proxy

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

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

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

3.配置 agent 使用 proxy

(1) 在客户端修改 agent2 配置文件

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

(2) 在 Web 页面配置

点击左边菜单栏【配置】中的【主机】,点击【创建主机】
【主机名称】设置成 zbx-agent01
【可见的名称】设置成 zbx-agent01
【群组】选择 Linux server
【Interfaces】的【IP地址】设置成 192.168.204.215
【由agent代理程序监测】选择 zbx-proxy再点击上方菜单栏【模板】
【Link new tamplates】搜索 Linux ,选择 Template OS Linux by Zabbix agent
点击 【添加】

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

systemctl restart zabbix-agent2systemctl restart zabbix-proxy点击左边菜单栏【配置】中的【主机】刷新,查看客户端主机监控状态正常在服务端查看日志
tail -f /var/log/zabbix/zabbix_proxy.log

4.设置 Zabbix-SNMP 监控

(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

(3)使用 snmp 命令测试

snmpwalk -v 2c -c public 127.0.0.1 sysname
SNMPv2-MIB::sysName.0 = STRING: zbx-server
-------------------------------------------------------
–v 1|2c|3:指定SNMP协议版本
–c:指定共同体字符串
sysname:为 snmp 的 key
-------------------------------------------------------

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

点击左边菜单栏【配置】中的【主机】,点击 Zabbix server
【Interfaces】点击【添加】选择 SNMP ,端口设置成 161
点击上方菜单栏【模板】,【链接的模板】中的所有 agent 模板选择取消链接并清理
再在【Link new templates】中搜索 Linux SNMP,选择 Template OS Linux SNMP
点击 【更新】,等待一段时间后 Zabbix server	的可用性就变成了 SNMP 监控方式。

二、实验

1.Zabbix代理服务器部署

(1)关闭防火墙、修改主机名

 

 

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

 

(3)安装 zabbix 所需的数据库

 

(4)添加数据库用户,以及 zabbix 所需的数据库信息

 

  

 

(5)导入数据库信息

 

 

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

 

 

 

(7)启动 zabbix-proxy

 

(8)在所有主机上配置 hosts 解析

 

 

 

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

点击左边菜单栏【配置】中的【动作】,勾选自动注册规则,点击 禁用

 点击左边菜单栏【配置】中的【主机】,勾选原有的客户端主机,点击 删除

 

 

 

2.配置 agent 使用 proxy

(1) 在客户端修改 agent2 配置文件

指定 zabbix 代理服务器的 IP 地址

 指定 zabbix 代理服务器的 IP 地址

 

(2) 在 Web 页面配置

 

 

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

 

 

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

 

3.设置 Zabbix-SNMP 监控

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

 

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

 

(3)使用 snmp 命令测试

 

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

 

 取消链接并清理

 SNMP已启动

 

三、总结

分布式监控作用:
分担 server 的集中式压力
解决多机房之间的网络延时问题

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

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

相关文章

Docker安装Mysql、Redis、nginx、nacos等环境

相关系列文章: 1、DockerHarbor私有仓库快速搭建 2、DockerJenkinsHarbor 1、服务器 Ip部署内容说明192.168.88.7Docker、Mysql、redis、nacosnode1192.168.88.8Docker、Mysql、redis、nacosnode2192.168.88.9Docker、redis、nacos、nginxnode3 2、安装PXC8.0 Mys…

PHP实现在线进制转换器,10进制,2、4、8、16、32进制转换

1.接口文档 2.laravel实现代码 /*** 进制转换计算器* return \Illuminate\Http\JsonResponse*/public function binaryConvertCal(){$ten $this->request(ten);$two $this->request(two);$four $this->request(four);$eight $this->request(eight);$sixteen …

echarts 横向柱状图

<template><div ref"chart" style"height: 100%"></div> </template><script> import * as echarts from "echarts"; var cate ["质量通病1", "质量通病2", "质量通病3", "质…

“可一学院”区块链学习平台正式启动,助力BSV技术普及与传播

2023年8月8日&#xff0c;上海可一澈科技有限公司&#xff08;以下简称“可一科技”&#xff09; 正式发布区块链学习平台“可一学院”。“可一学院” 立足于BSV区块链技术本源&#xff0c;汇集了多层次的专业课程和学习资源&#xff0c;致力于打造一个适合各类人群使用的一站式…

数据结构——双向链表

双向链表实质上是在单向链表的基础上加上了一个指针指向后面地址 单向链表请参考http://t.csdn.cn/3Gxk9 物理结构 首先我们看一下两种链表的物理结构 我们可以看到&#xff1a;双向在单向基础上加入了一个指向上一个地址的指针&#xff0c;如此操作我们便可以向数组一样操作…

基于Crow的C++的WebSocket服务器

基于Crow的C的WebSocket服务器 一、WebSocket 1.1 什么是WebSocket WebSocket 是一种持久化的通讯协议。 很多网站为了实现推送技术&#xff0c;所用的技术都是轮询&#xff0c;这种解决方案是指由浏览器每隔一段时间向服务器发出 HTTP 请求&#xff0c;然后服务器返回最新的…

SpringBoot复习:(23)ImportSelector的用法

功能&#xff1a; 定一一个字符串数组&#xff0c;每个元素都是一个类的全限定名&#xff08;包名类名&#xff09;&#xff0c;把这些类的实例注册到Spring 容器。 一、定义要注册的类&#xff1a; package cn.edu.tju.service;import org.springframework.context.annotatio…

Qt自定义对话框

介绍 自定义框主要通过对现有对话框QDialog类的派生&#xff0c;根据需求编写成员函数、重载信号函数、槽函数&#xff0c;进而实现在主QWidget中点击某个按钮后&#xff0c;一个对话框的弹出 流程 简化创建派生类 最后点击完成即可。 自定义ui界面&#xff0c;编写成员函数…

产品体系架构202308版

1.前言 当我们不断向前奔跑时&#xff0c;需要回头压实走过的路。不断扩张的同时把相应的内容沉淀下来&#xff0c;为后续的发展铺垫基石。 不知从何时起&#xff0c;产品的架构就面向了微服务/中台化/前后端分离/低代码化/分布式/智能化/运行可观测化的综合体&#xff0c;让…

Git与Github常用方法

目录 1. Github基本使用方法2. Git使用方法3. git、VS code、Github联合使用方法4. Git配置Github远程仓库SSH密钥5. 常见问题 1. Github基本使用方法 仓库&#xff08;Repository&#xff09;&#xff1a;Github上用来存放代码的空间&#xff0c;包含代码、文档和其他文件。提…

逆向破解学习-经典贪吃蛇大作战_1.00

试玩游戏 有支付取消关键字 找静态代码 找到关键字 ![在这里插入图片描述](https://img-blog.csdnimg.cn/5d9f3cc57d18477794197ea5fae8c5ba.png Hook代码 import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XC_MethodReplacement; import de.r…

Java 本地缓存之王:Caffeine 保姆级教程

一、Caffeine介绍 1、缓存介绍 缓存(Cache)在代码世界中无处不在。从底层的CPU多级缓存&#xff0c;到客户端的页面缓存&#xff0c;处处都存在着缓存的身影。缓存从本质上来说&#xff0c;是一种空间换时间的手段&#xff0c;通过对数据进行一定的空间安排&#xff0c;使得下…

vxe-grid\table 自定义动态列排序设置

实现动态加载的表格数据&#xff0c;根据设置动态控制指定的某些字段排序功能&#xff1b;如下图所示&#xff1b; 代码实现&#xff1a;标签内添加属性&#xff1b; :sort-config"{trigger:cell, defaultSort: {field: , order: desc}, orders:[desc, asc]}" sort-…

nginx使用心得

nginx入门 四个用途&#xff1a; 正向代理&#xff1a;内网用户访问internet 反向代理&#xff1a;对internet用户屏蔽内网服务器&#xff0c;往往与负载均衡连用。 负载均衡 web server 启停 启动nginx&#xff08;指定配置文件&#xff09; sudo nginx -c /export/home/c…

OneFlow 中的 Softmax

Softmax 是深度学习模型中的常见算子。PyTorch 的 Softmax 算子直接调用 cuDNN 的接口。而 OneFlow 内部针对输入数据的类别数量&#xff0c;采用3个 kernel 来分别处理&#xff0c;在多数情况下都可以获得比 cuDNN 更优的性能表现。下面对其实现进行介绍。OneFlow 的静态分层结…

快速修复应用程序中的问题的利器—— Android热修复

热修复技术在Android开发中扮演着重要的角色&#xff0c;它可以帮助开发者在不需要重新发布应用程序的情况下修复已经上线的应用程序中的bug或者添加新的功能。 一、热修复是什么&#xff1f; 热修复&#xff08;HotFix&#xff09;是一种在运行时修复应用程序中的问题的技术…

-bash: fork: retry: Resource temporarily unavailable 问题解决

错误提示&#xff1a; -bash: fork: retry: Resource temporarily unavailable 错误分析&#xff1a;之前已经出现过这种资源限制的报错提醒&#xff0c;然后整个系统可用的连接数就已经用完了&#xff0c;无法使用工具来获取系统信息&#xff0c;所以将运行的任务脚本kill后开…

研发工程师玩转Kubernetes——初始化容器和普通容器的区别

在现实场景中&#xff0c;我们为了降低业务耦合&#xff0c;往往会将一个大大的功能拆解成若干独立的小功能。比如主要业务启动前&#xff0c;需要将其所依赖的各种资源都拉下来。一种做法是在一个Pod内完成上述两步操作&#xff0c;但是会导致业务逻辑不够独立&#xff1b;另外…

【剑指Offer 58】翻转单词顺序,Java解密。

LeetCode 剑指Offer 75道练习题 文章目录 剑指Offer:翻转单词顺序示例:限制:解题思路:剑指Offer:翻转单词顺序 【题目描述】 输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a stu…

JS 原型与继承2

//***-、原型、原型链、构造函数 prototype、 proto_、constructor function Foo(){this.a1} var foo new Foo(); Object.getPrototypeOf(foo);//访问对象原型 效果等同于&#xff0c;foo. proto &#xff0c;只是更推荐使用 Es6的 Object.getPrototypeof()方式 // construct…