In FastNetMon we have complete support for Prometheus based monitoring. It can be enabled this way (please do not use 0.0.0.0 for production setups and use private ranges for security reasons):
sudo fcli set main prometheus enable sudo fcli set main prometheus_host 0.0.0.0 sudo fcli set main prometheus_port 9209 sudo fcli commit
After that, you will be able to access metrics via standard Prometheus interface from http://127.0.0.1:9209/metrics
FastNetMon exports all metrics which available using sudo fcli show system_counters command. Example:
# HELP Total number of simple packets processed # TYPE total_simple_packets_processed counter total_simple_packets_processed 2 # HELP Total number of IPv4 simple packets processed # TYPE total_ipv4_packets counter total_ipv4_packets 0 # HELP Total number of IPv6 simple packets processed # TYPE total_ipv6_packets counter total_ipv6_packets 2 # HELP Non IPv4 and non IPv6 packets # TYPE unknown_ip_version_packets counter unknown_ip_version_packets 0 # HELP Total number of packets we failed to parse # TYPE total_unparsed_packets counter total_unparsed_packets 0 # HELP Number of packets we fail to parse per second # TYPE total_unparsed_packets_speed gauge total_unparsed_packets_speed 0 # HELP Number of packets filtered with remote whitelist option # TYPE total_remote_whitelisted_packets_packets counter total_remote_whitelisted_packets_packets 0 # HELP Number of packets filtered by flow spec engine # TYPE total_flowspec_filtered_packets counter total_flowspec_filtered_packets 0 # HELP Number of bytes filtered by flow spec engine # TYPE total_flowspec_filtered_bytes counter total_flowspec_filtered_bytes 0 # HELP Number of packets white listed by flowspec whitelist # TYPE total_flowspec_whitelist_packets counter total_flowspec_whitelist_packets 0 # HELP Number of errors related with traffic db # TYPE traffic_db_errors counter traffic_db_errors 0 # HELP Number of messages pushed to traffic db # TYPE traffic_db_pushed_messages counter traffic_db_pushed_messages 0 # HELP Number of packets seen by sampler code # TYPE traffic_db_sampler_seen_packets counter traffic_db_sampler_seen_packets 0 # HELP Number of packets selected by sampler, only for mirror code # TYPE traffic_db_sampler_selected_packets counter traffic_db_sampler_selected_packets 0 # HELP Time consumed by recalculation for all IPs # TYPE speed_recalculation_time_seconds gauge speed_recalculation_time_seconds 0 # HELP Time consumed by recalculation for all IPs # TYPE speed_recalculation_time_microseconds gauge speed_recalculation_time_microseconds 49 # HELP Traffic calculation delay was shorter than we expected # TYPE all_traffic_calculation_delay_shorter counter all_traffic_calculation_delay_shorter 0 # HELP Traffic calculation delay was negative # TYPE all_traffic_calculation_delay_negative counter all_traffic_calculation_delay_negative 0 # HELP Traffic calculation delay longer then we expected # TYPE all_traffic_calculation_delay_longer counter all_traffic_calculation_delay_longer 0 # HELP Total number of hosts in our networks # TYPE total_number_of_hosts gauge total_number_of_hosts 257 # HELP IPv4 hosts hash load factor integer # TYPE hosts_hash_load_factor_integer gauge hosts_hash_load_factor_integer 0 # HELP IPv4 hosts hash load factor fraction # TYPE hosts_hash_load_factor_fraction gauge hosts_hash_load_factor_fraction 0 # HELP IPv4 hosts hash size # TYPE hosts_hash_size gauge hosts_hash_size 0 # HELP IPv4 hosts hash buckets number # TYPE hosts_hash_bucket_count gauge hosts_hash_bucket_count 1 # HELP IPv6 hosts hash load factor integer # TYPE hosts_hash_load_factor_ipv6_integer gauge hosts_hash_load_factor_ipv6_integer 0 # HELP IPv6 hosts hash load factor fraction # TYPE hosts_hash_load_factor_ipv6_fraction gauge hosts_hash_load_factor_ipv6_fraction 0 # HELP IPv6 hosts hash size # TYPE hosts_hash_size_ipv6 gauge hosts_hash_size_ipv6 0 # HELP IPv6 hosts hash buckets number # TYPE hosts_hash_ipv6_bucket_count gauge hosts_hash_ipv6_bucket_count 1 # HELP Total number of InfluxDB writes # TYPE influxdb_writes_total counter influxdb_writes_total 0 # HELP Total number of failed InfluxDB writes # TYPE influxdb_writes_failed counter influxdb_writes_failed 0 # HELP Total number of Clickhouse writes # TYPE clickhouse_metrics_writes_total counter clickhouse_metrics_writes_total 0 # HELP Total number of failed Clickhouse writes # TYPE clickhouse_metrics_writes_failed counter clickhouse_metrics_writes_failed 0 # HELP Number of IPFIX and Netflow per second # TYPE netflow_all_protocols_total_flows_speed gauge netflow_all_protocols_total_flows_speed 0 # HELP Number of sFlow headers per second # TYPE sflow_raw_packet_headers_total_speed gauge sflow_raw_packet_headers_total_speed 0 # HELP Number of entries in flow tracking structure # TYPE entries_flow_tracking gauge entries_flow_tracking 0 # HELP Number of IPs with flow information # TYPE flow_exists_for_ip gauge flow_exists_for_ip 0 # HELP Number of IPs without flow information # TYPE flow_does_not_exist_for_ip gauge flow_does_not_exist_for_ip 0 # HELP Traffic buffer for IPv4 maximum duration in seconds # TYPE traffic_buffer_duration_seconds_ipv4 gauge traffic_buffer_duration_seconds_ipv4 0 # HELP Traffic buffer for IPv6 maximum duration in seconds # TYPE traffic_buffer_duration_seconds_ipv6 gauge traffic_buffer_duration_seconds_ipv6 0 # HELP Number of IPv4 packets matched by flexible thresholds # TYPE total_flexible_thresholds_matched_bytes_ipv4 counter total_flexible_thresholds_matched_bytes_ipv4 0 # HELP Number of IPv4 bytes matched by flexible thresholds # TYPE total_flexible_thresholds_matched_packets_ipv4 counter total_flexible_thresholds_matched_packets_ipv4 0 # HELP Number of IPv6 bytes matched by flexible thresholds # TYPE total_flexible_thresholds_matched_bytes_ipv6 counter total_flexible_thresholds_matched_bytes_ipv6 0 # HELP Number of IPv6 packets matched by flexible thresholds # TYPE total_flexible_thresholds_matched_packets_ipv6 counter total_flexible_thresholds_matched_packets_ipv6 0 # HELP Number of raw packets received without any errors # TYPE sflow_raw_udp_packets_received counter sflow_raw_udp_packets_received 0 # HELP Number of failed receives # TYPE sflow_udp_receive_errors counter sflow_udp_receive_errors 0 # HELP Number of eagains # TYPE sflow_udp_receive_eagain counter sflow_udp_receive_eagain 1 # HELP Total number of received UDP sFlow packets # TYPE sflow_total_packets counter sflow_total_packets 0 # HELP Incorrectly crafted sFlow packets # TYPE sflow_bad_packets counter sflow_bad_packets 0 # HELP Number of flow samples, i.e. with packet headers # TYPE sflow_flow_samples counter sflow_flow_samples 0 # HELP Number of broken flow samples # TYPE sflow_bad_flow_samples counter sflow_bad_flow_samples 0 # HELP Number of packets with padding inside flow sample # TYPE sflow_padding_flow_sample counter sflow_padding_flow_sample 0 # HELP Number of packets where we have padding at the end of packet # TYPE sflow_with_padding_at_the_end_of_packet counter sflow_with_padding_at_the_end_of_packet 0 # HELP Number of packet headers from flow samples which could not be decoded correctly # TYPE sflow_parse_error_nested_header counter sflow_parse_error_nested_header 0 # HELP Number of counter samples, i.e. with port counters # TYPE sflow_counter_sample counter sflow_counter_sample 0 # HELP Number of packet headers from flow samples # TYPE sflow_raw_packet_headers_total counter sflow_raw_packet_headers_total 0 # HELP Number of samples with IPv4 packet headers # TYPE sflow_ipv4_header_protocol counter sflow_ipv4_header_protocol 0 # HELP Number of samples with IPv6 packet headers # TYPE sflow_ipv6_header_protocol counter sflow_ipv6_header_protocol 0 # HELP Number of packets for unknown header protocol # TYPE sflow_unknown_header_protocol counter sflow_unknown_header_protocol 0 # HELP Number of records with extended information from routers # TYPE sflow_extended_router_data_records counter sflow_extended_router_data_records 0 # HELP Number of samples with switch data # TYPE sflow_extended_switch_data_records counter sflow_extended_switch_data_records 0 # HELP Number of samples with gateway data # TYPE sflow_extended_gateway_data_records counter sflow_extended_gateway_data_records 0 # HELP Total number of Netflow v5 UDP packets received # TYPE netflow_v5_total_packets counter netflow_v5_total_packets 0 # HELP Total number of Netflow v5 flows (multiple in each packet) # TYPE netflow_v5_total_flows counter netflow_v5_total_flows 0 # HELP Netflow v5 flows with duration less then 15 seconds # TYPE netflow_v5_duration_less_15_seconds counter netflow_v5_duration_less_15_seconds 0 # HELP Netflow v5 flows with duration less then 30 seconds # TYPE netflow_v5_duration_less_30_seconds counter netflow_v5_duration_less_30_seconds 0 # HELP Netflow v5 flows with duration less then 60 seconds # TYPE netflow_v5_duration_less_60_seconds counter netflow_v5_duration_less_60_seconds 0 # HELP Netflow v5 flows with duration less then 90 seconds # TYPE netflow_v5_duration_less_90_seconds counter netflow_v5_duration_less_90_seconds 0 # HELP Netflow v5 flows with duration less then 180 seconds # TYPE netflow_v5_duration_less_180_seconds counter netflow_v5_duration_less_180_seconds 0 # HELP Netflow v5 flows with duration more then 180 seconds # TYPE netflow_v5_duration_exceed_180_seconds counter netflow_v5_duration_exceed_180_seconds 0 # HELP Total number of Netflow v5 UDP packets received # TYPE netflow_v9_total_packets counter netflow_v9_total_packets 0 # HELP Total number of Netflow v9 flows (multiple in each packet) # TYPE netflow_v9_total_flows counter netflow_v9_total_flows 0 # HELP Total number of Netflow v9 IPv4 flows (multiple in each packet) # TYPE netflow_v9_total_ipv4_flows counter netflow_v9_total_ipv4_flows 0 # HELP Total number of Netflow v9 IPv6 flows (multiple in each packet) # TYPE netflow_v9_total_ipv6_flows counter netflow_v9_total_ipv6_flows 0 # HELP Netflow v9 flows with duration less then 15 seconds # TYPE netflow_v9_duration_less_15_seconds counter netflow_v9_duration_less_15_seconds 0 # HELP Netflow v9 flows with duration less then 30 seconds # TYPE netflow_v9_duration_less_30_seconds counter netflow_v9_duration_less_30_seconds 0 # HELP Netflow v9 flows with duration less then 60 seconds # TYPE netflow_v9_duration_less_60_seconds counter netflow_v9_duration_less_60_seconds 0 # HELP Netflow v9 flows with duration less then 90 seconds # TYPE netflow_v9_duration_less_90_seconds counter netflow_v9_duration_less_90_seconds 0 # HELP Netflow v9 flows with duration less then 180 seconds # TYPE netflow_v9_duration_less_180_seconds counter netflow_v9_duration_less_180_seconds 0 # HELP Netflow v9 flows with duration more then 180 seconds # TYPE netflow_v9_duration_exceed_180_seconds counter netflow_v9_duration_exceed_180_seconds 0 # HELP Number of Netflow v9 data packets # TYPE netflow_v9_data_packet_number counter netflow_v9_data_packet_number 0 # HELP Number of Netflow v9 data template packets # TYPE netflow_v9_data_templates_number counter netflow_v9_data_templates_number 0 # HELP Number of Netflow v9 options templates packets # TYPE netflow_v9_options_templates_number counter netflow_v9_options_templates_number 0 # HELP Number of Netflow v9 options data packets # TYPE netflow_v9_options_packet_number counter netflow_v9_options_packet_number 0 # HELP Number of dropped Netflow v9 packets due to unknown template in message # TYPE netflow_v9_packets_with_unknown_templates counter netflow_v9_packets_with_unknown_templates 0 # HELP Number of times we received sampling rate from Netflow v9 agent # TYPE netflow_v9_custom_sampling_rate_received counter netflow_v9_custom_sampling_rate_received 0 # HELP How much times we changed sampling rate for same agent. As change we also count when we received it for the first time # TYPE netflow_v9_sampling_rate_changes counter netflow_v9_sampling_rate_changes 0 # HELP Number of Netflow v9 flows with re-classified protocol version # TYPE netflow_v9_protocol_version_adjustments counter netflow_v9_protocol_version_adjustments 0 # HELP Count times when template data actually changed for Netflow v9 # TYPE netflow_v9_template_updates_number_due_to_real_changes counter netflow_v9_template_updates_number_due_to_real_changes 0 # HELP We increment these counters when field we use to store particular type of Netflow v9 record is smaller than we actually received from device # TYPE netflow_v9_too_large_field counter netflow_v9_too_large_field 0 # HELP Total number of headers in Netflow v9 lite received # TYPE netflow_v9_lite_headers counter netflow_v9_lite_headers 0 # HELP Number of Netflow v9 flows with forwarding status provided # TYPE netflow_v9_forwarding_status counter netflow_v9_forwarding_status 0 # HELP Netflow v9 Lite header parser errors # TYPE netflow_v9_lite_header_parser_error counter netflow_v9_lite_header_parser_error 0 # HELP Netflow v9 packets we cannot decode # TYPE netflow_v9_broken_packets counter netflow_v9_broken_packets 0 # HELP Total number of IPFIX flows (multiple in each packet) # TYPE ipfix_total_flows counter ipfix_total_flows 0 # HELP Total number of IPFIX UDP packets received # TYPE ipfix_total_packets counter ipfix_total_packets 0 # HELP Total number of IPFIX IPv4 flows (multiple in each packet) # TYPE ipfix_total_ipv4_flows counter ipfix_total_ipv4_flows 0 # HELP Total number of IPFIX IPv6 flows (multiple in each packet) # TYPE ipfix_total_ipv6_flows counter ipfix_total_ipv6_flows 0 # HELP IPFIX flows with duration less then 15 seconds # TYPE ipfix_duration_less_15_seconds counter ipfix_duration_less_15_seconds 0 # HELP IPFIX flows with duration less then 30 seconds # TYPE ipfix_duration_less_30_seconds counter ipfix_duration_less_30_seconds 0 # HELP IPFIX flows with duration less then 60 seconds # TYPE ipfix_duration_less_60_seconds counter ipfix_duration_less_60_seconds 0 # HELP IPFIX flows with duration less then 90 seconds # TYPE ipfix_duration_less_90_seconds counter ipfix_duration_less_90_seconds 0 # HELP IPFIX flows with duration less then 180 seconds # TYPE ipfix_duration_less_180_seconds counter ipfix_duration_less_180_seconds 0 # HELP IPFIX flows with duration more then 180 seconds # TYPE ipfix_duration_exceed_180_seconds counter ipfix_duration_exceed_180_seconds 0 # HELP IPFIX packets with negative duration, it may happen when vendor does not implement protocol correctly # TYPE ipfix_duration_negative counter ipfix_duration_negative 0 # HELP IPFIX flows finished by idle timeout # TYPE ipfix_flows_end_reason_idle_timeout counter ipfix_flows_end_reason_idle_timeout 0 # HELP IPFIX flows finished by active timeout # TYPE ipfix_flows_end_reason_active_timeout counter ipfix_flows_end_reason_active_timeout 0 # HELP IPFIX flows finished by end of flow timeout # TYPE ipfix_flows_end_reason_end_of_flow_timeout counter ipfix_flows_end_reason_end_of_flow_timeout 0 # HELP IPFIX flows finished by force end timeout # TYPE ipfix_flows_end_reason_force_end_timeout counter ipfix_flows_end_reason_force_end_timeout 0 # HELP IPFIX flows finished by lack of resources # TYPE ipfix_flows_end_reason_lack_of_resource_timeout counter ipfix_flows_end_reason_lack_of_resource_timeout 0 # HELP IPFIX data packets number # TYPE ipfix_data_packet_number counter ipfix_data_packet_number 0 # HELP IPFIX data templates number # TYPE ipfix_data_templates_number counter ipfix_data_templates_number 0 # HELP IPFIX options templates number # TYPE ipfix_options_templates_number counter ipfix_options_templates_number 0 # HELP IPFIX options data packets number # TYPE ipfix_options_packet_number counter ipfix_options_packet_number 0 # HELP Number of dropped IPFIX packets due to unknown template in message # TYPE ipfix_packets_with_unknown_templates counter ipfix_packets_with_unknown_templates 0 # HELP IPFIX customer sampling rates received # TYPE ipfix_custom_sampling_rate_received counter ipfix_custom_sampling_rate_received 0 # HELP How much times we changed sampling rate for same agent. As change we also count when we received it for the first time # TYPE ipfix_sampling_rate_changes counter ipfix_sampling_rate_changes 0 # HELP IPFIX flow was marked as dropped from interface and next hop information # TYPE ipfix_marked_zero_next_hop_and_zero_output_as_dropped counter ipfix_marked_zero_next_hop_and_zero_output_as_dropped 0 # HELP Count times when template data actually changed for IPFIX # TYPE ipfix_template_updates_number_due_to_real_changes counter ipfix_template_updates_number_due_to_real_changes 0 # HELP Total number of IPFIX packets with padding # TYPE ipfix_packets_with_padding counter ipfix_packets_with_padding 0 # HELP Total number of headers in IPFIX received # TYPE ipfix_inline_headers counter ipfix_inline_headers 0 # HELP Number of IPFIX flows with re-classified protocol version # TYPE ipfix_protocol_version_adjustments counter ipfix_protocol_version_adjustments 0 # HELP We increment these counters when field we use to store particular type of IPFIX record is smaller than we actually received from device # TYPE ipfix_too_large_field counter ipfix_too_large_field 0 # HELP Number of IPFIX flows with forwarding status provided # TYPE ipfix_forwarding_status counter ipfix_forwarding_status 0 # HELP IPFIX inline header parser errors # TYPE ipfix_inline_header_parser_error counter ipfix_inline_header_parser_error 0 # HELP Total number of Netflow or IPFIX UDP packets received # TYPE netflow_ipfix_total_packets counter netflow_ipfix_total_packets 0 # HELP Total number of flows summarized for all kinds of Netflow and IPFIX # TYPE netflow_ipfix_all_protocols_total_flows counter netflow_ipfix_all_protocols_total_flows 0 # HELP Number of UDP packets dropped by system on our socket # TYPE netflow_ipfix_udp_packet_drops counter netflow_ipfix_udp_packet_drops 0 # HELP Number of packets with unknown Netflow version. In may be sign that some another protocol like sFlow is being send to Netflow or IPFIX port # TYPE netflow_ipfix_unknown_protocol_version counter netflow_ipfix_unknown_protocol_version 0 # HELP Number of templates received with same data as inside known by us # TYPE template_update_attempts_with_same_template_data counter template_update_attempts_with_same_template_data 0 # HELP Number of flows which exceed specified limit in configuration # TYPE netflow_ignored_long_flows counter netflow_ignored_long_flows 0 # HELP Number of times when we write Netflow or ipfix templates to disk # TYPE template_netflow_ipfix_disk_writes counter template_netflow_ipfix_disk_writes 0 # HELP Number of received packets # TYPE af_packet_socket_received_packets counter af_packet_socket_received_packets 2 # HELP Number of dropped packets # TYPE af_packet_socket_dropped_packets counter af_packet_socket_dropped_packets 0 # HELP Number of blocks we read from kernel, each block has multiple packets # TYPE af_packet_blocks_read counter af_packet_blocks_read 1 # HELP Number of packets read by AF_PACKET before parsing # TYPE af_packet_packets_raw counter af_packet_packets_raw 2 # HELP Number of parsed packets # TYPE af_packet_packets_parsed counter af_packet_packets_parsed 2 # HELP Number of not parsed packets # TYPE af_packet_packets_unparsed counter af_packet_packets_unparsed 0 # HELP System UDP counter ignoredmulti # TYPE global_system_ignoredmulti counter global_system_ignoredmulti 2252 # HELP System UDP counter incsumerrors # TYPE global_system_incsumerrors counter global_system_incsumerrors 0 # HELP System UDP counter indatagrams # TYPE global_system_indatagrams counter global_system_indatagrams 609 # HELP System UDP counter inerrors # TYPE global_system_inerrors counter global_system_inerrors 0 # HELP System UDP counter noports # TYPE global_system_noports counter global_system_noports 1 # HELP System UDP counter outdatagrams # TYPE global_system_outdatagrams counter global_system_outdatagrams 612 # HELP System UDP counter rcvbuferrors # TYPE global_system_rcvbuferrors counter global_system_rcvbuferrors 0 # HELP System UDP counter sndbuferrors # TYPE global_system_sndbuferrors counter global_system_sndbuferrors 0