librenms有提供api的方式可以去取得設備的資訊出來給別的系統使用
首先必須要先取得一個api的token,操作步驟如下圖
當你create api access token後就可以拿到一個token hash這時候就可以來打api了
librenms的api是透過http get的方式去取得你要的資料,但是送過去的get需要有header
X-Auth-Token
curl -H 'X-Auth-Token: YOURAPITOKENHERE' https://librenms.org/api/v0
你可以透過postman等軟體來測試
{
"ack_alert": "http://192.168.2.248/api/v0/alerts/{id}",
"add_components": "http://192.168.2.248/api/v0/devices/{hostname}/components/{type}",
"add_device": "http://192.168.2.248/api/v0/devices",
"add_device_group": "http://192.168.2.248/api/v0/devicegroups",
"add_location": "http://192.168.2.248/api/v0/locations",
"add_parents_to_host": "http://192.168.2.248/api/v0/devices/{id}/parents",
"add_port_group": "http://192.168.2.248/api/v0/port_groups",
"add_rule": "http://192.168.2.248/api/v0/rules",
下面還有很多....
}
路線:/api/v0/devices/:hostname/graphs
上面是官網的敘述 這邊的設備主機名其實就是你那台設備的ip
id的話你在librenms點到該設備的頁面時,你會看到妳的網址會像是http://192.168.1.248/device/4
這樣的話,你這台設備的id就會是4
路線:/api/v0/devices/:hostname/graphs
主機名可以是設備主機名或 id
http://192.168.2.248/api/v0/devices/7
路線:/api/v0/devices/:
hostname
/ports
路線:/api/v0/devices/:hostname/ports
/:ifname
hostname
主機名可以是設備主機名或 idhttp://192.168.2.248/api/v0/devices/7/ports/GigabitEthernet16/
路線:/api/v0/devices/:
hostname
/ports/:ifname/:type
hostname
主機名可以是設備主機名或 idtype
是您想要圖表的端口類型這邊TYPE的圖表類型,官網應該是會教你透過API方式去取得該設備有哪些圖表可以用,但是其實還有另一個方式可以快速知道你要的那張圖表叫啥,你在你的系統直接點你要出現的圖表
之後你看你的網址部分會像是http://192.168.1.248/graphs/to=1666765200/id=179/type=port_bits/from=1666678800/
這時候上面藍色部分就是你要的圖表名稱了,你的API的範例網址就會像是下面這樣
http://192.168.2.248/api/v0/devices/7/ports/GigabitEthernet16/port_bits