mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
* inital commit of a new syslog sink over http * cosmetics * cosmetics fix... * cosmetic fix again * cosmetics fix again * its nice now... * add non blocking option * Syslog Sink integrated as API PUT method * lint fix * Update includes/html/api_functions.inc.php Co-authored-by: Tony Murray <murraytony@gmail.com> * Update includes/html/api_functions.inc.php Co-authored-by: Tony Murray <murraytony@gmail.com> * Update includes/html/api_functions.inc.php Co-authored-by: Tony Murray <murraytony@gmail.com> * change to POST, fix decoding issue and json exception * logstash/json documentation added. syslog documentation a bit re-structured * lint fix --------- Co-authored-by: Tony Murray <murraytony@gmail.com>
2.9 KiB
2.9 KiB
All the list_*logs
calls are aliased to list_logs
.
Retrieve all logs or logs for a specific device.
- id or hostname is the specific device
Input:
- start: The page number to request.
- limit: The limit of results to be returned.
- from: The date and time or the event id to search from.
- to: The data and time or the event id to search to.
list_eventlog
Route: /api/v0/logs/eventlog/:hostname
list_syslog
Route: /api/v0/logs/syslog/:hostname
list_alertlog
Route: /api/v0/logs/alertlog/:hostname
list_authlog
Route: /api/v0/logs/authlog/:hostname
Example:
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/logs/eventlog/:hostname
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/logs/syslog/:hostname?limit=20
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/logs/eventlog/:hostname?limit=20&start=5&from=2017-07-22%2023:00:00
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/logs/eventlog/:hostname?sortorder=DESC
Output:
{
"status": "ok",
"message": "",
"count": 5,
"total": "15",
"logs": [
{
"hostname": "localhost",
"sysName": "web01.1.novalocal",
"event_id": "10050349",
"host": "279",
"device_id": "279",
"datetime": "2017-07-22 19:57:47",
"message": "ifAlias: -> <pptp-something-something-tunnel-something>",
"type": "interface",
"reference": "NULL",
"username": "",
"severity": "3"
},
....
{
"hostname": "localhost",
"sysName": "web01.1.novalocal",
"event_id": "10050353",
"host": "279",
"device_id": "279",
"datetime": "2017-07-22 19:57:47",
"message": "ifHighSpeed: -> 0",
"type": "interface",
"reference": "NULL",
"username": "",
"severity": "3"
}
]
}
syslogsink
Route: /api/v0/logs/syslogsink
Accept any json messages and passes to further syslog processing. single messages or an array of multiple messages is accepted. see Syslog for more details and logstash integration
Example
curl -L -X POST 'https://sink.librenms.org/api/v0/syslogsink/' -H 'X-Auth-Token: xxxxxxxLibreNMSApiToken' --data-raw '[
{
"msg": "kernel: minimum Message",
"host": "mydevice.fqdn.com"
},
{
"msg": "Line protocol on Interface GigabitEthernet1/0/41, changed state to up",
"facility": 23,
"priority": "189",
"program": "LINEPROTO-5-UPDOWN",
"host": "172.29.10.24",
"@timestamp": "2022-12-01T20:14:28.257Z",
"severity": 5,
"level": "ERROR"
},
{
"msg": "kernel: a unknown host",
"host": "unknown.fqdn.com"
}
]'