Monitoring and alerts #
Monitoring and alerting are managed per environment through the org-environment controller.
Base HTTP route:
/organizations/:organizationId/projects/:projectId/environments/:environmentIdMonitoring #
Environments are connected to Grafana. Access to an environment's Grafana team is derived from organization membership.
Get the monitoring URL #
Returns the platform Grafana URL.
const url = await kuzzle.query({
controller: 'org-environment',
action: 'getMonitoringUrl',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
GET /organizations/:organizationId/projects/:projectId/environments/:environmentId/monitoring/_urlList monitoring members #
Lists the Grafana team members of an environment.
const members = await kuzzle.query({
controller: 'org-environment',
action: 'listMonitoringMembers',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
GET /organizations/:organizationId/projects/:projectId/environments/:environmentId/monitoring/_membersSynchronize monitoring access #
Synchronizes the environment's Grafana team with the current organization membership.
await kuzzle.query({
controller: 'org-environment',
action: 'syncMonitoringAccess',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments/:environmentId/monitoring/_access/_syncAlerts #
An environment can post alerts to one or more Slack incoming webhooks. Configuring alerts requires an owner or admin role.
Get the alert configuration #
Returns the Slack webhooks configured for the environment (empty when none is set).
const alerts = await kuzzle.query({
controller: 'org-environment',
action: 'getAlertConfig',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
GET /organizations/:organizationId/projects/:projectId/environments/:environmentId/alertsAdd a Slack webhook #
Adds a Slack webhook, keeping any previously configured webhooks.
await kuzzle.query({
controller: 'org-environment',
action: 'createAlertConfig',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production',
body: {
slackWebhook: 'https://hooks.slack.com/services/...'
}
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments/:environmentId/alertsRemove a Slack webhook #
Removes the single webhook given in the body, or every configured webhook when the body is omitted.
await kuzzle.query({
controller: 'org-environment',
action: 'deleteAlertConfig',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production',
body: {
slackWebhook: 'https://hooks.slack.com/services/...'
}
});HTTP route:
DELETE /organizations/:organizationId/projects/:projectId/environments/:environmentId/alertsSend a test alert #
Posts a test message to the environment's configured channel(s).
await kuzzle.query({
controller: 'org-environment',
action: 'sendTestAlert',
organizationId: 'paas-org-my-company',
projectId: 'my-project',
environmentId: 'production'
});HTTP route:
POST /organizations/:organizationId/projects/:projectId/environments/:environmentId/alerts/_test