Faʻaaogaina o le vaeluaga i MySQL mo Zabbix ma le tele o mea mataʻituina

Mo le mataʻituina o 'auʻaunaga ma 'auʻaunaga, ua matou faʻaaogaina se fofo tuʻufaʻatasia e faʻavae i luga o Nagios ma Munin mo se taimi umi, ma o loʻo manuia pea. Ae ui i lea, o lenei tuʻufaʻatasiga o loʻo i ai le tele o mea le lelei, o lea matou, pei o le toʻatele, faʻaaogaina malosi Zabbix. I totonu o lenei tusiga o le a tatou talanoa e uiga i le auala, i se taumafaiga itiiti, e mafai ona e foia se faʻafitauli faʻatinoga pe a faʻateleina le numera o metrics ave ma faʻatupulaia volumes database MySQL.

Faʻafitauli i le faʻaaogaina o se MySQL database ma Zabbix

E ui ina laʻititi le faʻamaumauga ma le numera o metrics o loʻo teuina i totonu e laʻititi, o mea uma na lelei. O le faiga masani a le fale tausi fale, lea na faʻalauiloaina e le Zabbix Server lava ia, na faʻaumatia faʻamaumauga tuai mai le faʻamaumauga, e taofia ai mai le tuputupu aʻe. Ae ui i lea, o le taimi lava na faʻateleina ai le numera o metrics na faʻaaogaina ma oʻo atu le tele o faʻamaumauga i se lapoʻa, na atili ai ona leaga. Na taofia e le Faletalimalo le mafai ona tapeina faʻamaumauga i totonu o le taimi na tuʻuina atu i ai, ma na amata ona tumau faʻamaumauga tuai i totonu o faʻamaumauga. A o tamoe le tausi fale, sa i ai se faʻaopoopoga o uta i luga o le Zabbix Server, lea e mafai ona faʻaauau pea mo se taimi umi. Na manino mai e tatau ona matou foia le tulaga o iai nei.

O se faʻafitauli lauiloa lea, toetoe o tagata uma na galulue ma le tele o voluma o le mataʻituina i luga o Zabbix na feagai ma le mea lava e tasi. E tele foʻi fofo: mo se faʻataʻitaʻiga, sui MySQL i le PostgreSQL poʻo le Elasticsearch, ae o le fofo sili ona faigofie ma sili ona faʻamaonia o le suiga i le vaeluaga o laulau e teu ai faʻamatalaga metric i totonu o se database MySQL. Na matou filifili e alu tonu lava i le auala lenei.

Suiga mai laulau masani MySQL ile vaeluaga

O le Zabbix o loʻo faʻamauina lelei ma o laulau o loʻo teuina ai metric e iloa. O laulau nei: history, lea o lo'o teuina ai tau fa'alele, history_str, lea o lo'o teuina ai tau o manoa pupuu, history_text, o lo'o teuina ai fa'amaumauga umi ma history_uint, lea o lo'o teuina ai tau fa'atasi. E iai fo'i se laulau trends, lea e teuina ai le malosi o suiga, ae na matou filifili e aua neʻi paʻi i ai, ona o lona tele e laʻititi ma o le a matou toe foʻi i ai i se taimi mulimuli ane.

I se tulaga lautele, sa manino po'o fea laulau e mana'omia ona fa'agaioia. Na matou filifili e fai ni vaeluaga mo vaiaso taʻitasi, sei vagana ai le mea mulimuli, e faʻatatau i numera o le masina, i.e. fa vaega i le masina: mai le 1 i le 7, mai le 8 i le 14, mai le 15 i le 21 ma mai le 22 i le 1 (o le isi masina). O le faigata o le manaʻomia ona matou liliu laulau matou te manaʻomia i vaeluaga "i luga o le lele", e aunoa ma le faʻalavelaveina o le faʻaogaina o le Zabbix Server ma le aoina o metrics.

O le mea e ese ai, o le faʻatulagaina o faʻamaumauga o laulau lava ia na fesoasoani ia i matou i lenei mea. Mo se faataitaiga laulau history e iai lona fausaga:

`itemid` bigint(20) unsigned NOT NULL,
`clock` int(11) NOT NULL DEFAULT '0',
`value` double(16,4) NOT NULL DEFAULT '0.0000',
`ns` int(11) NOT NULL DEFAULT '0',

i le taimi lava e tasi

KEY `history_1` (`itemid`,`clock`)

E pei ona mafai ona e vaʻai, o metric taʻitasi e iu lava ina tuʻuina i totonu o se laulau faʻatasi ai ma fanua sili ona taua ma faigofie mo i matou fa'amatalaga и uati. O le mea lea, e faigofie ona tatou fatuina se laulau le tumau, mo se faʻataʻitaʻiga, ma le igoa history_tmp, fa'atulaga le vaeluaga mo ia ona tu'u uma lea o fa'amaumauga mai le laulau iina historyona toe faaigoa lea o le laulau history в history_old, ma le laulau history_tmp в history, ona fa'aopoopo lea o fa'amaumauga matou te le'i fa'atumuina history_old в history ma tape history_old. E mafai ona faia atoatoa ma le saogalemu, o le a tatou le leiloa se mea, ona o le fanua i luga fa'amatalaga и uati tu'uina atu le fusia o se metric fa'apitoa i se taimi fa'apitoa, ae le o se numera fa'asologa.

Le faiga o suiga lava ia

Fa'alogo! E matua fautuaina lava, a'o le'i amataina so'o se gaioiga, ia faia se kopi fa'amaumauga atoa o le database. O i tatou uma o tagata ola ma e mafai ona faia se mea sese i le seti o poloaiga, lea e mafai ona mafua ai le leiloa o faʻamatalaga. Ioe. O se fa'amaumauga o le a le fa'amautinoaina le maualuga o mea fa'aonaponei, ae sili atu le tasi nai lo le leai.

O lea la, matou te le tapeina se mea pe taofi se mea. O le mea autu o le MySQL server lava ia e lava le aofaʻi o avanoa avanoa avanoa, i.e. ina ia mo laulau taitasi o loo lisiina i luga history, history_text, history_str, history_uint, i se tulaga maualalo, sa lava le avanoa e fai ai se laulau ma le suffix "_tmp", tuʻuina atu o le a tutusa ma le laulau muamua.

Matou te le faʻamatalaina mea uma i le tele o taimi mo laulau taʻitasi o loʻo i luga ma o le a mafaufau i mea uma e faʻaaoga ai le faʻataʻitaʻiga o le tasi oi latou - le laulau history.

O lea la, tatou faia se laulau avanoa history_tmp faʻavae i luga o le faʻatulagaina o laulau history.

CREATE TABLE `history_tmp` LIKE `history`;

Matou te fatuina vaega matou te manaʻomia. Mo se faʻataʻitaʻiga, seʻi o tatou faia lenei mea mo le masina. O vaeluaga ta'itasi e faia e fa'atatau i se tulafono vaeluaga e fa'atatau i le tau o le fanua uati, lea matou te fa'atusatusa i le faailoga taimi:

ALTER TABLE `history_tmp` PARTITION BY RANGE( clock ) (
PARTITION p20190201 VALUES LESS THAN (UNIX_TIMESTAMP("2019-02-01 00:00:00")),
PARTITION p20190207 VALUES LESS THAN (UNIX_TIMESTAMP("2019-02-07 00:00:00")),
PARTITION p20190214 VALUES LESS THAN (UNIX_TIMESTAMP("2019-02-14 00:00:00")),
PARTITION p20190221 VALUES LESS THAN (UNIX_TIMESTAMP("2019-02-21 00:00:00")),
PARTITION p20190301 VALUES LESS THAN (UNIX_TIMESTAMP("2019-03-01 00:00:00"))
);

E fa'aopoopo e lenei fa'alapotopotoga le vaeluaga o le laulau na matou faia history_tmp. Sei o tatou fa'amalamalamaina lena fa'amaumauga o lona tau fanua uati itiiti ifo i le "2019-02-01 00:00:00" o le a aofia i totonu o le vaega p20190201, ona sosoo ai lea ma fa'amaumauga o lo'o taua ai le fanua uati sili atu nai lo le "2019-02-01 00:00:00" ae itiiti ifo i le "2019-02-07 00:00:00" o le a aofia i le vaeluaga p20190207 ma isi.

Fa'amatalaga taua: O le a le mea e tupu pe a iai a matou faʻamatalaga i le laulau vaeluaga o lona tau i le fanua uati e sili atu pe tutusa ma le "2019-03-01 00:00:00"? Talu ai e leai se vaeluaga talafeagai mo lenei faʻamatalaga, o le a le faʻaalia i le laulau ma o le a leiloa. O le mea lea, e tatau ona e manatua e faia ni vaega faaopoopo i se taimi talafeagai ina ia aloese ai mai le leiloa o faʻamaumauga (e pei ona talanoaina i lalo).

O lea la, ua saunia le laulau le tumau. Faatumu faamatalaga. O le faagasologa e mafai ona umi se taimi, ae o le mea e lelei ai e le taofia ai soʻo se isi talosaga, o lea e tatau ai ona e onosaʻi:

INSERT IGNORE INTO `history_tmp` SELECT * FROM history;

O le IGNORE keyword e le manaʻomia i le taimi muamua o le faʻatumu, talu ai e leai se faʻamatalaga i le laulau, ae e te manaʻomia pe a faʻatumu faʻamaumauga. E le gata i lea, atonu e aoga pe afai, a o e lafoina faʻamaumauga, e tatau ona e faʻalavelaveina lenei faiga ma toe amata.

O lea, ina ua mavae sina taimi (atonu e oʻo lava i ni nai itula), o le faʻapipiʻiina muamua o faʻamaumauga na tupu. E pei ona e malamalama i ai, o le laulau history_tmp e le o iai fa'amaumauga uma mai le laulau history, ae na o i latou sa i ai i le taimi na amata ai le talosaga. O iinei o loʻo i ai sau filifiliga: pe matou te toe tasi le pasi (pe a fai e umi se taimi o le faʻatumu), pe matou vave faʻasolo i le toe faʻaigoaina o laulau, lea na taʻua i luga. Sei o tatou talanoa muamua i le pasi lona lua. Muamua e tatau ona tatou malamalama i le taimi o le faʻamaumauga mulimuli faʻaofi i totonu history_tmp:

SELECT max(clock) FROM history_tmp;

Faapea na e mauaina: 1551045645. O lenei matou te faʻaaogaina le tau iʻuga i le pasi lona lua o faʻamaumauga faʻatumu:

INSERT IGNORE INTO `history_tmp` SELECT * FROM history WHERE clock>=1551045645;

O lenei fuaitau e tatau ona sili atu le vave ona muta. Ae afai o le pasi muamua e tele itula e faamaea ai, ae umi foi se taimi o le pasi lona lua, atonu e saʻo le faia o le pasi lona tolu, lea e faia i le auala lava e tasi e pei o le lona lua.

Mulimuli ane, matou te toe faia le gaioiga o le mauaina o le taimi o le faʻaofiina mulimuli o se faʻamaumauga i totonu history_tmpe ala i le tamoe:

SELECT max(clock) FROM history_tmp;

Sei faapea ua e mauaina 1551085645. Faasaoina lenei tau - matou te manaʻomia mo le toe faʻatumu.

Ma o lenei, o le mea moni, pe a faʻatumu muamua faʻamaumauga i totonu history_tmp mae'a, se'i amata ona toe fa'aigoaina laulau:

BEGIN;
RENAME TABLE history TO history_old;
RENAME TABLE history_tmp TO history;
COMMIT;

Na matou mamanuina lenei poloka o se tasi o fefaʻatauaiga e aloese ai mai le faʻaofiina o faʻamatalaga i totonu o se laulau e le o iai, aua a maeʻa le RENAME muamua seia oʻo i le RENAME lona lua, o le laulau. history o le a le i ai. Ae tusa lava pe i le va o RENAME galuega i le laulau history nisi faʻamatalaga o le a oʻo mai, ae o le laulau lava ia o le a le i ai (ona o le toe faʻaigoaina), o le a matou mauaina se numera itiiti o faʻapipiʻi mea sese e mafai ona le amanaʻia (o loʻo i ai le mataʻituina, ae le o se faletupe).

O lea la ua iai la tatou laulau fou history fa'atasi ai ma le vaeluaga, ae leai ni fa'amatalaga na maua i le taimi mulimuli o le fa'aofiina o fa'amatalaga i le laulau history_tmp. Ae o loʻo i ai a matou faʻamatalaga i le laulau history_old ma o le a matou tofa i luga i latou mai iina. Ina ia faia lenei mea, matou te manaʻomia le tau faʻasaoina muamua 1551085645. Aisea na matou faʻasaoina ai lenei tau ma le faʻaogaina le maualuga o le taimi faʻatumu mai le laulau o loʻo iai nei history? Ona o faʻamatalaga fou ua uma ona ulufale i ai ma o le a tatou maua le taimi sese. O lea la, tatou faʻaopoopo faʻamatalaga:

INSERT IGNORE INTO `history` SELECT * FROM history_old WHERE clock>=1551045645;

A maeʻa lenei taʻaloga, i la matou laulau fou, vaeluaga history o loʻo i ai faʻamaumauga uma sa i totonu o le mea tuai, faʻatasi ai ma i latou ua uma ona oʻo mai pe a uma ona toe faʻaigoaina le laulau. Laupapa history_old matou te le toe mana’omia. E mafai ona e tapeina vave, pe mafai foi ona e faia se kopi faaleoleo ae le'i tapeina (pe afai e te le mautonu).

O le faagasologa atoa o loʻo i luga e manaʻomia ona toe fai mo laulau history_str, history_text и history_uint.

O le a le mea e manaʻomia ona faʻasaʻo ile Zabbix Server settings

O le taimi nei o le tausiga o faʻamaumauga i tulaga o faʻamaumauga faʻamaumauga e pa'ū i luga o tatou tauau. O lona uiga e le toe tatau ia Zabbix ona tape faʻamaumauga tuai - o le a matou faia lava e matou. Ina ia puipuia le Zabbix Server mai le taumafai e faʻamama le faʻamatalaga lava ia, e tatau ona e alu i le Zabbix web interface, filifili le "Administration" i le lisi, ona filifili lea o le "General" submenu, ona filifili lea o le "Clear history" i le lisi pa'ū i luga. le taumatau. I luga o le itulau o loʻo faʻaalia, e tatau ona e tape uma pusa mo le vaega "Talafaasolopito" ma kiliki i luga o le "Faʻafouina" faʻamau. O lenei mea o le a taofia ai i tatou mai le kiliaina o laulau e le tatau history* e ala i le tausi fale.

I luga o le itulau lava e tasi, faʻalogo i le vaega "Dynamics of Changes". Ua na o se laulau lenei trends, lea na tatou folafola atu e toe foi atu i ai. Afai ua tele naua ma mana'omia le vaeluaga, aveese le siaki o pusa i lenei vaega, ona fa'agasolo lea o le laulau i le auala lava e tasi e pei ona e faia mo laulau. history*.

Fa'aleleia atili fa'amaumauga

E pei ona tusia muamua, mo galuega masani i luga o laulau vaeluaga, e tatau ona faia ni vaega i le taimi. E mafai ona e faia e pei o lenei:

ALTER TABLE `history` ADD PARTITION (PARTITION p20190307 VALUES LESS THAN (UNIX_TIMESTAMP("2019-03-07 00:00:00")));

E le gata i lea, talu ai na matou fatuina laulau vaeluaga ma faʻasaina le Zabbix Server mai le faʻamamāina, o le tapeina o faʻamaumauga tuai ua avea nei ma matou popolega. O le mea e lelei ai, e leai lava ni fa'afitauli iinei. E faia lenei mea e ala i le tapeina o le vaeluaga o ana faʻamatalaga tatou te le toe manaʻomia.

Mo se faʻataʻitaʻiga:

ALTER TABLE history DROP PARTITION p20190201;

E le pei o faʻamatalaga DELETE FROM e iai se aso, e naʻo ni nai sekone e faʻamaeʻa ai le DROP PARTITION ma e matua tatala atoatoa lava. tautua ma e galue tutusa lava pe a faʻaaogaina le MySQL replication.

iʻuga

O le fofo o loʻo faʻamatalaina ua faʻataʻitaʻiina taimi. O loʻo faʻatupulaia le tele o faʻamaumauga, ae e leai se faʻaitiitia o le faʻaogaina.

puna: www.habr.com

Faʻatau talimalo faʻatuatuaina mo nofoaga ma DDoS puipuiga, VPS VDS servers 🔥 Fa'atau le 'upega tafa'ilagi talimalo fa'atuatuaina ma le puipuiga DDoS, 'au'aunaga VPS VDS | ProHoster