当前位置: 首页 > news >正文

Linux下zabbix_proxy实施部署

简介

zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力.

zabbix-agent可以指向多个proxy或者server
zabbix-proxy不能指向多个server

zabbix proxy 使用场景:
1,监控远程区域设备
2,监控本地网络不稳定区域
3,当 zabbix 监控上千设备时,使用它来减轻 server 的压力
4,简化分布式监控的维护


1,安装mysql

1.1,创建用户
groupadd mysql
useradd -r -g mysql mysql
1.2,上传,解压安装包,并做软链接
tar zxf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql-5.7.31
ln -s mysql-5.7.31 mysql
1.3,编辑配置文件
cp /etc/my.cnf{,.bak}
cat >/etc/my.cnf<<\EOF[client]
port = 3306
socket = /data/3306/dbdata/mysql.sock[mysqldump]
quick
max_allowed_packet = 16M[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M[mysqld]
#=========================>[mysql Base]<=====================
skip_name_resolve
basedir = /usr/local/mysql
datadir = /data/3306/dbdata
socket = /data/3306/dbdata/mysql.sock
user = mysql
bind-address = 0.0.0.0
port = 3306
innodb_file_per_table = ON
default-storage-engine = InnoDB
character-set-server = utf8
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
interactive_timeout = 28800
wait_timeout = 28800
# transaction_isolation = REPEATABLE-READ
# skip-networking
# lower_case_table_names = 1
# skip-grant-tables
# skip-external-locking#========================>[mysql log related]<===============
log_bin = /data/3306/binlog/mysql-bin
binlog_format = mixed
expire_logs_days = 3
slow_query_log = 1
long_query_time = 1.5
slow_query_log_file = /data/3306/slowlog/mysql-slow.log
#general_log = ON
#general_log_file = /data/3306/slowlog/sql.log#========================>[ mysql Replication]<================
log_slave_updates = true
master-info-repository = TABLE
relay_log_info_repository = TABLE
relay_log = /data/3306/relaylog/relay-bin
relay_log_purge = OFF
sync_master_info = 1
sync_binlog = 1
slave_parallel_workers = 2
binlog_checksum = CRC32
master_verify_checksum = 1
slave_sql_verify_checksum = 1
binlog_rows_query_log_events = 1
server-id = 1
report_port = 3306
report_host = nlpt252-zabbix-mysql
replicate_wild_ignore_table=test.%
replicate_wild_ignore_table = information_schema.%
slave-skip-errors=1022,1032,1062
#read_only = 1#========================>[mysql perfomance]<===============
back_log = 600
max_connections = 3000
max_connect_errors = 6000
open_files_limit = 65535
table_open_cache = 128
max_allowed_packet = 16M
binlog_cache_size = 32768
max_heap_table_size = 1024M
tmp_table_size = 128M
join_buffer_size = 16M
sort_buffer_size = 16M
read_rnd_buffer_size = 8M 
read_buffer_size = 4M
thread_cache_size = 64
# query_cache_type = OFF
# query_cache_size = 8M
# query_cache_limit = 2M
key_buffer_size = 256M#======================>[mysql storage-engine]<==============
# InnoDB使用一个缓冲池来保存索引和原始数据, 不像MyISAM.
# 这里你设置越大,你在存取表里面数据时所需要的磁盘I/O越少.
# 在一个独立使用的数据库服务器上,你可以设置这个变量到服务器物理内存大小的80%
# 不要设置过大,否则,由于物理内存的竞争可能导致操作系统的换页颠簸.
# 注意在32位系统上你每个进程可能被限制在 2-3.5G 用户层面内存限制,
# 所以不要设置的太高.
innodb_buffer_pool_size = 2G
innodb_open_files = 1000# innodb使用后台线程处理数据页上的读写 I/O(输入输出)请求,根据你的 CPU 核数来更改,默认是4
innodb_write_io_threads = 4
innodb_read_io_threads =4
innodb_thread_concurrency = 0
innodb_purge_threads = 2
innodb_flush_log_at_trx_commit = 1
innodb_log_buffer_size = 2M
innodb_log_file_size = 32M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
bulk_insert_buffer_size = 8M
myisam_sort_buffer_size = 16M
EOF
1.4,创建所需的目录
mkdir -p /data/3306/{dbdata,logs,binlog,tmp,lib,undolog,relaylog,slowlog}
1.5,初始化mysql
cd /usr/local/mysql-5.7.31
bin/mysqld --initialize --basedir=/usr/local/mysql --datadir=/data/3306/dbdata --user=mysql
输出的最后一行 root@localhost: i#g0auLF17vW  ----默认root密码 
1.6,授权,添加环境变量
chown -R mysql.mysql /usr/local/mysql/*
chown -R mysql.mysql /data/3306/
echo "export PATH=$PATH:/opt/mysql/bin" >> /root/.bash_profile
source ~/.bash_profile
1.7,做启动项
ln -s /usr/local/mysql/bin/mysql /usr/bin
cp /usr/local/mysql-5.7.31/support-files/mysql.server /etc/init.d/mysql
#修改启动项
vim /etc/init.d/mysqlbasedir=/usr/local/mysql
datadir=/data/3306/dbdata
chmod +x /etc/init.d/mysql
chkconfig --add mysql
service mysql start
1.8,登录mysql,修改密码,创建用户和库
mysql -uroot -p
#修改密码
set password=password('zbx2013');
flush privileges;
#创建用户和建库
create database zabbix_proxy character set utf8 collate utf8_bin; 
create user 'zabbix_proxy'@'%' identified by 'Zbxpass'; 
grant all privileges on zabbix_proxy.* to 'zabbix_proxy'@'%'; 
flush privileges;
quit;

2,安装zabbix_proxy

2.1,解压,并创建用户
cd /usr/local/
tar zxvf zabbix-5.0.5.tar.gz
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
2.2,进去到导入数据
#进到数据的目录下
cd /usr/local/zabbix-5.0.5/database/mysql
登录mysql,并导入数据
mysql -uroot -p
use zabbix_proxy;
source schema.sql;
2.3,安装依赖包
yum -y install gcc libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel libevent libevent-devel 
2.4,编译并安装
cd /usr/local/zabbix-5.0.5/
#编译
./configure --prefix=/usr/local/zabbix_proxy \--enable-server \--enable-agent \--enable-proxy \--with-mysql \--enable-ipv6 \--with-net-snmp \--with-libcurl \--with-libxml2 \--with-unixodbc \--with-ssh2 \--with-openipmi \--with-openssl 
#安装
make install
2.5,编辑配置文件
cp /usr/local/zabbix_proxy/etc/zabbix_proxy.conf{,.bak}
cat >/usr/local/zabbix_proxy/etc/zabbix_proxy.conf<<\EOF
Server=10.135.81.4				#zabbix-server的地址 
ServerPort=10051
Hostname=XXXXX                  #主机名
LogFile=/usr/local/zabbix_proxy/logs/zabbix_proxy.log
LogFileSize=1			        #日志文件超过 1M 就进行切割。值为 0时表示不切割日志。 默认为 1
PidFile=/usr/local/zabbix_proxy/zabbix_proxy.pid
SocketDir=/usr/local/zabbix_proxy
DebugLevel=3
DBHost=10.135.82.3				#数据库主机
DBName=zabbix_proxy				#数据库用户名
DBUser=zabbix_proxy				#数据库用户名
DBPassword=Zbxpass@2023			#数据库密码
DBPort=3306						#数据库端口
DBSocket=/data/3306/dbdata/mysql.sock
ConfigFrequency=60
StartPollers=50
Timeout=30						#指定时间内,agent没把监控项的数据返回则超时
LogSlowQueries=3000
StartDiscoverers=5
CacheSize=4G						#保存监控项而占用的最大内存
HistoryCacheSize=1G				#历史数据缓存大小;尽量大的分配空间
StartPollersUnreachable=20
UnreachablePeriod=60
DataSenderFrequency=70		#主动模式下,proxy间隔多长时间向server发送数据;单位秒,范围1-3600
EOF 
2.6,授权
chown -R zabbix.zabbix /usr/local/zabbix_proxy
2.7,添加启动项,并启动
cat >/usr/lib/systemd/system/zabbix-proxy.service<<\EOF
[Unit]
Description=Zabbix Proxy
After=syslog.target
After=network.target[Service]
User=zabbix
Group=zabbix
Environment="CONFFILE=/usr/local/zabbix_proxy/etc/zabbix_proxy.conf"
Type=forking
Restart=on-failure
PIDFile=/usr/local/zabbix_proxy/zabbix_proxy.pid
KillMode=control-group
ExecStart=/usr/local/zabbix_proxy/sbin/zabbix_proxy -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0[Install]
WantedBy=multi-user.targetEOF
#加载
systemctl daemon-reload
#启动
systemctl start zabbix-proxy
#开机自启
systemctl enable zabbix-proxy
systemctl status zabbix-proxy
2.8,在页面配置

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

相关文章:

Linux下zabbix_proxy实施部署

简介 zabbix proxy 可以代替 zabbix server 收集性能和可用性数据,然后把数据汇报给 zabbix server,并且在一定程度上分担了zabbix server 的压力. zabbix-agent可以指向多个proxy或者server zabbix-proxy不能指向多个server zabbix proxy 使用场景: 1&#xff0c;监控远程区…...

Rust之错误处理(二):带结果信息的可恢复错误

开发环境 Windows 10Rust 1.67.1VS Code 1.75.1项目工程 这里继续沿用上次工程rust-demo 带结果信息的可恢复错误 大多数错误并没有严重到需要程序完全停止的程度。有时&#xff0c;当一个函数失败时&#xff0c;它的原因是你可以很容易地解释和应对的。例如&#xff0c;如…...

[ vulhub漏洞复现篇 ] Drupal Core 8 PECL YAML 反序列化任意代码执行漏洞(CVE-2017-6920)

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

如何将数据库结构导入到word

在navicat执行查询语句 SELECT COLUMN_NAME 备注, COLUMN_COMMENT 名称, COLUMN_TYPE 数据类型, false as 是键 FROM INFORMATION_SCHEMA.COLUMNS where -- wx 为数据库名称&#xff0c;到时候只需要修改成你要导出表结构的数据库即可 table_schema yuncourt_ai AND -- articl…...

FreeRTOS内存管理 | FreeRTOS十五

目录 说明&#xff1a; 一、FreeRTOS内存管理 1.1、动态分配与用户分配内存空间 1.2、标准C库动态分配内存缺点 1.3、FreeRTOS的五种内存管理算法优缺点 1.4、heap_1内存管理算法 1.5、heap_2内存管理算法 1.6、heap_3内存管理算法 1.7、heap_4内存管理算法 1.8、hea…...

【数字电路】数字电路的学习核心

文章目录前言一、电子电路知识体系二、数电的学习目标三、数字电路分析例子四、数字电路设计例子总结前言 用数字信号完成对数字量进行算术运算和逻辑运算的电路称为数字电路&#xff0c;或数字系统。由于它具有逻辑运算和逻辑处理功能&#xff0c;所以又称数字逻辑电路。现代…...

day45【代码随想录】动态规划之完全平方数、单词拆分、打家劫舍、打家劫舍 II

文章目录前言一、完全平方数&#xff08;力扣279&#xff09;二、单词拆分&#xff08;力扣139&#xff09;三、打家劫舍&#xff08;力扣198&#xff09;四、打家劫舍 II前言 1、完全平方数 2、单词拆分 3、打家劫舍 4、打家劫舍 II 一、完全平方数&#xff08;力扣279&#…...

java程序,springboot程序 找不到主类,找不到符号解决思路

文章目录问题解决方案一.可以尝试clean掉maven依赖&#xff0c;然后重新启动二.右键工程&#xff0c;选择maven然后重新加载工程&#xff0c;接着再启动试试三.删掉工程中的services.iml文件&#xff0c;重新配置后接着再启动试试四. 终极方案清除idea缓存&#xff0c;重启idea…...

AntD-tree组件使用详析

目录 一、selectedKeys与onSelect 官方文档 代码演示 onSelect 注意事项 二、expandedKeys与onExpand 官方文档 代码演示 onExpand 注意事项 三、loadedKeys与onLoad和onExpand 官方文档 代码演示 onExpand与onLoad&#xff1a;​ 注意事项 四、loadData …...

spring的事务控制

1.调用这个方法的对象是否是spring的代理对象&#xff08;$CGLIB结尾的&#xff09; 2.这个方法是否是加了Transactional注释 都符合才可以被事物控制 如果调用方法的对象没有被事物控制&#xff0c;那么被调用的方法即便是加了Transactional也是没用的 事务失效情况&#xf…...

4.如何靠IT逆袭大学?

学习的动力不止于此&#xff1a; IT逆袭 这两天利用工作空余时间读了贺利坚老师的《逆袭大学——传给 IT 学子的正能量》&#xff0c;感触很多&#xff0c;有些后悔没有好好利用大学时光。 不过人都是撞了南墙再回头的&#xff0c;吃一堑长一智。 这本书无论你是工作了还是…...

提供网络可测试的接口【公共Webservice】

提供网络可测试的接口 1、腾讯QQ在线状态 WEB 服务 Endpoint: qqOnlineWebService Web 服务 Disco: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?disco WSDL: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl 腾讯QQ在线状态 WEB 服…...

【深入理解计算机系统】库打桩 - 阅读笔记

文章目录库打桩机制1. 编译时打桩2. 链接时打桩3. 运行时打桩库打桩机制 Linux 链接器支持一个很强大的技术&#xff0c;称为库打桩 (library interpositioning)&#xff0c;它允许你截获对共享库函数的调用&#xff0c;取而代之执行自己的代码。使用打桩机制&#xff0c;你可以…...

RocketMQ高性能原理分析

目录一、读队列与写队列1.概念介绍2.读写队列个数关系分析二、消息持久化1.持久化文件介绍2.持久化结构介绍&#xff1a;三、过期文件删除1.如何判断文件过期2.什么时候删除过期文件四、高效文件写1.零拷贝技术加速文件读写2.文件顺序写3.刷盘机制五、 消息主从复制六、负载均衡…...

前端面试当中CDN会问啥------CDN详细教程来啦

⼀、CDN 1. CDN的概念 CDN&#xff08;Content Delivery Network&#xff0c;内容分发⽹络&#xff09;是指⼀种通过互联⽹互相连接的电脑⽹络系统&#xff0c;利 ⽤最靠近每位⽤户的服务器&#xff0c;更快、更可靠地将⾳乐、图⽚、视频、应⽤程序及其他⽂件发送给⽤户&…...

刷题记录:牛客NC19429红球进黑洞 区间拆位异或+区间求和

传送门:牛客 题目描述: 区间求和区间异或k 输入: 10 10 8 5 8 9 3 9 8 3 3 6 2 1 4 1 1 2 6 2 9 10 8 1 1 7 2 4 7 8 2 8 8 6 2 2 3 0 1 1 2 2 9 10 4 1 2 3 输出: 33 50 13 13一道区间求和区间异或的题目,可以称得上是线段树的一道好题 首先对于异或运算来说,并不满足…...

信息数智化招采系统源码——信息数智化招采系统

​ ​ 信息数智化招采系统 服务框架&#xff1a;Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构&#xff1a;VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术&#xff1a;Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monit…...

20230217使AIO-3399J开发板上跑通Android11系统

20230217使AIO-3399J开发板上跑通Android11系统 2023/2/17 15:45 1、解压缩SDK&#xff1a;rk3399-android-11-r20211216.tar.xzrootrootrootroot-X99-Turbo:~$ tar xvf rk3399-android-11-r20211216.tar.xz 2、编译U-boot&#xff1a; rootrootrootroot-X99-Turbo:~/rk3399-a…...

Java 基础面试题——面向对象

目录1.面向对象和面向过程有什么区别&#xff1f;2.面向对象的有哪些特征?3.静态变量和实例变量有什么区别&#xff1f;4.Java 对象实例化顺序是怎样的&#xff1f;5.浅拷贝和深拷贝的区别是什么&#xff1f;5.1.浅拷贝5.2.深拷贝5.3.总结6.Java 中创建对象的方式有哪几种&…...

PDF文件替换内容(电子签章),依赖免费pdfbox

首先提前准备&#xff0c;压入如下依赖 <!-- https://mvnrepository.com/artifact/org.apache.pdfbox/pdfbox --> <dependency> <groupId>org.apache.pdfbox</groupId> <artifactId>pdfbox</artifactId>…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA

浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求&#xff0c;本次涉及的主要是收费汇聚交换机的配置&#xff0c;浪潮网络设备在高速项目很少&#xff0c;通…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

Android写一个捕获全局异常的工具类

项目开发和实际运行过程中难免会遇到异常发生&#xff0c;系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler&#xff0c;它是Thread的子类&#xff08;就是package java.lang;里线程的Thread&#xff09;。本文将利用它将设备信息、报错信息以及错误的发生时间都…...

TCP/IP 网络编程 | 服务端 客户端的封装

设计模式 文章目录 设计模式一、socket.h 接口&#xff08;interface&#xff09;二、socket.cpp 实现&#xff08;implementation&#xff09;三、server.cpp 使用封装&#xff08;main 函数&#xff09;四、client.cpp 使用封装&#xff08;main 函数&#xff09;五、退出方法…...

数据挖掘是什么?数据挖掘技术有哪些?

目录 一、数据挖掘是什么 二、常见的数据挖掘技术 1. 关联规则挖掘 2. 分类算法 3. 聚类分析 4. 回归分析 三、数据挖掘的应用领域 1. 商业领域 2. 医疗领域 3. 金融领域 4. 其他领域 四、数据挖掘面临的挑战和未来趋势 1. 面临的挑战 2. 未来趋势 五、总结 数据…...

STL 2迭代器

文章目录 1.迭代器2.输入迭代器3.输出迭代器1.插入迭代器 4.前向迭代器5.双向迭代器6.随机访问迭代器7.不同容器返回的迭代器类型1.输入 / 输出迭代器2.前向迭代器3.双向迭代器4.随机访问迭代器5.特殊迭代器适配器6.为什么 unordered_set 只提供前向迭代器&#xff1f; 1.迭代器…...

Vue 实例的数据对象详解

Vue 实例的数据对象详解 在 Vue 中,数据对象是响应式系统的核心,也是组件状态的载体。理解数据对象的原理和使用方式是成为 Vue 专家的关键一步。我将从多个维度深入剖析 Vue 实例的数据对象。 一、数据对象的定义方式 1. Options API 中的定义 在 Options API 中,使用 …...