一、 Zabbix架构优化
1. Server/Agent模式
2. Server/Proxy/Agent模式
二、 Item的工作模式及Trigger的优化
1. Zabbix中的Item默认为被动模式,可以通过设置为主动模式来提升服务器性能
#Zabbix中的Item默认为被动模式,可以通过设置为主动模式来提升服务器性能
vim /usr/local/etc/zabbix_agentd.conf
# 注释该行
#Server=127.0.0.1
#禁止被动监控
StartAgents=0
# 填写zabbix server监控服务器IP,必须注释Server=127.0.0.1
ServerActive=Zabbix-Server IP地址
# 必须要和zabbix web端配置的监控主机名称一致
# 通过Hostname来通信,而不是IP地址
Hostname=web2
#取消注释,默认120秒检测一次
RefreshActiveChecks=120
2. 还可以采用Trapper的工作模式,通过zabbix_sender程序发送数据,此模式也具有很高的性能
三、 Zabbix数据库的优化(只针对Zabbix)
1. 对数据库本身的优化,采用更高版本数据库
2. 对数据库本身的参数进行调优配置
innodb_buffer_pool_size
尽可能越高越好,上限为可用内存75%左右
innodb_buffer_pool_instances
在 MySQL5.5,调为4,在MySQL5.6中调为8或者16
innodb_flush_log_at_trx_commit = 0
是折中可显著改善写入吞吐量的配置
innodb_io_capacity
置这个是为了你的磁盘 IO 子系统能处理更多的写 iops
SSD建议最低位2000
转速低的硬盘建议500-800
query_cache_size = 0
query_cache_type = 0
禁止查询缓存
以下为配置示例,仅供参考,服务器配置为 16核32
#back_log = 600
#query_cache_size = 128M
#max_connections = 3000
#max_allowed_packet = 32M
#innodb_thread_concurrency=16
server-id = 1
#read_only = 1
innodb_buffer_pool_size = 1024M
innodb_log_buffer_size = 16M
#key_buffer_size = 64M
key_buffer_size = 128M
query_cache_size = 256M
tmp_table_size = 128M
binlog_format = mixed
skip-external-locking
skip-name-resolve
max_allowed_packet = 16M
thread_cache_size = 256
table_open_cache = 4096
back_log = 1024
max_connect_errors = 100000
interactive_timeout = 1800
wait_timeout = 1800
max_connections = 2048
sort_buffer_size = 16M
join_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 16M
binlog_cache_size = 2M
thread_stack = 192K
max_heap_table_size = 128M
myisam_sort_buffer_size = 128M
bulk_insert_buffer_size = 256M
open_files_limit = 65535
query_cache_limit = 2M
slow-query-log
long_query_time = 2
expire_logs_days = 3
max_binlog_size = 1000M
slave_parallel_workers = 4
log-slave-updates
binlog_ignore_db = mysql
replicate_wild_ignore_table = mysql.%
sync_binlog = 1
innodb_file_per_table = 1
innodb_flush_method = O_DIRECT
innodb_buffer_pool_instances = 4
innodb_log_file_size = 512M
innodb_log_files_in_group = 3
innodb_open_files = 4000
innodb_read_io_threads = 8
innodb_write_io_threads = 8
innodb_thread_concurrency = 8
innodb_io_capacity = 2000
innodb_io_capacity_max = 6000
innodb_lru_scan_depth = 2000
innodb_max_dirty_pages_pct = 85
innodb_flush_log_at_trx_commit = 2
3. 对Zabbix数据库结构进行优化,采用诸如 表分区 的方案
表分区在删除一个区间的数据时速度非常快,如删除200GB数据,也只需要1分钟
因此,Zabbix数据库结构优化一般就采用表分区的方式
方法是对history*、trends*等表进行分表操作,从而降低Zabbix数据库压力
实操:
环境:zabbix5.0,mysql5.7
3.1 清除表数据(truncate清理表数据,optimize释放表空间)
若数据量不大,可以不清表(建议清理)
vim /var/lib/mysql/sql_submeter/clear_table.sql
truncate table history;
optimize table history;
truncate table history_str;
optimize table history_str;
truncate table history_log;
optimize table history_log;
truncate table history_text;
optimize table history_text;
truncate table history_uint;
optimize table history_uint;
truncate table trends;
optimize table trends;
truncate table trends_uint;
optimize table trends_uint;
mysql -uroot -p zabbix
mysql> use zabbix;
# 执行sql文件
mysql> source /var/lib/mysql/sql_submeter/clear_table.sql;
3.2 zabbix 数据库导入存储过程
先编辑一个SQL脚本执行导入四个存储过程,此脚本复制zabbix官网提供的SQL脚本
以下脚本需要修改的内容
CALL partition_maintenance(SCHEMA_NAME, 'history', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_log', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_str', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_text', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_uint', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'trends', 30, 24, 12);
CALL partition_maintenance(SCHEMA_NAME, 'trends_uint', 30, 24, 12);
举例:
('history', 33, 24, 14);
history :表名
30:历史数据保留时间 单位天
24:每多长时间分表 单位小时
14:每次运行脚本分多少张表 单位张
vim /var/lib/mysql/sql_submeter/partition.sql
DELIMITER $$
CREATE PROCEDURE `partition_create`(SCHEMANAME varchar(64), TABLENAME varchar(64), PARTITIONNAME varchar(64), CLOCK int)
BEGIN
/*
SCHEMANAME = The DB schema in which to make changes
TABLENAME = The table with partitions to potentially delete
PARTITIONNAME = The name of the partition to create
*/
/*
Verify that the partition does not already exist
*/
DECLARE RETROWS INT;
SELECT COUNT(1) INTO RETROWS
FROM information_schema.partitions
WHERE table_schema = SCHEMANAME AND table_name = TABLENAME AND partition_description >= CLOCK;
IF RETROWS = 0 THEN
/*
1. Print a message indicating that a partition was created.
2. Create the SQL to create the partition.
3. Execute the SQL from #2.
*/
SELECT CONCAT( "partition_create(", SCHEMANAME, ",", TABLENAME, ",", PARTITIONNAME, ",", CLOCK, ")" ) AS msg;
SET @sql = CONCAT( 'ALTER TABLE ', SCHEMANAME, '.', TABLENAME, ' ADD PARTITION (PARTITION ', PARTITIONNAME, ' VALUES LESS THAN (', CLOCK, '));' );
PREPARE STMT FROM @sql;
EXECUTE STMT;
DEALLOCATE PREPARE STMT;
END IF;
END$$
DELIMITER ;
DELIMITER $$
CREATE PROCEDURE `partition_drop`(SCHEMANAME VARCHAR(64), TABLENAME VARCHAR(64), DELETE_BELOW_PARTITION_DATE BIGINT)
BEGIN
/*
SCHEMANAME = The DB schema in which to make changes
TABLENAME = The table with partitions to potentially delete
DELETE_BELOW_PARTITION_DATE = Delete any partitions with names that are dates older than this one (yyyy-mm-dd)
*/
DECLARE done INT DEFAULT FALSE;
DECLARE drop_part_name VARCHAR(16);
/*
Get a list of all the partitions that are older than the date
in DELETE_BELOW_PARTITION_DATE. All partitions are prefixed with
a "p", so use SUBSTRING TO get rid of that character.
*/
DECLARE myCursor CURSOR FOR
SELECT partition_name
FROM information_schema.partitions
WHERE table_schema = SCHEMANAME AND table_name = TABLENAME AND CAST(SUBSTRING(partition_name FROM 2) AS UNSIGNED) < DELETE_BELOW_PARTITION_DATE;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
/*
Create the basics for when we need to drop the partition. Also, create
@drop_partitions to hold a comma-delimited list of all partitions that
should be deleted.
*/
SET @alter_header = CONCAT("ALTER TABLE ", SCHEMANAME, ".", TABLENAME, " DROP PARTITION ");
SET @drop_partitions = "";
/*
Start looping through all the partitions that are too old.
*/
OPEN myCursor;
read_loop: LOOP
FETCH myCursor INTO drop_part_name;
IF done THEN
LEAVE read_loop;
END IF;
SET @drop_partitions = IF(@drop_partitions = "", drop_part_name, CONCAT(@drop_partitions, ",", drop_part_name));
END LOOP;
IF @drop_partitions != "" THEN
/*
1. Build the SQL to drop all the necessary partitions.
2. Run the SQL to drop the partitions.
3. Print out the table partitions that were deleted.
*/
SET @full_sql = CONCAT(@alter_header, @drop_partitions, ";");
PREPARE STMT FROM @full_sql;
EXECUTE STMT;
DEALLOCATE PREPARE STMT;
SELECT CONCAT(SCHEMANAME, ".", TABLENAME) AS `table`, @drop_partitions AS `partitions_deleted`;
ELSE
/*
No partitions are being deleted, so print out "N/A" (Not applicable) to indicate
that no changes were made.
*/
SELECT CONCAT(SCHEMANAME, ".", TABLENAME) AS `table`, "N/A" AS `partitions_deleted`;
END IF;
END$$
DELIMITER ;
DELIMITER $$
CREATE PROCEDURE `partition_maintenance`(SCHEMA_NAME VARCHAR(32), TABLE_NAME VARCHAR(32), KEEP_DATA_DAYS INT, HOURLY_INTERVAL INT, CREATE_NEXT_INTERVALS INT)
BEGIN
DECLARE OLDER_THAN_PARTITION_DATE VARCHAR(16);
DECLARE PARTITION_NAME VARCHAR(16);
DECLARE OLD_PARTITION_NAME VARCHAR(16);
DECLARE LESS_THAN_TIMESTAMP INT;
DECLARE CUR_TIME INT;
CALL partition_verify(SCHEMA_NAME, TABLE_NAME, HOURLY_INTERVAL);
SET CUR_TIME = UNIX_TIMESTAMP(DATE_FORMAT(NOW(), '%Y-%m-%d 00:00:00'));
SET @__interval = 1;
create_loop: LOOP
IF @__interval > CREATE_NEXT_INTERVALS THEN
LEAVE create_loop;
END IF;
SET LESS_THAN_TIMESTAMP = CUR_TIME + (HOURLY_INTERVAL * @__interval * 3600);
SET PARTITION_NAME = FROM_UNIXTIME(CUR_TIME + HOURLY_INTERVAL * (@__interval - 1) * 3600, 'p%Y%m%d%H00');
IF(PARTITION_NAME != OLD_PARTITION_NAME) THEN
CALL partition_create(SCHEMA_NAME, TABLE_NAME, PARTITION_NAME, LESS_THAN_TIMESTAMP);
END IF;
SET @__interval=@__interval+1;
SET OLD_PARTITION_NAME = PARTITION_NAME;
END LOOP;
SET OLDER_THAN_PARTITION_DATE=DATE_FORMAT(DATE_SUB(NOW(), INTERVAL KEEP_DATA_DAYS DAY), '%Y%m%d0000');
CALL partition_drop(SCHEMA_NAME, TABLE_NAME, OLDER_THAN_PARTITION_DATE);
END$$
DELIMITER ;
DELIMITER $$
CREATE PROCEDURE `partition_verify`(SCHEMANAME VARCHAR(64), TABLENAME VARCHAR(64), HOURLYINTERVAL INT(11))
BEGIN
DECLARE PARTITION_NAME VARCHAR(16);
DECLARE RETROWS INT(11);
DECLARE FUTURE_TIMESTAMP TIMESTAMP;
/*
* Check if any partitions exist for the given SCHEMANAME.TABLENAME.
*/
SELECT COUNT(1) INTO RETROWS
FROM information_schema.partitions
WHERE table_schema = SCHEMANAME AND table_name = TABLENAME AND partition_name IS NULL;
/*
* If partitions do not exist, go ahead and partition the table
*/
IF RETROWS = 1 THEN
/*
* Take the current date at 00:00:00 and add HOURLYINTERVAL to it. This is the timestamp below which we will store values.
* We begin partitioning based on the beginning of a day. This is because we don't want to generate a random partition
* that won't necessarily fall in line with the desired partition naming (ie: if the hour interval is 24 hours, we could
* end up creating a partition now named "p201403270600" when all other partitions will be like "p201403280000").
*/
SET FUTURE_TIMESTAMP = TIMESTAMPADD(HOUR, HOURLYINTERVAL, CONCAT(CURDATE(), " ", '00:00:00'));
SET PARTITION_NAME = DATE_FORMAT(CURDATE(), 'p%Y%m%d%H00');
-- Create the partitioning query
SET @__PARTITION_SQL = CONCAT("ALTER TABLE ", SCHEMANAME, ".", TABLENAME, " PARTITION BY RANGE(`clock`)");
SET @__PARTITION_SQL = CONCAT(@__PARTITION_SQL, "(PARTITION ", PARTITION_NAME, " VALUES LESS THAN (", UNIX_TIMESTAMP(FUTURE_TIMESTAMP), "));");
-- Run the partitioning query
PREPARE STMT FROM @__PARTITION_SQL;
EXECUTE STMT;
DEALLOCATE PREPARE STMT;
END IF;
END$$
DELIMITER ;
DELIMITER $$
CREATE PROCEDURE`partition_maintenance_all`(SCHEMA_NAME VARCHAR(32))
BEGIN
CALL partition_maintenance(SCHEMA_NAME, 'history', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_log', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_str', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_text', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_uint', 30, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'trends', 30, 24, 12);
CALL partition_maintenance(SCHEMA_NAME, 'trends_uint', 30, 24, 12);
END$$
说明:以上配置为保存30天数据,如果需要修改保存天数,需要调整存储过程:partition_maintenance_all
更新zabbix数据库名为 partition_maintenance_all 的存储过程
# 进入zabbix数据库
use zabbix;
# 查看zabbix数据库的存储过程
show procedure status where db='zabbix';
# 删除partition_maintenance_all存储过程
drop procedure partition_maintenance_all;
# 手动新建存储过程
DELIMITER $
CREATE PROCEDURE`partition_maintenance_all`(SCHEMA_NAME VARCHAR(32))
BEGIN
CALL partition_maintenance(SCHEMA_NAME, 'history', 60, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_log', 60, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_str', 60, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_text', 60, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'history_uint', 60, 24, 14);
CALL partition_maintenance(SCHEMA_NAME, 'trends', 60, 24, 12);
CALL partition_maintenance(SCHEMA_NAME, 'trends_uint', 60, 24, 12);
END$$
注意:一定将修改内容同步至定时任务中指定执行的脚本
3.3 导入分表sql
# 导入第3步最后的存储过程sql到数据库
mysql -uzabbix -p zabbix < partition.sql
# 调用存储过程
mysql -uzabbix -pZD.zabbix123 zabbix -e"CALL partition_maintenance_all('zabbix')" &>/var/log/partition.log
# 查看是否生成相关数据库表
[root@OP sql_submeter]# ll -ah /var/lib/mysql/data/zabbix/trend*
-rw-r----- 1 mysql mysql 8.6K 10月 18 15:08 /var/lib/mysql/data/zabbix/trends.frm
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110180000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110190000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:21 /var/lib/mysql/data/zabbix/trends#P#p202110200000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110210000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110220000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110230000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:21 /var/lib/mysql/data/zabbix/trends#P#p202110240000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110250000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110260000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110270000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:21 /var/lib/mysql/data/zabbix/trends#P#p202110280000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends#P#p202110290000.ibd
-rw-r----- 1 mysql mysql 8.6K 10月 18 15:08 /var/lib/mysql/data/zabbix/trends_uint.frm
-rw-r----- 1 mysql mysql 96K 10月 18 15:39 /var/lib/mysql/data/zabbix/trends_uint#P#p202110180000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends_uint#P#p202110190000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:22 /var/lib/mysql/data/zabbix/trends_uint#P#p202110200000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends_uint#P#p202110210000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends_uint#P#p202110220000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends_uint#P#p202110230000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:22 /var/lib/mysql/data/zabbix/trends_uint#P#p202110240000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends_uint#P#p202110250000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends_uint#P#p202110260000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends_uint#P#p202110270000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:22 /var/lib/mysql/data/zabbix/trends_uint#P#p202110280000.ibd
-rw-r----- 1 mysql mysql 96K 10月 18 15:20 /var/lib/mysql/data/zabbix/trends_uint#P#p202110290000.ibd
[root@OP sql_submeter]# ll -ah /var/lib/mysql/data/zabbix/history*
-rw-r----- 1 mysql mysql 8.5K 10月 18 15:08 /var/lib/mysql/data/zabbix/history.frm
-rw-r----- 1 mysql mysql 8.7K 10月 18 15:08 /var/lib/mysql/data/zabbix/history_log.frm
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_log#P#p202110180000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_log#P#p202110190000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_log#P#p202110200000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_log#P#p202110210000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_log#P#p202110220000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_log#P#p202110230000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_log#P#p202110240000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_log#P#p202110250000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_log#P#p202110260000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_log#P#p202110270000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_log#P#p202110280000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_log#P#p202110290000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_log#P#p202110300000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_log#P#p202110310000.ibd
-rw-r----- 1 mysql mysql 80M 10月 18 15:46 /var/lib/mysql/data/zabbix/history#P#p202110180000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history#P#p202110190000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history#P#p202110200000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history#P#p202110210000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history#P#p202110220000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history#P#p202110230000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history#P#p202110240000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history#P#p202110250000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history#P#p202110260000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history#P#p202110270000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history#P#p202110280000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history#P#p202110290000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history#P#p202110300000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history#P#p202110310000.ibd
-rw-r----- 1 mysql mysql 8.5K 10月 18 15:08 /var/lib/mysql/data/zabbix/history_str.frm
-rw-r----- 1 mysql mysql 480K 10月 18 15:44 /var/lib/mysql/data/zabbix/history_str#P#p202110180000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_str#P#p202110190000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_str#P#p202110200000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_str#P#p202110210000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_str#P#p202110220000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_str#P#p202110230000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_str#P#p202110240000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_str#P#p202110250000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_str#P#p202110260000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_str#P#p202110270000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_str#P#p202110280000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_str#P#p202110290000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_str#P#p202110300000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_str#P#p202110310000.ibd
-rw-r----- 1 mysql mysql 8.5K 10月 18 15:08 /var/lib/mysql/data/zabbix/history_text.frm
-rw-r----- 1 mysql mysql 7.0M 10月 18 15:45 /var/lib/mysql/data/zabbix/history_text#P#p202110180000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_text#P#p202110190000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_text#P#p202110200000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_text#P#p202110210000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_text#P#p202110220000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_text#P#p202110230000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_text#P#p202110240000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_text#P#p202110250000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_text#P#p202110260000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_text#P#p202110270000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_text#P#p202110280000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_text#P#p202110290000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_text#P#p202110300000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_text#P#p202110310000.ibd
-rw-r----- 1 mysql mysql 8.5K 10月 18 15:08 /var/lib/mysql/data/zabbix/history_uint.frm
-rw-r----- 1 mysql mysql 104M 10月 18 15:46 /var/lib/mysql/data/zabbix/history_uint#P#p202110180000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_uint#P#p202110190000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_uint#P#p202110200000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_uint#P#p202110210000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_uint#P#p202110220000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_uint#P#p202110230000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:19 /var/lib/mysql/data/zabbix/history_uint#P#p202110240000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_uint#P#p202110250000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_uint#P#p202110260000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_uint#P#p202110270000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_uint#P#p202110280000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_uint#P#p202110290000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:21 /var/lib/mysql/data/zabbix/history_uint#P#p202110300000.ibd
-rw-r----- 1 mysql mysql 112K 10月 18 15:20 /var/lib/mysql/data/zabbix/history_uint#P#p202110310000.ibd
3.4 添加定时任务
# 每天执行
vim /etc/crontab
01 01 * * * root /usr/bin/mysql -uzabbix -ppassword zabbix -e "CALL partition_maintenance_all('zabbix')" &>/var/log/partition.log
systemctl restart crond.service
3.5 关闭zabbix 管家功能(housekeeping)
在web页面中操作,关闭历史数据和趋势
四、 Zabbix硬件优化
选用RAID10,SSD固态,多核CPU,大容量内存等硬件配置