Professional Documents
Culture Documents
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
denniskanbier.nl
WeblogpessoaldeDennisKanbiersobrelinux,middlewareemais
Casa
RPMS
GitHub
Sobre
MonitoramentodiscoI/Ousando
Zabbix
Dennis/02defevereirode2014
ComoconfiguraromonitoramentodedisconoLinuxemZabbix.Omodelopadrodo
LinuxemZabbixoferecemonitoramentosobreopreenchimentodeseusdiscos,
masnomuitosobreautilizaoreal.Porexemplo,elenodizerquantas
gravaesporsegundoestosendomanipuladosporumdiscooupartio.
Noentanto,estetipodeinformaopodeservitalparaasadedeseusservidores.
Osdiscossoquasesempreumgargalo,entoeugostariademanterumolho
sobreeles.
AinspiraoparaesteblogpostealgumcdigodeweblogRenaldoMaclons'.
Meta:
MonitorarautilizaodosmeusdispositivosdediscoemservidoresLinux.Ser
preguiosocomoumsysadminsempreumacoisaboa,porissoestouindopara
implementardescobertadebaixonveldosmeusdispositivosdediscoecriarum
modeloparaircomele.
NsestaremosconfigurandooagenteZabbix,queestsendoexecutadoemminhas
caixasdeLinuxparaapoiaradescobertadebaixonveldosmeusdispositivosde
disco,eositensqueprecisamosmonitorarnohost.
Paraosrpidosstarters:
1.Faaodownloaddomodelo.
2.ImporteomodeloemsuainstnciaZabbix
3.AtiveoscriptdedescobertadebaixonvelsobreosagentesZabbix
4.EnriqueaoagenteZabbixcomestesuserParameters
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
1/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
5.Adicioneomodeloaumhosteteste
Paraorestodevocs,porfavor,continuealerparaentendercomoomodelofeito
equaisosscriptsderealmentefazer.
MeioAmbiente:
ZabbixServidor/Agentverso:2.2.1
VersoLinux:RHEL5/6
ScriptspersonalizadosZabbixcaminho:/opt/Zabbix/
ArquivospersonalizadosUserParameter:/etc/zabbix/zabbix_agentd.d/
Ativandoautodescobertadosdispositivos:
EucrieiumpequenoesimplesscriptPerlparafazeradescobertadebaixonvel
dosdispositivosemumservidor.ElapodeserencontradaemGitHub.Nos
servidoreslinuxondeoagenteestexecutandooZabbixprecisobaixaroscripte
dizeraoagenteparauslo:
$Mkdirp/opt/Zabbix/linux
$Cd/opt/Zabbix/linux
$Wgethttps://raw2.github.com/dkanbier/zabbixlinux/master/LLD/queryDisks.pl
$Chmod+xqueryDisks.pl
$ChownRZabbix:Zabbix/opt/Zabbix
Oscriptestagoranolugar.Vocpodeexecutlo,sequiser,embreveelevaiolhar
em/proc/diskstatsefiltrarosnomesdedispositivos.Emseguida,eleimprimelos
paraatelaemformatoJSON,porqueZabbixgostadefalaremJSON:
./queryDisks.pl
{
"Dados":[
{"{}#DISK":"Ram0"},
{"{}#DISK":"Ram1"},
{"{}#DISK":"Sda"},
{"{}#DISK":"Sda1"}
]
}
Iencurtadoasadaumpoucoparamantlolegvel,masessaaidia.Temos
umachave{}#DISKcomumvalordonomedodispositivo.Nosepreocupecomo
fatodequevocprovavelmenteverosdispositivosquevocnodesejamonitorar,
vamoslidarcomissoembreve,masnoaqui.
VamospermitirqueoagenteZabbixparaapoiaradescobertaautomticadediscos.
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
2/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Abraoarquivozabbix_agentd.conf:
$Vi/etc/zabbix/zabbix_agentd.conf
Eadicioneaseguintelinhaaoqueinteressa:
UserParameter=custom.vfs.dev.discovery,/opt/zabbix/linux/queryDisks.pl
Depoisdeeditaraconfigurao,precisoretomaroagente:
$Sudoserviozabbixagentrestart
Feito!
Oagenteagoracapazdedescobrirosdispositivosdedisco.Aprimeiraparte
(custom.vfs.dev.discovery)achavequeZabbixpodeusarparaadescoberta,a
segundaparteaimplementaodessachavenoservidorLinux.Vamosnotificaro
servidorZabbixsobreissocriandoumnovomodeloeusararegradedescoberta.
ConfigureZabbixparausarachavedescobertadebaixonvel
custom.vfs.dev.discovery:
Comeceporcriarumnovomodelo.Euestareinomeandomeu"TemplateLinuxDisk
IO".AbraainterfacewebZabbixevparaConfigurao>Modelosecliqueem
"Criartemplate".
Preenchaumnomeeadicionaronovomodeloparaogrupo"visita".Emseguida,
cliqueemSalvar.
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
3/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
AgoravocestdevoltanavisogeralTemplates.Nalinhadomodeloque
acabamosdecriar,cliqueem"Discovery"e"Criarregradedescoberta".
Preencha:
Nome:Diskdescobertadispositivo
Key:custom.vfs.dev.discovery
Descrio:DescobertadedispositivosdedisconoLinux.
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
4/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Agora,necessrioparalimitarostiposdedispositivosquequeremosauto
descobrir.Lembresealistaquefoiapresentadaquandovocexecutouoscript
queryDisks.pl?Esevocsdesejaadicionarosdispositivos"SD",porexemplo?
Esteolugarondeosfiltroseregrasdeexpressesregularesentramemjogo.Eu
escreviumpostsobrecomouslos,porissonovoucobrilonovamenteem
detalhe.Euvoucriarumaexpressoregularquecorrespondeapenasdispositivos
"SD"econfigurararegradedescobertadeuslo:
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
5/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Autodescobertadedispositivos"SD"jestoperacional.
Porfavor,estejacientedequevoctemquehabilitarachave
custom.vfs.dev.discoveryemcadahostquevocquiserusloem,colocandoo
scriptqueryDisks.plemodificaraconfiguraodoagenteZabbix.
DadescobertadeitensemZabbix:
Agora,oquesoboasregrasdedescoberta,seelesnofazemnenhumitem.Claro
quepodemosdizerZabbixtemosumdispositivosda,sda1esdb,masoqueo
ponto,senocontrolarnadacomele.
Oarquivo/proc/diskstatscontminformaesvaliosassobreseusdispositivosde
disco.Adocumentaooficialpodeserencontradoaqui.
EucoloqueiumarquivocontendoUserParameterlgicaparaextrairestainformao
noGitHub.Sevoccolocarestearquivonodiretrio"Incluir"doagenteZabbixnos
hostsquedesejamonitorarseusdiscosemquevaipermitiromonitoramento
dessasinformaescomasteclaspersonalizadas.
NascaixasdeLinuxcliente:
$Wgethttps://raw2.github.com/dkanbier/zabbixlinux/master/UserParameters/userparameter_li
$Sudomvuserparameter_linux_disks.conf/etc/zabbix/zabbix_agentd.d/
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
6/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
$Sudoserviozabbixagentrestart
Agora,oagentecapazdeextrairdadosde/proc/diskstatserelatloparaZabbix
usandoasteclasdefinidasnouserparameter_linux_disks.conf.
Vamoscriarprottiposdeitensparaqueositensparaestadadossocriados
automaticamentequandoadescobertadebaixonveliniciada.Precisamoscriar
umprottipodeitemparacadateclapersonalizadansadicionamosusandoo
arquivoparameter_linux_disks.confuser(8nototal).Euvoumostraroprocessode
criaodeum,orestoestdisponvelatravsdodownloaddomodelo
personalizadoprconfigurado.
NoZabbixinterfacedeclique"Configurao>Modelos.Nalinhadonossonovo
modelode"TemplateLinuxDiskIO"cliqueDiscovery>prottiposdoartigo>Criar
prottipoitem.
Preencha:
Nome:Disk:{}#DISK:leiturasconcluda<{}#DISKserpreenchidocomumvalorporLLD
Chave:custom.vfs.dev.read.ops[{#DISK}]<custom.vfs.dev.read.opsvemdeuserparameter_l
Unidades:L
NovoAplicativo:I/OStats
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
7/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
CliqueemSalvar.
SevocimplantaressemodeloagoranoseuLinuxhospedaelevaiautodescobrir
seusdispositivosdedisco,apenasacrescentardispositivos"SD"comoitensde
acolhimentoeacompanhamentodototalconcludolsobreeles:
Fazerosentidodetudoisso:
Sedermosumaolhadamaisdepertocomasestatsticasqueestamosusandopara
sercolocadoemZabbix,humamaneiradetornlosaindamaisvaliosoemais
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
8/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
fcildeinterpet.
Eugostariadeterumolharmaisatentoparaosseguintesitens:
UserParametercustom.vfs.dev.read.ops=[*]#lcompletadosuccessfullly
UserParameter=custom.vfs.dev.read.sectors[*]#setoresler
UserParameter=custom.vfs.dev.write.ops[*]#escreveconcluda
UserParameter=custom.vfs.dev.write.sectors[*]#setoresescritas
Osdadosdestesitensvemdo/proc/diskstats,eosdadoslacumulativo.Por
exemplo,quandoumsetorestescritoonmerodewrite.sectorsvaisubirem1.
Ento,sensiriacolocaressesvaloresnoZabbix,sterumgrficocrescente.
Claroqueissonototalmenteintil,vocaindapodeverastendnciasem
setorescomorpido(oulento)estosendoescritosaolongodotempo.Mas,para
mim,muitomaisinteressanteonmerodesetoresgravadosporsegundo.
FelizmenteZabbixvemcomumrecursoembutidoparacalcularexatamenteisso.
Enquantoaconfiguraodeumitem,vocpodeconfigurlodovalordalojapara
"Delta(velocidadeporsegundo)".
Istoiravaliarosdadoscomo(valorprev_value)/(tempoprev_time),ondeo
valorvaloratualvalue_prevvalorrecebidoanteriormentetempoumtimestamp
prev_timetimestampdovaloranterior
Usandoestaopovaimedaronmerodesetoresgravadosporsegundo,emvez
deumvaloracumuladodetodosossetoresjescritos:
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
9/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Modeloeconfiguraoconcluda:
Sevocestiverinteressado,eucompleteieexportouomodeloIconstruirneste
postparaquevocpodeconfigurloemseuprprioambiente.Parafazerisso:
1.Faaodownloaddomodelo.
2.ImporteomodeloemsuainstnciaZabbix
3.CertifiquesedepermitirqueseusagentesZabbixparafazeradescoberta
automticaeteclaspersonalizadas(verpostanterior)
4.Adicioneomodeloaumhosteteste
Comosempre,sevocprecisardealgumaajudaporfavormeavise).
Monitoramentofeliz!
Compartilheisso:
Chilro
Assim:
Like
Bethefirsttolikethis.
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
10/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
02defevereirode2014emMonitoring.
Relatedposts
InstalandooZabbixusandoDockereVagrant
AtivarSSLemconexesdecomunicaoremotaJMXparaJBossEAP6
eZabbix
JBossEAP6monitoramentoutilizandoacomunicaoremotaJMXe
Zabbix
ConstruindoumRPMpersonalizadopara
Fedora20emumMacbook8,2
ZabbixJavagateway
14pensamentossobre"discoMonitoramentoI/O
usandoZabbix"
RenaldoMaclons 02defevereirode2014s11:26
HeyDennis,
Tenhoorgulhodetersidoalmdopostdetalhadoquevocfez
aqui.certamentealgoqueeuqueriadaravoltaafazer,masos
estudosforamficandoomelhordemimultimamente.
Devodizerqueeuaprecioofatodequevocescreveuonovolume
queestaqui.
Boasorte,eobrigadoRenaldo.
Responder
qk4l 17defevereirode2014s11:45
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
11/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Euestourecomendandoparaanalisar/proc/partiesparao
scriptdedescoberta.Nestecaso,vocdevefiltrarapenassr0.
Tambmvaiserexcelenteparamostrarsimpticonomede
partiesnoitem"nomedeexibio"
Responder
Dennis 17defevereirode2014em00:31
Obrigadopelofeedback!Euachoquevocestcerto
sobreo/proc/parties..osdispositivosdememria
RAMeloopprovavelmentenosodemuitointeresse
paraningum,maspossvelcontrollossequiser.
Eunoestoumuitocertooquevocquerdizercom
nomesamigveis,talvezvocpodedarumexemplo?
Responder
Steve 21defevereirode2014em21:48
timopost!
Depoisdeimportaroxmltemplatenohaviaelementosougrficos
associadosaomodelo.esteoesperado?Oprximopassoseria
acriaodealgunsgrficospersonalizados?
Responder
Dennis 23defevereiro,2014s12:21
Obrigado!
Omoldedestinaseaserutilizadoemcombinaocomo
scriptdedetecoautomtica.Asnicascoisasno
modelosoosdedescobertaautomticaderegrasede
itensprottipos.
Ento,sevocativaroscriptdedescobertaautomtica
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
12/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
emseusclienteseadicionaresseshostsclientesparao
meumodelonoZabbix,eleirdetectarautomaticamente
osdispositivosdediscosobreessesclienteseadicionar
itensparaeles.
Deixemesabersevocprecisadeajuda
Responder
Luca 2deabrilde2014em9:13
GrandePost!
EuestounoZabbix2.2.2(servidoreagente),masdizerqueoitem
criadopelaregradescobertanososuportadosapartirdoagente.
EstoutentandomonitorarodiscodoservidorZabbixi/oprprio.
Algumaidia?
Responder
Dennis 2deabrilde2014s09:55
Obrigado!
Temcertezaqueoarquivo
userparameter_linux_disks.confcaptadopeloagente
Zabbix?Estearquivocontmalgicaparaositens,
talvezvoctemqueincluirodiretriomanualmenteem
zabbix_agentd.conf.
Depoisdecolocaremcheque
userparameter_linux_disks.conf
/etc/zabbix/zabbix_agentd.d/paraestalinhaem
zabbix_agentd.confeseestiverfaltandoadicionlo:
Incluir=/etc/Zabbix/zabbix_agentd.d/
Seoarquivojestnolugarquevocpoderiatentar
depuraroagenteZabbix(marqueaopodedepurao
nozabbix_agentd.confeconfigurloparaDebugLevel=
4)everseoscomandossorealmenteexecutadoou
no.Seelesestoafalharporalgummotivovocdeve
vlol.
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
13/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Deixemesabersevocpoderiafazlofuncionar,seno
euvousermaisdoquefelizemajudar!
Responder
Vicente 24deabrilde2014em14:51
Desculpemaminhapergunta...qualadiferenacom:
#Zabbix_agentdV
ZabbixAgent(daemon)v2.2.3(reviso44105)(7deAbrilde
2014)
otempodecompilao:08deabrilde201418:49:57
#Zabbix_agentdt[vfs.dev.write,operaes]
[vfs.dev.write,operaes][U|833571555]
#zabbix_agentdtvfs.dev.read[],operaes
vfs.dev.read[,][operaesu|1265275596]
Ou,porunidade:
#Zabbix_agentdtvfs.dev.write[/dev/sda,operaes]
vfs.dev.write[/dev/sda,operaes][u|58977406]
#zabbix_agentdtvfs.dev.write[/dev/sda,setores]
vfs.dev.write[/dev/sda,setores][u|1665554779]
#zabbix_agentdtvfs.dev.read[/dev/sda,operaes]
vfs.dev.read[/dev/sda,operaes][u|194753874]
#zabbix_agentdtvfs.dev.read[/dev/sda,setores]
vfs.dev.read[/dev/sda,setores][u|82136555896]
Aparte"descoberta"parecesermuitotil,mas,comooutro,eu
noseiseeuentenderoqueadiferenacomparmetrosde
agentepadro.
GraasDennis.
Responder
Dennis 24deabrilde2014em15:13
OiVicente,obrigadopeloseucomentrio.Euachoque
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
14/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
quandoeuescrevioroteiroeuspegueicadabitde
informaosensvelminhadisposiodo/proc/
diskstats,umavezquefornecemaisinformaesdoque
apenasasoperaesdeleitura/gravao.Euachoque
vocpoderiamuitobemusarositenspadropara
dev.writeedev.read,desdequepodemlidarcoma
entradadada(ouseja,"sda")queeuachoqueelesfazem.
Responder
Vicente 24deabrilde2014em15:29
Entendi!ObrigadoDennis.
Responder
ThiagoMZ 26demaiode2014em11:56
H,
EueracapazdecolocaraLLDatrabalharmuitobem..Obrigado!
Maseuestoucomumproblema..Eunoconsigousaros
dispositivosRegexpDiskparaadescoberta,
eumudloa...
1xvdf1[resultadoverdadeiro]
2^(XVD.*)$[resultadoverdadeiro]>>>DiskAmazon
3^(.sd*)$[resultadoverdadeiro]
Nofuncionou...
Entoeucoloqueixvdf1emRegexpdohospedeiro...efuncionou!
Algumaidia?
Responder
Vista 27dejunho,2014em10:12
H,
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
15/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Euinstaleiomodeloeosscripts.Maszabbixmedumerro:
OvalordeveserumobjetoJSON.
EstouexecutandooZabbix2.2.3easadade./queryDisks.pl=
{
"dados":[
{
"{}#DISK":"ram0"
}
,
{
"{}#DISK":"ram1"
}
,
{
"{}#DISK":"ram2"
}
,
{
"{}#DISK":"ram3"
}
,
{
"{}#DISK":"ram4"
}
etc...
Vista
Responder
BlaineSchmidt 26dejulhode2014s10:09
OtextoresultanteumobjetoJSON.Iverificadapor
meiodecolarotextoemhttp://jsonlint.com.
Meutexto:
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
16/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
{
"dados":[
{
"{}#DISK":"ram0"
},
{
"{}#DISK":"ram1"
},
{
"{}#DISK":"ram2"
},
{
"{#DISK}":"ram3"
},
{
"{}#DISK":"ram4"
},
{
"{}#DISK":"ram5"
},
{
"{}#DISK":"ram6"
},
{
"{#DISK}":"ram7"
},
{
"{}#DISK":"ram8"
},
{
"{}#DISK":"ram9"
},
{
"{}#DISK":"ram10"
},
{
"{}#DISK":"ram11"
},
{
"{}#DISK":"ram12"
},
{
"{}#DISK":"ram13"
},
{
"{}#DISK":"ram14"
},
{
"{}#DISK":"ram15"
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
17/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
},
{
"{}#DISK":"loop0"
},
{
"{}#DISK":"loop1"
},
{
"{}#DISK":"Loop2"
},
{
"{}#DISK":"Loop3"
},
{
"{}#DISK":"Laco4"
},
{
"{}#DISK":"Loop5"
},
{
"{}#DISK":"loop6"
},
{
"{}#DISK":"loop7"
},
{
"{}#DISK":"sr0"
},
{
"{}#DISK":"fd0"
},
{
"{}#DISK":"sda"
},
{
"{}#DISK":"sda1"
},
{
"{}#DISK":"sda2"
},
{
"{}#DISK":"sda5"
}
]
}
Responder
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
18/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Tom 21dejulhode2014em20:17
Hey,
Excelentetrabalho.Estemodelomuitotil.
Vocpoderiameajudarcomfazerumgrficoondeeupossater
todososdriversioporsegundoemumgrfico?
Responder
Deixeumaresposta
Seuendereodeemailnoserpublicado.Camposobrigatriossomarcados*
Nome*
Email*
Site
Comentrio
VocpodeusarestasHTMLtagseatributos:<ahref=""title=""><abbrtitle
=""><titlesigla=""><b><blockquotecite=""><cite><code><del
datetime=""><em><i><qcite=""><strike><strong>
Publicarcomentrio
Notifiquemedeacompanhamentocomentriosporemail.
Notifiquemedenovospostsporemail.
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
19/20
28/11/2014
MonitoramentodiscoI/OusandoZabbix|denniskanbier.nl
Search
Categorias
Nuvem
Fedora
Logging
Middleware
Monitorao
Redhat
SigamenoTwitter
Tweetsdedenniskanbier
Postsrecentes
InstalandooZabbixusandoDockereVagrant
InstalandoLogstashnoRHELeCentOS6
AtivarSSLemconexesdecomunicaoremotaJMXparaJBossEAP6eZabbix
Fedora20emumMacbook8,2
MonitoramentodiscoI/OusandoZabbix
PoweredbyWordPress|Tema:ExplicaporKonstantinKovshenin
http://www.denniskanbier.nl/blog/monitoring/monitoringdiskiousingzabbix/
20/20