Sistema Unificado de Monitoreo de Calidad de Servicio y Calidad de Experiencia en Redes Wi-Fi
Miembros
Kerly Cervantes 🌹 |
Yiam Rodriguez 😎 |
Descripción del Proyecto
El proyecto consta de tres agentes de reacoleccion de datos, cada uno trabaja con un script diferente. Existen 3 script que limpian y filtran la data para enviarla al EC2, el cual se encargado de sincronizar los datos y almacenarlos en MySQL. Una vez llenadas las tablas se enviaran cada minuto a Elasticsearch. El repositoro que utiliza el web service Flask, debe estar instalado en el EC2 y esperar los request de los agentes de monitoreo.
Despliegue de Proyecto
El Deploy estara habilitado hasta 30/09/2022
Proyecto levantado en http://44.204.82.115:9200/aps/_search
Portal de Kibana
Para ingresar dirigirse a http://44.204.82.115/
Para iniciar sesion solicitar credenciales a los siguientes correos:
Dashboard
Dirigirse al menu (=) en la parte superior izquierda y luego Analytics
Fases para levantamiento del Proyecto
Recopilación de datos
- Agente SNMP
Se utiliza el script de Python alojado en el directorio:
/snmp/script/get_and_post_snpm_script.py
para obtener los datos de la controladora.
- Agente Wireshark
Aqui se capturaron datos y muestras de paquestes tshark -b filesize:6000 -a files:10 -w traffic.pcapng
- Agente Rasberry Pi
Se instalo sparrow wifi, seguir los pasos en el siguiente link: https://github.com/ghostop14/sparrow-wifi
Levantamiento del Servidor EC2
Se instalo una instancia en AWS EC2 instancia EC2 Ubuntu t4g.xlarge con 2GB de RAM y 30 GB de almacenamiento. Para efectos de prueba se utilizó la configuración de seguridad de forma general, que permita todo el tráfico 0.0.0.0/0
Levantar Kibana y ElastichSearch
sh -i <path to .pem file> ubuntu@<dns name>
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install default-jre
java -version
sudo apt-get install nginx
sudo systemctl start nginx
sudo systemctl status nginx
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt-get update
sudo apt-get install elasticsearch
sudo nano /etc/elasticsearch/elasticsearch.yml
xpack.security.enabled: false
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
sudo nano /etc/elasticsearch/jvm.options
-Xms128m
-Xmx128m
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
sudo systemctl status elasticsearch
sudo curl -XGET http://localhost:9200
sudo apt-get install kibana
sudo systemctl start kibana
sudo systemctl enable kibana
sudo systemctl status kibana
echo "kibanaadmin:`openssl passwd -apr1`" | sudo tee -a /etc/nginx/htpasswd.users
kibanaadmin
holaker
sudo nano /etc/nginx/sites-available/44.204.82.115
server {
listen 80;
server_name 44.204.82.115;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
sudo ln -s /etc/nginx/sites-available/44.204.82.115 /etc/nginx/sites-enabled/44.204.82.115
sudo nginx -t
sudo systemctl restart nginx
sudo ufw allow 'Nginx Full'
Levantamiento del Web Services Flask
- Instalar servicios
python3 -m venv entorno
sudo apt install python3-virtualenv
- Crear el environment
En este caso no es necesario crearlo porque ya existe, solo se debe desacargr el repo del api que se encuentra en el siguiente directorio proyecto_monitoreo/flask_api_web_serivce/
- Correr el servicio
Una vez inslado pytohn y virtualenv instalar los requerimientos
pip install -r requirements.txt
Ejecutar estos comandos para activar el environmet
$ python3 -m venv venv
$ source venv/bin/activate
Por ultimo ejecutar el programa usando:
python index.py
Log in or sign up for Devpost to join the conversation.