mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Additional parameters for list_alerts and list_devices API calls (#9040)
- Add filtering by severity in list_alerts. - Added ability to filter only active devices (not ignored and not disabled) in list_devices. DO NOT DELETE THIS TEXT #### Please note > Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting. - [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/) #### Testers If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
This commit is contained in:
@@ -99,11 +99,19 @@ Route: `/api/v0/alerts`
|
|||||||
Input:
|
Input:
|
||||||
|
|
||||||
- state: Filter the alerts by state, 0 = ok, 1 = alert, 2 = ack
|
- state: Filter the alerts by state, 0 = ok, 1 = alert, 2 = ack
|
||||||
|
- severity: Filter the alerts by severity. Valid values are `ok`, `warning`, `critical`.
|
||||||
|
- order: How to order the output, default is by timestamp (descending). Can be appended by DESC or ASC to change the order.
|
||||||
|
|
||||||
Example:
|
Examples:
|
||||||
```curl
|
```curl
|
||||||
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/alerts?state=1
|
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/alerts?state=1
|
||||||
```
|
```
|
||||||
|
```curl
|
||||||
|
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/alerts?severity=critical
|
||||||
|
```
|
||||||
|
```curl
|
||||||
|
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0/alerts?order=timestamp%20ASC
|
||||||
|
```
|
||||||
|
|
||||||
Output:
|
Output:
|
||||||
```json
|
```json
|
||||||
|
|||||||
@@ -768,6 +768,7 @@ Input:
|
|||||||
- order: How to order the output, default is by hostname. Can be prepended by DESC or ASC to change the order.
|
- order: How to order the output, default is by hostname. Can be prepended by DESC or ASC to change the order.
|
||||||
- type: can be one of the following to filter or search by:
|
- type: can be one of the following to filter or search by:
|
||||||
- all: All devices
|
- all: All devices
|
||||||
|
- active: Only not ignored and not disabled devices
|
||||||
- ignored: Only ignored devices
|
- ignored: Only ignored devices
|
||||||
- up: Only devices that are up
|
- up: Only devices that are up
|
||||||
- down: Only devices that are down
|
- down: Only devices that are down
|
||||||
|
|||||||
@@ -318,6 +318,8 @@ function list_devices()
|
|||||||
|
|
||||||
if ($type == 'all' || empty($type)) {
|
if ($type == 'all' || empty($type)) {
|
||||||
$sql = '1';
|
$sql = '1';
|
||||||
|
} elseif ($type == 'active') {
|
||||||
|
$sql = "`d`.`ignore`='0' AND `d`.`disabled`='0'";
|
||||||
} elseif ($type == 'location') {
|
} elseif ($type == 'location') {
|
||||||
$sql = "`d`.`location` LIKE '%".$query."%'";
|
$sql = "`d`.`location` LIKE '%".$query."%'";
|
||||||
} elseif ($type == 'ignored') {
|
} elseif ($type == 'ignored') {
|
||||||
@@ -1043,6 +1045,17 @@ function list_alerts()
|
|||||||
$sql .= 'AND `A`.id=?';
|
$sql .= 'AND `A`.id=?';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$severity = $_GET['severity'];
|
||||||
|
if (isset($severity)) {
|
||||||
|
if (in_array($severity, ['ok', 'warning', 'critical'])) {
|
||||||
|
$param[] = $severity;
|
||||||
|
$sql .= ' AND `R`.severity=?';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$order = $_GET['order'] ?: "timestamp desc";
|
||||||
|
$sql .= ' ORDER BY A.'.$order;
|
||||||
|
|
||||||
$alerts = dbFetchRows($sql, $param);
|
$alerts = dbFetchRows($sql, $param);
|
||||||
api_success($alerts, 'alerts');
|
api_success($alerts, 'alerts');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user