Introducción a cfg2html
cfg2html
es una herramienta de código abierto diseñada para recopilar de manera eficiente la información detallada del sistema y generar informes exhaustivos en una variedad de entornos operativos. Esta utilidad de línea de comandos se utiliza ampliamente para recopilar información técnica crucial de hardware y software en sistemas UNIX y Linux, lo que la convierte en una herramienta valiosa para administradores de sistemas, ingenieros de soporte y usuarios avanzados en entornos empresariales y de servidor.
Tener esta información es crucial cuando tenemos una incidencia en un servidor.
Para aquellos entornos que no tienen una CMDB, o inventario del software y del sistema de sus servidores, o desean completar la información que poseen, cfg2html es una buena solución.
Al utilizar comandos simples y una estructura de script fácil de entender, cfg2html
simplifica la tarea de recopilar datos críticos del sistema, lo que permite a los usuarios obtener una visión detallada de la configuración del sistema, la información del kernel, la configuración de red, los controladores instalados, entre otros aspectos fundamentales del entorno de TI. Esto facilita el análisis exhaustivo del sistema y el diagnóstico de problemas potenciales, lo que resulta en una gestión más efectiva y una resolución más rápida de problemas.
En esta guía detallada, exploraremos las diversas capacidades de cfg2html
y proporcionaremos una visión completa sobre cómo instalar, configurar y utilizar esta herramienta para obtener un panorama completo de la configuración de sistemas, lo que permitirá a los usuarios tomar decisiones informadas y mantener un rendimiento óptimo del sistema.
Instalación y configuración de cfg2html
La instalación y configuración de cfg2html
pueden variar ligeramente dependiendo del sistema operativo específico. Una guía general para la instalación y configuración básica sería:
Instalación de cfg2html:
- Descarga del paquete:
Visitamos el sitio web oficial decfg2html
y descargamos el paquete de instalación compatible con tu sistema operativo. - Extracción del paquete:
Utilizamos el comando de extracción apropiado para descomprimir el archivo descargado. Si, por ejemplo, tenemos un Linux RedHat, podemos descargarnos el paquete RPM correspondiente e instalarlo de la manera habitual con rpm, yum o dnf.
# rpm -i cfg2html-7.0.1.1.gb8c7a98-1.git202303291751.noarch.rpm
# rpm -qa |grep cfg2html
cfg2html-7.0.1.1.gb8c7a98-1.git202303291751.noarch
#
Configuración de cfg2html:
- Edición de opciones de configuración:
Abriremos el archivo de configuración principal de /etc/cfg2html/local.conf con un editor de texto y ajustaremos las opciones según nuestras necesidades. Como norma general, no modificaremos las opciones de configuración por defecto pero, si lo deseamos. podemos especificar los componentes específicos del sistema que deseamos incluir en el informe.
# cat /etc/cfg2html/local.conf
# @(#) $Id: local.conf,v 1.2 2013-10-07 07:15:36 ralph Exp $
# -------------------------------------------------------------------------
# vim:ts=8:sw=4:sts=4 -*- cfg2html
# Example of /etc/cfg2html/local.conf file
####
# OUTPUT_URL=[proto]://[host]/[share]
# example: nfs://lucky/temp/backup
# example: cifs://lucky/temp
# example: file:///path
####
#CFG_TRACETIME="yes"
#LOCALPATH=/operator/bin:/sbin:/bin:/usr/sbin:/usr/bin
#
- Configuración de salida:
Podemos personalizar la configuración de salida para determinar el formato del informe y la ubicación del archivo de salida generado. - Configuración de programación de tareas (opcional):
Si deseamos programar ejecuciones periódicas decfg2html
, configuraremos las tareas de ejecución de cfg2html en un programador de tareas o en el propio cron del sistema. - Prueba de la configuración:
Ejecutaremoscfg2html
con las opciones de configuración seleccionadas para verificar si se genera el informe de acuerdo con nuestras especificaciones. - Ajustes finales:
Realizaremos ajustes adicionales según sea necesario, como la configuración de notificaciones o la personalización de otros parámetros relevantes para nuestro sistema.
Uso básico de cfg2html
El uso básico de cfg2html
implica ejecutar el comando y especificar las opciones necesarias para recopilar la información del sistema y generar un informe:
- Ejecución del comando:
Abriremos una terminal escribiremos el comandocfg2html
:
cfg2html
- Especificación de opciones:
Podemos especificar opciones adicionales según nuestras necesidades. Por ejemplo, la opción-o
sirve para especificar la ubicación y el nombre del archivo de salida, o la opción-F
para indicar el formato de salida del informe.
cfg2html -o /ruta/del/informe/mi_informe.html -F html
Si no especificamos el formato del fichero, cfg2html nos generará un informe en formato HTML y otro en modo texto. Veamos el proceso completo:
# cfg2html -o /tmp/$(hostname)
--=[ http://www.cfg2html.com ]=---------------------------------------------
Starting: cfg2html-linux version 7.0.1.1.gb8c7a98-git202303291751
Path to cfg2html: /usr/sbin/cfg2html
HTML Output File: /tmp/rhel9casa/rhel9casa.html
Text Output File: /tmp/rhel9casa/rhel9casa.txt
Partitions: /tmp/rhel9casa/rhel9casa.partitions.save
Errors logged to: /tmp/rhel9casa/rhel9casa.err
Local config /etc/cfg2html/local.conf ( 0 lines)
Started at 2023-10-31@09:36:45
WARNING USE AT YOUR OWN RISK!!! :-)) <<<<<
--=[ http://www.cfg2html.com ]=---------------------------------------------
Collecting: Linux System: [Red Hat Enterprise Linux 9.2 (Plow)] ...................................................................
Collecting: Cron and At .........
Collecting: Hardware ..............................
Collecting: Software ........
Collecting: Filesystems, Dump and Swap configuration ............
Collecting: LVM .............
Collecting: Network Settings ....................................
Collecting: Kernel, Modules and Libraries ...................
Collecting: System Enhancements .
Collecting: Applications and Subsystems .........
Collecting: Cluster Services .
Collecting: Local files ..
--=[ http://www.cfg2html.com ]=---------------------------------------------
#
# ls -la /tmp/$(hostname)
total 4116
drwxr-xr-x 2 root root 111 Oct 31 09:37 .
drwxrwxrwt. 38 root root 4096 Oct 31 09:38 ..
-rw-r--r-- 1 root root 4632 Oct 31 09:38 rhel9casa.err
-rw-r--r-- 1 root root 1709294 Oct 31 09:38 rhel9casa.html
-rw-r--r-- 1 root root 223 Oct 31 09:37 rhel9casa.partitions.save.nvme0n1
-rw-r--r-- 1 root root 1662146 Oct 31 09:38 rhel9casa.txt
#
- Interpretación del informe:
Una vez que se genera el informe, lo abriremos con un visor de texto o un navegador web para revisar la información recopilada. El informe proporcionará detalles sobre la configuración del hardware, la red, el kernel, los controladores y otros componentes del sistema según las configuraciones especificadas.
Como el fichero es muy largo, voy a escribir solamente el índice del contenido del informe:
Linux System: [Red Hat Enterprise Linux 9.2 (Plow)] ----
- Host is Virtual.
- System description
- CPU and Model info
- CPU Architecture Information Helper
- Processor idle state information
- Processor power related kernel or hardware configuration
- Monitor
- uname and hostname details
- Host alias; and ALL information
- OS, Kernel version
- Hostname settings
- OS Specific Release Information for (/etc/os-release)
- OS Specific Release Information for (/etc/redhat-release)
- OS Specific Release Information for (/etc/system-release)
- virsh Virtualization Support Status
- virsh XML Hypervisor Sysinfo
- Virtual Machine Check
- Systemd Virtual Machine and Container Version
- Systemd Virtual Machine and Container Status
- POSIX Standards/Settings
- locale specific information
- System ulimit
- System Configuration Variables
- MP-Statistics
- IO-Statistics
- PATH Settings
- Executable Commands found in /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- Files that are open but have been deleted
- Used Memory and Swap Summary
- Detailed Memory Usage (meminfo)
- Zoned Buddy Allocator/Memory Fragmentation and Zones
- Kernel slabinfo Statistics
- Additional page allocator information
- Per-zone page allocator
- Virtual Memory-Statistics (1 10)
- Virtual Memory-Statistics (Summary)
- Uptime
- Active Process - Tree Overview
- Processes without a named owner
- Top load processes
- Top memory consuming processes
- Top file handles consuming processes
- pidstat - Statistics for Linux Tasks
- Last 25 Reboots
- Last 25 runlevel changes or reboots
- systemd-analyze Boot Performance Profiler
- systemd-analyze Boot Sequence and Performance Profiler
- Systemd: Recursively show control group contents
- Alias
- Systemd: System and Service Manager
- Systemd: All Services
- Systemd: All Unit Files
- Systemd Journal with Errors and Warnings
- default runlevel
- current runlevel
- Report running processes that have been updated and need restart
- Hardware watchdog status
- List available coredumps
- IPC Status
- IPC Summary
- IPC Limits
- integrity of password files
- integrity of group files
- Password File
- Shadow File
- Sudo Config
Cron and At ----
- cron.allow
- cron.deny
- For utility 0hourly
- For utility cfg2html
- /etc/crontab
- No /etc/at.allow
- /etc/at.deny
- AT Scheduler
Hardware ----
- Physical Memory
- DMI Table Decoder
- biosdecode
- CPU architecture
- Hardware List (lshw)
- List of USB devices
- PCI devices
- IoPorts
- Interrupts
- SCSI Components
- SCSI Devices
- SCSI Devices (long, details)
- SCSI Devices (size)
- SMART disk drive features and information
- Fibre Channel Host Bus Adapters sg_scan SCSI inquiry
- Disk devices by-id
- Block disk devices
- Fibre Channel Host Bus Adapters scsi_id
- Asound Version
- Sound modules
- Sound Cards
- Sound Timers
- Sound devices
- DMA Devices
- Serial Devices
- Serial ttyS0
- Serial ttyS1
- IDE Disks
- CDROM Drive
Software ----
- Packages installed
- Packages installed (sorted)
- Packages installed, Name only (sorted)
- Packages installed, Name and Vendor only (sorted)
- RPM Query Tags
- YUM: Last actions performed
- Software Development: Programs and Versions
Filesystems, Dump and Swap configuration ----
- Filesystem Table
- Filesystems and Usage
- All Filesystems and Usage
- Filesystems Parameters
- Local Mountpoints
- Disk Partition Layout
- Disk Partitions to restore from
- Disk Partitions
- NFS Filesystems
- Kdump Status
- Kdump memory allocation
LVM ----
- Block Device Attributes
- Physical Volumes
- Volumegroup Device Files
- LVM global info
- LVM dumpconfig
- Available Physical Groups
- Available Volume Groups
- Available Logical Volumes
- Detailed Volume Groups Report
- Logical Volumes
- Volumegroups
- Physical Devices used for LVM
Network Settings ----
- LAN Interfaces Settings (ifconfig)
- LAN Interfaces Settings (ip addr)
- Detailed NIC Statistics
- NetworkManager Device Status
- NetworkManager Connections
- Ethernet Settings for Interface ens160
- LAN Configuration Files
- Route Configuration Files
- MII Status
- MII Diagnostics
- Network Routing
- Routing Tables
- Network Neighborhood
- Summary statistics for each protocol
- Other Network statistics
- Kernel Interface table
- list of all sockets
- TCP Listening Sockets Statistics
- UDP Listening Sockets Statistics
- dig hostname
- /etc/hosts
- IP forward
- DNS & Names
- DNSMASQ
- Postfix Version
- Email Aliases
- NFSD and BIOD utilization
- CHRONY Time Protocol Daemon sources
- CHRONY Time Protocol Daemon tracking
- System Time and Date Status
- Time: HWClock
- FTP Login Shells
- host.conf
- sshd config
- ssh config
Kernel, Modules and Libraries ----
- GRUB2 Boot Manager
- Contents of the InitRD RAM File System
- Files in /boot
- Loaded Kernel Modules
- Available Modules Trees
- Modules for the ramdisk
- Missing Kernel Modules
- SELinux Settings
- System boot
- Kernel command line
- libc Version (getconf)
- libc6 Version (RPM)
- Run-time link bindings
- configured kernel variables at runtime
- configured kernel variables in /etc/sysctl.conf
- Firmware and boot manager settings
- Kernel I/O Elevator
- List of Block Devices
System Enhancements ----
Applications and Subsystems ----
- ReaR Configuration
- Files in /usr/local/bin
- Files in /usr/local/sbin
- Files in /opt
- Samba Configuration (smb.conf)
- BSD Printer Spooler and Printers
- SYSV Printer Spooler and Printers
- Printcap
Cluster Services ----
Local files ----
- Contents of the file: /etc/motd
Opciones avanzadas de cfg2html
A continuación, podemos ver algunos ejemplos ampliados de cómo utilizar algunas de las opciones avanzadas de cfg2html
:
- Opciones de filtrado avanzadas:
cfg2html -x '(hardware|network)' -o /ruta/del/informe/mi_informe.html
Este comando utiliza la opción -x
para filtrar la información del informe y solo incluir los componentes de hardware y red en el informe generado.
- Personalización de la plantilla de informe:
cfg2html -t mi_plantilla.cfg -o /ruta/del/informe/mi_informe.html
En este ejemplo, la opción -t
se utiliza para especificar una plantilla personalizada denominada «mi_plantilla.cfg» que contiene la configuración de formato específica para el informe.
- Configuración de exportación a múltiples formatos:
cfg2html -F xml -o /ruta/del/informe/mi_informe.xml
La opción -F
se utiliza para especificar que el informe debe generarse en formato XML en lugar del formato predeterminado. El informe se guarda en el archivo «mi_informe.xml».
- Configuración de metadatos y etiquetas avanzadas:
cfg2html -m "Entorno de producción" -l "Equipo A" -o /ruta/del/informe/mi_informe.html
Aquí, las opciones -m
y -l
se utilizan para agregar metadatos y etiquetas al informe, lo que ayuda a categorizar y etiquetar el informe con información adicional relevante.
Mi pasión por la tecnología me lleva constantemente a explorar las últimas tendencias y aplicaciones, buscando siempre formas de implementar soluciones innovadoras que mejoren la eficiencia. En puerto53.com comparto contenido valioso para ayudar a otros profesionales y entusiastas de la informática a navegar y dominar el complejo mundo de la tecnología. Mi especialidad en Linux RedHat.
Más sobre mí en el este enlace,