真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

處理Zabbix歷史數(shù)據(jù)庫辦法一

一 問題描述

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供佛坪網(wǎng)站建設(shè)、佛坪做網(wǎng)站、佛坪網(wǎng)站設(shè)計、佛坪網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、佛坪企業(yè)網(wǎng)站模板建站服務(wù),10年佛坪做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

隨著Zabbix監(jiān)控的主機和監(jiān)控項目增多,Zabbix的歷史數(shù)據(jù)會越來越多,MySQL數(shù)據(jù)庫磁盤空間很容易就爆滿,同時Zabbix前端查詢數(shù)據(jù)會變得越來越慢。特別是通過Zabbix的API生成自定義Screen的情況下,打開每個Screen非常慢

查看Zabbix數(shù)據(jù)庫目錄文件

# ls -lh|grep G
total 248G
-rw-rw---- 1 mysql mysql 4.7G May  5 21:34 alerts.ibd
-rw-rw---- 1 mysql mysql 3.4G May  5 21:34 events.ibd
-rw-rw---- 1 mysql mysql  95G May  5 21:34 history.ibd
-rw-rw---- 1 mysql mysql  25G May  5 21:34 history_text.ibd
-rw-rw---- 1 mysql mysql 112G May  5 21:34 history_uint.ibd
-rw-rw---- 1 mysql mysql 2.9G May  5 21:34 trends.ibd
-rw-rw---- 1 mysql mysql 4.3G May  5 21:34 trends_uint.ibd

整個Zabbix數(shù)據(jù)庫目錄大小為248G,history和history_text以及history_uint幾張表就占用了大部分磁盤空間

二 解決辦法

如果不想保留太長時間的歷史數(shù)據(jù),例如只保留一個月的歷史數(shù)據(jù)可以使用以下方法

1.停掉zabbix server

service zabbix-server stop

這里需要特別注意一下,在部署Zabbix架構(gòu)的時候最好選擇Zabbix server ---- Zabbix proxy --- Zabbix --- agent的架構(gòu)。即使只有幾臺主機最好也部署一個proxy,根據(jù)不同應(yīng)用或者不同的機房可以部署多個proxy。部署zabbix有以下幾個好處:

proxy專門收集和暫存agent發(fā)來的數(shù)據(jù),可以減輕server端的壓力

使用proxy可以實現(xiàn)分布式監(jiān)控,例如監(jiān)控不同網(wǎng)絡(luò)互相不通的服務(wù)器

增強安全性,不直接暴露zabbix server的信息

維護的時候很方便,例如清理zabbix的歷史數(shù)據(jù),zabbix停掉后的監(jiān)控數(shù)據(jù)可以設(shè)置在proxy端保留時間長些,等維護好后proxy會同步數(shù)據(jù)到server端,盡量減少數(shù)據(jù)丟失。

處理Zabbix歷史數(shù)據(jù)庫辦法一

在停掉zabbix server之前需要注意zabbix proxy的兩個參數(shù)

ProxyLocalBuffer=3

設(shè)置zabbix proxy暫存在本地mysql的監(jiān)控數(shù)據(jù)的時間。默認是0,不暫存。即使zabbix proxy已經(jīng)把數(shù)據(jù)發(fā)送給了zabbix server,還是會暫存數(shù)據(jù)在本地設(shè)置的時間。取值范圍是0~720小時

ProxyOfflineBuffer=5

設(shè)置當zabbix proxy與zabbix server無法連接時保留監(jiān)控數(shù)據(jù)的時間間隔。默認是1小時,取值是1~720小時。這個參數(shù)特別有用,我就是在之前的幾次維護中,停掉zabbix server后沒有設(shè)置zabbix proxy的這個參數(shù),所以當維護結(jié)束后啟動zabbix server,會發(fā)現(xiàn)有段時間內(nèi)的數(shù)據(jù)沒有。這是因zabbix proxy按照默認的保留時間執(zhí)行housekeeper把過期的數(shù)據(jù)刪除了。

這個時間根據(jù)最好根據(jù)要維護的時間來設(shè)定,比如要維護10個小時,那么就要設(shè)置ProxyOfflineBuffer=10

這樣就不至于這10個小時之間的數(shù)據(jù)都丟失了。也有一個問題,如果時間間隔太大的話,zabbix proxy重新推送數(shù)據(jù)到zabbix server會導(dǎo)致雙方的服務(wù)器壓力都會增大。

2.創(chuàng)建新表

create table history_new like history;

create table history_uint_new like history_uint;

create table history_text_new like history_text;

3.將近期(一個月)的數(shù)據(jù)插入到新的表中

insert into history_new select * from history where clock > '1459785600';

insert into history_text_new SELECT * FROM history_text WHERE clock > '1461945600';

insert into history_uint_new SELECT * FROM history_uint WHERE clock > '1461945600';

這里的clock是UNIX時間戳

這里根據(jù)數(shù)據(jù)量的大小可以能會花費好幾個小時的時間

4.重新更改表名

alter table history rename history_old;

alter table history_new rename  history;

alter table history_uint rename history_uint_old;

alter table history_uint_new rename history_uint;

alter table history_text rename  history_text_old;

alter table history_text_new rename  history_text;

5.重新啟動zabbix server

重新啟動zabbix后,有段時間會不停地報zabbix agent不可用的報警信息,過段時間就會恢復(fù)正常。

6.刪除舊表

drop table history_old;

drop table history_text_old;

drop table history_uint_old;


另外可以更改items表的history字段

UPDATE items SET history = '15' WHERE history > '30'

這樣就將每個item的history保留時間設(shè)置為15天。但是這樣設(shè)置的話如果想看幾個月之前的數(shù)據(jù)就看不到了。

這種方法處理起來效率非常低,必須要停掉zabbix server,然后導(dǎo)入一個月內(nèi)的數(shù)據(jù)到新的表,如果數(shù)據(jù)量很大會很花時間。


當前標題:處理Zabbix歷史數(shù)據(jù)庫辦法一
鏈接地址:http://weahome.cn/article/gdeiei.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部