In this reference we will describe details about traffic visualization solution based on Grafana technology.
Supported report types
- Total traffic for whole network
- Traffic for specific prefix
- Traffic for specific host (/32, /128)
- Top hosts by traffic
- Top networks by traffic
- Top ASNs by traffic
- Total traffic per hostgroup
- Detailed traffic flows database
We maintain all our official dashboards as repository at GitHub.
Please note that your CPU should support SSE 4.2 instruction set for our time series database Clickhouse. On some virtualisation platforms like Proxmox this capability is disabled even if CPU supports. You will need to follow this guide to enable it
For installing graphic stack we use special flag from FastNetMon’s installer.
wget https://install.fastnetmon.com/installer -Oinstaller sudo chmod +x installer sudo ./installer -install_graphic_stack
Please carefully read output of installer tool and remember passwords for Grafana. During installation Grafana and Clickhouse will be installed, configured and integrated with FastNetMon.
To access Grafana you use HTTP connection to port 81 or HTTPS connection to port 443 (Debian / Ubuntu only).
By default FastNetMon uses self-signed SSL certificate available in your system. You may switch to your own SSL certificates by changing following fields in file /etc/nginx/sites-enabled/grafana.conf:
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
After that you will need to restart Nginx to apply changes:
sudo systemctl restart nginx
You can reset password for any user or add new user with unique password using following procedure:
wget https://install.fastnetmon.com/installer -Oinstaller sudo chmod +x installer sudo ./installer -reset_visual_passwords -visual_login admin
We use automatic provision of dashboards from folder and FastNetMon installer creates following file /etc/grafana/provisioning/datasources/fastnetmon.yaml to enable this capability:
apiVersion: 1 providers: - name: dashboards type: file updateIntervalSeconds: 30 editable: true options: path: /var/lib/grafana/fastnetmon_dashboards foldersFromFilesStructure: true
Then we copy dashboards from GitHub as is to following folder /var/lib/grafana/fastnetmon_dashboards. If you want to do it manually you can do it this way:
sudo git clone https://github.com/FastNetMon/fastnetmon-grafana-dashboards.git /var/lib/grafana/fastnetmon_dashboards
Due to Grafana limitation we have to hardcode UID for Clickhouse datastore this way in data source provisioning file /etc/grafana/provisioning/datasources/fastnetmon-clickhouse.yaml:
datasources: - orgId: 1 version: 1 name: Clickhouse official type: grafana-clickhouse-datasource uid: fastnetmonclickhouseofficialdatasourceuid jsonData: defaultDatabase: fastnetmon port: 9000 server: "127.0.0.1" username: "grafana" tlsSkipVerify: false secureJsonData: password: "very-secure-password-replace-it"
For InfluxDB we have it slightly different way in /etc/grafana/provisioning/datasources/fastnetmon.yaml:
apiVersion: 1 datasources: - orgId: 1 version: 1 name: InfluxDB type: influxdb access: proxy url: http://127.0.0.1:8086 database: fastnetmon isDefault: true uid: fastnetmoninfluxdbdatasource
After making any changes with provision you will need to restart Grafana:
sudo systemctl restart grafana
After this setting, you could see data on your graphs. Below you could find few example dashboards.