Surveil API¶
The Surveil API provides Surveil’s REST API.
package name (RPM) | surveil |
services | surveil-api.service |
Default port | 5311 |
configuration (API) | /etc/surveil/surveil.cfg |
configuration (permissions) | /etc/surveil/policy.json |
configuration (API - pipeline) | /etc/surveil/api_paste.ini |
The Surveil API needs access to InfluxDB, Alignak and MongoDB. If Keystone authentication is enabled, it needs access to Keystone (see api_paste.ini).
Configuration samples¶
/etc/surveil/surveil.cfg¶
[surveil]
# mongodb_uri is used to connect to MongoDB. Uses the MongoDB Connection
# String URI Format
mongodb_uri= mongodb://mongo:27017
# ws_arbiter_url is the endpoing of the ws-arbiter module of Alignak it is
# used to send commands to Alignak
ws_arbiter_url= http://alignak:7760
# influxdb_uri is used to connect to InfluxDB. Uses the python-influxdb
# connection string format
influxdb_uri= influxdb://root:root@influxdb:8086/db
/etc/surveil/policy.json¶
For documentation on this configuration file, refer to the OpenStack documentation.
{
"admin_required": "role:admin or is_admin:1",
"surveil_required": "role:surveil or rule:admin_required",
"surveil:admin": "rule:admin_required",
"surveil:authenticated": "rule:surveil_required",
"surveil:break": "!",
"surveil:pass": "@"
}
/etc/surveil/api_paste.ini¶
# Surveil API WSGI Pipeline
# Define the filters that make up the pipeline for processing WSGI requests
# Replace `surveil-auth` by `authtoken` to enable Keystone authentication.
[pipeline:main]
pipeline = surveil-auth api-server
[app:api-server]
paste.app_factory = surveil.api.app:app_factory
[filter:surveil-auth]
paste.filter_factory = surveil.api.authmiddleware.auth:filter_factory
[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
# Keystone auth settings
auth_host=198.72.123.131
auth_protocol=http
admin_user=admin
admin_password=password
admin_tenant_name=admin