Ping devices and check port status from routers/switches through telnet connection. Telnet tested on Enterasys S8, G3 and A4 switch series.
- Run docker image:
docker run -d --restart=unless-stopped \
-e SECRET_KEY='change_this!o)=4*s#n' \
-e TIME_ZONE='America/Sao_Paulo' \
-e DJANGO_ALLOW_ASYNC_UNSAFE=True \
-v monitor:/usr/src/app \
-p 8000:8000 \
--name monitor diegogslomp/django-monitor
- Create superuser to access admin dashboard:
docker exec -it monitor python manage.py createsuperuser
- Populate DB (optional):
docker exec monitor python manage.py loaddata initial_data
-
Visit http://localhost:8000
-
Visit http://localhost:8000/admin to create hosts
-
To send telegram bot messages, add
TELEGRAM_CHAT_ID
andTELEGRAM_TOKEN
to the docker run command -
Clean up:
docker stop monitor; docker rm monitor; docker volume rm monitor
- For PostgreSQL as DB, clone, build and run:
git clone --single-branch --recurse-submodules https://github.com/diegogslomp/django-monitor.git
cd django-monitor
docker compose build --pull
docker compose up -d && docker compose logs -f
docker compose exec -it monitor python manage.py createsuperuser
- For local deployment:
git clone --single-branch --recurse-submodules https://github.com/diegogslomp/django-monitor.git
cd django-monitor
# Copy/Edit environment variables file
cp .env.example .env
# Create and activate a virtual environment (optional)
python -m pipenv install
python -m pipenv shell
# Install dependencies
pip install -r requirements
python manage.py createsuperuser
python manage.py makemigrations
python manage.py migrate --no-input
python manage.py collectstatic --no-input
# Populate DB (optional)
python manage.py loaddata initial_data
# Start web app
python manage.py runserver 0.0.0.0:8000
# Start monitord in another terminal
python manage.py monitord