Vamos começar a descrever meu problema.
Me foi solicitado que eu monitorasse o leitura e escrita nas partições linux dos meus servidores, então achei a seguinte solução:
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'
E combinado com isso estou utilizando uma regra de lowdiscovery de partição:
Agora vem a pergunta:
Como eu posso fazer uma tradução das partições para os pontos de montagem.
Para poder saber o que está acontecendo em cada ponto de montagem pois assim poderei ter mais controle de equipamentos storage, maquinas de banco de dados e etc.
Me foi solicitado que eu monitorasse o leitura e escrita nas partições linux dos meus servidores, então achei a seguinte solução:
UserParameter=custom.vfs.dev.read.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$4}'
UserParameter=custom.vfs.dev.read.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$7}'
UserParameter=custom.vfs.dev.write.ops[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$8}'
UserParameter=custom.vfs.dev.write.ms[*],cat /proc/diskstats | grep $1 | head -1 | awk '{print $$11}'
E combinado com isso estou utilizando uma regra de lowdiscovery de partição:
UserParameter=vfs.dev.discovery,for partition in $(awk 'NR > 2 {print $4}' /proc/partitions); do partitionlist="$partitionlist,"'{"{#PARTITION}":"' $partition'"}'; done; echo '{"data":['${partitionlist#,}']}'
Como eu posso fazer uma tradução das partições para os pontos de montagem.
Por exemplo, hoje coleta assim:
DISK READ BPS STATISTICS dm-0
DISK READ BPS STATISTICS dm-5
DISK WRITE OPS STATISTICS dm-0
DISK WRITE OPS STATISTICS dm-1
DISK WRITE OPS STATISTICS dm-2
DISK WRITE OPS STATISTICS dm-3
DISK READ OPS STATISTICS sda1
DISK READ BPS STATISTICS dm-5
DISK WRITE OPS STATISTICS dm-0
DISK WRITE OPS STATISTICS dm-1
DISK WRITE OPS STATISTICS dm-2
DISK WRITE OPS STATISTICS dm-3
DISK READ OPS STATISTICS sda1
E eu gostaria que coletasse assim:
DISK READ BPS STATISTICS dm-0 = /opt
DISK READ BPS STATISTICS dm-5 = /
DISK WRITE OPS STATISTICS dm-0 ...
DISK WRITE OPS STATISTICS dm-1 ...
DISK WRITE OPS STATISTICS dm-2 ...
DISK WRITE OPS STATISTICS dm-3 ...
DISK READ OPS STATISTICS sda1 ...
DISK READ BPS STATISTICS dm-5 ...
DISK WRITE OPS STATISTICS dm-0 ...
DISK WRITE OPS STATISTICS dm-1 ...
DISK WRITE OPS STATISTICS dm-2 ...
DISK WRITE OPS STATISTICS dm-3 ...
DISK READ OPS STATISTICS sda1 ...
DISK READ BPS STATISTICS dm-0
DISK READ BPS STATISTICS dm-5
DISK WRITE OPS STATISTICS dm-0
DISK WRITE OPS STATISTICS dm-1
DISK WRITE OPS STATISTICS dm-2
DISK WRITE OPS STATISTICS dm-3
DISK READ OPS STATISTICS sda1
DISK READ BPS STATISTICS dm-5
DISK WRITE OPS STATISTICS dm-0
DISK WRITE OPS STATISTICS dm-1
DISK WRITE OPS STATISTICS dm-2
DISK WRITE OPS STATISTICS dm-3
DISK READ OPS STATISTICS sda1
E eu gostaria que coletasse assim:
DISK READ BPS STATISTICS dm-0 = /opt
DISK READ BPS STATISTICS dm-5 = /
DISK WRITE OPS STATISTICS dm-0 ...
DISK WRITE OPS STATISTICS dm-1 ...
DISK WRITE OPS STATISTICS dm-2 ...
DISK WRITE OPS STATISTICS dm-3 ...
DISK READ OPS STATISTICS sda1 ...
DISK READ BPS STATISTICS dm-5 ...
DISK WRITE OPS STATISTICS dm-0 ...
DISK WRITE OPS STATISTICS dm-1 ...
DISK WRITE OPS STATISTICS dm-2 ...
DISK WRITE OPS STATISTICS dm-3 ...
DISK READ OPS STATISTICS sda1 ...
Comment