Files
librenms-librenms/mkdocs.yml
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

259 lines
9.8 KiB
YAML

site_name: LibreNMS Docs
docs_dir: doc
theme:
name: material
logo: img/librenms.svg
language: en
font:
text: 'Roboto'
code: 'Roboto Mono'
palette:
- media: "(prefers-color-scheme: light)"
scheme: default
primary: black
accent: indigo
toggle:
icon: material/lightbulb-outline
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: slate
primary: black
accent: indigo
toggle:
icon: material/lightbulb
name: Switch to light mode
features:
- navigation.instant
- navigation.sections
- navigation.tracking
- navigation.top
site_dir: out
site_url: https://docs.librenms.org
markdown_extensions:
- tables
- admonition
- pymdownx.tasklist
- pymdownx.tilde
- pymdownx.superfences
- pymdownx.tabbed:
alternate_style: true
- pymdownx.details
- pymdownx.highlight:
extend_pygments_lang:
- name: php
lang: php
options:
startinline: true
plugins:
- macros:
j2_variable_start_string: '@='
j2_variable_end_string: '=@'
- search
- exclude:
glob:
- "General/Changelogs/*"
- "Dockerfile"
- redirects:
redirect_maps:
'Alerting/Introduction.md': 'Alerting/index.md'
'API/API-Docs.md': 'API/index.md'
'Extensions/Alerting.md': 'Alerting/index.md'
'Extensions/Email-Alerting.md': 'Alerting/Transports.md'
'Extensions/Graphite.md': 'Extensions/metrics/Graphite.md'
'Extensions/InfluxDB.md': 'Extensions/metrics/InfluxDB.md'
'Extensions/OpenTSDB.md': 'Extensions/metrics/OpenTSDB.md'
'Extensions/Poller-Service.md': 'Extensions/Dispatcher-Service.md'
'Extensions/Port-Description-Parser.md': 'Extensions/Interface-Description-Parsing.md'
'Extensions/Prometheus.md': 'Extensions/metrics/Prometheus.md'
'General/Contributing.md': 'Developing/Getting-Started.md'
'Installation/CentOS-image.md': 'Installation/Images.md'
'Installation/index.md': 'Installation/Install-LibreNMS.md'
'Installation/Installing-LibreNMS.md': 'Installation/Install-LibreNMS.md'
'Installation/Ubuntu-image.md': 'Installation/Images.md'
'Support/Support-New-OS.md': 'Developing/Support-New-OS.md'
extra_css:
- https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/fontawesome.min.css
- https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/solid.min.css
- https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/brands.min.css
- librenms.css
extra_javascript:
- js/docs-install-tab.js
- js/docs-settings-links.js
extra:
analytics:
provider: google
property: UA-79149977-2
article_nav_top: false
article_nav_bottom: true
php:
version_min: 7.3
site_author: LibreNMS
site_description: LibreNMS user and developer documentation
repo_url: https://github.com/librenms/librenms/
edit_uri: edit/master/doc
repo_name: GitHub
nav:
- General:
- Home: index.md
- Features: Support/Features.md
- Changelog: General/Changelog.md
- Welcome to Observium users: General/Welcome-to-Observium-users.md
- 3rd Party Libraries: General/Acknowledgement.md
- Installing:
- Installing LibreNMS: Installation/Install-LibreNMS.md
- Other Methods:
- Docker: Installation/Docker.md
- Virtual machines: Installation/Images.md
- Older guides:
- RHEL / CentOS 6: Installation/Installation-CentOS-6-Apache-Nginx.md
- RHEL / CentOS 7 - Apache: Installation/Installation-CentOS-7-Apache.md
- RHEL / CentOS 7 - Nginx: Installation/Installation-CentOS-7-Nginx.md
- Ubuntu 16.04 - Apache: Installation/Installation-Ubuntu-1604-Apache.md
- Ubuntu 16.04 - Nginx: Installation/Installation-Ubuntu-1604-Nginx.md
- Ubuntu 18.04 - Apache: Installation/Installation-Ubuntu-1804-Apache.md
- Ubuntu 18.04 - Nginx: Installation/Installation-Ubuntu-1804-Nginx.md
- Choosing a release: General/Releases.md
- Updating: General/Updating.md
- Getting started:
- Adding a device: Support/Adding-a-Device.md
- Grouping Devices: Extensions/Device-Groups.md
- Submitting stats: General/Callback-Stats-and-Privacy.md
- Migrating from Observium: Installation/Migrating-from-Observium.md
- Setup:
- Applications: Extensions/Applications.md
- Billing Module: Extensions/Billing-Module.md
- Check_MK Setup: Extensions/Agent-Setup.md
- Dashboards: Extensions/Dashboards.md
- Interface Description Parsing: Extensions/Interface-Description-Parsing.md
- Network Map: Extensions/Network-Map.md
- Syslog: Extensions/Syslog.md
- World Map: Extensions/World-Map.md
- Advanced Setup:
- 1 Minute Polling: Support/1-Minute-Polling.md
- Authentication Options: Extensions/Authentication.md
- Auto-discovery Setup: Extensions/Auto-Discovery.md
- Bare Dashboard: Support/Bare-Dashboard.md
- Cleanup Options: Support/Cleanup-options.md
- Configuration Docs: Support/Configuration.md
- Customizing the Web UI: Extensions/Customizing-the-Web-UI.md
- Dispatcher Service (RC): Extensions/Dispatcher-Service.md
- Environment Variables: Support/Environment-Variables.md
- Fast Ping Checking: Extensions/Fast-Ping-Check.md
- Galera Database Cluster: Extensions/Galera-Cluster.md
- IRC Bot Extensions: Extensions/IRC-Bot-Extensions.md
- IRC Bot: Extensions/IRC-Bot.md
- Oauth/SAML support: Extensions/OAuth-SAML.md
- RRDCached: Extensions/RRDCached.md
- RRDTune: Extensions/RRDTune.md
- Scaling LibreNMS: Extensions/Distributed-Poller.md
- SNMP Proxy: Extensions/SNMP-Proxy.md
- SNMP Trap Handler: Extensions/SNMP-Trap-Handler.md
- Sub-directory Support: Extensions/Sub-Directory.md
- Two-Factor Auth: Extensions/Two-Factor-Auth.md
- Varnish: Extensions/Varnish.md
- Alerting:
- Introduction: Alerting/index.md
- Setup:
- Rules: Alerting/Rules.md
- Templates: Alerting/Templates.md
- Transports: Alerting/Transports.md
- Creating Transports: Alerting/Creating-Transport.md
- Entities: Alerting/Entities.md
- Macros: Alerting/Macros.md
- Testing: Alerting/Testing.md
- Device Dependencies: Alerting/Device-Dependencies.md
- 3rd Party Integration:
- Integrations:
- Gateone: Extensions/Gateone.md
- Graylog: Extensions/Graylog.md
- Nagios Plugins: Extensions/Services.md
- NFSen: Extensions/NFSen.md
- Oxidized: Extensions/Oxidized.md
- PeeringDB: Extensions/PeeringDB.md
- Proxmox: Extensions/Proxmox.md
- Rancid: Extensions/Rancid.md
- Smokeping: Extensions/Smokeping.md
- Weathermap: Extensions/Weathermap.md
- Storing Metrics:
- Intro: Extensions/Metric-Storage.md
- Graphite: Extensions/metrics/Graphite.md
- InfluxDB: Extensions/metrics/InfluxDB.md
- OpenTSDB: Extensions/metrics/OpenTSDB.md
- Prometheus: Extensions/metrics/Prometheus.md
- API:
- Using the API: API/index.md
- Endpoints:
- Alerts: API/Alerts.md
- ARP: API/ARP.md
- Bills: API/Bills.md
- DeviceGroups: API/DeviceGroups.md
- Devices: API/Devices.md
- Inventory: API/Inventory.md
- Locations: API/Locations.md
- Logs: API/Logs.md
- Port_Groups: API/Port_Groups.md
- PortGroups: API/PortGroups.md
- Ports: API/Ports.md
- Routing: API/Routing.md
- Services: API/Services.md
- Switching: API/Switching.md
- System: API/System.md
- Getting help:
- How to get help: Support/index.md
- FAQ: Support/FAQ.md
- Install Validation: Support/Install Validation.md
- Performance: Support/Performance.md
- Discovery Support: Support/Discovery Support.md
- Poller Support: Support/Poller Support.md
- Example Hardware Setups: Support/Example-Hardware-Setup.md
- Remote Monitoring VPN: Support/Remote-Monitoring-VPN.md
- SNMP Configuration Examples: Support/SNMP-Configuration-Examples.md
- Device Troubleshooting: Support/Device-Troubleshooting.md
- Device Sensors: Support/Device-Sensors.md
- Contributing + Developing:
- Contributing:
- Getting Started: Developing/Getting-Started.md
- Using Git: Developing/Using-Git.md
- Validating Code: Developing/Validating-Code.md
- Code Structure: Developing/Code-Structure.md
- Creating Documentation: Developing/Creating-Documentation.md
- Component: Extensions/Component.md
- Support for a new OS:
- Intro: Developing/Support-New-OS.md
- Initial Detection: Developing/os/Initial-Detection.md
- Mem/CPU Information: Developing/os/Mem-CPU-Information.md
- Test Units: Developing/os/Test-Units.md
- Health Information: Developing/os/Health-Information.md
- Wireless Sensors: Developing/os/Wireless-Sensors.md
- Custom Graphs: Developing/os/Custom-Graphs.md
- Settings: Developing/os/Settings.md
- Sensor State Support: Developing/Sensor-State-Support.md
- SNMP Traps: Developing/SNMP-Traps.md
- Dynamic Config: Developing/Dynamic-Config.md
- Plugin System: Extensions/Plugin-System.md
- Developer notes:
- Merging Pull Requests: Developing/Merging-Pull-Requests.md
- Creating Release: Developing/Creating-Release.md
- Applications: Developing/Application-Notes.md
- Miscellaneous:
- Security information: General/Security.md
- CLI Scripts: Support/CLI-Tools.md
- Device Notes:
- Asuswrt-Merlin: Support/Device-Notes/AsuswrtMerlin.md
- Carel pCOweb: Support/Device-Notes/Carel-pCOweb-Devices.md
- Dell OpenManage: Extensions/Dell-OpenManage.md
- OpenWRT: Support/Device-Notes/Openwrt.md
- RouterOS: Support/Device-Notes/Routeros.md
- Supermicro: Extensions/Supermicro.md