Commit Graph

195 Commits

Author SHA1 Message Date
Tony Murray
2ddfba51dd Set ping_perf scale_min to 0 (#14989)
And allow scale_min, scale_max, and scale_rigid to be set via url parameter
2023-04-20 22:30:32 -05:00
Stef
0430f6acb1 Cisco QFP polling fixes (#14961)
* fix cisco-qfp Division by zero

* fix percentage calc

* linting

* another zero in RRD. the (int) might be consequential errors and should hurt...

* no float for average_package

* Update includes/polling/cisco-qfp.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>

* Add floor

---------

Co-authored-by: Tony Murray <murraytony@gmail.com>
2023-04-14 22:11:36 -05:00
Justin Lentz
b9cc630dbc Stacked graphs on zoom to speed (#14928)
* Update generic_data.inc.php

* Update functions.inc.php

* Update generic_data.inc.php

* Update functions.inc.php

* Update functions.inc.php

* Update generic_data.inc.php

* Update graphs.inc.php

* Make Murrant Happy ;)

* Update generic_data.inc.php

* Update generic_data.inc.php

* Update graphs.inc.php

* Update graphs.inc.php
2023-04-14 16:48:30 -05:00
Tony Murray
3380122733 Poller perf: add per device average (#14940)
* Poller perf: add per device
Fix min, avg, and current values

* Fix up previous

* Fix style

* Rename to device average, we don't calculate min and max, but rather the min/max of the average.
2023-04-07 13:27:12 -05:00
Dan Baker
a340672e86 Added graphing of DDoS-protection related OIDs for PAN-OS (#14847) 2023-04-06 19:11:16 -05:00
Jellyfrog
68e0b3df28 Apply fixes from StyleCI (#14899)
Co-authored-by: StyleCI Bot <bot@styleci.io>
2023-03-13 22:32:22 +01:00
Zane C. Bowers-Hadley
cd82c72190 add graph_stat_percentile_disable config item to disable percentile lines/value printing (#14887)
* add the initial config items for graph_stat_percentile_disable

* update generic stats to use graph_stat_percentile_disable

* style fix
2023-03-09 17:24:32 +01:00
Zane C. Bowers-Hadley
6b56e781b1 actually use the stats graph for ntp-server_freq now (#14884) 2023-03-09 13:32:19 +01:00
Zane C. Bowers-Hadley
2a53c49a5c convert NTP freq to use generic_stats (#14834) 2023-03-09 00:23:31 +02:00
Zane C. Bowers-Hadley
a0f1dab07b add type checking to generic_stats.inc.php for $vars['to'] and $vars['from'] (#14871)
* make sure the $vars['from'] and $vars['to'] are actually numeric

* style fix
2023-03-02 22:59:31 +01:00
Zane C. Bowers-Hadley
19278bf19f update fail2ban to have better stat graphs and and fix generic_stats graph.php (#14818)
* update fail2ban better stat graphs

* style fix

* add rainbow color pallete

* cleanup colors and make it more easily understandable via using the new rainbow colour pallete

* a bit more color tweaking

* green is easier on the eyes

* style fix

* fix hgandling for smaller graphs for some things

* for <= height graphs, use area

* rework the area bit and add a alpha

* style cleanup

* more style cleanup

* mm... colourA does work a lot nicer if the same as colour

* add two more palletes and make the purple the default

* only include 1d once as that as some versions of rrd break if it is twice

* move time_diff to the proper location
2023-03-02 18:51:16 +01:00
Henne Van Och
2140ff21c5 add more docker stats (#14767) 2023-03-01 01:02:01 +01:00
Zane C. Bowers-Hadley
f023d37cfc update various device graphs to to have better stats (#14815)
* update graphs -> systems page

* update availability graph to use the stats graph for 1 day averages

* a bit of cleanup for various graphs

* a few style fixes I missed

* another style fix

* update the pingperf graph as well

* update the poller perf graph as well

* style fix

* move graphs to using generic_stats default for readability
2023-03-01 01:00:13 +01:00
Zane C. Bowers-Hadley
653da5a3f0 update HV::Monitor support to use generic_stats.inc.php (#14814) 2023-01-29 20:54:00 +00:00
Zane C. Bowers-Hadley
ae6ba985e4 Add a few more graphs for CAPEv2 (#14813) 2023-01-29 20:51:58 +00:00
Zane C. Bowers-Hadley
98c033e84f CAPEv2 support (#14801)
* re-add it

* add cape app page

* add initial cape graphs

* now work for the general page

* more udpates

* add cape pending

* add pending and cleanup for if there are no packages(likely cuckoo, so don't add extra items)

* rework the lack of packages a bit more

* more cuckoo related cleanupgiot

* fix cape error logging

* minor cleanups

* add a new graph and use it with cape... also lots of cape cleanups

* misc cape updates

* add percentile values for stats

* add fix for weekly

* don't display 1 day average if under 17 hours

* zero timeslots of packages not used for this time slot

* add avg stat graphs for cape

* now use the average graphs and update the app page

* add a new graph

* add CAPEv2 docs

* add tests data

* lots of style cleanup

* another tweak for the test data

* fix misc style issues

* add cape to apps page

* add nicecase for cape

* case fix

* json fix for test data

* add a missing stat

* some more test data tweaking

* more misc test updates

* more test tweaking

* more test work...

* more test data work

* add what is hopefully the final test tweak
2023-01-24 11:20:18 -06:00
PipoCanaja
c2b0a6ed80 Extend filtering of graphs device_bits on cisco ASA (#14796)
* Extend filtering for device_bits for cisco ASA

* Style
2023-01-24 11:15:59 -06:00
Tony Murray
88c86f2a19 Fix graph output base64 (#14701)
Mostly for people using unauth graphs instead of the api.
2022-12-15 15:58:56 -06:00
Tony Murray
1d3440b943 Unify time interval formatting (#14733)
* Unify time interval formatting
Use carbon for formatting, it supports locales.

* fix style

* remove baseline exceptions

* fixes found by lint
2022-12-15 15:52:53 -06:00
Bogdan-Stefan Rotariu
5dd5e880b7 Update sensor.inc.php, adding $unit to Average (#14680)
Due to a mistake, I forgot to add $unit to Average
2022-11-30 20:36:27 -06:00
Tony Murray
2a8b8b864b Fix some graphs not respecting device display name (#14684)
Just a quick fix
2022-11-30 07:39:38 -06:00
Bogdan-Stefan Rotariu
eca3b6bf77 Adding Average into graphs (#14679)
This modification adds average description into graphs.
2022-11-28 08:50:52 -06:00
Tony Murray
cb9e01a030 Fix device poller modules graph (#14640) 2022-11-16 13:48:30 -06:00
bnerickson
bb536bb6fe Adding wireguard application support (#14625) 2022-11-13 11:07:24 +01:00
Zane C. Bowers-Hadley
8511611f64 add HV Monitor, a generic means for monitoring hypvervisors (#14218)
* add HV::Monitor support

* document hv monitor

* add HV Monitor tests

* style cleanup

* fix a few missed style items

* test fix

* more test cleanup

* more minor test tweaks

* more test cleanup

* more test tweaking

* test ordering fix all done... hopefully

* more test cleanup

* minor formatting change
2022-11-07 13:35:48 -06:00
Tony Murray
539ef9ff90 Fix graph errors wrong content type (#14574)
Some code was returning too soon and messing up the return type
Other code was simply not setting it
2022-11-03 15:07:17 -05:00
Tony Murray
95e81a53a8 Fix device bits overview when no ports are included (#14573) 2022-11-03 13:29:17 -05:00
Tony Murray
2fb81ce429 Fix graph previous period getting partially applied (#14572) 2022-11-03 12:33:29 -05:00
Tony Murray
2dea36f70f Remove graph_min (#14561)
* Remove graph_min
it doesn't do anything
(scale_min sets minimum graph scale)
(graph_max shows a line at max on some graphs)

* fix style
2022-11-02 09:55:28 -05:00
Tony Murray
95a0050074 Remove $_GET from graphs (#14554)
Fixes issues setting variables in other contexts
2022-11-02 08:24:42 -05:00
bnerickson
d28b1cac3f Adding systemd application (#14540) 2022-10-30 14:18:02 -05:00
Tony Murray
4b65dc41d2 Graphing cleanup (#14492)
* WIP

* Fixes and cleanups

* Move parseAtTime to Time util class

* lint fixes, explicitly define variables

* Style fixes
2022-10-28 08:06:29 -05:00
Tony Murray
aefd14d3aa Graph API use new code path (#14493)
* Graph API use new code path
Improves error handling significantly

* Actually base64 encode it
2022-10-22 14:58:51 -05:00
bnerickson
4efbb83d9b Add pwrstatd application (#14365)
* Add pwrstatd application

* Adding pwrstatd test json and correcting pwrstatd snmprec file.  Pwrstatd tests pass.
2022-10-12 11:01:09 +02:00
Tony Murray
878666bb26 Revert "Update common.inc.php (#14407)" (#14419)
This reverts commit 698275dd12.
2022-10-03 08:23:44 -05:00
Kevin Zink
698275dd12 Update common.inc.php (#14407)
Place the Y grid dynamically based on the graph's Y range. The algorithm ensures that you always have a grid, that there are enough but not too many grid lines, and that the grid is metric. That is the grid lines are placed every 1, 2, 5 or 10 units. This parameter will also ensure that you get enough decimals displayed even if your graph goes from 69.998 to 70.001. (contributed by Sasha Mikheev).
2022-09-30 13:21:10 +02:00
Jellyfrog
152497a098 PHPStan: Enable more checks (#14318)
* PHPStan: Enable more checks

* Fixes

* Fixes

* Deprecation fixes
2022-09-09 07:08:06 -05:00
PipoCanaja
53bfb24ef9 Migrate xDSL code to module, and add support for VDSL2 MIB (#14207)
* use component to discover if xDSL polling is needed

use component to discover if xDSL polling is needed

* Components OK, Polling in correct files, no DB for VDSL

* GUI

GUI_suite

* per port as well

* rename

* interface listing

* draytek_snmpsim

* fix arraymerge

fix names and max value

* schema

schema

style

* remove one dbFetchRows

remove 2x dbFetchCell

style

style

remove Legacy dbFetchRow

tests

tests

eloquent

more eloquent

more eloquent

one more gone

* fix properties access

eloquent_insert_update

style

tests

tests

tests

tests

* tests

tests

tests

* adslLineCoding

* Models

* fix not nullable cols in DB from code

default values

typo

rename

typo

schema

fix

fix

vdsl fix now

typo

typo

fix size

fix size

* Power values for VDSL

Power values for VDSL

Power values for VDSL

DB

* cleanup

* Rrd::checkRrdExists

* always enable DSL discovery

style

* xdsl module

* cleanup and move to Module

cleanup and move to Module

cleanup and move to Module

cleanup and move to Module

* Fix display

* fix polling and tenth

* remove legacy poller

* Style and Cosmetics

Cosmetics

Cleanup

* Translations

Translations

* exists

exists

* add test support for xdsl

* remove last component call

unused

* translations

* remove non standard onclick event on xdsl line

* Update Discovery Support.md

Update Poller Support.md

toner_gone

* Notification for removal of lnms config:set enable_ports_adsl true

* enable on devices with potential DSL interfaces

* tests are working now

fix teldat tests

* os_schema

* teldat

* move to new module structure

* move to new module structure

* wrong dump function

* wrong dump function

* laravel_through_key hidden

* Update notifications.rss

* Update notifications.rss

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-09-07 19:29:17 -05:00
Tony Murray
302a989d4e Email Transport: embed graphs by default (#14270)
* Email embed graphs

* Allow attachment for non-html
Add setting to webui
Correct $auth setting

* Cleanups, throw RrdGraphException instead of returning an error image.
Generate the error image later, giving more control.
Reduce code duplication a little

* Style and lint fixes
Change to flags

* Add baseline for lint errors I don't know how to resolve

* oopsie, changed the code after generating the baseline

* Tiny cleanups.  Make set DeviceCache primary, it is free.

* Docs.

* email_html note

* Allow control of graph embed at the email transport level to override the global config.

* Allow control of graph embed at the email transport level to override the global config.

* Add INLINE_BASE64 to make it easier to create inline image tags
2022-09-05 20:41:55 -05:00
Tony Murray
4614183cca Fix undefined variable (#14287)
https://flareapp.io/errors/1540406-undefined-variable-i/latest#F4
2022-09-05 18:12:43 +02:00
Tony Murray
5c76890373 Add @signedGraphTag() and @signedGraphUrl() blade directives (#14269)
* More secure external graph access
Add @signedGraphTag() and @signedGraphUrl() blade directives
Takes either an array of graph variables or a url to a graph
Uses a signed url that is accessible without user login, embeds signature in url to authenticate access
See Laravel Signed Url for more details.
Adds Laravel route to graphs (does not change links to use it yet)
@graphImage requires the other PR
Also APP_URL is required in .env

* missing files from rebase

* Fix url parsing with a get string

* allow width and height to be omitted

* Documentation

* Add to, otherwise it will always be now

* Doc note for to and from relative security

* fix vars.inc.php (Laravel has a dummy url here)
2022-09-03 12:48:43 -05:00
Tony Murray
f85064bdea Fix unauth graphs again (#14268)
$auth = false; was in the wrong place
2022-09-01 02:50:46 -05:00
Tony Murray
6f5cf7727a Misc webui code cleanups (#14242)
* Misc webui cleanups

* Style

* More

* graphing fixes

* More graph cleanups

* more fixes, graphs and device pages

* style
2022-08-30 12:55:37 -05:00
Jellyfrog
835eac1233 Fix some ErrorExceptions (#14241)
* Fix some ErrorExceptions

* Use Config::get default value

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-08-25 10:03:06 +02:00
Tony Murray
d36afc6a75 Fix unauth application graphs (#14216)
* Fix unauth application graphs

* Use when
2022-08-19 08:04:46 -05:00
Warren Ashcroft
73fee2a1aa Allow specifying the background colour in graph images (#14192) 2022-08-18 20:21:28 -05:00
Zane C. Bowers-Hadley
55c62b234e add Opensearch\Elasticsearch monitoring (#14053)
* add new poller

* add a missing ;

* formatting cleanup

* graph stuff and metrics move

* add rrd name

* clean up metrics/rrd def

* more metric/rrd def cleanup

* cleanup

* add basic opensearch graphs

* add opensearch to apps.inc.php

* begin work on opensearch app page

* formatting cleanup

* add translog graphs

* add a missing graph

* fix pending tasks

* add the ability to fetch the saved cluster name

* add fetching the cluster name

* correct the opensearch comment

* add combined shard stats

* add indexing graphs

* correct graph name

* correct some units as being per second

* add more graphs

* add more items for graph sets

* cleanup of units and naming... also more graphs

* more graph stuff

* change the RRD def again and define a few more graphs

* finish basic graph sets

* more graph stuff

* another rrd def change

* add more graphs

* add some more graph sets

* correct unit for c_task_max_in_time

* more graph stuff

* more graph stuff

* correct the unit

* add missing tw_time and another rrd def change

* another unit change

* add trc graphs

* more graph stuff

* add tseg graphs

* add all shards graph to both cluster items

* more graph stuff

* update opensearch app page

* add Opensearch\Elasticsearch app

* add opensearch tests

* run php-cs-fixer on two files

* add alert examples for checking cluster status

* remove an item that was accidentally added as a metric in the test but is not

* derp! thanks jellyfrog

* make it come up as Elisticsearch\Opensearch in the webui

* no longer use components, but app_data, for cluster name change

* update the web side for opensearch for using app_data

* style fix

* update opensearch for new app data stuff

* update to the new Application model

* update poller and device app page for ES/OS

* style cleanup

* update graphs

* test fix

* more test cleanup

* Update alert_rules.json

* begin work on breaking out the RRDs

* update all non-multi rrd graphs for opensearch

* update time_all

* add a unass shards graph

* correct rrd name

* should all be good now

* add missing tm stats

* Un Assigned -> Unassigned

* style cleanup

* another style fix

* remove cluster_name from saved metrics as it is not a metric

Co-authored-by: Tony Murray <murraytony@gmail.com>
Co-authored-by: Jellyfrog <Jellyfrog@users.noreply.github.com>
2022-08-15 14:44:20 -05:00
Peca Nesovanovic
1be8de0b24 [apps] Docker only show current containers (#14152)
* [apps] enable RRD filename filtering

* count/exists

* Switch to Applications table

* rework similar to zfs

* Update docker.inc.php

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-08-07 14:50:46 -05:00
Zane C. Bowers-Hadley
b827e2bbbd add support for Sagan (#14070)
* add sagan instance fetch function

* add sagan discovery

* add sagan poller

* add sagan graphs

* add graph sources

* add sagan to apps page

* remove alert

* more app graph work

* polling fix

* re-order keys and add alert key

* correct field key usage

* add alert and fix a missing unit

* more unit fixes

* add alert status

* add alert rules for sagan

* fix a missing : after S while I am here in the json stat tool helper... also add tests

* now add the tests

* add docs

* point php-cs-fixer at two files

* remove-unneeded sagan instance fetch function

* convert to use app_data

* style fix

* apply bennet-esyoil's suggestions here as well

* update for the new app model

* convert poller to the new method

* convert the sagan device app page

* convert sagan

* doc cleanup
2022-08-04 18:12:34 -05:00
Zane C. Bowers-Hadley
0bbcde1227 add the ability for storing app data to prevent spamming of the event log via via component usage (#14087)
* initial work on add the ability to save/fetch app data

* update to use get_app_data for ZFS

* update the poller for the new app_data stuff

* ZFS now logs changes to pools

* add schema update for app_data stuff

* small formatting fix

* add a missing \

* now adds a column

* sql-schema is no longer used, so remove the file that was added here

* misc cleanups

* rename the method in database/migrations/2022_07_03_1947_add_app_data.php

* hopefully fix the migration bit

* add the column to misc/db_schema.yaml

* more misc small DB fixes

* update the test as the json column uses collat of utf8mb4_bin

* revert the last change and try manually setting it to what is expected

* remove a extra ;

* update suricata as well

* correct the instance -> instances in one location to prevent the old instance list from being stomped

* remove a extra ;

* update fail2ban to use it as well

* remove two unused functions as suricata and fail2ban no longer use components

* style cleanup

* postgres poller updated to use it

* update html side of the postgres bits

* chronyd now uses app data bits now as well

* portactivity now uses it as well

* style fix

* sort the returned arrays from app_data

* correct log message for port activity

* collocation change

* try re-ordering it

* add in the new data column to the tests

* remove a extra ,

* hmm... ->collate('utf8mb4_unicode_ci') is not usable as apparently collate does not exist

* change the column type from json to longtext

* mv chronyd stuff while I sort out the rest of the tests... damn thing is always buggy

* hmm... fix a missing line then likely move stuff back

* style fix

* add fillable

* add the expexcted data for fail2ban json

* escape a " I missed

* add data for portactivity

* add suricata app data

* add app data to zfs legacy test

* put the moved tests back into place and update zfs-v1 test

* add app data for chronyd test

* add app data for fail2ban legacy test

* update zfs v1 app data

* add some notes on application dev work

* add Developing/Application-Notes.md to mkdocs.yml

* add data column to it

* added various suggestions from bennet-esyoil

* convert from isset to sizeof

* type fix

* fully remove the old save app data function and move it into a helper function... the other still needs cleaned up prior to removal

* update docs

* get_app_data is fully removed now as well

* a few style fixes

* add $casts

* update chronyd test

* attempt to fix the data

* more doc cleanup and try changing the cast

* style fix

* revert the changes to the chronyd test

* apply a few of murrant's suggestions

* document working with ->data as json and non-josn

* remove two no-longer used in this PR exceptions

* ->data now operates transparently

* style fix

* update data tests

* fix json

* test fix

* update the app notes to reflect how app data now works

* app test fix

* app data fix for linux_lsi

* json fix

* minor doc cleanup

* remove duplicate querty and use json_decode instead

* style fix

* modelize the app poller

* use a anon func instead of foreach

* test update

* style cleanup

* style cleanup

* another test cleanup

* more test cleanup

* reverse the test changes and add in some more glue code

* revert one of the test changes

* another small test fix

* Make things use models
Left some array access, but those will still work just fine.

* missed chronyd and portactivity

* rename poll to avoid make it any confusion

* Remove extra save and fix timestamp

* save any changes made to app->data

* nope, that was not it

* What are magic methods and how do they work?

* fix two typos

* update linux_lsi test

* change quote type

Co-authored-by: Tony Murray <murraytony@gmail.com>
2022-07-22 16:01:55 -05:00