recording_utils API

Extraction params:
  • time_from: epoch

  • time_to: epoch

  • filter: nBPF filter

Recording configuration params:
  • buffer_size: Buffer size (MB)

  • max_file_size: Max file length (MB)

  • max_file_duration: Max file duration (sec)

  • max_disk_space: Max disk space (MB)

  • snaplen: Capture length

  • writer_core: Writer thread affinity

  • reader_core: Reader thread affinity

  • indexer_cores: Indexer threads affinity

  • zmq_endpoint: ZMQ endpoint (optional)

Functions

function isSupportedZMQInterface(ifid)

Check if an interface is a ZMQ interface that can be used with external interfaces for traffic recording and flow import.

Parameters:

ifid – the interface identifier

Returns:

true if supported, false otherwise

function getZMQProbeAddr(ifid)

Return the ZMQ endpoint that should be used by an external process (n2disk) to deliver flows to ntopng.

Parameters:

ifid – the interface identifier

Returns:

the endpoint

function isSupportedInterface(ifid)

Check if an interface is supported for recording (packet interface, or ZMQ interface that can be used with external interfaces for traffic dump and flow import)

Parameters:

ifid – the interface identifier

Returns:

true if supported, false otherwise

function isExternalProvidersReminderDismissed(ifid)

Check if a reminder that warns the user about available external traffic rec. providers has to be shown.

Returns:

true if the reminder has to be shown, false otherwise

function dismissExternalProvidersReminder(ifid)

Dismiss the reminder for external traffic recording providers.

Returns:

nil

function isExtractionAvailable()

Check if traffic recording and extraction is allowed for the current user on an interface.

Returns:

true if extraction is available, false otherwise

function getN2diskInfo()

Return information about the recording service (n2disk) including systemid and version.

Returns:

a table with the information

function setLicense(key)

Install a license for n2disk.

Parameters:

key – The license key

Returns:

true if the license is installed, false in case it is not possible

function getExtInterfaces(ifid, show_all)

Return external interfaces, not in use by ntopng, that can be used through ZMQ interface for traffic recording and flow import.

Parameters:

ifid – the interface identifier

Returns:

a table with external interfaces information

function getPcapPath(ifid)

Return the root path for recorded pcap data.

Parameters:

ifid – the interface identifier

Returns:

the path

function volumeInfo(path)

Read information about a volume, including storage size and available space.

Parameters:

path – the volume path (or a folder inside the volume)

function storageInfo(ifid, timeout)

Read information about the storage, including storage size and available space.

Parameters:
  • ifid – the interface identifier

  • timeout – the maxium time to compute the size

Returns:

a table containing storage information (size is in bytes)

function createConfig(ifid, params)

Generate a configuration for the traffic recording service (n2disk)

Parameters:
  • ifid – the interface identifier

  • params – the traffic recording settings

function isEnabled(ifid)

Check if traffic recording is available and enabled on an interface.

Parameters:

ifid – the interface identifier

Returns:

true if recording is enabled, false otherwise

function isExtractionEnabled(ifid)

Check if traffic extraction is available and recording is enabled on an interface.

Parameters:

ifid – the interface identifier

Returns:

true if extraction is available and recording is enabled, false otherwise

function isActive(ifid)

Check if the traffic recording service is running.

Parameters:

ifid – the interface identifier

Returns:

true if the service is running, false otherwise

function isExtractionActive(ifid)

Check if traffic recording is running and extraction is allowed for the current user on an interface.

Parameters:

ifid – the interface identifier

Returns:

true if the service is running and extraction available, false otherwise

function parse_proc_stats(proc_stats)

Return statistics from the traffic recording service (n2disk)

Parameters:

ifid – the interface identifier

Returns:

the statistics

function stats(ifid)

Return statistics from the traffic recording service (n2disk)

Parameters:

ifid – the interface identifier

Returns:

the statistics

function smartStats(ifid)

Return statistics from the traffic recording service (n2disk)

Parameters:

ifid – the interface identifier

Returns:

the statistics

function getCurrentTrafficRecordingProviderTimelinePath(ifid)

Returns the path to the timeline of the selected traffic recorder.

Parameters:

ifid – the interface identifier

Returns:

the timeline, if found, or nil

function getTimelineByInterval(ifid, epoch_begin, epoch_end)

Return the current n2disk timeline, or the “Smart” timeline if active, based on the time interval.

function checkExtraction(ifid, use_smart)

Parse the configuration file of a manually-started n2disk and returns the timeline if found.

Parameters:

ifid – the interface identifier

Returns:

true if extraction is possible and false otherwise, along with a check message

function restart(ifid, config)

Start (or restart) the traffic recording service.

Parameters:

ifid – the interface identifier

function stop(ifid)

Stop the traffic recording service.

Parameters:

ifid – the interface identifier

function log(ifid, rows)

Return the log trace of the traffic recording service (n2disk)

Parameters:
  • ifid – the interface identifier

  • rows – the number of lines to return

Returns:

the log trace

function isDataAvailable(ifid, epoch_begin, epoch_end)

Check if there is pcap data for a specified time interval (fully included in the dump window)

Parameters:
  • ifid – the interface identifier

  • epoch_begin – the begin time (epoch)

  • epoch_end – the end time (epoch)

Returns:

a table with ‘available’ = true if the specified interval is included in the dump window, ‘epoch_begin’/’epoch_end’ are also returned with the actual available window.

function getJobFiles(id)

Return the list of pcap files extracted for a job.

Parameters:

job_id – the job identifier

Returns:

the list of pcap files (paths)

function deleteJob(job_id)

Delete an extraction job and its pcap data on disk, if any.

Parameters:

job_id – the job identifier

function deleteAndStopAllJobs(ifid)

Delete and stop all the extraction jobs for the specified interface.

Parameters:

ifid – the interface identifier

function extractionJobsInfo(ifid)

Return statistics about the extraction jobs.

Parameters:

ifid – the interface identifier

Returns:

the jobs statistics (ready, total)

function getExtractionJobs(ifid)

Return the list of scheduled extraction jobs.

Parameters:

ifid – the interface identifier

Returns:

the list of jobs

function stopJob(job_id)

Stop a running extraction job.

Parameters:

job_id – the job identifier

function scheduleExtraction(ifid, params)

Schedule a new extraction job.

Parameters:
  • ifid – the interface identifier

  • params – the extraction parameters. time_from/time_to (epoch) are mandatory. filter (nBPF format) is optional.

Returns:

the newly created job