Brief

In this reference we will describe details about traffic visualization solution based on Grafana technology.

Supported report types

  • Total traffic
  • Traffic for specific prefix
  • Traffic for specific host
  • Top hosts by traffic
  • Top networks by traffic
  • Top ASNs by traffic
  • Total traffic per hostgroup
  • Detailed traffic flows database

All graphs provided for IPv4 and IPv6.

We maintain all our official dashboards as repository at GitHub.

System requirements

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

Install steps

For installing graphic stack we use special flag from FastNetMon’s installer.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wget https://install.fastnetmon.com/installer -Oinstaller
sudo chmod +x installer
sudo ./installer -install_graphic_stack
wget https://install.fastnetmon.com/installer -Oinstaller sudo chmod +x installer sudo ./installer -install_graphic_stack
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl restart nginx
sudo systemctl restart nginx
sudo systemctl restart nginx

You can reset password for any user or add new user with unique password using following procedure:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
wget https://install.fastnetmon.com/installer -Oinstaller
sudo chmod +x installer
sudo ./installer -reset_visual_passwords -visual_login admin
wget https://install.fastnetmon.com/installer -Oinstaller sudo chmod +x installer sudo ./installer -reset_visual_passwords -visual_login admin
wget https://install.fastnetmon.com/installer -Oinstaller
sudo chmod +x installer
sudo ./installer -reset_visual_passwords -visual_login admin

If you would like to create non admin user after running this command you need to use your “admin” account, open https://10.0.0.1/admin/users and create user with same login and password:

It’s required because we use HTTP basic authentication for increased security which is not synchronized with Grafana user database.

We use automatic provision of dashboards from folder and FastNetMon installer creates following file /etc/grafana/provisioning/datasources/fastnetmon.yaml to enable this capability:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
apiVersion: 1
providers:
- name: dashboards
type: file
updateIntervalSeconds: 30
editable: true
options:
path: /var/lib/grafana/fastnetmon_dashboards
foldersFromFilesStructure: true
apiVersion: 1 providers: - name: dashboards type: file updateIntervalSeconds: 30 editable: true options: path: /var/lib/grafana/fastnetmon_dashboards foldersFromFilesStructure: true
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo git clone https://github.com/FastNetMon/fastnetmon-grafana-dashboards.git /var/lib/grafana/fastnetmon_dashboards
sudo git clone https://github.com/FastNetMon/fastnetmon-grafana-dashboards.git /var/lib/grafana/fastnetmon_dashboards
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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"
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"
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 (deprecated since July 2024) we have it slightly different way in /etc/grafana/provisioning/datasources/fastnetmon.yaml:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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
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
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl restart grafana
sudo systemctl restart grafana
sudo systemctl restart grafana

You may check detailed guide for manual configuration of Clickhouse for metrics (recommended) and InfluxDB (obsoleted, deprecated, not recommended).

After this setting, you could see data on your graphs. Below you could find few example dashboards.

Total traffic
Traffic for specific network
Per host traffic
Top hosts
Per ASN traffic
Per group traffic

If you run very old version of Grafana previously you experience issues with Grafana’s authentication and access to Clickhouse. In this case we recommend completely remove Grafana you can use following commands and then run visual installer again.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo systemctl stop grafana-server.service
sudo apt-get remove --purge grafana
sudo rm -rf /var/lib/grafana/
sudo rm -rf /etc/grafana/
sudo systemctl stop grafana-server.service sudo apt-get remove --purge grafana sudo rm -rf /var/lib/grafana/ sudo rm -rf /etc/grafana/
sudo systemctl stop grafana-server.service
sudo apt-get remove --purge grafana 
sudo rm -rf /var/lib/grafana/
sudo rm -rf /etc/grafana/

24/7 Tech Support

support@fastnetmon.com

Email Us

sales@fastnetmon.com