Code Monkey home page Code Monkey logo

firewall-monitoring's Introduction

Firewall Monitoring

In order to control the performance of a project and maintain its status, it is necessary to monitor different layers of the project. One of the most important part of network hardwares is firewalls that must be controlled instantly and the device information displayed on the dashboard.

The mentioned dashboard includes the following item:

  • Hostname
  • OS Version
  • Uptime
  • HA System Mode
  • HA Auto Sync
  • CPU Usage
  • Memory Usage
  • Input / Output Data Rate
  • Port Summary (Name, Index, Alias, Status, IP Address, Network Mask, Bandwidth, Type, In Errors, Out Errors)
  • HA States (Index, Hostname, CPU Usage, Memory Usage, Net Usage, Session Count, Sync Status)

In the pictures below, you can see the dashboard visualizations:

image image image

It should be noted that the SNMP V3 protocol has been used to monitor these devices over Grafana platform.

Requirements:

Remember:

  • At first you need to apply your informations in both of dashoboard and configuration (YOUR-IP, YOUR-NAME, USERNAME, YOUR-AUTH-PASSWORD, YOUR-PRIV-PASSWORD)
  • To use snmp configurations you need to load their mib files

firewall-monitoring's People

Contributors

amir-am avatar

Stargazers

 avatar

Watchers

 avatar

firewall-monitoring's Issues

"No data" from dashboards

Hello,

First of all I want to thank you for creating such dashboard and config files.

I am using influx V2, Grafana 9.2 and telegraf 1.26

I have set the conf file and tested it and got results below:

telegraf --test --config /etc/telegraf/telegraf.d/fortigate.conf
2023-06-05T07:10:44Z I! Loading config: /etc/telegraf/telegraf.d/fortigate.conf
2023-06-05T07:10:44Z I! Starting Telegraf 1.26.3
2023-06-05T07:10:44Z I! Available plugins: 235 inputs, 9 aggregators, 27 processors, 22 parsers, 57 outputs, 2 secret-stores
2023-06-05T07:10:44Z I! Loaded inputs: snmp
2023-06-05T07:10:44Z I! Loaded aggregators:
2023-06-05T07:10:44Z I! Loaded processors:
2023-06-05T07:10:44Z I! Loaded secretstores:
2023-06-05T07:10:44Z W! Outputs are not used in testing mode!
2023-06-05T07:10:44Z I! Tags enabled: host=mat-tr-mntr

MAT,agent_host=192.168.2.1,host=mat-tr-mntr cpu_usage=0i,ha_auto_sync=2i,ha_mode=1i,hostname="MAT-TR-FW001.mat.local",memory_usage=50i,os_version="v7.2.4,build1396,230131 (GA.F)",uptime=398681665i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=42,ifName=WIFI_MAT_USER ifHighSpeed=0i,ifInErrors=0i,ifInOctets=1814708099i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=3032211339i,ifType=209i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=33,ifName=port15 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=41,ifName=WIFI_GUEST ifHighSpeed=0i,ifInErrors=0i,ifInOctets=3398990169i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=2295644615i,ifType=209i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=30,ifName=port12 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=10,ifName=port24 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=36,ifName=l2t.root ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=152i,ifType=131i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=21,ifName=port3 ifHighSpeed=1000i,ifInErrors=0i,ifInOctets=2571903708i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=3050399525i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=7,ifName=port21 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=9,ifName=port23 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=3,ifName=port17 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=6,ifName=port20 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=38,ifName=MAT_IZM_LOCAL ifHighSpeed=10000i,ifInErrors=0i,ifInOctets=1103818849i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=2262856529i,ifType=135i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=19,ifName=port1 ifHighSpeed=1000i,ifInErrors=0i,ifInOctets=1213700792i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=592914413i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=29,ifName=port11 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=37,ifName=SERVER-1 ifHighSpeed=10000i,ifInErrors=0i,ifInOctets=3081660409i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=694524308i,ifType=135i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=16,ifName=ssl.root ifAlias="SSL VPN interface",ifHighSpeed=0i,ifInErrors=0i,ifInOctets=734874827i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=1742531827i,ifType=131i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=32,ifName=port14 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=5,ifName=port19 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=31,ifName=port13 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=4,ifName=port18 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=28,ifName=port10 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=39,ifName=WATCHGUARD_INT ifHighSpeed=0i,ifInErrors=0i,ifInOctets=3147374000i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=4009845832i,ifType=209i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=1,ifName=mgmt ifHighSpeed=1000i,ifInErrors=0i,ifInOctets=125230892i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=60i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=35,ifName=naf.root ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=152i,ifType=131i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=13,ifName=x3 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=34,ifName=port16 ifHighSpeed=1000i,ifInErrors=0i,ifInOctets=3147374000i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=4009846012i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=27,ifName=port9 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=20,ifName=port2 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=15,ifName=modem ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=22,ifName=port4 ifHighSpeed=1000i,ifInErrors=0i,ifInOctets=3565906062i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=2295644705i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=2,ifName=ha ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=12,ifName=x2 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=26,ifName=port8 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=8,ifName=port22 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=23,ifName=port5 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=40,ifName=INTERNET ifHighSpeed=0i,ifInErrors=0i,ifInOctets=906133317i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=592914323i,ifType=209i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=14,ifName=x4 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=11,ifName=x1 ifHighSpeed=10000i,ifInErrors=0i,ifInOctets=1651790934i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=464164538i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=17,ifName=lan ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=209i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=24,ifName=port6 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=18,ifName=fortilink ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=161i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=25,ifName=port7 ifHighSpeed=0i,ifInErrors=0i,ifInOctets=0i,ifOperStatus=2i,ifOutErrors=0i,ifOutOctets=0i,ifType=6i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=43,ifName=MATEXEC ifHighSpeed=10000i,ifInErrors=0i,ifInOctets=1504364849i,ifOperStatus=1i,ifOutErrors=0i,ifOutOctets=1801750907i,ifType=135i 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=39 ip="192.168.10.1",net_mask="255.255.255.0" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=42 ip="10.135.0.1",net_mask="255.255.254.0" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=41 ip="192.168.6.1",net_mask="255.255.254.0" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=40 ip="92.45.63.174",net_mask="255.255.255.252" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=37 ip="192.168.2.1",net_mask="255.255.254.0" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=18 ip="169.254.1.1",net_mask="255.255.255.0" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=17 ip="10.0.0.1",net_mask="255.255.248.0" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=38 ip="10.35.0.1",net_mask="255.255.248.0" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=1 ip="192.168.5.49",net_mask="255.255.254.0" 1685949049000000000
MAT,agent_host=192.168.2.1,host=mat-tr-mntr,ifIndex=43 ip="10.235.0.1",net_mask="255.255.0.0" 1685949049000000000
MAT,agent_host=192.168.2.1,ha_stats_index=1,host=mat-tr-mntr ha_stats_cpu_usage=0i,ha_stats_memory_usage=0i,ha_stats_net_usage=0i,ha_stats_ses_count=0i,ha_stats_sync_status=0i 1685949049000000000

Looks like there are no errors while testing but I got "No data" on the dashboard I've just imported from your repo. What might I am missing?

EDIT: Here a sample of an error from dashboard

Hostname:

Status: 500. Message: invalid: compilation failed: error @1:13-1:21: string literal key uptime must have a value error @1:35-1:62: expected comma in property list, got ASSIGN error @1:42-1:61: string literal key host must have a value error @1:49-1:61: invalid expression @1:60-1:61: ' error @1:49-1:61: unexpected token for property key: ASSIGN (=) error @1:67-1:68: invalid statement: $ error @1:93-1:95: unexpected token for property key: DURATION (1m) error @1:96-1:97: invalid statement:

Multiple units in same dashboard

I got all the data from my first unit but I don't see my other unit in the dashboard in anyway. I tried to add variable but couldn't succeed. I have added my unit to the telegraf file as follows
agents = ["X.X.X.X:161" , "X.X.X.X:161]
And when I tested the configuration I got data from both units. But can not see both units in dahsboard. Can you please walk me thru the process so I can add other unit?

Thanks in advance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.