-
Notifications
You must be signed in to change notification settings - Fork 23
Home
GPON Monitor is an ASP.NET Core web application intended for quick diagnostic of Dasan Networks GPON OLTs and related ONTs.
GPON Monitor requires:
- .NET Core >1.1.0 compatible server (https://www.microsoft.com/net/core),
- Dasan Networks OLT running software version 6.xx or higher with configured SNMP service (RW access),
- routable connection between server and monitored OLT.
Currently supported ONUs:
- Dasan Networks: H645B, H665, H665G, H640GW-02, H660GW, H680GW.
sudo apt-get install curl libunwind8 gettext
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=835021
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo ln -s /opt/dotnet/dotnet /usr/local/bin
sudo apt-get install supervisor nginx
Download, unpack the latest version od GPONMonitor form https://github.com/bartekkois/GPONMonitor/releases and restore dependencies
sudo mkdir -p /var/www_aspnetcore/GPONMonitor
cd /var/www_aspnetcore
curl -sSL -o GPONMonitor-1.0.0.zip https://github.com/bartekkois/GPONMonitor/releases/download/1.0.0/GPONMonitor-1.0.0.zip
sudo unzip GPONMonitor-1.0.0.zip -d /var/www_aspnetcore/GPONMonitor
Configure monitored OLTs in GPONMonitor/devicesconfiguration.json (name and SNMP related variables as shown below).
{
"DevicesConfiguration": {
"Devices": [
{
"Name": "GPON OLT A",
"IpAddress": "10.1.1.21",
"SnmpPort": "161",
"SnmpVersion": "2",
"SnmpCommunity": "public",
"SnmpTimeout": 3000
},
{
"Name": "GPON OLT B",
"IpAddress": "10.1.1.11",
"SnmpPort": "161",
"SnmpVersion": "2",
"SnmpCommunity": "public",
"SnmpTimeout": 3000
},
{
"Name": "GPON OLT C",
"IpAddress": "10.2.1.11",
"SnmpPort": "161",
"SnmpVersion": "2",
"SnmpCommunity": "public",
"SnmpTimeout": 3000
}
]
}
}
Change the default configuration in /etc/supervisor/conf.d/GPONMonitor.conf to:
[program:GPONMonitor]
command=/usr/local/bin/dotnet /var/www_aspnetcore/GPONMonitor/GPONMonitor.dll
directory=/var/www_aspnetcore/GPONMonitor
autostart=true
autorestart=true
stderr_logfile=/var/log/GPONMonitor.err.log
stdout_logfile=/var/log/GPONMonitor.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=www-data
stopsignal=INT
Restart supervisor:
service supervisor restart
Change the default configuration in /etc/nginx/sites-available/default to:
server {
listen 5001 default_server;
listen [::]:5001 default_server;
root /var/www_aspnetcore/GPONMonitor;
server_name _;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Restart nginx:
service nginx restart
To upgrade application simply stop the supervisor, change GPONMonitor binaries while preserving devicesconfiguration.json and start supervisor.
Access GPON Monitor through your web browser at http://your_server_ip:5001
For security reasons we highly encourage NOT to expose this application to the public internet and to use it ONLY in your intranet or through the VPN.
- Changes in devicesconfiguration.json requires application to be restarted via supervisor.
- All underscore signs '_' in ONUs descriptions are automatically changed to space in order to deal with spaces in OLT CLI.