Markdown linting of docs (#10595)

* Remove trailing spaces

* Markdown linting of docs
This commit is contained in:
Jellyfrog 2019-10-21 02:47:40 +02:00 committed by Tony Murray
parent 7f32af4f7b
commit c76e95d343
44 changed files with 424 additions and 401 deletions

View File

@ -1,25 +1,25 @@
---
name: New device request
about: To request support for a new device type or add additional data
---
**Please do not post bugs or ask questions**
**For help and support you can use our [Discord server](https://t.libren.ms/discord) or our [community site](https://community.librenms.org).**
Please confirm each of the sections below by putting an `x` in the box like `[x]`.
- [ ] Please provide **ALL** info asked for [here](http://docs.librenms.org/Support/FAQ/#faq20).
- [ ] Please provide as much detail as possible.
- [ ] Please do NOT post more than 10 lines of debug information here, use a pastebin service or GitHub Gists.
Please keep in mind that LibreNMS is a community project, it is run by people like you using their free time.
Which means it may take time before support is added to LibreNMS.
We encourage you to do it yourself and submit it in GitHub as a Pull request. It is not so difficult, most of
it can be done without writing a single line of code. You can find the documentation below :
👉 https://docs.librenms.org/Developing/os/Initial-Detection/
Love librenms? Please consider supporting our collective:
👉 https://t.libren.ms/donations
---
name: New device request
about: To request support for a new device type or add additional data
---
**Please do not post bugs or ask questions**
**For help and support you can use our [Discord server](https://t.libren.ms/discord) or our [community site](https://community.librenms.org).**
Please confirm each of the sections below by putting an `x` in the box like `[x]`.
- [ ] Please provide **ALL** info asked for [here](http://docs.librenms.org/Support/FAQ/#faq20).
- [ ] Please provide as much detail as possible.
- [ ] Please do NOT post more than 10 lines of debug information here, use a pastebin service or GitHub Gists.
Please keep in mind that LibreNMS is a community project, it is run by people like you using their free time.
Which means it may take time before support is added to LibreNMS.
We encourage you to do it yourself and submit it in GitHub as a Pull request. It is not so difficult, most of
it can be done without writing a single line of code. You can find the documentation below :
👉 https://docs.librenms.org/Developing/os/Initial-Detection/
Love librenms? Please consider supporting our collective:
👉 https://t.libren.ms/donations

View File

@ -45,7 +45,7 @@ VM image
You can try LibreNMS by downloading a VM image. Currently, a Ubuntu-based
image is supplied and has been tested with [VirtualBox][8].
Download one of the [VirtualBox images][11] we have available, documentation is provided which details
Download one of the [VirtualBox images][11] we have available, documentation is provided which details
login credentials and setup details.
License

View File

@ -24,6 +24,7 @@ curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/bgp?asn=123
```
Output:
```json
{
"status": "ok",
@ -188,6 +189,7 @@ Output:
}
```
### `get_network_ip_addresses`
Get all IPv4 and IPv6 addresses for particular network.
@ -358,6 +360,7 @@ Input:
- vrfname = The VRF name you would like to filter by
Example:
```curl
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/routing/vrf
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/routing/vrf?hostname=host.example.com

View File

@ -3,12 +3,12 @@ path: blob/master/doc/
# Creating a new Transport
### File location
## File location
All transports are located in `LibreNMS\Alert\Transport` and the files
are named after the Transport name. I.e `Discord.php` for Discord.
### Transport structure
## Transport structure
The following functions are required for a new transport to pass the unit tests:
@ -28,7 +28,7 @@ validated and how. Validation is done using [Laravel validation](https://laravel
The following function is __not__ required for new Transports and is
for legacy reasons only. `deliverAlertOld()`.
### Documentation
## Documentation
Please don't forget to update the [Transport](Transports.md) file to
include details of your new transport.
@ -36,10 +36,8 @@ include details of your new transport.
A table should be provided to indicate the form values that we ask for
and examples. I.e:
```
**Example:**
Config | Example
|Config | Example|
------ | -------
Discord URL | https://discordapp.com/api/webhooks/4515489001665127664/82-sf4385ysuhfn34u2fhfsdePGLrg8K7cP9wl553Fg6OlZuuxJGaa1d54fe
Options | username=myname
```
Discord URL | <https://discordapp.com/api/webhooks/4515489001665127664/82-sf4385ysuhfn34u2fhfsdePGLrg8K7cP9wl553Fg6OlZuuxJGaa1d54fe>|
Options | username=myname|

View File

@ -20,7 +20,7 @@ template, it is limited in the data that you will receive in the alerts.
[Configuring alert templates](Templates.md)
### Managing alerts
## Managing alerts
When an alert has triggered you will see these in the Alerts ->
Notifications page within the Web UI.
@ -28,7 +28,7 @@ Notifications page within the Web UI.
This list has a couple of options available to it and we'll explain
what these are here.
#### ACK
### ACK
This column provides you visibility on the status of the alert:
@ -43,7 +43,7 @@ currently acknowledged until the alert worsens or gets
better, at which stage it will be automatically unacknowledged and
alerts will resume. Click this icon to un-acknowledge the alert.
#### Notes
### Notes
![alert notes](img/notes.png) This column will allow you access to the
acknowledge/unacknowledge notes for this alert.

View File

@ -3,7 +3,7 @@ path: blob/master/doc/
# Templates
Templates can be assigned to a single or a group of rules and can contain any kind of text. There is also a default template which is used for any rule that isn't associated with a template. This template can be found under `Alert Templates` page and can be edited. It also has an option revert it back to its default content.
Templates can be assigned to a single or a group of rules and can contain any kind of text. There is also a default template which is used for any rule that isn't associated with a template. This template can be found under `Alert Templates` page and can be edited. It also has an option revert it back to its default content.
The template-parser understands `if` and `foreach` controls and replaces certain placeholders with information gathered about the alert.
@ -11,10 +11,8 @@ The template-parser understands `if` and `foreach` controls and replaces certain
Controls:
- if-else (Else can be omitted):
`{if %placeholder == value}Some Text{else}Other Text{/if}`
- foreach-loop:
`{foreach %faults}Key: %key<br/>Value: %value{/foreach}`
- if-else (Else can be omitted): `{if %placeholder == value}Some Text{else}Other Text{/if}`
- foreach-loop: `{foreach %faults}Key: %key<br/>Value: %value{/foreach}`
Placeholders:
@ -27,7 +25,7 @@ Placeholders are special variables that if used within the template will be repl
- sysName of the Device: `%sysName`
- sysDescr of the Device: `%sysDescr`
- hardware of the Device: `%hardware`
- Software version of the Device: `%version`
- Software version of the Device: `%version`
- location of the Device: `%location`
- uptime of the Device (in seconds): `%uptime`
- short uptime of the Device (28d 22h 30m 7s): `%uptime_short`
@ -73,6 +71,7 @@ The Default Template is a 'one-size-fit-all'. We highly recommend defining your
## Examples
Default Template:
```text
%title
Severity: %severity
@ -84,7 +83,9 @@ Rule: {if %name}%name{else}%rule{/if}
{foreach %faults} #%key: %value.string{/foreach}{/if}
Alert sent to: {foreach %contacts}%value <%key> {/foreach}
```
Ports Utilization Template:
```text
%title
Device Name: %hostname
@ -102,12 +103,13 @@ Outbound Utilization: {calc ((%value.ifOutOctets_rate*8)/%value.ifSpeed)*100}%
```
Storage:
```text
%title
Device Name: %hostname
Severity: %severity
Severity: %severity
Uptime: %uptime_short
{if %state == 0}Time elapsed: %elapsed{/if}
Timestamp: %timestamp
@ -121,12 +123,13 @@ Server: %sysName {foreach %faults}Mount Point: %value.storage_descr Percent Util
```
Temperature Sensors:
```text
%title
Device Name: %hostname
Severity: %severity
Severity: %severity
Timestamp: %timestamp
Uptime: %uptime_short
{if %state == 0}Time elapsed: %elapsed{/if}
@ -148,12 +151,13 @@ High Temperature Limit: %value.sensor_limit°C
```
Value Sensors:
```text
%title
Device Name: %hostname
Severity: %severity
Severity: %severity
Timestamp: %timestamp
Uptime: %uptime_short
{if %state == 0}Time elapsed: %elapsed{/if}
@ -175,11 +179,12 @@ Limit: %value.sensor_limit
```
Memory Alert:
```text
%title
Device Name: %hostname
Severity: %severity
Severity: %severity
Uptime: %uptime_short
{if %state == 0}Time elapsed: %elapsed{/if}
Timestamp: %timestamp
@ -188,12 +193,12 @@ Description: %description
Notes: %notes
Server: %hostname {foreach %faults}
Memory Description: %value.mempool_descr
Memory Description: %value.mempool_descr
Percent Utilized: %value.mempool_perc{/foreach}
```
Conditional formatting example, will display a link to the host in email or just the hostname in any other transport:
```text
{if %transport == mail}<a href="https://my.librenms.install/device/device=%hostname/">%hostname</a>
{else}
@ -208,12 +213,14 @@ Note the use of double-quotes. Single quotes (`'`) in templates will be escaped
Note: To use HTML emails you must set HTML email to Yes in the WebUI under Global Settings > Alerting Settings > Email transport > Use HTML emails
Note: To include Graphs you must enable unauthorized graphs in config.php. Allow_unauth_graphs_cidr is optional, but more secure.
```
$config['allow_unauth_graphs_cidr'] = array('127.0.0.1/32');
$config['allow_unauth_graphs_cidr'] = array('127.0.0.1/32');
$config['allow_unauth_graphs'] = true;
```
Service Alert:
```
<div style="font-family:Helvetica;">
<h2>{if %state == 1}<span style="color:red;">%severity{/if}
@ -225,16 +232,17 @@ Service Alert:
<b>Duration:</b> %elapsed<br>
<br>
{if %faults}
{foreach %faults}<b>%value.service_desc - %value.service_type</b><br>
{if %faults}
{foreach %faults}<b>%value.service_desc - %value.service_type</b><br>
%value.service_message<br>
<br>
{/foreach}
<br>
{/foreach}
{/if}
</div>
```
Processor Alert with Graph:
```
%title <br>
Severity: %severity <br>
@ -257,11 +265,11 @@ Template: CPU alert <br>
## Included
We include a few templates for you to use, these are specific to the type of alert rules you are creating. For example if you create a rule that would alert on BGP sessions then you can
We include a few templates for you to use, these are specific to the type of alert rules you are creating. For example if you create a rule that would alert on BGP sessions then you can
assign the BGP template to this rule to provide more information.
The included templates apart from the default template are:
- BGP Sessions
- Ports
- Temperature
- BGP Sessions
- Ports
- Temperature

View File

@ -66,13 +66,9 @@ entered as a new line.
The API transport allows to reach any service provider using POST or GET URLs
(Like SMS provider, etc). It can be used in multiple ways:
- The same text built from the Alert template is available in the variable
``` $msg ```, which can then be sent as an option to the API. Be carefull that
HTTP GET requests are usually limited in length.
- The API-Option fields can be directly built from the variables defined in
[Template-Syntax](Templates.md#syntax) but without the 'alert->' prefix.
For instance, ``` $alert->uptime ``` is available as ``` $uptime ``` in the
API transport
- The same text built from the Alert template is available in the variable `$msg`, which can then be sent as an option to the API. Be carefull that HTTP GET requests are usually limited in length.
- The API-Option fields can be directly built from the variables defined in [Template-Syntax](Templates.md#syntax) but without the 'alert->' prefix. For instance, ``` $alert->uptime ``` is available as ``` $uptime ``` in the API transport
A few variables commonly used :
@ -96,13 +92,13 @@ A few variables commonly used :
**Example:**
The example below will use the API named sms-api of my.example.com and send
the title of the alert to the provided number using the provided service key.
the title of the alert to the provided number using the provided service key.
Refer to your service documentation to configure it properly.
| Config | Example |
| ------ | ------- |
| API Method | GET |
| API URL | http://my.example.com/sms-api
| API URL | <http://my.example.com/sms-api>
| API Options | rcpt=0123456789 <br/> key=0987654321abcdef <br/> msg=(LNMS) {{ $title }} |
| API Username | myUsername |
| API Password | myPassword |
@ -113,7 +109,7 @@ the title and text of the alert to a screen in the Network Operation Center.
| Config | Example |
| ------ | ------- |
| API Method | POST |
| API URL | http://my.example.com/wall-display
| API URL | <http://my.example.com/wall-display>
| API Options | title={{ $title }} <br/> msg={{ $msg }}|
## Boxcar
@ -198,7 +194,7 @@ in the Discord Docs below.
| Config | Example |
| ------ | ------- |
| Discord URL | https://discordapp.com/api/webhooks/4515489001665127664/82-sf4385ysuhfn34u2fhfsdePGLrg8K7cP9wl553Fg6OlZuuxJGaa1d54fe |
| Discord URL | <https://discordapp.com/api/webhooks/4515489001665127664/82-sf4385ysuhfn34u2fhfsdePGLrg8K7cP9wl553Fg6OlZuuxJGaa1d54fe> |
| Options | username=myname |
## Elasticsearch
@ -226,7 +222,7 @@ tokens to authenticate with Gitlab and will store the token in cleartext.
| Config | Example |
| ------ | ------- |
| Host | http://gitlab.host.tld |
| Host | <http://gitlab.host.tld> |
| Project ID | 1 |
| Personal Access Token | AbCdEf12345 |
@ -242,7 +238,7 @@ for details on acceptable values.
| Config | Example |
| ------ | ------- |
| API URL | https://api.hipchat.com/v1/rooms/message?auth_token=109jawregoaihj |
| API URL | <https://api.hipchat.com/v1/rooms/message?auth_token=109jawregoaihj> |
| Room ID | 7654321 |
| From Name | LibreNMS |
| Options | color = red <br/> notify = 1 <br/> message_format = text |
@ -282,7 +278,7 @@ LibreNMS database.
| Config | Example |
| ------ | ------- |
| URL | https://myjira.mysite.com |
| URL | <https://myjira.mysite.com> |
| Project Key | JIRAPROJECTKEY |
| Issue Type | Myissuetype |
| Jira Username | myjirauser |
@ -326,7 +322,7 @@ API which are then posted to a specific channel.
| Config | Example |
| ------ | ------- |
| WebHook URL | https://outlook.office365.com/webhook/123456789 |
| WebHook URL | <https://outlook.office365.com/webhook/123456789> |
## Nagios Compatible
@ -361,7 +357,7 @@ integration. More detail with screenshots is available in
| Config | Example |
| ------ | ------- |
| WebHook URL | https://url/path/to/webhook |
| WebHook URL | <https://url/path/to/webhook> |
## osTicket
@ -371,7 +367,7 @@ LibreNMS can send alerts to osTicket API which are then converted to osTicket ti
| Config | Example |
| ------ | ------- |
| API URL | http://osticket.example.com/api/http.php/tickets.json |
| API URL | <http://osticket.example.com/api/http.php/tickets.json> |
| API Token | 123456789 |
## PagerDuty
@ -396,7 +392,7 @@ Service you have created in the PagerDuty portal.
Want to spice up your noc life? LibreNMS will flash all lights
connected to your philips hue bridge whenever an alert is triggered.
To setup, go to the you http://`your-bridge-ip`/debug/clip.html
To setup, go to the you <http://`your-bridge-ip`/debug/clip.html>
- Update the "URL:" field to `/api`
- Paste this in the "Message Body" {"devicetype":"librenms"}
@ -429,7 +425,7 @@ Here an example using 3 numbers, any amount of numbers is supported:
| Config | Example |
| ------ | ------- |
| PlaySMS | https://localhost/index.php?app=ws |
| PlaySMS | <https://localhost/index.php?app=ws> |
| User | user1 |
| Token | MYFANCYACCESSTOKEN |
| From | My Name |
@ -510,7 +506,7 @@ We currently support the following attachment options:
| Config | Example |
| ------ | ------- |
| Webhook URL | https://slack.com/url/somehook |
| Webhook URL | <https://slack.com/url/somehook> |
| Slack Options | author_name=Me |
## SMSEagle
@ -560,32 +556,32 @@ Each fault will be sent as a separate syslog.
list. To do this click on the following url:
[https://telegram.me/botfather](https://telegram.me/botfather)
2. Generate a new bot with the command "/newbot" BotFather is then
1. Generate a new bot with the command "/newbot" BotFather is then
asking for a username and a normal name. After that your bot is
created and you get a HTTP token. (for more options for your bot
type "/help")
3. Add your bot to telegram with the following url:
1. Add your bot to telegram with the following url:
`http://telegram.me/<botname>` to use app or
`https://web.telegram.org/<botname>` to use in web, and send some
text to the bot.
4. The BotFather should have responded with a token, copy your token
1. The BotFather should have responded with a token, copy your token
code and go to the following page in chrome:
`https://api.telegram.org/bot<tokencode>/getUpdates` (this could
take a while so continue to refresh until you see something similar
to below)
5. You see a json code with the message you sent to the bot. Copy the
1. You see a json code with the message you sent to the bot. Copy the
Chat id. In this example that is “-9787468” within this example:
`"message":{"message_id":7,"from":"id":656556,"first_name":"Joo","last_name":"Doo","username":"JohnDoo"},"chat":{"id":-9787468,"title":"Telegram
Group"},"date":1435216924,"text":"Hi"}}]}`.
6. Now create a new "Telegram transport" in LibreNMS (Global Settings
1. Now create a new "Telegram transport" in LibreNMS (Global Settings
-> Alerting Settings -> Telegram transport). Click on 'Add Telegram
config' and put your chat id and token into the relevant box.
7. If want to use a group to receive alerts, you need to pick the Chat
1. If want to use a group to receive alerts, you need to pick the Chat
ID of the group chat, and not of the Bot itself.
[Telegram Docs](https://core.telegram.org/api)
@ -630,7 +626,7 @@ such as librenms. I.e:
| Config | Example |
| ------ | ------- |
| Post URL | https://alert.victorops.com/integrations/generic/20132414/alert/2f974ce1-08fc-4dg8-a4f4-9aee6cf35c98/librenms |
| Post URL | <https://alert.victorops.com/integrations/generic/20132414/alert/2f974ce1-08fc-4dg8-a4f4-9aee6cf35c98/librenms> |
## Kayako Classic
@ -646,7 +642,7 @@ appropriate department and a user email to provide, which is used as
ticket author. To get department id: navigate to appropriate
department name at the departments list page in Admin CP and watch the
number at the end of url. Example:
http://servicedesk.example.com/admin/Base/Department/Edit/17. Department
<http://servicedesk.example.com/admin/Base/Department/Edit/17>. Department
ID is 17
As a requirement, you have to know API Url, API Key and API Secret to
@ -658,7 +654,7 @@ connect to servicedesk
| Config | Example |
| ------ | ------- |
| Kayako URL | http://servicedesk.example.com/api/ |
| Kayako URL | <http://servicedesk.example.com/api/> |
| Kayako API Key | 8cc02f38-7465-4a0c-8730-bb3af122167b |
| Kayako API Secret | Y2NhZDIxNDMtNjVkMi0wYzE0LWExYTUtZGUwMjJiZDI0ZWEzMmRhOGNiYWMtNTU2YS0yODk0LTA1MTEtN2VhN2YzYzgzZjk5 |
| Kayako Department | 1 |

View File

@ -14,52 +14,52 @@ Table of Content:
- [Introduction](Introduction.md)
- [Rules](Rules.md)
- [Syntax](Rules.md#syntax)
- [Options](Rules.md#options)
- [Examples](Rules.md#examples)
- [Procedure](Rules.md#procedure)
- [Syntax](Rules.md#syntax)
- [Options](Rules.md#options)
- [Examples](Rules.md#examples)
- [Procedure](Rules.md#procedure)
- [Templates](Templates.md)
- [Syntax](Templates.md#syntax)
- [Testing](Templates.md#testing)
- [Examples](Templates.md#examples)
- [Included](Templates.md#included)
- [Syntax](Templates.md#syntax)
- [Testing](Templates.md#testing)
- [Examples](Templates.md#examples)
- [Included](Templates.md#included)
- [Transports](Transports.md)
- [E-Mail](Transports.md#e-mail)
- [API](Transports.md#api)
- [Nagios-Compatible](Transports.md#nagios-compatible)
- [IRC](Transports.md#irc)
- [Slack](Transports.md#slack)
- [Rocket.chat](Transports.md#rocketchat)
- [HipChat](Transports.md#hipchat)
- [PagerDuty](Transports.md#pagerduty)
- [Pushover](Transports.md#pushover)
- [Boxcar](Transports.md#boxcar)
- [Telegram](Transports.md#telegram)
- [Pushbullet](Transports.md#pushbullet)
- [Clickatell](Transports.md#clickatell)
- [PlaySMS](Transports.md#playsms)
- [VictorOps](Transports.md#victorops)
- [Canopsis](Transports.md#canopsis)
- [osTicket](Transports.md#osticket)
- [Microsoft Teams](Transports.md#microsoftteams)
- [Cisco Spark](Transports.md#ciscospark)
- [SMSEagle](Transports.md#smseagle)
- [Syslog](Transports.md#syslog)
- [Elasticsearch](Transports.md#elasticsearch)
- [Jira](Transports.md#jira)
- [E-Mail](Transports.md#e-mail)
- [API](Transports.md#api)
- [Nagios-Compatible](Transports.md#nagios-compatible)
- [IRC](Transports.md#irc)
- [Slack](Transports.md#slack)
- [Rocket.chat](Transports.md#rocketchat)
- [HipChat](Transports.md#hipchat)
- [PagerDuty](Transports.md#pagerduty)
- [Pushover](Transports.md#pushover)
- [Boxcar](Transports.md#boxcar)
- [Telegram](Transports.md#telegram)
- [Pushbullet](Transports.md#pushbullet)
- [Clickatell](Transports.md#clickatell)
- [PlaySMS](Transports.md#playsms)
- [VictorOps](Transports.md#victorops)
- [Canopsis](Transports.md#canopsis)
- [osTicket](Transports.md#osticket)
- [Microsoft Teams](Transports.md#microsoftteams)
- [Cisco Spark](Transports.md#ciscospark)
- [SMSEagle](Transports.md#smseagle)
- [Syslog](Transports.md#syslog)
- [Elasticsearch](Transports.md#elasticsearch)
- [Jira](Transports.md#jira)
- [Entities](Entities.md)
- [Devices](Entities.md#devices)
- [BGP Peers](Entities.md#bgppeers)
- [IPSec Tunnels](Entities.md#ipsec)
- [Memory Pools](Entities.md#entity-mempools)
- [Ports](Entities.md#entity-ports)
- [Processors](Entities.md#entity-processors)
- [Storage](Entities.md#entity-storage)
- [Sensors](Entities.md#entity-sensors)
- [Devices](Entities.md#devices)
- [BGP Peers](Entities.md#bgppeers)
- [IPSec Tunnels](Entities.md#ipsec)
- [Memory Pools](Entities.md#entity-mempools)
- [Ports](Entities.md#entity-ports)
- [Processors](Entities.md#entity-processors)
- [Storage](Entities.md#entity-storage)
- [Sensors](Entities.md#entity-sensors)
- [Macros](Macros.md)
- [Device](Macros.md#macros-device)
- [Port](Macros.md#macros-port)
- [Time](Macros.md#macros-time)
- [Sensors](Macros.md#macros-sensors)
- [Misc](Macros.md#macros-misc)
- [Device Dependencies](Device-Dependencies.md)
- [Device](Macros.md#macros-device)
- [Port](Macros.md#macros-port)
- [Time](Macros.md#macros-time)
- [Sensors](Macros.md#macros-sensors)
- [Misc](Macros.md#macros-misc)
- [Device Dependencies](Device-Dependencies.md)

View File

@ -13,7 +13,7 @@ documentation applies: <https://laravel.com/docs/structure>
Directories from the (filtered) structure tree below are some of the
directories that will be most interesting during development:
```
```text
.
├─ app
├─ database
@ -70,9 +70,13 @@ through. It loads the majority of the relevant includes needed for the
control panel to function. CSS and JS files are also loaded here.
### html/css/
All used CSS files are located here.
### html/css/custom/
This is a directory you can put custom css files into that won't interfere with auto updates
### html/js/
All used JS files are located here.

View File

@ -1,5 +1,6 @@
source: Developing/Creating-Documentation.md
path: blob/master/doc/
# Creating Documentation
One of the goals of the LibreNMS project is to enable users to get all

View File

@ -20,9 +20,9 @@ Possible options:
1. Follow the [documentation on using git](Using-Git.md)
2. Install development dependencies `./scripts/composer_wrapper.php install`
1. Install development dependencies `./scripts/composer_wrapper.php install`
3. Set variables in .env, including database settings. Which could be
1. Set variables in .env, including database settings. Which could be
a local or remote MySQL server including your production DB.
```dotenv
@ -31,9 +31,9 @@ APP_DEBUG=true
...
```
4. Start a development webserver `./lnms serve`
1. Start a development webserver `./lnms serve`
5. Access the Web UI at http://localhost:8000
1. Access the Web UI at <http://localhost:8000>
### Automated testing

View File

@ -23,8 +23,7 @@ about how to keep things responsive.
- Ensure sub sections within the Navigation are separated correctly
using `<li role="presentation" class="divider"></li>`.
- Only use [Font Awesome icons](http://fontawesome.io/icons/) within
the Navigation. It speeds up page load times quite considerably.
- Only use [Font Awesome icons](http://fontawesome.io/icons/) within the Navigation. It speeds up page load times quite considerably.
### Buttons

View File

@ -42,7 +42,7 @@ commit process. You can do this in two ways:
to be excecuted when you run `git commit`.
2. You can symlink the `pre-commit.php` file so it's executed directly
1. You can symlink the `pre-commit.php` file so it's executed directly
on a `git commit`:
`ln -s /opt/librenms/scripts/pre-commit.php /opt/librenms/.git/hooks/pre-commit`

View File

@ -228,21 +228,21 @@ required or supported.
You will need to add code for your new sensor class in the following existing files:
- `app/Models/Sensor.php`: add a free icon from [Font Awesome](https://fontawesome.com/icons?d=gallery&m=free) in the $icons array.
- `doc/Developing/os/Health-Information.md`: documentation for every sensor class is mandatory.
- `includes/discovery/sensors.inc.php`: add the sensor class to the $run_sensors array.
- `includes/discovery/functions.inc.php`: optional - if sensible low_limit and high_limit values are guessable when a SNMP-retrievable threshold is not available, add a case for the sensor class to the sensor_limit() and/or sensor_low_limit() functions.
- `LibreNMS/Util/ObjectCache.php`: optional - choose menu grouping for the sensor class.
- `includes/html/pages/device/health.inc.php`: add a dbFetchCell(), $datas[], and $type_text[] entry for the sensor class.
- `includes/html/pages/device/overview.inc.php`: add `require 'overview/sensors/$class.inc.php'` in the desired order for the device overview page.
- `includes/html/pages/health.inc.php`: add a $type_text[] entry for the sensor class.
- `resources/lang/en/sensors.php`: add human-readable names and units for the sensor class in English, feel free to do so for other languages as well.
- `app/Models/Sensor.php`: add a free icon from [Font Awesome](https://fontawesome.com/icons?d=gallery&m=free) in the $icons array.
- `doc/Developing/os/Health-Information.md`: documentation for every sensor class is mandatory.
- `includes/discovery/sensors.inc.php`: add the sensor class to the $run_sensors array.
- `includes/discovery/functions.inc.php`: optional - if sensible low_limit and high_limit values are guessable when a SNMP-retrievable threshold is not available, add a case for the sensor class to the sensor_limit() and/or sensor_low_limit() functions.
- `LibreNMS/Util/ObjectCache.php`: optional - choose menu grouping for the sensor class.
- `includes/html/pages/device/health.inc.php`: add a dbFetchCell(), $datas[], and $type_text[] entry for the sensor class.
- `includes/html/pages/device/overview.inc.php`: add `require 'overview/sensors/$class.inc.php'` in the desired order for the device overview page.
- `includes/html/pages/health.inc.php`: add a $type_text[] entry for the sensor class.
- `resources/lang/en/sensors.php`: add human-readable names and units for the sensor class in English, feel free to do so for other languages as well.
Create and populate new files for the sensor class in the following places:
- `includes/discovery/sensors/$class/`: create the folder where advanced php-based discovery files are stored. Not used for yaml discovery.
- `includes/html/graphs/device/$class.inc.php`: define unit names used in RRDtool graphs.
- `includes/html/graphs/sensor/$class.inc.php`: define various [parameters](https://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html) for RRDtool graphs.
- `includes/html/pages/device/health/$class.inc.php`
- `includes/html/pages/device/overview/sensors/$class.inc.php`
- `includes/html/pages/health/$class.inc.php`
- `includes/discovery/sensors/$class/`: create the folder where advanced php-based discovery files are stored. Not used for yaml discovery.
- `includes/html/graphs/device/$class.inc.php`: define unit names used in RRDtool graphs.
- `includes/html/graphs/sensor/$class.inc.php`: define various [parameters](https://oss.oetiker.ch/rrdtool/doc/rrdgraph_graph.en.html) for RRDtool graphs.
- `includes/html/pages/device/health/$class.inc.php`
- `includes/html/pages/device/overview/sensors/$class.inc.php`
- `includes/html/pages/health/$class.inc.php`

View File

@ -47,7 +47,7 @@ is the preferred method for detection. Other options are available:
```yaml
discovery:
-
-
sysObjectID:
- .1.3.6.1.4.1.12532.
sysDescr_except:
@ -59,7 +59,7 @@ instance ios, nx-os, iosxr are all within a group called cisco.
`bad_ifXEntry`: This is a list of models for which to tell LibreNMS
that the device doesn't support ifXEntry and to ignore it:
```yaml
bad_ifXEntry:
- cisco1941
@ -97,15 +97,14 @@ discovery_modules:
cisco-mac-accounting: false
```
##### Discovery Logic
YAML is converted to an array in PHP. Consider the following YAML:
```yaml
discovery:
discovery:
- sysObjectID: foo
-
-
sysDescr: [ snafu, exodar ]
sysObjectID: bar
@ -128,18 +127,18 @@ This is how the discovery array would look in PHP:
]
```
The logic for the discovery is as follows:
1. One of the first level items must match
2. ALL of the second level items must match (sysObjectID, sysDescr)
3. One of the third level items (foo, [snafu,exodar], bar) must match
1. ALL of the second level items must match (sysObjectID, sysDescr)
1. One of the third level items (foo, [snafu,exodar], bar) must match
So, considering the example:
- `sysObjectID: foo, sysDescr: ANYTHING` matches
- `sysObjectID: bar, sysDescr: ANYTHING` does not match
- `sysObjectID: bar, sysDescr: exodar` matches
- `sysObjectID: bar, sysDescr: snafu` matches
- `sysObjectID: bar, sysDescr: exodar` matches
- `sysObjectID: bar, sysDescr: snafu` matches
#### Discovery helpers
@ -152,13 +151,10 @@ Within the discovery code base if you are using php then the following helpers a
### Poller
OS polling is done within `includes/polling/os/$os.inc.php` and is where we detect certain values.
```php
<?php
```php
$version = preg_replace('/[\r\n\"]+/', ' ', snmp_get($device, "productVersion.0", "-OQv", "PULSESECURE-PSG-MIB"));
$hardware = "Juniper " . preg_replace('/[\r\n\"]+/', ' ', snmp_get($device, "productName.0", "-OQv", "PULSESECURE-PSG-MIB"));
```
`$version`: The version of the OS running on the device.
@ -171,13 +167,13 @@ $hardware = "Juniper " . preg_replace('/[\r\n\"]+/', ' ', snmp_get($device, "pro
### MIBs
If the device has MIBs available and you use it in the detection then you can add these in. It is highly
recommended that you add mibs to a vendor specific directory. For instance HP mibs are in `mibs/hp`. Please
If the device has MIBs available and you use it in the detection then you can add these in. It is highly
recommended that you add mibs to a vendor specific directory. For instance HP mibs are in `mibs/hp`. Please
ensure that these directories are specified in the yaml detection file, see `mib_dir` above.
### Icon and Logo
It is highly recommended to use SVG images where possible, these scale and provide a nice visual image for users
It is highly recommended to use SVG images where possible, these scale and provide a nice visual image for users
with HiDPI screens. If you can't find SVG images then please use png.
Create an SVG image of the icon and logo. Legacy PNG bitmaps are also supported but look bad on HiDPI.

View File

@ -1,5 +1,6 @@
source: os/Settings.md
path: blob/master/doc/
# Optional OS Settings
This page documents settings that can be set in the os yaml files or
@ -26,8 +27,7 @@ It is possible to filter some sensors from the configuration:
$config['os']['vrp']['disabled_sensors']['current'] = true;
```
- Filter all sensors matching regexp ``` '/PEM Iout/' ``` for
Operating System iosxe.
- Filter all sensors matching regexp ```'/PEM Iout/'``` for Operating System iosxe.
```php
$config['os']['iosxe']['disabled_sensors_regex'][] = '/PEM Iout/';
@ -39,13 +39,14 @@ $config['os']['iosxe']['disabled_sensors_regex'][] = '/PEM Iout/';
$config['disabled_sensors']['current'] = true;
```
- Filter all sensors matching regexp ``` '/PEM Iout/' ```.
- Filter all sensors matching regexp ```'/PEM Iout/'```.
```php
$config['disabled_sensors_regex'][] = '/PEM Iout/';
```
### Ignoring Interfaces
See also: [Global Ignoring Interfaces Config](../../Support/Configuration.md#interfaces-to-be-ignored)
> These settings are merged with the global settings, so you can only
@ -69,6 +70,7 @@ good_if: # ignore all other bad_if settings ifDescr (substring, case insensitive
```
### Controlling interface labels
By default we use ifDescr to label ports/interfaces.
Setting either `ifname` or `ifalias` will override that. Only set one
of these. ifAlias is user supplied. `ifindex` will append the ifindex

View File

@ -58,11 +58,11 @@ After you have saved your test data, you should run
To run the full suite of tests enable database and snmpsim reliant
tests: `./scripts/pre-commit.php --db --snmpsim -p -u`
#### Specific OS
### Specific OS
`./scripts/pre-commit.php -p -o osname`
#### Specific Module
### Specific Module
`./scripts/pre-commit.php -p -m modulename`
@ -74,7 +74,7 @@ You can run snmpsim to access test data by running
You may then run snmp queries against it using the os (and variant) as
the community and 127.1.6.1:1161 as the host.
```
```bash
snmpget -v 2c -c ios_c3560e 127.1.6.1:1161 sysDescr.0
```
@ -84,7 +84,7 @@ Snmprec files are simple files that store the snmp data. The data
format is simple with three columns: numeric oid, type code, and
data. Here is an example snippet.
```
```snmp
1.3.6.1.2.1.1.1.0|4|Pulse Secure,LLC,MAG-2600,8.0R14 (build 41869)
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.12532.254.1.1
```
@ -131,23 +131,22 @@ must use a variant to store your test data (-v).
### Add initial detection
1. Add device to LibreNMS. It is generic and device_id = 42
2. Run `./scripts/collect-snmp-data.php -h 42`, initial snmprec will
be created
3. [Add initial detection](Initial-Detection.md) for `example-os`
4. Run discovery to make sure it detects properly `./discovery.php -h 42`
5. Add any additional os items like version, hardware, features, or serial.
6. If there is additional snmp data required, run `./scripts/collect-snmp-data.php -h 42`
7. Run `./scripts/save-test-data.php -o example-os` to update the dumped database data.
7. Review data. If you modified the snmprec or code (don't modify json
manually) run `./scripts/save-test-data.php -o example-os -m os`
8. Run `./scripts/pre-commit.php --db --snmpsim`
9. If the tests succeed submit a pull request
1. Run `./scripts/collect-snmp-data.php -h 42`, initial snmprec will be created
1. [Add initial detection](Initial-Detection.md) for `example-os`
1. Run discovery to make sure it detects properly `./discovery.php -h 42`
1. Add any additional os items like version, hardware, features, or serial.
1. If there is additional snmp data required, run `./scripts/collect-snmp-data.php -h 42`
1. Run `./scripts/save-test-data.php -o example-os` to update the dumped database data.
1. Review data. If you modified the snmprec or code (don't modify json manually) run `./scripts/save-test-data.php -o example-os -m os`
1. Run `./scripts/pre-commit.php --db --snmpsim`
1. If the tests succeed submit a pull request
### Additional module support or test data
1. Add code to support module or support already exists.
2. `./scripts/collect-snmp-data.php -h 42 -m <module>`, this will add
1. `./scripts/collect-snmp-data.php -h 42 -m <module>`, this will add
more data to the snmprec file
3. Review data. If you modified the snmprec (don't modify json
1. Review data. If you modified the snmprec (don't modify json
manually) run `./scripts/save-test-data.php -o example-os -m <module>`
4. Run `./scripts/pre-commit.php --db --snmpsim`
5. If the tests succeed submit a pull request
1. Run `./scripts/pre-commit.php --db --snmpsim`
1. If the tests succeed submit a pull request

View File

@ -19,7 +19,7 @@ On each of the hosts you would like to use the agent on, you need to do the foll
1: Clone the `librenms-agent` repository:
```shell
```bash
cd /opt/
git clone https://github.com/librenms/librenms-agent.git
cd librenms-agent
@ -31,7 +31,7 @@ cd librenms-agent
| --- | --- |
| `cp check_mk_agent /usr/bin/check_mk_agent` | `cp check_mk_agent_freebsd /usr/bin/check_mk_agent` |
```shell
```bash
chmod +x /usr/bin/check_mk_agent
```
@ -43,7 +43,7 @@ chmod +x /usr/bin/check_mk_agent
4: Create the relevant directories.
```shell
```bash
mkdir -p /usr/lib/check_mk_agent/plugins /usr/lib/check_mk_agent/local
```

View File

@ -231,7 +231,7 @@ Extend` heading top of page.
1: Create stats file with appropriate permissions:
```shell
```bash
~$ touch /var/run/named/stats
~$ chown bind:bind /var/run/named/stats
```
@ -1563,14 +1563,14 @@ adjust this path if necessary.
1: Replace your _log_'s `run` file, typically located in
`/service/dns/log/run` with:
```shell
```bash
#!/bin/sh
exec setuidgid dnslog tinystats ./main/tinystats/ multilog t n3 s250000 ./main/
```
2: Create tinystats directory and chown:
```shell
```bash
mkdir /service/dns/log/main/tinystats
chown dnslog:nofiles /service/dns/log/main/tinystats
```

View File

@ -58,7 +58,7 @@ When using SELinux on the LibreNMS server, you need to allow Apache
default. You can use SELinux Booleans to allow network access to LDAP
resources with this command:
```shell
```bash
setsebool -P httpd_can_connect_ldap=1
```
@ -66,7 +66,7 @@ setsebool -P httpd_can_connect_ldap=1
You can test authentication with this script:
```shell
```bash
./scripts/auth_test.php
```

View File

@ -61,7 +61,7 @@ Command | Description
# Examples
## Server examples:
## Server examples
Unencrypted Connection to `irc.freenode.org`:
@ -91,7 +91,7 @@ SSL-Encrypted Connection to `irc.localdomain` with Server-Password and odd port:
...
```
## Channel notations:
## Channel notations
Channels can be defined using Array-Notation like:
@ -111,7 +111,7 @@ Or using a single string using `,` as delimiter between various channels:
...
```
## Hostmask authentication:
## Hostmask authentication
```php
...

View File

@ -51,7 +51,7 @@ allow you to use an IP address instead. However, in LibreNMS, if your
device is added by an IP address, add your source with any name of
your choice, and create a symbolic link to the rrd file.
```sh
```bash
cd /var/nfsen/profiles-stat/sitea/
ln -s mychannel.rrd librenmsdeviceIP.rrd
```

View File

@ -24,7 +24,7 @@ Alias /librenms /opt/librenms/html
The `RewriteBase` directive in `html/.htaccess` must be rewritten to
reference the subdirectory name. Assuming LibreNMS is running at
http://example.com/librenms/, you will need to change `RewriteBase /`
<http://example.com/librenms/>, you will need to change `RewriteBase /`
to `RewriteBase /librenms`.
Finally, set `APP_URL=/librenms/` in .env and `$config["base_url"] =

View File

@ -291,12 +291,12 @@ info-center timestamp debugging short-date without-timezone // Optional
info-center timestamp log short-date // Optional
info-center timestamp trap short-date // Optional
//This is optional config, especially if the device is in public ip and you dont'want to get a lot of messages of ACL
info-center filter-id bymodule-alias VTY ACL_DENY
info-center filter-id bymodule-alias SSH SSH_FAIL
info-center filter-id bymodule-alias SNMP SNMP_FAIL
info-center filter-id bymodule-alias SNMP SNMP_IPLOCK
info-center filter-id bymodule-alias SNMP SNMP_IPUNLOCK
info-center filter-id bymodule-alias HTTP ACL_DENY
info-center filter-id bymodule-alias VTY ACL_DENY
info-center filter-id bymodule-alias SSH SSH_FAIL
info-center filter-id bymodule-alias SNMP SNMP_FAIL
info-center filter-id bymodule-alias SNMP SNMP_IPLOCK
info-center filter-id bymodule-alias SNMP SNMP_IPUNLOCK
info-center filter-id bymodule-alias HTTP ACL_DENY
```
## Huawei SmartAX (GPON OLT)
@ -311,9 +311,9 @@ loghost activate name librenms
```config
log date-format iso // Required so syslog-ng/LibreNMS can correctly interpret the log message formatting.
log host x.x.x.x
log host x.x.x.x level <errors> // Required. A log-level must be specified for syslog messages to send.
log host x.x.x.x level <errors> // Required. A log-level must be specified for syslog messages to send.
log host x.x.x.x level notices program imish // Useful for seeing all commands executed by users.
log host x.x.x.x level notices program imi // Required for Oxidized Syslog hook log message.
log host x.x.x.x level notices program imi // Required for Oxidized Syslog hook log message.
log host source <eth0>
```

View File

@ -214,7 +214,7 @@
* Add last changed, connected, and mtu to all ports data
* Add temp & state sensors to Riverbed
* Added support for all OS tests
* Added Runtime support for APC ups
* Added Runtime support for APC ups
* Capture device troubleshooting info (discovery, poller, snmpwalk)
* Add temp & state sensors to Riverbed
* Add more state sensors to Dell iDrac
@ -294,7 +294,7 @@
* Added faq to explain why devices show as warning ([#4449](https://github.com/librenms/librenms/issues/4449))
* Standardize snmp extend script location to /etc/snmp/ ([#4418](https://github.com/librenms/librenms/issues/4418))
* Added NFSen docs + update general config docs ([#4412](https://github.com/librenms/librenms/issues/4412))
* Clarify install docs to run validate as root [#4286](https://github.com/librenms/librenms/issues/4286)
* Clarify install docs to run validate as root [#4286](https://github.com/librenms/librenms/issues/4286)
* Added example to alerting doc for using variables of similar name [#4264](https://github.com/librenms/librenms/issues/4264)
* Added docs + file changes to support creating new releases/changelog
* Update snmpd setup in Installation-Ubuntu-1604 docs [#4243](https://github.com/librenms/librenms/issues/4243)
@ -306,9 +306,9 @@
* Remove external uses of GenGroupSQL()
* consolidate snmpcmd generation
* consolidate snmpcmd generation I needed to generate an snmpcmd for an upcoming PR, so I figured I'd save a little code duplication.
* Refactored new helper functions for case sensitivity [#4283](https://github.com/librenms/librenms/issues/4283)
* Refactored new helper functions for case sensitivity [#4283](https://github.com/librenms/librenms/issues/4283)
* Final PSR2 cleanup
* Moved IRCBot class to LibreNMS namespace [#4246](https://github.com/librenms/librenms/issues/4246)
* Moved IRCBot class to LibreNMS namespace [#4246](https://github.com/librenms/librenms/issues/4246)
* Update code in /includes to be psr2 compliant [#4220](https://github.com/librenms/librenms/issues/4220)
#### Devices
@ -329,8 +329,8 @@
* Added Cisco Stackwise Support [#4301](https://github.com/librenms/librenms/issues/4301)
* Added support for PLANET Networking & Communication switches ([#4308](https://github.com/librenms/librenms/issues/4308))
* Added support for Fujitsu Primergy switches [#4277](https://github.com/librenms/librenms/issues/4277) ([#4280](https://github.com/librenms/librenms/issues/4280))
* Added support for Lanier printers [#4267](https://github.com/librenms/librenms/issues/4267)
* Added Temp and State support for EdgeSwitch OS [#4265](https://github.com/librenms/librenms/issues/4265)
* Added support for Lanier printers [#4267](https://github.com/librenms/librenms/issues/4267)
* Added Temp and State support for EdgeSwitch OS [#4265](https://github.com/librenms/librenms/issues/4265)
* Added support for DDN Storage [#2737](https://github.com/librenms/librenms/issues/2737) ([#4261](https://github.com/librenms/librenms/issues/4261))
* Improved support for UBNT EdgeSwitch OS [#4249](https://github.com/librenms/librenms/issues/4249)
* Improved support for Avaya VSP [#4237](https://github.com/librenms/librenms/issues/4237)

View File

@ -6,7 +6,7 @@
* FreeRADIUS application monitoring ([#7818](https://github.com/librenms/librenms/issues/7818))
* Save application metrics to db for alerting ([#7828](https://github.com/librenms/librenms/issues/7828))
* Added Entity State polling ([#7625](https://github.com/librenms/librenms/issues/7625))
* Added manage_bills.php script to scripts directory ([#7633](https://github.com/librenms/librenms/issues/7633))
* Added manage_bills.php script to scripts directory ([#7633](https://github.com/librenms/librenms/issues/7633))
* Added Host dependencies support for alerting ([#7332](https://github.com/librenms/librenms/issues/7332))
#### Bugfixes
@ -18,7 +18,7 @@
* Fixed UPS time remaining in Mikrotik RouterOs ([#7803](https://github.com/librenms/librenms/issues/7803))
* Fixed get_all_ports() for api not returning ports on admin tokens ([#7829](https://github.com/librenms/librenms/issues/7829))
* Validate ifHighSpeed is > 0 in selected port polling ([#7885](https://github.com/librenms/librenms/issues/7885))
* Added user level to getUser for LDAP authentication ([#7896](https://github.com/librenms/librenms/issues/7896))
* Added user level to getUser for LDAP authentication ([#7896](https://github.com/librenms/librenms/issues/7896))
* ipmi sensors sending the wrong tags to influxdb ([#7906](https://github.com/librenms/librenms/issues/7906))
#### Documentation
@ -30,7 +30,7 @@
#### Refactoring
* Stop sending emails to "NOC" for default_email target ([#7917](https://github.com/librenms/librenms/issues/7917))
* Refactor alert transports to classes ([#7844](https://github.com/librenms/librenms/issues/7844))
* Update all applications to store metrics ([#7853](https://github.com/librenms/librenms/issues/7853))
* Update all applications to store metrics ([#7853](https://github.com/librenms/librenms/issues/7853))
#### Devices
* Added state sensor support for HPE MSA devices ([#7808](https://github.com/librenms/librenms/issues/7808))
@ -53,7 +53,7 @@
* Added Retrieve BGP sessions by ID ([#7825](https://github.com/librenms/librenms/issues/7825))
* Fixed disabling tokens ([#7833](https://github.com/librenms/librenms/issues/7833))
* Added support for wireless sensors ([#7846](https://github.com/librenms/librenms/issues/7846))
* Added API method to rename devices ([#7895](https://github.com/librenms/librenms/issues/7895))
* Added API method to rename devices ([#7895](https://github.com/librenms/librenms/issues/7895))
#### Alerting
* Validate email addresses used in alerting ([#7830](https://github.com/librenms/librenms/issues/7836))
@ -140,7 +140,7 @@
* Added syslog cleanup option ([#7581](https://github.com/librenms/librenms/issues/7581))
* How to add Weathermaps to Dashboards ([#7636](https://github.com/librenms/librenms/issues/7636))
* Added command to fetch shell script for DHCP Stats ([#7736](https://github.com/librenms/librenms/issues/7736))
* Added ports template to alert rules doc ([#7763](https://github.com/librenms/librenms/issues/7763))
* Added ports template to alert rules doc ([#7763](https://github.com/librenms/librenms/issues/7763))
#### Refactoring
* Better default temperature sensor limits ([#7754](https://github.com/librenms/librenms/issues/7754))
@ -245,7 +245,7 @@
* Added Storage, Memory pools, new status (Array Controller, Logical Drive) for HP ILO4 ([#7436](https://github.com/librenms/librenms/pull/7436))
* Added Support for ApsoluteOS / Defense Pro Hw ([#7440](https://github.com/librenms/librenms/pull/7440))
* Added support for Huawei OceanStor devices ([#7445](https://github.com/librenms/librenms/pull/7445))
* Added detection for Racom OS RAy (#[7466](https://github.com/librenms/librenms/pull/7466))
* Added detection for Racom OS RAy (#[7466](https://github.com/librenms/librenms/pull/7466))
* Improved Zhone MXK Discovery ([#7488](https://github.com/librenms/librenms/pull/7488))
* Added support for EATON-ATS devices ([#7448](https://github.com/librenms/librenms/pull/7448))
* Added support for Alcoma devices ([#7476](https://github.com/librenms/librenms/pull/7476))
@ -259,7 +259,7 @@
* Added more detection for IgniteNet FusionSwitch ([#7384](https://github.com/librenms/librenms/pull/7384))
* Added Mitel Standard Linux OS Support ([#7513](https://github.com/librenms/librenms/pull/7513))
* Updated Cisco WAP detection and merged in ciscosmblinux OS ([#7447](https://github.com/librenms/librenms/pull/7447))
* Added detection for Proxmox ([#7543](https://github.com/librenms/librenms/pull/7543))
* Added detection for Proxmox ([#7543](https://github.com/librenms/librenms/pull/7543))
#### Alerting
* Added alert rules for RFC1628 UPS to the collection ([#7415](https://github.com/librenms/librenms/pull/7415))
@ -462,7 +462,7 @@ source: General/Changelog.md
* Added detection for Alteon OS ([#7088](https://github.com/librenms/librenms/issues/7088))
* Added additional sensors for Microsemi PowerDsine PoE Switches ([#7114](https://github.com/librenms/librenms/issues/7114))
* Added detection for NEC Univerge devices ([#7108](https://github.com/librenms/librenms/pull/7108))
* Added VLAN discovery support for Avaya ERS devices ([#7098](https://github.com/librenms/librenms/pull/7098))
* Added VLAN discovery support for Avaya ERS devices ([#7098](https://github.com/librenms/librenms/pull/7098))
* Added ROS support for state sensors and system temps
* Removed check for switch model or firmware version for Avaya ERS switches
* Updated QNAP to include CPU temps ([#7110](https://github.com/librenms/librenms/pull/7110))
@ -590,7 +590,7 @@ source: General/Changelog.md
#### Features
* New snmpwalk_group() function ([#6865](https://github.com/librenms/librenms/issues/6865))
* Added support for passing state to alert templates test
* Added support for passing state to alert templates test
* Added option to specify transport when testing a template ([#6755](https://github.com/librenms/librenms/issues/6755))
* Added support to use IP addresses for NfSen filenames ([#6824](https://github.com/librenms/librenms/issues/6824))
* Added pi-hole application support ([#6782](https://github.com/librenms/librenms/issues/6782))
@ -1019,8 +1019,8 @@ source: General/Changelog.md
* Collect sysDescr and sysObjectID for stats to improve os detection ([#5510](https://github.com/librenms/librenms/issues/5510))
* Update Debian's guestId for VMware ([#5669](https://github.com/librenms/librenms/issues/5669))
* Allow customisation of rrd step/heartbeat when creating new rrd files ([#5947](https://github.com/librenms/librenms/pull/5947))
* Added ability to output graphs as svg ([#5959](https://github.com/librenms/librenms/pull/5959))
* Improve ports polling when ports are still down or marked deleted ([#5805](https://github.com/librenms/librenms/pull/5805))
* Added ability to output graphs as svg ([#5959](https://github.com/librenms/librenms/pull/5959))
* Improve ports polling when ports are still down or marked deleted ([#5805](https://github.com/librenms/librenms/pull/5805))
#### Bugfixes
* Syslog, pull out pam program source ([#5942](https://github.com/librenms/librenms/issues/5942))
@ -1100,7 +1100,7 @@ source: General/Changelog.md
* Improved support for TiMOS (Alcatel-Lucent) switches ([#5533](https://github.com/librenms/librenms/issues/5533))
* Improved Raritan detection ([#5771](https://github.com/librenms/librenms/pull/5771))
* Added Kyocera Mita support ([#5782](https://github.com/librenms/librenms/pull/5782))
* Added detection for Toshiba TEC printer's ([#5792](https://github.com/librenms/librenms/pull/5792))
* Added detection for Toshiba TEC printer's ([#5792](https://github.com/librenms/librenms/pull/5792))
* Added support for Cyberoam UTM devices ([#5542](https://github.com/librenms/librenms/issues/5542))
* Improved hardware detection for Xerox ([#5831](https://github.com/librenms/librenms/pull/5831))
* Added further sensor support for APC units ([#2732](https://github.com/librenms/librenms/issues/2732))

View File

@ -606,7 +606,7 @@ A big thank you to the following 29 contributors this last month:
* Fix xss in deluser ([#9079](https://github.com/librenms/librenms/pull/9079)) - [murrant](https://github.com/murrant)
#### Breaking Changes
* Fixed slack options not showing in the WebUI. This will cause a loss of options ([#9107](https://github.com/librenms/librenms/pull/9107)) - [laf](https://github.com/laf)
* Fixed slack options not showing in the WebUI. This will cause a loss of options ([#9107](https://github.com/librenms/librenms/pull/9107)) - [laf](https://github.com/laf)
## 1.42
*(2018-08-02)*
@ -915,7 +915,7 @@ A big thank you to the following 24 contributors this last month:
#### Bugfixes
* Fixed ePMP gps state ([#8575](https://github.com/librenms/librenms/issues/8575))
* Use email_user variable as from name for emails ([#8550](https://github.com/librenms/librenms/pull/8550))
* Apply divisor / multiplier to high / low values ([#8427](https://github.com/librenms/librenms/pull/8427))
* Apply divisor / multiplier to high / low values ([#8427](https://github.com/librenms/librenms/pull/8427))
#### Documentation
* Remove clause of CLA ([#8596](https://github.com/librenms/librenms/issues/8596))
@ -959,10 +959,10 @@ A big thank you to the following 24 contributors this last month:
#### WebUI
* Update Buffalo logo to new style and svg ([#8539](https://github.com/librenms/librenms/issues/8539))
* Use toastr for alert templates operational messages ([#8499]https://github.com/librenms/librenms/pull/8499)
* Use toastr for alert templates operational messages ([#8499]https://github.com/librenms/librenms/pull/8499)
* Improved FDB search page ([#8251](https://github.com/librenms/librenms/pull/8251))
* Updated Mikrotik logo ([#8584](https://github.com/librenms/librenms/pull/8584))
* Updated FiberHome logo ([#8601](https://github.com/librenms/librenms/pull/8601))
* Updated FiberHome logo ([#8601](https://github.com/librenms/librenms/pull/8601))
* Updated TPLink logo ([#8613](https://github.com/librenms/librenms/pull/8613))
* Added a 3rd graph to unbound application ([#8616](https://github.com/librenms/librenms/pull/8616))
@ -1007,7 +1007,7 @@ A big thank you to the following 24 contributors this last month:
* Added detection of Axis Network Speaker ([#8336](https://github.com/librenms/librenms/issues/8336))
* Added Nimble storage volume utilization ([#8405](https://github.com/librenms/librenms/issues/8405))
* Added Radwin OS Wireless Sensors ([#8372](https://github.com/librenms/librenms/issues/8372))
* Added contact,relay,outlet discovery for AOS-EMU2 ([#8317](https://github.com/librenms/librenms/issues/8317))
* Added contact,relay,outlet discovery for AOS-EMU2 ([#8317](https://github.com/librenms/librenms/issues/8317))
* Added support for Moxa EDS-P510A-8PoE ([#8384](https://github.com/librenms/librenms/issues/8384))
* Added detection for Ciena 8700 (SAOS 8) ([#8442](https://github.com/librenms/librenms/issues/8442))
* Added better detection for HiveOS devices ([#8277](https://github.com/librenms/librenms/issues/8277))
@ -1033,8 +1033,8 @@ A big thank you to the following 24 contributors this last month:
* Allow full search on devices page ([#8364](https://github.com/librenms/librenms/issues/8364))
#### Alerting
* Added a irc_alert_short option to only send the alert title ([#8312](https://github.com/librenms/librenms/issues/8312))
* Added Philips Hue as transport ([#8320](https://github.com/librenms/librenms/issues/8320))
* Added a irc_alert_short option to only send the alert title ([#8312](https://github.com/librenms/librenms/issues/8312))
* Added Philips Hue as transport ([#8320](https://github.com/librenms/librenms/issues/8320))
* Added two html alert template examples ([#8360](https://github.com/librenms/librenms/issues/8360))
* Added alert_id to alerts for templates ([#8368](https://github.com/librenms/librenms/issues/8368))
* Added new alert rule builder UI ([#8293](https://github.com/librenms/librenms/issues/8293))
@ -1080,7 +1080,7 @@ A big thank you to the following 24 contributors this last month:
* Fixed linkify to work with with ip addresses ([#8226](https://github.com/librenms/librenms/pull/8226))
* Changed e-mail validation TLD max length to 18 ([#8236](https://github.com/librenms/librenms/pull/8236))
* Fixed the HTML Purifier config so allowed values work ([#8239](https://github.com/librenms/librenms/pull/8239))
* Fixed issues with new config init ([#8242](https://github.com/librenms/librenms/pull/8242))
* Fixed issues with new config init ([#8242](https://github.com/librenms/librenms/pull/8242))
* Mitigate Cisco IOS 15 Stack State Issue ([#8256](https://github.com/librenms/librenms/pull/8256))
* Fix bgp peers discovery cleanup ([#8263](https://github.com/librenms/librenms/pull/8263))
* Fixed Dell N1548 CPU graphs ([#8280](https://github.com/librenms/librenms/pull/8280))
@ -1105,13 +1105,13 @@ A big thank you to the following 24 contributors this last month:
* Added support for ScreenOS arp tables ([#8273](https://github.com/librenms/librenms/issues/8273))
* Added support for OpenBSD PF states ([#8211](https://github.com/librenms/librenms/issues/8211))
* Added support for F5 GTM ([#8161](https://github.com/librenms/librenms/issues/8161))
* Added support for Airos CPU, GPS, and Temp ([#8203](https://github.com/librenms/librenms/pull/8203))
* Added support for Airos CPU, GPS, and Temp ([#8203](https://github.com/librenms/librenms/pull/8203))
* Updated support for XOS X480 and X650 desc and tests ([#8206](https://github.com/librenms/librenms/pull/8206))
* Updated Cisco Processor support ([#8216](https://github.com/librenms/librenms/pull/8216))
* Added OPNsense support ([#8199](https://github.com/librenms/librenms/pull/8199))
* Updated StoneOs support ([#8155](https://github.com/librenms/librenms/pull/8155))
* Added Allied Telesis Environmental Monitoring ([#8140](https://github.com/librenms/librenms/pull/8140))
* Update support for Brocade G620 description ([#8250](https://github.com/librenms/librenms/pull/8250))
* Update support for Brocade G620 description ([#8250](https://github.com/librenms/librenms/pull/8250))
* Added CeraOS wireless sensors ([#8167](https://github.com/librenms/librenms/pull/8167))
#### WebUI

View File

@ -131,7 +131,6 @@ own. To apply your changes, run `service snmpd restart` for Centos
6.x. If you have deployed a separate database server, you will likely
want to configure snmpd on that host as well.
# Adding the librenms-user for Apache
```bash

View File

@ -368,4 +368,4 @@ If you would like to help make LibreNMS better there are [many ways to
help](http://docs.librenms.org/Support/FAQ/#what-can-i-do-to-help). You
can also [back LibreNMS on Open
Collective](https://t.libren.ms/donations).

View File

@ -56,13 +56,13 @@ If you are deploying a separate database server, you need to change
the `bind-address`. If your MySQL database resides on the same server
as LibreNMS, you should skip this step.
```
```bash
vim /etc/mysql/my.cnf
```
Within the [mysqld] section please add:
```
```mysql
innodb_file_per_table=1
```
@ -73,7 +73,7 @@ listen on. Restart MySQL:
If you see a line that starts `sql-mode` then change this to `sql-mode=""`.
```
```bash
service mysql restart
```
@ -84,7 +84,7 @@ the same machine as your database server.
Install the required software:
```
```bash
apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear php5-curl snmp graphviz php5-mcrypt php5-json apache2 fping imagemagick whois mtr-tiny nmap python-mysqldb snmpd php-net-ipv4 php-net-ipv6 rrdtool git
```
@ -113,7 +113,7 @@ needed for LibreNMS include
# Adding the librenms-user
```
```bash
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
@ -129,7 +129,7 @@ You can clone the repository via HTTPS or SSH. In either case, you
need to ensure that the appropriate port (443 for HTTPS, 22 for SSH)
is open in the outbound direction for your server.
```
```bash
cd /opt
git clone https://github.com/librenms/librenms.git librenms
cd /opt/librenms
@ -148,7 +148,7 @@ repos), but if you're not planning to develop for LibreNMS it's an
acceptable option. To perform the initial clone without full history,
run the following instead:
```
```bash
cd /opt
git clone --depth 1 https://github.com/librenms/librenms.git librenms
cd /opt/librenms
@ -161,7 +161,7 @@ to create and chown a directory as well as create an Apache vhost.
First, create and chown the `rrd` directory and create the `logs` directory:
```
```bash
mkdir rrd logs
chown -R librenms:librenms /opt/librenms
chmod 775 rrd
@ -195,7 +195,7 @@ If you are running Apache 2.2.18 or higher then change
If you have Apache 2.3 or newer then please add the following line
before `AllowOverride All`:
```
```apache
Require all granted
```
@ -203,14 +203,14 @@ On at least Ubuntu 14.04 (and possibly other distributions and
versions as well), mcrypt is not enabled on install. Run the
following to enable it:
```
```bash
php5enmod mcrypt
```
Change `librenms.example.com` to the appropriate hostname for your
domain, then enable the vhost and restart Apache:
```
```bash
a2ensite librenms.conf
a2enmod rewrite
service apache2 restart
@ -219,7 +219,7 @@ service apache2 restart
If this is the only site you are hosting on this server (it should be
:)) then you will need to disable the default site setup in Ubuntu:
```
```bash
a2dissite 000-default
```
@ -234,7 +234,7 @@ instructions then skip to the 'Add localhost' section. Alternatively
if you want to continue the setup manually then just keep following
these instructions.
```
```bash
cp config.php.default config.php
vim config.php
```
@ -254,7 +254,7 @@ graphs will break otherwise. **
Initiate the follow database with the following command:
```
```bash
php build-base.php
```
@ -262,7 +262,7 @@ php build-base.php
Create the admin user - priv should be 10
```
```bash
php adduser.php <name> <pass> 10 <email>
```
@ -273,7 +273,7 @@ leave the angled brackets off.
Run validate.php as root in the librenms directory
```
```bash
php validate.php
```
@ -281,7 +281,7 @@ This will check your install to verify it is set up correctly.
# Add localhost
```
```bash
php addhost.php localhost public v2c
```
@ -292,7 +292,7 @@ come).
Discover localhost::
```
```bash
php discovery.php -h all
```
@ -305,13 +305,13 @@ the thread count needs to be changed, you can do so by editing the
cron file (`/etc/cron.d/librenms`). Just add a number after
`poller-wrapper.py`, as in the example below:
```
```bash
/opt/librenms/poller-wrapper.py 12 >> /dev/null 2>&1
```
Create the cronjob
```
```bash
cp librenms.nonroot.cron /etc/cron.d/librenms
```
@ -329,7 +329,7 @@ LibreNMS keeps logs in `/opt/librenms/logs`. Over time these can
become large and be rotated out. To rotate out the old logs you can
use the provided logrotate config file:
```
```bash
cp misc/librenms.logrotate /etc/logrotate.d/librenms
```
@ -340,13 +340,13 @@ every day, a `git pull --no-edit --quiet` is performed. You can
override this default by editing your `config.php` file. Remove the
comment (the `#` mark) on the line:
```
```php
#$config['update'] = 0;
```
so that it looks like this:
```
```php
$config['update'] = 0;
```

View File

@ -54,13 +54,13 @@ If you are deploying a separate database server, you need to change
the `bind-address`. If your MySQL database resides on the same server
as LibreNMS, you should skip this step.
```
```bash
vim /etc/mysql/my.cnf
```
Within the [mysqld] section please add:
```
```mysql
innodb_file_per_table=1
```
@ -71,7 +71,7 @@ listen on. Restart MySQL:
If you see a line that starts `sql-mode` then change this to `sql-mode=""`.
```
```bash
service mysql restart
```
@ -82,7 +82,7 @@ the same machine as your database server.
Install the required software:
```
```bash
apt-get install nginx-full php5-fpm php5-cli php5-mysql php5-gd php5-snmp php-pear php5-curl php5-mcrypt php5-json php-net-ipv4 php-net-ipv6 snmp snmpd graphviz fping imagemagick whois mtr-tiny nmap python-mysqldb rrdtool git
```
@ -92,7 +92,7 @@ were necessary on a clean install of Ubuntu 12.04/14.04.
You need to configure snmpd appropriately if you have not already done
so. An absolute minimal config for snmpd is:
```
```snmp
rocommunity public 127.0.0.1
```
@ -109,9 +109,9 @@ needed for LibreNMS include
# Adding the librenms-user
```
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```bash
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
# Cloning
@ -125,7 +125,7 @@ You can clone the repository via HTTPS or SSH. In either case, you
need to ensure that the appropriate port (443 for HTTPS, 22 for SSH)
is open in the outbound direction for your server.
```
```bash
cd /opt
git clone https://github.com/librenms/librenms.git librenms
cd /opt/librenms
@ -144,7 +144,7 @@ repos), but if you're not planning to develop for LibreNMS it's an
acceptable option. To perform the initial clone without full history,
run the following instead:
```
```bash
cd /opt
git clone --depth 1 https://github.com/librenms/librenms.git librenms
cd /opt/librenms
@ -157,9 +157,11 @@ to create and chown a directory as well as create a Nginx vhost.
First, create and chown the `rrd` directory and create the `logs` directory:
mkdir rrd logs
chown -R librenms:librenms /opt/librenms
chmod 775 rrd
```bash
mkdir rrd logs
chown -R librenms:librenms /opt/librenms
chmod 775 rrd
```
> NOTE: If you're not running Ubuntu or Debian, you will need to
> change `www-data` to the user and group which run the Nginx web
@ -202,7 +204,7 @@ On at least Ubuntu 14.04 (and possibly other distributions and
versions as well), mcrypt is not enabled on install. Run the
following to enable it:
```
```bash
php5enmod mcrypt
```
@ -213,13 +215,13 @@ to your DNS or hosts file.)
Restart nginx:
```
```bashg
service nginx restart
```
Restart php5-fpm:
```
```bash
service php5-fpm restart
```
@ -231,7 +233,7 @@ instructions then skip to the 'Add localhost' section. Alternatively
if you want to continue the setup manually then just keep following
these instructions.
```
```bash
cp config.php.default config.php
vim config.php
```
@ -251,7 +253,7 @@ graphs will break otherwise. **
Initiate the follow database with the following command:
```
```bash
php build-base.php
```
@ -259,7 +261,7 @@ php build-base.php
Create the admin user - priv should be 10
```
```bash
php adduser.php <name> <pass> 10 <email>
```
@ -270,7 +272,7 @@ leave the angled brackets off.
Run validate.php as root in the librenms directory
```
```bash
php validate.php
```
@ -278,7 +280,7 @@ This will check your install to verify it is set up correctly.
# Add localhost
```
```bash
php addhost.php localhost public v2c
```
@ -289,7 +291,7 @@ come).
Discover localhost::
```
```bash
php discovery.php -h all
```
@ -302,13 +304,13 @@ the thread count needs to be changed, you can do so by editing the
cron file (`/etc/cron.d/librenms`). Just add a number after
`poller-wrapper.py`, as in the example below:
```
```bash
/opt/librenms/poller-wrapper.py 12 >> /dev/null 2>&1
```
Create the cronjob
```
```bash
cp librenms.nonroot.cron /etc/cron.d/librenms
```
@ -326,7 +328,7 @@ LibreNMS keeps logs in `/opt/librenms/logs`. Over time these can
become large and be rotated out. To rotate out the old logs you can
use the provided logrotate config file:
```
```bash
cp misc/librenms.logrotate /etc/logrotate.d/librenms
```
@ -337,13 +339,13 @@ every day, a `git pull --no-edit --quiet` is performed. You can
override this default by editing your `config.php` file. Remove the
comment (the `#` mark) on the line:
```
```php
#$config['update'] = 0;
```
so that it looks like this:
```
```php
$config['update'] = 0;
```

View File

@ -10,25 +10,29 @@ path: blob/master/doc/
# Install Required Packages
apt install acl apache2 composer fping git graphviz imagemagick libapache2-mod-php7.0 mariadb-client mariadb-server mtr-tiny nmap php7.0-cli php7.0-curl php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-snmp php7.0-xml php7.0-zip python-memcache python-mysqldb rrdtool snmp snmpd whois
```bash
apt install acl apache2 composer fping git graphviz imagemagick libapache2-mod-php7.0 mariadb-client mariadb-server mtr-tiny nmap php7.0-cli php7.0-curl php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-snmp php7.0-xml php7.0-zip python-memcache python-mysqldb rrdtool snmp snmpd whois
```
# Add librenms user
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```bash
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
# Install LibreNMS
cd /opt
composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master
```bash
cd /opt
composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master
```
# DB Server
## Configure MySQL
```
```bash
systemctl restart mysql
mysql -uroot -p
```
@ -43,7 +47,7 @@ FLUSH PRIVILEGES;
exit
```
```
```bash
vi /etc/mysql/mariadb.conf.d/50-server.cnf
```
@ -54,7 +58,7 @@ innodb_file_per_table=1
lower_case_table_names=0
```
```
```bash
systemctl restart mysql
```
@ -67,12 +71,12 @@ See <http://php.net/manual/en/timezones.php> for a list of supported
timezones. Valid examples are: "America/New_York",
"Australia/Brisbane", "Etc/UTC".
```
```bash
vi /etc/php/7.0/apache2/php.ini
vi /etc/php/7.0/cli/php.ini
```
```
```bash
a2enmod php7.0
a2dismod mpm_event
a2enmod mpm_prefork
@ -81,7 +85,7 @@ phpenmod mcrypt
## Configure Apache
```
```bash
vi /etc/apache2/sites-available/librenms.conf
```
@ -105,7 +109,7 @@ Add the following config, edit `ServerName` as required:
> should be :)) then you will need to disable the default
> site. `a2dissite 000-default`
```
```bash
a2ensite librenms.conf
a2enmod rewrite
systemctl restart apache2
@ -113,14 +117,14 @@ systemctl restart apache2
# Configure snmpd
```
```bash
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf
```
Edit the text which says `RANDOMSTRINGGOESHERE` and set your own community string.
```
```bash
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd
@ -128,7 +132,7 @@ systemctl restart snmpd
## Cron job
```
```bash
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
```
@ -146,13 +150,13 @@ LibreNMS keeps logs in `/opt/librenms/logs`. Over time these can
become large and be rotated out. To rotate out the old logs you can
use the provided logrotate config file:
```
```bash
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
```
# Set permissions
```
```bash
chown -R librenms:librenms /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
@ -164,14 +168,13 @@ Now head to the web installer and follow the on-screen instructions.
<http://librenms.example.com/install.php>
The web installer might prompt you to create a `config.php` file in
your librenms install location manually, copying the content displayed
on-screen to the file. If you have to do this, please remember to set
the permissions on config.php after you copied the on-screen contents
to the file. Run:
```
```bash
chown librenms:librenms /opt/librenms/config.php
```
@ -193,7 +196,7 @@ We now suggest that you add localhost as your first device from within the WebUI
If you ever have issues with your install, run validate.php as root in
the librenms directory:
```
```bash
cd /opt/librenms
./validate.php
```

View File

@ -10,25 +10,29 @@ path: blob/master/doc/
# Install Required Packages
```
```bash
apt install acl composer fping git graphviz imagemagick mariadb-client mariadb-server mtr-tiny nginx-full nmap php7.0-cli php7.0-curl php7.0-fpm php7.0-gd php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-snmp php7.0-xml php7.0-zip python-memcache python-mysqldb rrdtool snmp snmpd whois
```
# Add librenms user
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```bash
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
# Install LibreNMS
cd /opt
composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master
```bash
cd /opt
composer create-project --no-dev --keep-vcs librenms/librenms librenms dev-master
```
# DB Server
## Configure MySQL
```
```bash
systemctl restart mysql
mysql -uroot -p
```
@ -43,7 +47,7 @@ FLUSH PRIVILEGES;
exit
```
```
```bash
vim /etc/mysql/mariadb.conf.d/50-server.cnf
```
@ -54,7 +58,7 @@ innodb_file_per_table=1
lower_case_table_names=0
```
```
```bash
systemctl restart mysql
```
@ -67,19 +71,19 @@ See <http://php.net/manual/en/timezones.php> for a list of supported
timezones. Valid examples are: "America/New_York",
"Australia/Brisbane", "Etc/UTC".
```
```bash
vim /etc/php/7.0/fpm/php.ini
vim /etc/php/7.0/cli/php.ini
```
```
```bash
phpenmod mcrypt
systemctl restart php7.0-fpm
```
## Configure NGINX
```
```bash
vim /etc/nginx/conf.d/librenms.conf
```
@ -112,21 +116,21 @@ server {
}
```
```
```bash
rm /etc/nginx/sites-enabled/default
systemctl restart nginx
```
# Configure snmpd
```
```bash
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
vim /etc/snmp/snmpd.conf
```
Edit the text which says `RANDOMSTRINGGOESHERE` and set your own community string.
```
```bash
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd
@ -134,7 +138,7 @@ systemctl restart snmpd
# Cron job
```
```bash
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
```
@ -152,13 +156,13 @@ LibreNMS keeps logs in `/opt/librenms/logs`. Over time these can
become large and be rotated out. To rotate out the old logs you can
use the provided logrotate config file:
```
```bash
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
```
# Set permissions
```
```bash
chown -R librenms:librenms /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
@ -178,7 +182,7 @@ on-screen to the file. If you have to do this, please remember to set
the permissions on config.php after you copied the on-screen contents
to the file. Run:
```
```bash
chown librenms:librenms /opt/librenms/config.php
```
@ -200,7 +204,7 @@ We now suggest that you add localhost as your first device from within the WebUI
If you ever have issues with your install, run validate.php as root in
the librenms directory:
```
```bash
cd /opt/librenms
./validate.php
```

View File

@ -10,30 +10,30 @@ path: blob/master/doc/
# Install Required Packages
```
```bash
apt install software-properties-common
add-apt-repository universe
apt update
apt install curl apache2 composer fping git graphviz imagemagick libapache2-mod-php7.2 mariadb-client mariadb-server mtr-tiny nmap php7.2-cli php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-mysql php7.2-snmp php7.2-xml php7.2-zip python-memcache python-mysqldb rrdtool snmp snmpd whois
```
```bash
# Add librenms user
```
```bash
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
# Download LibreNMS
```
```bash
cd /opt
git clone https://github.com/librenms/librenms.git
```
# Set permissions
```
```bash
chown -R librenms:librenms /opt/librenms
chmod 770 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
@ -42,7 +42,7 @@ setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstra
# Install PHP dependencies
```
```bash
su - librenms
./scripts/composer_wrapper.php install --no-dev
exit
@ -52,7 +52,7 @@ exit
## Configure MySQL
```
```bash
systemctl restart mysql
mysql -uroot -p
```
@ -67,7 +67,7 @@ FLUSH PRIVILEGES;
exit
```
```
```bash
vi /etc/mysql/mariadb.conf.d/50-server.cnf
```
@ -78,7 +78,7 @@ innodb_file_per_table=1
lower_case_table_names=0
```
```
```bash
systemctl restart mysql
```
@ -91,16 +91,18 @@ See <http://php.net/manual/en/timezones.php> for a list of supported
timezones. Valid examples are: "America/New_York",
"Australia/Brisbane", "Etc/UTC".
vi /etc/php/7.2/apache2/php.ini
vi /etc/php/7.2/cli/php.ini
```bash
vi /etc/php/7.2/apache2/php.ini
vi /etc/php/7.2/cli/php.ini
a2enmod php7.2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php7.2
a2dismod mpm_event
a2enmod mpm_prefork
```
## Configure Apache
```
```bash
vi /etc/apache2/sites-available/librenms.conf
```
@ -124,7 +126,7 @@ Add the following config, edit `ServerName` as required:
> should be :)) then you will need to disable the default
> site. `a2dissite 000-default`
```
```bash
a2ensite librenms.conf
a2enmod rewrite
systemctl restart apache2
@ -132,14 +134,14 @@ systemctl restart apache2
# Configure snmpd
```
```bash
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf
```
Edit the text which says `RANDOMSTRINGGOESHERE` and set your own community string.
```
```bash
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd
@ -147,7 +149,7 @@ systemctl restart snmpd
# Cron job
```
```bash
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
```
@ -165,11 +167,11 @@ LibreNMS keeps logs in `/opt/librenms/logs`. Over time these can
become large and be rotated out. To rotate out the old logs you can
use the provided logrotate config file:
```
```bash
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
```
# Web installer ##
# Web installer
Now head to the web installer and follow the on-screen instructions.
@ -183,7 +185,7 @@ on-screen to the file. If you have to do this, please remember to set
the permissions on config.php after you copied the on-screen contents
to the file. Run:
```
```bash
chown librenms:librenms /opt/librenms/config.php
```
@ -205,7 +207,7 @@ We now suggest that you add localhost as your first device from within the WebUI
If you ever have issues with your install, run validate.php as root in
the librenms directory:
```
```bash
cd /opt/librenms
./validate.php
```

View File

@ -10,7 +10,7 @@ path: blob/master/doc/
# Install Required Packages
```
```bash
apt install software-properties-common
add-apt-repository universe
apt update
@ -19,21 +19,21 @@ apt install curl composer fping git graphviz imagemagick mariadb-client mariadb-
# Add librenms user
```
```bash
useradd librenms -d /opt/librenms -M -r
usermod -a -G librenms www-data
```
# Download LibreNMS
```
```bash
cd /opt
git clone https://github.com/librenms/librenms.git
```
# Set permissions
```
```bash
chown -R librenms:librenms /opt/librenms
chmod 770 /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
@ -42,7 +42,7 @@ setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstra
# Install PHP dependencies
```
```bash
su - librenms
./scripts/composer_wrapper.php install --no-dev
exit
@ -52,7 +52,7 @@ exit
## Configure MySQL
```
```bash
systemctl restart mysql
mysql -uroot -p
```
@ -67,7 +67,7 @@ FLUSH PRIVILEGES;
exit
```
```
```bash
vi /etc/mysql/mariadb.conf.d/50-server.cnf
```
@ -78,7 +78,7 @@ innodb_file_per_table=1
lower_case_table_names=0
```
```
```bash
systemctl restart mysql
```
@ -91,18 +91,18 @@ See <http://php.net/manual/en/timezones.php> for a list of supported
timezones. Valid examples are: "America/New_York",
"Australia/Brisbane", "Etc/UTC".
```
```bash
vi /etc/php/7.2/fpm/php.ini
vi /etc/php/7.2/cli/php.ini
```
```
```bash
systemctl restart php7.2-fpm
```
## Configure NGINX
```
```bash
vi /etc/nginx/conf.d/librenms.conf
```
@ -135,21 +135,21 @@ server {
}
```
```
```bash
rm /etc/nginx/sites-enabled/default
systemctl restart nginx
```
# Configure snmpd
```
```bash
cp /opt/librenms/snmpd.conf.example /etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf
```
Edit the text which says `RANDOMSTRINGGOESHERE` and set your own community string.
```
```bash
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro
chmod +x /usr/bin/distro
systemctl restart snmpd
@ -157,7 +157,7 @@ systemctl restart snmpd
# Cron job
```
```bash
cp /opt/librenms/librenms.nonroot.cron /etc/cron.d/librenms
```
@ -175,13 +175,13 @@ LibreNMS keeps logs in `/opt/librenms/logs`. Over time these can
become large and be rotated out. To rotate out the old logs you can
use the provided logrotate config file:
```
```bash
cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms
```
# Set permissions
```
```bash
chown -R librenms:librenms /opt/librenms
setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
setfacl -R -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/
@ -199,7 +199,7 @@ on-screen to the file. If you have to do this, please remember to set
the permissions on config.php after you copied the on-screen contents
to the file. Run:
```
```bash
chown librenms:librenms /opt/librenms/config.php
```
@ -222,7 +222,7 @@ the WebUI.
If you ever have issues with your install, run validate.php as root in
the librenms directory:
```
```bash
cd /opt/librenms
./validate.php
```

View File

@ -4,14 +4,17 @@ path: blob/master/doc/
# Installing LibreNMS
## Docker
An official LibreNMS docker image based on Alpine Linux and Nginx is available on [DockerHub](https://hub.docker.com/r/librenms/librenms/) and [Quay](https://quay.io/repository/librenms/librenms). Documentation can be found on the [Github repository](https://github.com/librenms/docker).
## Images
We have some pre-built VirtualBox images you can use to get started:
- [Virtual Machines](http://docs.librenms.org/Installation/Images/)
## Manually
If you want to install manually then we have some documentation which should make it easy.
**Please note the minimum supported PHP version is 7.1.3**
@ -22,6 +25,7 @@ If you want to install manually then we have some documentation which should mak
- [RHEL / CentOS 7 Nginx](http://docs.librenms.org/Installation/Installation-CentOS-7-Nginx/)
### Old Install Docs
These install docs are no longer updated and may result in an unsuccessful install.
- [Ubuntu 16.04 Apache](http://docs.librenms.org/Installation/Installation-Ubuntu-1604-Apache/)

View File

@ -459,12 +459,12 @@ Default SNMP options including retry and timeout settings and also
default version and port.
```php
$config['snmp']['timeout'] = 1; # timeout in seconds
$config['snmp']['retries'] = 5; # how many times to retry the query
$config['snmp']['transports'] = array('udp', 'udp6', 'tcp', 'tcp6'); # Transports to use
$config['snmp']['version'] = ['v2c', 'v3', 'v1']; # Default versions to use
$config['snmp']['port'] = 161; # Default port
$config['snmp']['exec_timeout'] = 1200; # execution time limit in seconds
$config['snmp']['timeout'] = 1; # timeout in seconds
$config['snmp']['retries'] = 5; # how many times to retry the query
$config['snmp']['transports'] = array('udp', 'udp6', 'tcp', 'tcp6'); # Transports to use
$config['snmp']['version'] = ['v2c', 'v3', 'v1']; # Default versions to use
$config['snmp']['port'] = 161; # Default port
$config['snmp']['exec_timeout'] = 1200; # execution time limit in seconds
```
>NOTE: `timeout` is the time to wait for an answer and `exec_timeout`
@ -725,26 +725,25 @@ $config['sensors']['guess_limits'] = false;
It is possible to filter some sensors from the configuration:
- Ignore all temperature sensors
* Ignore all temperature sensors
```php
$config['disabled_sensors']['current'] = true;
```
- Filter all sensors matching regexp ``` '/PEM Iout/' ```.
* Filter all sensors matching regexp ```'/PEM Iout/'```.
```php
$config['disabled_sensors_regex'][] = '/PEM Iout/';
```
- Filter all 'current' sensors for Operating System 'vrp'.
* Filter all 'current' sensors for Operating System 'vrp'.
```php
$config['os']['vrp']['disabled_sensors']['current'] = true;
```
- Filter all sensors matching regexp ``` '/PEM Iout/' ``` for
Operating System iosxe.
* Filter all sensors matching regexp ```'/PEM Iout/'``` for Operating System iosxe.
```php
$config['os']['iosxe']['disabled_sensors_regex'][] = '/PEM Iout/';

View File

@ -1,5 +1,6 @@
source: Support/Device-Notes.md
path: blob/master/doc/
# Additional device notes
In this section you will find notes and information on devices that may require special attention.

View File

@ -3,7 +3,7 @@ path: blob/master/doc/
# Example hardware setups
The information in this document is direct from users, it's a place for people to share their
The information in this document is direct from users, it's a place for people to share their
setups so you have an idea of what may be required for your install.
To obtain the device, port and sensor counts you can run:

View File

@ -354,7 +354,7 @@ Or
Restart snmpd and LibreNMS should populate the additional disk after a fresh discovery.
#### <a name="faq27"> Why are my disks reporting an incorrect size?</a>
### <a name="faq27"> Why are my disks reporting an incorrect size?</a>
There is a known issue for net-snmp, which causes it to report
incorrect disk size and disk usage when the size of the disk (or raid)
@ -493,12 +493,12 @@ whilst you are still in it, do the following:
git pull f0o issue-1337
```
## <a name="faq29"> Why can't Normal and Global View users see Oxidized?</a>
## <a name="faq29"> Why can't Normal and Global View users see Oxidized?</a>
Configs can often contain sensitive data. Because of that only global
admins can see configs.
## <a name="faq30"> What is the Demo User for?</a>
## <a name="faq30"> What is the Demo User for?</a>
Demo users allow full access except adding/editing users and deleting
devices and can't change passwords.
@ -512,7 +512,7 @@ this from the LibreNMS directory:
php artisan db:seed --class=DefaultAlertTemplateSeeder
```
## <a name="faq32"> Why would alert un-mute itself?</a>
## <a name="faq32"> Why would alert un-mute itself?</a>
If alert un-mutes itself then it most likely means that the alert
cleared and is then triggered again. Please review eventlog as it will
@ -580,13 +580,14 @@ this new syntax (including the titles).
## <a name='how-do-i-use-trend-prediction-in-graphs'>How do I use trend prediction in graphs</a>
As of [Ver. 1.55](https://community.librenms.org/t/v1-55-release-changelog-august-2019/9428) a new feature has been added where you can view a simple linear prediction in port graphs.
As of [Ver. 1.55](https://community.librenms.org/t/v1-55-release-changelog-august-2019/9428) a new feature has been added where you can view a simple linear prediction in port graphs.
> It doesn't work on non-port graphs or consolidated graphs at the time this FAQ entry was written.
To view a prediction:
- Click on any `port` graph of any network device
- Select a `From` date to your liking (not earlier than the device was actually added to LNMS), and then select a future date in the `To` field.
- Select a `From` date to your liking (not earlier than the device was actually added to LNMS), and then select a future date in the `To` field.
- Click update
You should now see a linear prediction line on the graph.

View File

@ -9,7 +9,7 @@ manually running to process data.
## Command options
```bash
LibreNMS 2014.master Poller
LibreNMS 2014.master Poller
-h <device id> | <device hostname wildcard> Poll single device
-h odd Poll odd numbered devices (same as -i 2 -n 0)

View File

@ -71,7 +71,7 @@ snmp-server host <INTERFACE> <LIBRENMS-IP> poll version 3 <USER-NAME>
```
# SNMPv2c
snmp-server community <YOUR-COMMUNITY> RO
snmp-server contact <YOUR-CONTACT>
snmp-server location <YOUR-LOCATION>
@ -85,7 +85,7 @@ snmp-server location <YOUR-LOCATION>
# Note: The following is also required if using SNMPv3 and you want to populate the FDB table.
snmp-server group <GROUP-NAME> v3 priv context vlan- match prefix
snmp-server group <GROUP-NAME> v3 priv context vlan- match prefix
```
>Note: If the device is unable to find the SNMP user, reboot the ASA. Once rebooted, continue the steps as normal.

View File

@ -117,7 +117,9 @@ Your VirtualHost for 443 will need to look something like this for LibreNMS
```
### Step 2
Then restart Apache `sudo systemctl restart httpd`
### Step 3
Follow the rest of the How To, especially if you have the server's firewall enabled.

View File

@ -2,7 +2,7 @@
Copy the skel.snmprec file to the desired filename this must start with the os name. This skel.snmprec file contains empty sysDescr and sysObjectID entries.
## File format
Data file format is optimized to be compact, human-readable and inexpensive to parse. It's also important to store full and exact response information in a most intact
Data file format is optimized to be compact, human-readable and inexpensive to parse. It's also important to store full and exact response information in a most intact
form. Here's an example data file content:
1.3.6.1.2.1.1.1.0|4|Linux 2.6.25.5-smp SMP Tue Jun 19 14:58:11 CDT 2007 i686