Cuando estamos inventariando monitores una manera simple de saber su número de serie sin tener que mirar el código de barras por detrás es usar este comando que me descrubrió mi compañero Oscar:
# hwinfo --monitor
Entre otros datos, saldrá el número de serie, la marca, el modelo, etc . Por desgracia, esto no funciona para cualquier monitor ya que no todos tienen el número de serie "grabado a fuego" en su interior, pero al menos para los monitores que tengo en casi todo el centro funciona. También es necesario que al ejecutarse el monitor esté encendido, por motivos obvios: si no está encendido el PC no puede preguntarle nada.
Para automatizar esto podemos hacer un script que se ejecute en el arranque, coja los datos que queramos y lo escriba en algún fichero en alguna ubicación de red. De esta manera podemos inventariar de forma masiva.
Otra opción, si tenemos puppet, es crear un facter que obtenga esos datos y los guarde en los .yaml que crea puppet en el servidor, junto con los otros facter de la máquina. El facter se guardaría en cada PC, en /usr/lib/ruby/vendor_ruby/facter/monitor.rb y su contenido sería (toma Ruby pal cuerpo):
if File.exists?("/usr/sbin/hwinfo")
serial = Facter::Util::Resolution.exec('hwinfo --monitor 2>/dev/null | grep "Serial ID:" | head -1 | cut -d":" -f2')
if not serial.nil?
Facter.add("monitor-serial") do
serial=serial.delete('"').strip
setcode {serial}
end
end
model = Facter::Util::Resolution.exec('hwinfo --monitor 2>/dev/null | grep "Model:" | head -1 | cut -d":" -f2' )
if not model.nil?
Facter.add("monitor-model") do
model=model.delete('"').strip
setcode {model}
end
end
vendor = Facter::Util::Resolution.exec('hwinfo --monitor 2>/dev/null | grep "Vendor:" | head -1 | cut -d":" -f2')
if not vendor.nil?
Facter.add("monitor-vendor") do
vendor=vendor.delete('"').strip
setcode {vendor}
end
end
end
Evidentemente, habría que instalar el paquete hwinfo en las máquinas e incluirlo en el mayhave que tuvieramos en el pkgsync. Si lo probamos en una de las máquinas:
# facter | grep monitor
monitor-model => 151E
monitor-serial => YEPF619484
monitor-vendor => FUS
Eso sería lo que se guardaría en el fichero .yaml de la máquina, en la ruta /var/lib/puppet/yaml/fact del servidor puppet .
Una vez hecho esto, sería sencillo procesar todos los ficheros .yaml con un script que haga el inventario de todas las máquinas conectadas a puppet.
buen día, estoy buscando hwclock para centos 7, pero no encuentro el paquete para descargarlo
ResponderEliminar