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

178 lines
6.4 KiB
YAML

site_name: LibreNMS Docs
docs_dir: doc
theme_dir: 'theme_v2'
theme: null
site_dir: out
site_url: http://docs.librenms.org
markdown_extensions:
- pymdownx.tasklist
- pymdownx.tilde
extra_css:
- librenms.css
extra:
logo: img/librenms.svg
article_nav_top: false
article_nav_bottom: true
site_author: LibreNMS
site_description: LibreNMS user and developer documentation
repo_url: https://github.com/librenms/librenms
repo_name: GitHub
google_analytics: ['UA-79149977-2', 'docs.librenms.org']
pages:
- Home: index.md
- 1. General:
- Acknowledgements: General/Acknowledgement.md
- General/Changelog.md
- Code of Conduct: General/CODE_OF_CONDUCT.md
- Support/Features.md
- General/Welcome-to-Observium-users.md
- 2. Installing:
- Installing LibreNMS: Installation/index.md
- Ubuntu VM Image: Installation/Ubuntu-image.md
- CentOS VM Image: Installation/CentOS-image.md
- Ubuntu 16.04 (Nginx): Installation/Installation-Ubuntu-1604-Nginx.md
- Ubuntu 16.04 (Apache): Installation/Installation-Ubuntu-1604-Apache.md
- CentOS 7 (Nginx): Installation/Installation-CentOS-7-Nginx.md
- CentOS 7 (Apache): Installation/Installation-CentOS-7-Apache.md
- Migrating from Observium: Installation/Migrating-from-Observium.md
- 3. Getting started:
- Choosing a release: General/Releases.md
- Adding a device: Support/Adding-a-Device.md
- Grouping Devices: Extensions/Device-Groups.md
- Submitting stats: General/Callback-Stats-and-Privacy.md
- Updating an install: General/Updating.md
- 4. Basic Setup:
- Extensions/Applications.md
- Check_MK Setup: Extensions/Agent-Setup.md
- Extensions/Billing-Module.md
- Extensions/Dell-OpenManage.md
- Extensions/World-Map.md
- Extensions/Interface-Description-Parsing.md
- Extensions/Network-Map.md
- Extensions/Syslog.md
- Extensions/Dashboards.md
- 5. Advanced Setup:
- Support/1-Minute-Polling.md
- Configuration docs: Support/Configuration.md
- Authentication Options: Extensions/Authentication.md
- Two-Factor Auth: Extensions/Two-Factor-Auth.md
- Auto-discovery Setup: Extensions/Auto-Discovery.md
- Scaling LibreNMS: Extensions/Distributed-Poller.md
- Extensions/RRDCached.md
- Sub-directory Support: Extensions/Sub-Directory.md
- Extensions/Varnish.md
- Poller Service (BETA): Extensions/Poller-Service.md
- Extensions/RRDTune.md
- Extensions/IRC-Bot.md
- Extensions/IRC-Bot-Extensions.md
- Extensions/SNMP-Proxy.md
- Extensions/SNMP-Trap-Handler.md
- Support/Cleanup-options.md
- 6. 3rd Party Integration:
- Extensions/Gateone.md
- Extensions/Graylog.md
- Nagios Plugins: Extensions/Services.md
- Extensions/NFSen.md
- Extensions/Oxidized.md
- Extensions/Rancid.md
- Extensions/PeeringDB.md
- Extensions/Proxmox.md
- Storing Metrics:
- Intro: Extensions/Metric-Storage.md
- Extensions/metrics/Graphite.md
- Extensions/metrics/InfluxDB.md
- Extensions/metrics/OpenTSDB.md
- Extensions/metrics/Prometheus.md
- Extensions/Smokeping.md
- Extensions/Weathermap.md
- 7. API:
- Using the API: API/index.md
- API/Devices.md
- API/DeviceGroups.md
- API/Ports.md
- API/PortGroups.md
- API/Alerts.md
- API/Routing.md
- API/Switching.md
- API/Inventory.md
- API/Bills.md
- API/ARP.md
- API/Services.md
- API/System.md
- API/Logs.md
- 8. Alerting:
- Intro: Alerting/index.md
- Alerting/Rules.md
- Alerting/Templates.md
- Alerting/Transports.md
- Alerting/Creating-Transport.md
- Alerting/Entities.md
- Alerting/Macros.md
- Alerting/Testing.md
- Alerting/Device-Dependencies.md
- 9. Getting help:
- How to get help: Support/index.md
- Support/FAQ.md
- Support/Install Validation.md
- Support/Performance.md
- Support/Discovery Support.md
- Support/Poller Support.md
- Support/Example-Hardware-Setup.md
- Support/Remote-Monitoring-VPN.md
- Support/SNMP-Configuration-Examples.md
- Support/SSL-Configuration.md
- Support/Device-Troubleshooting.md
- Support/Device-Sensors.md
- 10. Contributing + Developing:
- Contributing: Developing/index.md
- Developing/Using-Git.md
- Developing/Code-Guidelines.md
- Developing/Style-Guidelines.md
- Developing/Validating-Code.md
- Developing/Code-Structure.md
- Developing/Creating-Documentation.md
- Developing/Licensing.md
- Extensions/Component.md
- Mib Based Polling (ALPHA): Extensions/MIB-based-polling.md
- Support for a new OS:
- Intro: Developing/Support-New-OS.md
- Developing/os/Initial-Detection.md
- Developing/os/Mem-CPU-Information.md
- Developing/os/Test-Units.md
- Developing/os/Health-Information.md
- Developing/os/Wireless-Sensors.md
- Developing/os/Custom-Graphs.md
- Developing/os/Settings.md
- Developing/Sensor-State-Support.md
- Developing/Dynamic-Config.md
- Developing/Merging-Pull-Requests.md
- Developing/Creating-Release.md
- Extensions/Plugin-System.md
- 11. Misc:
- Security information: General/Security.md
- CLI Scripts: Support/CLI-Tools.md
- Device Notes:
- Intro: Support/Device-Notes/index.md
- Carel pCOweb: Support/Device-Notes/Carel-pCOweb-Devices.md
- hidden:
- Alerting/Old_Templates.md
- API/API-Docs.md
- Installation/Installing-LibreNMS.md
- Extensions/Alerting.md
- Extensions/Email-Alerting.md
- Parsing Port Descriptions: Extensions/Port-Description-Parser.md
- Extensions/InfluxDB.md
- Extensions/Graphite.md
- Extensions/OpenTSDB.md
- Extensions/Prometheus.md
- Extensions/RRDCached-Security.md
- General/Contributing.md
- General/Credits.md
- Installation/Installation-Ubuntu-1404-Nginx.md
- Installation/Installation-Ubuntu-1404-Apache.md
- Installation/Installation-Ubuntu-1404-Lighttpd.md
- Installation/Installation-CentOS-6-Apache-Nginx.md
- Installation/Installation-(Debian-Ubuntu).md
- Installation/Installation-(RHEL-CentOS).md
- Support/Support-New-OS.md