API

本节会介绍Nightingale对外提供的API,您可以利用这些API做二次开发,与内部系统相集成。页面上面的所有操作,都有API提供

夜莺涉及的API有两类,一类是页面上对应了相关逻辑的,比如用户相关的、策略相关的、资产相关的,另一类是页面上没有相关逻辑的,比如数据推送的API、资产注册的API。

页面有相关逻辑的

页面如果有相关逻辑的,那就打开chrome的开发者工具,Network菜单,勾选Preserve log,开始操作页面,即可看到往后台发起的请求,请求的url路径、参数、返回值,一目了然,参照这些信息自己写程序调用相关接口即可。

当然了,页面上的操作,认证是通过cookie来的,自己写程序调用这些api,如何认证呢?打开 用户资源中心 > 人员信息 > 我的信息 > 密钥管理 即可看到个人密钥,没有的话点击创建按钮,会自动生成。自己写程序就可以拿着这个token来做认证,把token放到header里即可,比如:

  1. curl -H "X-User-Token: 169b90a1e758b354a9b9bede03d5ec30" http://${server.addr}/api/rdb/self/profile

上面的例子是调用rdb的接口,因为夜莺系统前面一般会部署nginx,所以 ${server.addr} 可以是nginx的地址,也可以直接就是rdb模块的ip:port,如果部署了多个rdb,直接请求nginx的话,nginx会自动做负载均衡以及故障摘除,如果直接请求rdb的ip:port,就要注意负载均衡和故障摘除的逻辑了。

另外,上面的token是谁的,就相当于以谁的身份来操作,如果这个人权限不足,有些接口可能会调用失败,返回没有权限的错误提示。简单起见,可以直接使用root账号的token,或者创建个虚拟账号,设置为超管,也就具备了所有操作的权限。

页面没有相关逻辑的

查看下面各个子章节。


本节讲解监控数据相关API

如果贵司有自己的短信、电话通知接口,可以接入夜莺,只要在rdb里做简单配置即可

最后修改 2021-02-06: v2 (bb04a83)