Este proyecto genera un conjunto ficticio de hostnames para servidores, simula sus atributos (sistema operativo, entorno, país), y crea visualizaciones estadísticas sobre su distribución.
Instala las librerías necesarias ejecutando:
pip install pandas numpy matplotlib seaborn
- Genera automáticamente hostnames con formato codificado.
- Extrae atributos (os, environment, country) a partir del hostname.
- Crea un DataFrame con todos los servidores simulados.
- Guarda los datos en un archivo CSV.
- Visualiza los datos con gráficos de barras, pastel, y más.
Cada hostname tiene la siguiente estructura:
<OS><ENV><COUNTRY><NODE_NUMBER>
Ejemplo: LPESP007
Significa:
- OS: Linux
- ENV: Production
- Country: Spain
- Node Number: 007
-
set_hostnames(n)
Generan
hostnames aleatorios usando pesos predefinidos. Los resultados se almacenan globalmente endataset
. -
get_os(hostname)
Devuelve el sistema operativo según la primera letra del hostname. -
get_environment(hostname)
Devuelve el tipo de entorno según la segunda letra del hostname. -
get_country(hostname)
Devuelve el país usando los caracteres 3-5 del hostname.
set_dataframe(1500) # Genera 1500 hostnames y crea un DataFrame
save_dataframe() # Guarda el DataFrame como 'hosts.csv'
plot_environment_by_country() # Visualización por país y entorno
plot_full_analysis() # Panel completo con 4 gráficos
-
plot_environment_by_country()
Gráfico de barras apiladas por país y tipo de entorno. -
plot_full_analysis()
Matriz 2x2 con:- Barras horizontales: Sistemas operativos por país.
- Gráfico circular: Porcentaje total de sistemas operativos.
- Barras horizontales (gradiente): Total de hosts por país.
- Barras agrupadas: Entornos por país.
El archivo hosts.csv
contiene las siguientes columnas:
hostname | os | environment | country | node |
---|---|---|---|---|
LPESP001 | Linux | Production | Spain | 1 |
SITAF002 | Solaris | Testing | Italy | 2 |
... | ... | ... | ... | ... |
- Se emplean probabilidades para simular una distribución realista.
- Variables globales utilizadas:
df
,dataset
,counter_dict
. - Proyecto útil para prácticas de manipulación de datos, generación aleatoria y visualización con Python.