Skip to content

a web-based network monitor (icmp status) inspired by my using of Castlerock's SNMPc when i was in the US military.

License

Notifications You must be signed in to change notification settings

drizuid/network-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

While I was in the US Army from 2002 to 2013 we regularly used a simple network monitoring program called SNMPc, created by a company called Castlerock. While it had some advanced features, we generally just used it as a simple icmp check. Green icon for up, red icon for down. The software itself looks very old (think windows 3.1 if you can) I decided I wanted something similar for my network, so I started work on a web based project to do the same thing and this is the result. It was written for me based on what I wanted, but a friend asked if he could get a copy, so I decided to publish.

While I am happy to entertain ideas for new features, I made this for me, so if I don't see a use I won't work on something. If you still want the change, submit a fully tested PR and I'm happy to entertain pulls.

Some functions are purely written using claude.ai as I am brand new to react/js after a couple khan academy classes. disclaimer: this is pretty much fully rewritten using claude.ai now after asking it to optimize my code for efficiency

docker run example:

docker run -d \
  --name=network-monitor \
  -e CONFIG_FILE=/config/network-monitor/config.json \
  -e DEBUG_MODE=false \
  -p 5000:5000 \
  -v /path/to/config.json:/config/network-monitor/config.json \
  --restart unless-stopped \
  ghcr.io/drizuid/network-monitor:latest

docker compose example:

---
services:
  network-monitor:
    image: ghcr.io/drizuid/network-monitor:latest
    container_name: network-monitor
    environment:
      - CONFIG_FILE=/config/network-monitor/config.json
      - DEBUG_MODE=false
    volumes:
      - /path/to/config.json:/config/network-monitor/config.json
    ports:
      - 5000:5000
    restart: unless-stopped

Notes:

  • Use:
    • Load it up, you'll have example "nodes." You can remove those nodes by hovering and clicking the red x.
    • You can remove "links" by clicking the red x.
    • You can remove boxes by clicking the red x.
    • You can not edit existing items, you would need to remove and re-add.
    • you can add new items, links, or boxes at the top right of the screen.
  • If you use VLANs and the application's host, container, or VM can't reach the other VLANs via ICMP, you won't be able to monitor those nodes, this isn't a bug, it's just common sense.
  • If you run this in a container and want to monitor the docker host, localhost will be the container itself, not the host, this isn't a bug, it's just common sense.
  • Objects are persistently stored in config.json as long as you properly mount the file from your host.
  • I will not add authentication or https support to this app, use a reverse proxy like SWAG
image

About

a web-based network monitor (icmp status) inspired by my using of Castlerock's SNMPc when i was in the US military.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages