中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

處理Zabbix歷史數據庫辦法一

發布時間:2020-07-20 18:22:17 來源:網絡 閱讀:17147 作者:自由linux 欄目:數據庫

一 問題描述

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

查看Zabbix數據庫目錄文件

# 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數據庫目錄大小為248G,history和history_text以及history_uint幾張表就占用了大部分磁盤空間



二 解決辦法

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

1.停掉zabbix server

service zabbix-server stop


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

proxy專門收集和暫存agent發來的數據,可以減輕server端的壓力

使用proxy可以實現分布式監控,例如監控不同網絡互相不通的服務器

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

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


處理Zabbix歷史數據庫辦法一


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

ProxyLocalBuffer=3

設置zabbix proxy暫存在本地mysql的監控數據的時間。默認是0,不暫存。即使zabbix proxy已經把數據發送給了zabbix server,還是會暫存數據在本地設置的時間。取值范圍是0~720小時


ProxyOfflineBuffer=5

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

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

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








2.創建新表

create table history_new like history;

create table history_uint_new like history_uint;

create table history_text_new like history_text;


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

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時間戳



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




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不可用的報警信息,過段時間就會恢復正常。


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保留時間設置為15天。但是這樣設置的話如果想看幾個月之前的數據就看不到了。




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



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

都江堰市| 通海县| 琼中| 汝州市| 隆林| 霞浦县| 宝山区| 额济纳旗| 阿鲁科尔沁旗| 苗栗市| 华容县| 包头市| 华蓥市| 崇州市| 荥经县| 彩票| 灵川县| 沁水县| 汕头市| 邮箱| 本溪市| 山东省| 大英县| 平南县| 大足县| 卢龙县| 新宁县| 罗山县| 汉寿县| 弋阳县| 即墨市| 河北区| 龙州县| 章丘市| 桐城市| 松潘县| 普兰店市| 阜新市| 维西| 永胜县| 平果县|