70 Commits

Author SHA1 Message Date
3905423147 fix docs (#9953) 2019-03-13 21:43:54 -05:00
09b2b5f1a1 Update docs for virtual images (#9456) 2018-11-17 14:19:38 +00:00
1ee2e8e0e0 Updated to use new theme for docs site (#9320)
* Updated to use new theme for docs site

* Updated theme location

* Removed librenms.css

* Updated index page + re-added librenms.css

* Use built in theme modification

* flexbox grid, dump bootstrap

* tidy up things

* Added path and updated deploy script + mkdocs config

* Removed db schmea changes

* Updated to install python/pip 3

* Removed pip3 install

* Pip3 install

* Updated deploy-docs

* Updated deploy-docs
2018-10-27 23:04:34 +01:00
86d862fb25 Added support for allowing alerts to un-ack (#9136)
* Add support for allowing alerts to un-ack

* Updated db_schema.yaml

* Update and rename 263.sql to 265.sql

* Fix up ui a bit.

* Renamed sql file
2018-09-19 23:38:01 +01:00
79333c45f6 Allow trusted proxy via APP_TRUSTED_PROXIES (#9196)
* Allow trusted proxy via APP_TRUSTED_PROXIES
Set to '*' by default to emulate legacy behavior.
Set up doc describing environment variables

* Create helper to parse environment variables into arrays properly.

* Update doc blocks
2018-09-13 07:26:42 -05:00
de2f3028da Create Installation-Ubuntu-1804-Nginx.md (#8630)
* Create Installation-Ubuntu-1804-Nginx.md

A few tweaks are required to the Ubuntu 16.04 instructions to install on the newly released 18.04 version mostly relating to php being bumped to 7.2 from 7.0 and no mcrypt module for this php version in the distro repository.

* Create Installation-Ubuntu-1804-Apache.md

Used instructions from 1604 Apache as template and updated to work on Bionic (18.04).

* Update Installation-Ubuntu-1804-Nginx.md

Removed instructions for installing mcrypt module as I confirmed it works without it and it was mentioned it was no longer needed.

* Update Installation-Ubuntu-1804-Apache.md

The 1604 directions had a mixture of vi and vim for editing files. Since this is ubuntu and we want the instructions to be as easy as possible, I updated editor to be nano. I have no personal preference and can make it whatever we prefer, just figured it should be consistent between the two guides.

* Update mkdocs.yml

Added Ubuntu 18.04 instruction pages

* Update Installation-Ubuntu-1804-Apache.md

Corrected to libapache2-mod-php7.2 from libapache2-mod-php7.0

* Updated Ubuntu install docs

* Added missing mbstring + curl packages
2018-08-28 10:30:37 -05:00
4c6f917d9e Updates to snmptrap handling (#9010)
* Updates to snmptrap handling
fix a bug in findDeviceByIP.  Add more tests for that.
Move handle outside of the Trap class, it doesn't fit.
Add developer docs.

* fix tests copy paste issue.

* Fix findByIp when port may not exist.

* Logging: Output context (and extra) if they exist

* Generic trap event logging and new config setting.
2018-08-14 07:56:16 +01:00
9bc0c542a5 Allow ping checks to be ran separately from polling (#8821)
Allows ping checks at intervals not tied to the poller.  Pointless if you are not alerting on device status.
I updated the rrdstep.php script to treat ping-perf files separately and made it so it only converts if needed.

Docs here: https://docs.librenms.org/Extensions/Fast-Ping-Check/

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-30 22:58:38 +01:00
e1118b628a Added Alert Transports Mapping (#8660)
Hello all,
I guess this is the second version of a more fully fleshed out alert contact mapping feature. The old one was GH-8507

Transports to convert:

  - [x] API
  - [x] Cisco Spark
  - [x] Elasticsearch
  - [x] GitLab
  - [x] Philips Hue
  - [x] Jira
  - [x] Mail
  - [ ] ~~PagerDuty~~ - Requires a callback so leaving for now
  - [x] Nagios
  - [x] IRC
  - [x] Discord
  - [x] Rocket.chat
  - [x] Hipchat
  - [x] Pushover
  - [x] Boxcar
  - [x] Telegram
  - [x] Pushbullet
  - [x] VictorOps
  - [x] OpsGenie
  - [x] Clickatell
  - [x] PlaySMS
  - [x] Canopsis
  - [x] osTicket
  - [x] Microsoft Teams
  - [x] SMSEagle
  - [x] Syslog
  - [x] Slack

The intention is for this feature to have three different levels to it:
1. Alert rule to an alert contact mapping (where the code is at now)
2. Alert rule to an alert group (made up of alert contacts) mapping
3. Alert contact mapping to different transport configurations.

There will be three transport configuration types.
1. Default (the configuration that is held in the configs table)
2. None (no transport configuration - will explain later)
3. Other (a configuration that will be defined in a different able)

Take Mail transport for example. It can either be of a "default" or "other" configuration. The hope is that in the future, users can send mail from different mail servers if they wish.
However, for ciscospark which requires a room ID and an api-token, I've decided that it has no transport configuration. Most likely, every alert contact will contain a different room-id and an api-token - which is why it has the transport config of "none".
For other transports : I am not familiar with them, so hopefully the community can add support for these. I can definitely help!

To add support for each transport will require several things:
- addition to the UI
- addition to forms/alert-contacts.inc.php
- modifications to its object class

Screenshots
![image](https://user-images.githubusercontent.com/28970851/39594533-2092ce9e-4eca-11e8-9c5d-cd002ece1425.png)
![image](https://user-images.githubusercontent.com/28970851/39594544-276e9856-4eca-11e8-80cc-82789ee0b2b2.png)
![image](https://user-images.githubusercontent.com/28970851/39594553-2fdf528c-4eca-11e8-8a40-4f149e767054.png)

I'm not sure if this is the best way to do things, so please let me know if there's a better way to structure the code! Any comments on code/db schema,/UI etc is welcome and encouraged! 

The UI is heavily based on alert rules (front end is not my strong suit). And parts of the code are based on the code that was written for alert rules.

DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
2018-07-21 20:34:59 +01:00
ad6ec7f72a Refactor alert templates to use Laravel Blade templating engine (#8803)
* Initial start on new templating support

* further updates

* more updates

* More working version

* Last fixes

* Small updates

* modified test to look for dbname.

* Schema update

* Added fix for not being able to disable Philips Hue transport

* Updated sql file

* Updated db_schema

* Set myclabs/deep-copy to be 1.7.x version in composer

* Fixes from murrant

* Forced nikic/php-parser to version 3.1.x in composer

* Updated composer to use custom fork of string-blade-compiler + fixed transport use

* Updated to always use correct template

* Merged legacy and blade templating engines

* Removed template type + fixed test-alert.php

* Added more template placeholders

* Added ability to reference data in templates as $alert->X

* Updated docs for templates

* Updated db_schema.yaml

* Added $alert->builder

* Clarify the use of $alert->builder

* Fixed the use of $alert->transport

* renamed schema file

* Added template validation

* Small update to fix travis issue

* Add Docs text to title bar

* Updated amqp to new of version

* Consistency in alert rule and template title bars
2018-07-14 22:15:43 +01:00
216c554b7f testing: Added test unit for Docs (#8745)
* testing: Added test unit for Docs

* Update mkdocs.yml

* Avoid extra function

* contains -> diff
2018-05-25 23:10:25 -05:00
09d6b2fd54 feature: Added Prometheus PushGateway metric support (#8437)
* Added Prometheus PushGateway support

* fixed formatting

* fix set_curl_proxy to correct variable

* add documentation

* Update Metric-Storage.md

* Update mkdocs.yml
2018-04-13 15:46:19 +01:00
03076c4025 feature: Added new alert rule builder UI and rule mapping UI (#8293)
* feature: Added new alert rule builder UI

* Updated to export sql queries

* More updates

* more changes

* removed debug

* fix scrut

* Updated to include import options + various other fixes

* fix rule

* Populate name from collection rules.

* Fix default rule import
Allow new and old style rules in the collection.
Don't add new yet as I'm not sure GenSQL() is working.

* Fix GenSQL call

* Extract filter building to class so it is nicely contained in one place

* moved schema

* some fixes and tweaks

* travis fixes

* Some more features / updates

* Fix up my mistakes when adding default rules

* Use a modal for new alert (Incomplete)
Larger dialog!!
Remove page loading stuff.

Working:
Loading rules, resetting dialog, importing from collection.

Not working yet:
select width
device limited rule access? don't know what this is...

Lots of unused stuff to delete...

* reload "table" after save

* fixed editing rule

* Auto select2 width

* Reload window on save

* Restore per-device alert. Remove debug.

* Small cleanups. Rule Name first.

* Restore button to button type. Rename schema.

* Fixes: wrong command to reload window, remove extra attributes, rule is never passed

* Fixed old rule editing

* some small updates for old imports

* travis update to use trusty

* maybe travis fix

* Ability to set alert rule mappings on the rule edit screen

* pip installs one line, no quiet for deploy

* update schema def

* Fix style and some copyright headers

* fix docs missing file

* Allow new versions of snmpsim and libraries

* Parser WIP

* Fix default rules insert

* reorganize

* Legacy import first draft done

* Implement saving
Skip translation to sql for now

* Working on glues

* small rule collection fix

* Working on glues

* Working on glues

* Docs updates + small UI changes

* Parser WIP

* reorganize

* Legacy import first draft done

* Implement saving
Skip translation to sql for now

* Working on glues

* Working on glues

* Working on glues

* Add table mapping, should move to it's own class

* WIP

* Glue working!!

* Extract Schema class

* Some final touches.
revert alerts_rules.json for now.

* Finish up initial implementation
Needs more tests

* Fix a few places

* small doc updates

* Fix finding tables in grouped rules.

* remove unused code

* code format fixes

* Some quick tests for Schema
Simplified output for findRelationshipPath. Always includes start and target in the result.
This simplifies a lot of code in QueryBuilderParser.php
This also always loads the target table data now (which we want)

* Make bill_id the PRIMARY index for the bills table

* Load macros from a json file in misc instead of the database.

* Fix whitespace and wrong key for collection.

* Handle IN properly when generating SQL

* Fix glue (devices.device_id = ports.port_id) is incorrect :D
Show ALL tables we can resolve relationships for in the query builder filter.

* Remove all macros from the database
Remove insert statements, leave updates to update user's existing rules.
2018-03-14 20:25:19 +00:00
63cc936f60 docs: Created Gateone 3rd party integration doc (#8229)
* Create Gateone.md

Doc for Gateone integration.
Credit to davama who wrote most of this.

f6a7e5973f

* Update Gateone.md

* Update mkdocs.yml

added gateone.md
2018-02-10 20:52:26 +00:00
5c5de59f8e Test docs before deploying (#7992)
* Test docs before deploying
fix issue with docs

* Actually check the result of the doc build
add error for testing

* Fix up docs

* use original logic

* only deploy docs if build succeeds.
Make pip quiet
2018-01-02 08:20:19 -06:00
0652d7cc61 1.35 changelog (#7991)
* Added Changelog for December 2017 1.35 release

* fix mkdocs.yaml

* Added missing 1.34 changelog
2017-12-31 21:54:01 +00:00
dd8849d265 device: Added Rittal IT Chiller / Carel pCOweb card (#7826)
* device: Rittal IT Chiller / Carel pCOweb

* doc: more documentation about the pcoweb card

* Update Carel-pCOweb-Devices.md

* change the limit for sensors and small changes

* fixed db_schema

* doc updates and sql fix

* doc update

* remove the eer graph to create a sensor
2017-12-30 12:08:04 +00:00
6a6f242022 fix documentation issues (#7928) 2017-12-20 11:03:54 -06:00
56561aa4dc feature: Added support for Host dependencies (#7332)
* First draft of the modals and the config interfaces

* GUI part done

* Backend code and db schema addition

* Documentation added, fixed alerting bug

* Fix typos

* Do not try to push an older db_schame.yaml

* Small db fix

* More db fixes

* Travis CI fixes

* missed a line in the travis error

* Fixed dependency clearing bug, Manage Host dependencies button now shows current selections

* Removed unnecessary index

* Correct faulty query

* Fixed sql query as requested, and renamed sql file

* Added requested changes

* Removed debug code

* Renamed sql file

* More fixes as requested

* Trying to fix db_schema.yaml

* adding laf's diff

* Corrected a small bug

* Try to resolve scrutinizer issue

* Main page bootgrid ajax modifications

* Also corrected travis ci errors

* Added select2 for pull downs, removed a redundant debug output. Changed parent_id to text

* Add missing class in the device settings page

* Fix bug where a link wasn't added after save

* Better parent down detection

* Add missing comma

* Behold the multi-parent code

* Added lookup table

* Ready for testing

* Trying to fix documentation conflicts

* Fix copy paste errors, and possible sql injection

* indentation problems

* Modified db_schema.yaml as well

* Typos, typos

* This should correct alerts

* Try to fix travis ci error

* Fix the typo in index.php

* Changed to Tony's query

* function explanation text changed

* Updated db_schema.yaml

* Trying to make automated tests happy

* Changes as requested

* Added acknowledgment for select2

* Added laf's patch

* dbBulkInsert when adding parents
2017-12-20 14:17:52 +00:00
c22c879983 fix: Remove faulty memcached code (not related to distributed polling) (#7881) 2017-12-10 20:40:45 +00:00
544bfcefc9 doc: create device sensor help doc. (#7868)
* doc: create device sensor help doc. 

this should help users that get confused when receiving alerts for sensors.

* Update mkdocs.yml

* Update Device-Sensors.md

* Update Device-Sensors.md

* Update Device-Sensors.md

changes requested
2017-12-07 15:48:45 -06:00
c6501a3dda docs: Update World Map doc (#7858)
* docs: Update World Map Doc

Updated Doc and removed old Globe Map info.

* image for world map settings

* Update mkdocs.yml
2017-12-07 08:08:31 -06:00
ce913cd8d3 docs: Improve developer intro, add learning resources (#7811) 2017-11-29 08:08:18 +00:00
cf58d15838 docs: build new Cleanup Options doc (#7798)
* docs: build new Cleanup Options doc

* docs: create new cleanup options doc

* Update Cleanup-options.md
2017-11-26 11:37:02 -06:00
381f4b0cdf docs: fix link clean options (#7786)
well, the link didn't work as planned. :(
2017-11-22 19:04:15 -06:00
998a797bcd docs: added links/alerts/Cleanup Options (#7785)
* docs: added link to the alerts collection

* docs: added link to clean options

added link under setup to help users locate Clean options.
2017-11-22 18:34:10 -06:00
3bd9920e38 docs: Continue to reorganize docs (#7762)
* docs: Continue to reorganize things
Make landing pages for /Installation, /API, etc.
Split API out into multiple docs
Properly use multi-level navigation
Add lower nav buttons (tops are bug so disable for now)
Add logo for fanciness
Refine index page a bit

* Improve API TOC layout

* Couple of fixes.

* Fix API/API-Docs, assumed it was at the right url.
2017-11-19 01:19:18 +00:00
c0295becff docs: fix for rule mapping (#7751)
accidentally put rule-mapping in hidden :(
2017-11-16 16:48:54 -06:00
aad821c207 docs: Added alert rule mapping doc (#7748)
* doc: create rule mapping doc

* Update mkdocs.yml

* Add files via upload

* Update Rule-Mapping.md
2017-11-16 19:58:58 +00:00
95024af2c0 feature: Added purge-port scipt to allow deleting of ports from the CLI. (#7528)
* Add purge-port scipt to allow deleting of ports from the CLI.

  This script allows deleting single ports by their port_id or a list
  of ports read from a file or STDIN.

  LibreNMS Port purge tool
        -p <port_id>    Purge single port by it's port-id
        -f <file>       Purge a list of ports, read port-ids from <file>, one on each line.
                        A filename of - means reading from STDIN.

Signed-off-by: Maximilian Wilhelm <max@sdn.clinic>

* Update CLI-Tools.md
2017-11-09 12:57:41 +00:00
d4dab47c75 docs: Create new docs on using dashboards (#7688)
* docs: create new dashboards doc

* docs: added new dashboard doc

* docs: images for dashboard doc

* Update Dashboards.md

* docs: dashboard minor changes

spelling changes.
2017-11-09 12:00:49 +00:00
e7d4716996 docs: Added device-troubleshooting page (#7638)
* docs: create device-troubleshooting page

using the capture debug info page.

* Update device-troubleshooting.md

* capture debug info images

* Update and rename device-troubleshooting.md to Device-Troubleshooting.md

* added Device-Troubleshooting.md

* Update Device-Troubleshooting.md
2017-11-06 21:52:32 +00:00
0432d34d9a docs: Added doc for weathermap integration (#7536)
* docs: new doc for weathermap

* Update Weathermap

* Update Weathermap

* Update mkdocs.yml

added in Weathermap.md

* Update Weathermap

minor grammar fix

* Rename Weathermap to Weathermap.md

* Update Weathermap.md
2017-10-25 14:10:59 +01:00
f1b50737bb Docs refactor (#7389)
* docs: Refactored docs for new layout

* some more changes

* more doc updates

* More doc updates

* small update

* small update
2017-10-02 21:36:22 +01:00
98786c0ea7 feature: Allow ignore_mount, ignore_mount_string, ignore_mount_regex per OS (#7304)
* feature: Allow ignore_mount, ignore_mount_string, ignore_mount_regex at OS level

* Change the storage settings to override global instead of merge.
Add documentation
2017-09-13 19:43:21 +01:00
f71c708183 docs: Updated API docs formatting
* Ignore docs/

* Fix indenentation

YAML's pretty strict

* Remove static anchor names

Markdown does this automatically for us

* Tabelize entities

* Remove tildes

They don't do anything

* Renamed to index.md

* Remove backticks for headings

* Switch output format

text -> json

* renamed to index.md

* Removed `top` links

Cause TOC generation problems.  A theme-wide `top` button would be more
appropriate

* Use [TOC]

Automatically generates everything

* Wrapped routes in backticks

* Moved logs around a bit

* Revert already pulled commits
2017-08-21 13:24:22 +01:00
31993387e4 docs: Updated alerting docs / formatting (#7185)
* Ignore docs/

* Fix indenentation

YAML's pretty strict

* Remove static anchor names

Markdown does this automatically for us

* Tabelize entities

* Remove tildes

They don't do anything
2017-08-19 19:40:50 +01:00
f37f3ddff6 docs: Swap mdx_del_ins with pymdownx.tilde
It's actively developed and in the same package as pymdownx.tasklist
2017-08-19 19:39:00 +01:00
262a3967ec docs: Centralised the Metric storage docs (#7109) 2017-08-13 19:18:19 +01:00
feef5383f3 docs: Added code of conduct doc in root (#7055) 2017-07-21 12:36:33 -05:00
3b2c42009b docs: added agent setup to mkdocs (#7033)
noticed that the Agent Setup doc is not listed under Extensions, but can be found by searching. Added to mkdocs.yml
2017-07-18 23:44:06 +01:00
294ec4d73d feature: Added support for sending metrics to OpenTSDB (#7022)
* Create OpenTSDB.md

* Send collected data to OpenTSDB

* Send collected data to OpenTSDB

* Update build.sql

* Send collected data to OpenTSDB

* Delete 200.sql

* Update db_schema.yaml

* Update datastore.inc.php

* Update OpenTSDB.md

* Added OpenTSDB to mkdocs.yaml
2017-07-15 10:28:27 +01:00
51d50edc87 docs: Added SSL config docs (#6951)
* SSL config docs

Moving from https://github.com/librenms/librenms/pull/6932 to a new file

* rename to match other docs

* tidying the formatting

* update to add SSL-configuration

* tidied up docs a little
2017-07-04 22:31:27 +01:00
84814efc8b docs: Reorganised alerting docs + added some clarifications (#6869) 2017-06-24 21:27:42 -05:00
c6882129e8 docs: Create code of conduct page (#6640)
* Create CODE_OF_CONDUCT.md

* Update mkdocs.yml

* Update CODE_OF_CONDUCT.md
2017-05-19 07:15:06 -05:00
9f7b6ddaf2 Fix missing wireless sensors docs (#6602) 2017-05-06 10:16:06 -05:00
2361541e33 docs: Updated Support-New-OS doc to provide clearer information (#6492)
* docs: Updated Support-New-OS doc to provide clearer information

* Update Custom-Graphs.md

* Update Custom-Graphs.md

* Update Health-Information.md

* Update Initial-Detection.md
2017-04-25 12:35:42 -05:00
6283662c90 added graphite link (#6237) 2017-03-22 15:54:34 +00:00
0b82d2fff5 added pdb link (#6232) 2017-03-22 10:57:06 +00:00
d56489b0e7 alphabatize doc/Extensions/Applications.md (#6127)
* remove small typo

* alphabatize index

* sort everything

* Move agent back down to the bottom

And add a separator.

* Fix my mess up

* Create Agent-Setup.md

* Update Applications.md

* Update mkdocs.yml

* Remove agent setup content from this page.
2017-03-09 15:41:52 -06:00