Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Zabbix 系统到底应该怎样优化?

Zabbix 系统到底应该怎样优化?

作者头像
用户8824291
发布于 2022-02-25 09:07:14
发布于 2022-02-25 09:07:14
92600
代码可运行
举报
文章被收录于专栏:学习乐园学习乐园
运行总次数:0
代码可运行

Zabbix架构

在讲Zabbix优化之前,先来看看Zabbix Server 的逻辑架构图:

对于上图中,架构组件的描述:

Zabbix进程

  • Self-Monitoring:用于收集Zabbix系统内部的监控信息;
  • Configuration syncer:用于将配置文件中的配置信息同步到内存中缓存;
  • Timer:用于处理触发器中与时间相关的函数和维护模式的进程;
  • History syncer:用于写历史数据表的进程;
  • Escalator:用于处理Action中的步骤的进程;
  • Housekeeper:用于清理过期的历史数据的进程;
  • Db watchdog:用于监视Zabbix系统的数据库状态,当数据库状态变为不可用时,发送警告信息(服务器代理端不支持这类型进程)。

Zabbix Poller

  • Poller:用于普通的被动监控项目的轮询;
  • ICMP pinger:用于定期的进行ICMP PING检查;
  • IPMI poller:用于定期进行IPMI监控项目的检查;
  • Unreachable poller:用于轮询不可达的设备;
  • Proxy poller:用于服务器代理的被动轮询;
  • Trapper:用于处理主动采集、陷入以及分布式节点间或服务器代理的通信;
  • Java poller:用于轮询Java监控项目;
  • Http poller:用于轮询Web类的监控项目;
  • Snmp trapper:用于轮询Snmp/trap类的监控项目;
  • Discovery:用于自动发现设备的进程;
  • Vmware Collector:负责从VMware服务进程中收集数据(服务器代理端不支持这种类型的进程);
  • Alerter:用于发送报警通知进程。

优化内容

优化Zabbix架构

常用的架构: 说明:Zabbix最简单的架构,常用于监控主机比较少的情况下。

分布式架构: Server-Proxy-Agentd模式。 说明:Zabbix分布式架构,常用于监控主机比较多的情况下,使用Zabbix Proxy进行分布式监控,有效的减轻了Zabbix Server端的压力。

Zabbix Server/Zabbix Proxy配置优化

调整配置文件:Zabbix_Server.conf Zabbix进程参数调整:

1 2 3 4 5 6

StartPollers=80 StartPingers=10 StartPollersUnreachable=80 StartIPMIPollers=10 StartTrappers=20 StartDBSyncers=8

值得注意的是,当Zabbix的Pollers数量过多时(超过limit默认值1024),需要对系统的limit的参数大小进行修改。

1 2 3 4 5

shell> vi /etc/security/limit.conf * hard nofile 65536 * soft nofile 65536 * hard nproc 65536 * soft nproc 65536

Zabbix In-Memory Cache参数优化(以下值仅做参考):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ValueCacheSize=256M
HistoryIndexCacheSize = 64M
TrendCacheSize=64M
HistoryCacheSize=128M
CacheSize=128M
VMwareCacheSize=64M

优化Zabbix的数据库(MySQL)

调整MySQL配置文件:my.cnf或my.ini,在[mysqld]酌情修改参数:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94

[client] port = 3306 socket = /var/lib/mysql/mysql.sock [mysql] prompt="\u@mysqldb \R:\m:\s [\d]> " no-auto-rehash [mysqld] user= mysql port = 3306 datadir = /data/mysql/ socket = /var/lib/mysql/mysql.sock pid-file = mysqldb.pid character-set-server = utf8mb4 skip_name_resolve = 1 # Timestamp explicit_defaults_for_timestamp = 1 # Connections back_log = 1024 max_connections = 512 max_connect_errors = 5120 innodb_thread_concurrency = 16 # Limit open_files_limit = 65535 innodb_open_files = 65535 # Query Cache query_cache_type = 0 query_cache_size = 0 # binary logs server-id = 3306001 binlog_format = row log-bin = /data/mysql/mysql-binlog expire_logs_days = 7 sync_binlog = 1 max_binlog_size = 1G binlog_cache_size = 4m max_binlog_cache_size = 1G # slow query slow_query_log = 1 long_query_time = 2 slow_query_log_file = /data/mysql/slow.log # Timeout interactive_timeout = 600 wait_timeout = 600 # Engine default-storage-engine = innodb # Buffer key_buffer_size = 32M read_buffer_size = 1M sort_buffer_size = 1M read_rnd_buffer_size = 1M tmp_table_size = 32M join_buffer_size = 16M max_heap_table_size = 32M max_tmp_tables = 48 thread_cache_size = 32 # Time log_timestamps = SYSTEM # Tablespace & File I/O innodb_data_file_path = ibdata1:1G:autoextend innodb_file_per_table = 1 # Redo Log innodb_flush_log_at_trx_commit = 1 innodb_log_file_size = 256M innodb_log_files_in_group = 2 innodb_log_buffer_size = 16M # Innodb innodb_buffer_pool_size = 8G innodb_buffer_pool_instances = 8 innodb_flush_method = O_DIRECT innodb_change_buffer_max_size = 50 innodb_max_dirty_pages_pct = 30 innodb_buffer_pool_load_at_startup = 1 innodb_buffer_pool_dump_at_shutdown = 1 innodb_io_capacity = 500 innodb_io_capacity_max= 1000 innodb_support_xa = 0 innodb_rollback_on_timeout = 1

优化Zabbix监控项

优化监控项的数据采集方式,由被动方式改为主动模式(Passive mode -> Active mode),主动模式的优势:

  • 可以用户NAT到设备后面;
  • 数据缓冲;
  • 减轻服务器的负载,Poller轮询零负载;
  • 更加安全,代理端不需要监测任何端口。
  • 降低监控项的轮询时间;
  • 删除无用的监控项。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CentOS 7上yum安装Zabbix 3.0 (应用和数据库分离版)
Zabbix安装虽然简单,但实践过程中却总是问题不断,上次分享过《CentOS 7上yum安装Zabbix 3.0(单机版)》(文末链接畅读),有人在前端和数据库部署在两台机器时遇到了问题
Zabbix
2021/02/03
4220
zabbix 数据库 MySQL
通过操作 zabbix 后端MySQL数据库实现web前端的配置,并开启数据库的语句查询日志功能,记录 zabbix前端 web 操作对应后端数据库的查询语句以便熟悉数据库查询语句。
Kevin song
2021/04/13
6040
zabbix 数据库 MySQL
CentOS7x64上yum安装Zabbix 3.0,一次全部搞定,100%成功
某大型企业云计算架构师,多年Zabbix,Python,Linux使用经验,社区群活跃核心成员之一 。
Zabbix
2021/02/03
2950
Mysql配置文件 4c8g优化
测试语句 mysqlslap -uroot -p123456 --concurrency=100 --iterations=30 --auto-generate-sql --auto-generate-sql-load-type=mixed --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=5000
陈不成i
2021/06/11
6720
Centos 7 安装Zabbix 3.4 原
https://www.zabbix.com/documentation/3.4/zh/manual/installation/requirements
拓荒者
2019/03/11
5030
Centos 7 安装Zabbix 3.4 
                                                                            原
docker封装mysql镜像
一、概述 直接使用官方的镜像 docker pull mysql:5.7 但是mysqld.cnf并没有优化,还是默认的。 二、封装镜像 创建目录 # dockerfile目录 mkdir -p /opt/dockerfile/mysql # 持久化目录 mkdir -p /data/mysql/data /opt/dockerfile/mysql 目录结构如下: ./ ├── dockerfile ├── mysqld.cnf └── run.sh dockerfile FROM mysql:5.7 AD
py3study
2020/03/17
1.6K0
# client配置项
MySQL配置参数多达数百个,不过常用的并不多,很多配置我们不需要关心,只要掌握一些必要的配置项就能解决99%的问题,当遇见了那1%的问题时mysql可能已经不能满足你的需求了。
用户1175783
2020/05/09
7390
Zabbix 4.0性能调优配置详述
如何衡量Zabbix的性能情况?一台基础配置的Zabbix到底能监控多少主机,能使用监控多少监控项?性能瓶颈出在哪里?如何优化配置?
星哥玩云
2022/07/27
2K0
Zabbix 4.0性能调优配置详述
Mysql配置文件 16c64g优化
一.说明 以下配置适合16核64G及以上的配置,会让性能稍微提高1/3左右。 二.配置 my.cnf [client] port = 3306 socket = /usr/local/mysql/mysql.sock [mysqld] #基础设置 port = 3306 bind-address = 0.0.0.0 lower_case_table_names=1 character-set-server=utf8mb4 default-storage-engine=innoDB basedir=/usr/
陈不成i
2021/06/11
1.2K0
Mysql优化系列(0)--总结性梳理
对于一个网站来说,在运行很长一段时间后,数据库瓶颈问题会越来越暴露出来。作为运维人员,对数据库做必要的优化十分重要! 下面总结以往查阅到的以及自己工作中的一些优化操作经验,并根据OSI七层模型从下往上进行优化mysql数据库记录。 一:物理层面 1、cpu:2-16个 2*4双四核,L1L2越大越好 2、内存:越大越好 3、磁盘:SAS或者固态 300G*12磁盘越多IO越高 raid 0>10>5>1 4、网卡:千兆 5、slave的配置最好大于等于master 二、系统配置 如下,配置系统内核参数
洗尽了浮华
2018/01/22
7850
Mysql优化系列(0)--总结性梳理
Zabbix 分区优化
文章主要介绍了如何通过修改MySQL配置文件中的PARTITION参数来达到提升性能的目的。具体来说,可以通过设置合适的PARTITION值来减少分区数,从而提高查询速度。同时,建议使用InnoDB引擎,并合理配置参数,以达到最佳性能。
腾讯云TStack
2017/11/09
3.6K0
MySQL配置文件配置
虚拟机环境:VirtualBox 6.0.24 操作系统:Oracle Linux Server release 6.5 x86_64 MySQL版本:5.7.33
全栈程序员站长
2022/08/22
5.8K0
企业环境下MySQL5.5调优
参照 腾讯云 和ucloud my.cnf 以及网上找的资料 整理出来的 my.cnf , 以后修改任何参数都会继续更新,目前是在测试阶段; 物理机 : ubuntu14.04 配置 8core 32G mysql : 5.5.62 调优配置如下: [client] port = 3306 socket = /var/run/mysqld/mysqld.sock default-character-set = utf8 [mysqld_safe] socke
仙人技术
2020/04/29
5900
MySQL 8.0.19 Linux平台安装 Part 2
cat /data/mysql/data/mysql-error.log |grep password
bsbforever
2020/08/18
4410
linux、mysql、nginx、tomcat 环境下压力测试的主要调试参数
一、linux 系统内核参数 /etc/sysctl.conf文件常用参数 net.core.netdev_max_backlog = 32768 #允许送到队列的数据包的最大数目 net.core.rmem_max = 8388608 #SOCKET读缓存区大小 net.core.wmem_max = 8388608 #SOCKET写缓存区大小 net.core.somaxconn = 32768 #系统中每一个端口最大的监听队列的长度 net.core.
小小科
2018/05/03
1.2K0
mysql 常用配置及优化
port = 3306 # 端口号 socket = /var/lib/mysql/mysql.sock # 套接字文件(localhost登陆会自动生成)
用户5760343
2019/11/05
1.8K0
技术分享 | 将GreatSQL添加到系统systemd服务
systemd 是Linux系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程,systemd被设计用来改进原来sysvinit中的多个缺点。
老叶茶馆
2021/07/09
1.3K0
Mysql优化
1 . 优化不总是对一个单纯的环境进行!还很可能是一个复杂的已投产的系统。优化手段本来就有很大的风险,只不过你没能力意识到和预见到!
iginkgo18
2021/06/21
1.5K0
mariadb 内存占用优化
我们在使用mariadb的时候发现有时候不能启动起来,在使用过程中mariadb占用的内存很大。
机智的程序员小熊
2019/01/15
5.4K0
mariadb 内存占用优化
麒麟 V10 SP2 系统 二进制包安装MySQL 8.0.30
Select Operating System 选择Linux-Generic,Select OS Version 中有两选择,第一个是选择glibc2.12(X86_64),第二个是选择glibc2.17(X86_64)
Kevin song
2022/11/19
2.5K0
麒麟 V10 SP2 系统 二进制包安装MySQL 8.0.30
相关推荐
CentOS 7上yum安装Zabbix 3.0 (应用和数据库分离版)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验