From 12c91192ec822ecde91a0e6cdd7761bdbfec27a9 Mon Sep 17 00:00:00 2001 From: Filip Petkovski Date: Tue, 26 Jan 2021 12:03:43 +0100 Subject: [PATCH] Release 1.5.1 --- CHANGELOG.md | 6 +- deploy/3-operator.yaml | 2 +- docs/README.md | 1566 ++++++++++++++++++++-------------------- 3 files changed, 789 insertions(+), 785 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf7b08e..2a87d59 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [1.5.1] - 2021-01-26 +- Fix a bug with updating alert policies when policies span multiple pages + ## [1.5.0] - 2020-11-11 - Add support for text-based widgets using visualization: markdown @@ -17,7 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Add signal and expiration properties to NRQL alert conditions ## [1.2.1] - 2020-08-05 -- Fix a bug with updating notification channels when more than channels records exist in New Relic +- Fix a bug with updating notification channels when more than channel records exist in New Relic ## [1.2.0] - 2020-08-05 - Add support notes field in dashboard widgets diff --git a/deploy/3-operator.yaml b/deploy/3-operator.yaml index 42838bf..b29ddcf 100644 --- a/deploy/3-operator.yaml +++ b/deploy/3-operator.yaml @@ -16,7 +16,7 @@ spec: serviceAccountName: newrelic-alert-manager containers: - name: newrelic-alert-manager - image: personio/newrelic-alert-manager:1.5.0 + image: personio/newrelic-alert-manager:1.5.1 command: - newrelic-alert-manager imagePullPolicy: Always diff --git a/docs/README.md b/docs/README.md index de6a167..674d857 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,30 +1,29 @@

Packages:

-

alerts.newrelic.io/v1alpha1

+

dashboards.newrelic.io/v1alpha1

-

Package v1alpha1 contains API Schema definitions for the io v1alpha1 API group

+

Package v1alpha1 contains API Schema definitions for the dashboards v1alpha1 API group

Resource Types: -

AbstractNotificationChannel +

Apm

(Appears on: -EmailNotificationChannel, -OpsgenieNotificationChannel, -SlackNotificationChannel) +Data)

+

Apm is the set of metric parameters used for defining the data to plot in the widget

@@ -36,124 +35,125 @@ Resource Types: - -
-status
+sinceSeconds
- -NotificationChannelStatus - +int
+

The time frame in seconds

-

AlertPolicy -

-

-

AlertPolicy is the Schema for the newrelicalertpolicies API

-

- - - - - - - - +
FieldDescription
-metadata
+entities
- -Kubernetes meta/v1.ObjectMeta - +[]string
-Refer to the Kubernetes API documentation for the fields of the -metadata field. +

A list of application names for which to get the metric

-spec
+metrics
- -AlertPolicySpec + +[]Metric
-
-
- +

A list of metrics to use

+ + + +
-name
+facet
string
-

The name of the alert policy that will be created in New Relic

+optional
-incident_preference
+order_by
string
-

The incident preference defines when incident should be created.
-Can be one of:
-- per_policy
-- per_condition
-- per_condition_and_target

+optional
+

Dashboard +

+

+

DashboardBody is the Schema for the dashboards API

+

+ + + + + + + +
FieldDescription
-apmConditions
+metadata
- -[]ApmCondition + +Kubernetes meta/v1.ObjectMeta
-optional -

A list of APM alert conditions to attach to the policy

+Refer to the Kubernetes API documentation for the fields of the +metadata field.
-nrqlConditions
+spec
- -[]NrqlCondition + +DashboardSpec
-optional -

A list of NRQL alert conditions to attach to the policy

+
+
+ + + +
+title
+ +string + +
+

The name of the dashboard that will be created in New Relic

-infraConditions
+widgets
- -[]InfraCondition + +[]Widget
-optional -

A list of Infrastructure alert conditions to attach to the policy

+

A list of widgets to add to the dashboard

@@ -173,15 +173,14 @@ Status
-

AlertPolicySpec +

DashboardSpec

(Appears on: -AlertPolicy) +Dashboard)

-

AlertPolicySpec defines the desired state of AlertPolicy. -Detailed parameter description can be found on the official New Relic documentation

+

DashboardSpec defines the desired state of DashboardBody

@@ -193,81 +192,101 @@ Detailed parameter description can be found on the official +[]Widget + + +
-

The incident preference defines when incident should be created.
-Can be one of:
-- per_policy
-- per_condition
-- per_condition_and_target

+

A list of widgets to add to the dashboard

+

Data +

+

+(Appears on: +Widget) +

+

+

Data represents the data to plot inside the widget.
+Exactly one of Source, Nrql or ApmMetric should be specified.
+
+Leave all fields empty if you want to plot the application breakdown data,
+also present in the main widget that comes with the default application dashboard.
+For more information refer to the official New Relic documentation

+

+ + + + + + + +
FieldDescription
-apmConditions
+source
- -[]ApmCondition - +string
optional -

A list of APM alert conditions to attach to the policy

+

The text shown on the widget. Use in conjunction with visualization: markdown

-nrqlConditions
+nrql
- -[]NrqlCondition - +string
optional -

A list of NRQL alert conditions to attach to the policy

+

The NRQL query used which defines the data to plot in the widget

-infraConditions
+apm
- -[]InfraCondition + +Apm
optional -

A list of Infrastructure alert conditions to attach to the policy

+

The APM metric parameters which defines the data to plot in the widget.
+When using an APM metric for the data, visualization should be set to either metric_line_chart or application_breakdown.

-

ApmCondition +

Metric

(Appears on: -AlertPolicySpec) +Apm)

+

Metric is the name of the metric as shown in Data Explorer

@@ -285,147 +304,138 @@ string + +
-

The name of the alert condition that will be created in New Relic

+

Name of the metric

-type
+values
-string +[]string
-

The type of the metric to monitor. Should be one of:
-- apm_app_metric
-- apm_kt_metric
-- apm_jvm_metric
-- browser_metric
-- mobile_metric
-Please refer to the Alerts conditions section in the New Relic documentation for more details

+

List of metric values to plot. The available values will depend on the metric you choose.
+Check the Data Explorer in New Relic to find out which values are available for which metrics.

+

Widget +

+

+(Appears on: +DashboardSpec) +

+

+

Widget defines the widget parameters
+For more details, refer to the official New Relic documentation

+

+ + - - + + + + - - - - - - - - - - - -
-enabled
- -bool - -
-optional -

default: true

-
FieldDescription
-conditionScope
+title
string
-optional +

The title of the widget created in New Relic

-entities
+visualization
-[]string +string
-

A list of application names from APM to monitor

-
-violationCloseTimer
- -int - -
-optional -
-runbookUrl
- -string - -
-optional +

Visualization type to use for the widget.
+Available options are:
+- application_breakdown
+- attribute_sheet
+- background_breakdown
+- billboard
+- billboard_comparison
+- comparison_line_chart
+- event_table
+- facet_bar_chart
+- facet_pie_chart
+- facet_table
+- faceted_area_chart
+- faceted_line_chart
+- funnel
+- gauge
+- heatmap
+- histogram
+- json
+- line_chart
+- markdown
+- list
+- metric_line_chart (used for apm metrics)

-metric
+notes
string
-

The APM metric to monitor. Different metrics can be applied depending on the condition type.
-An example of a valid (type, metric) combination is (apm_app_metric, apdex).
-Please refer to the Alerts conditions section in the New Relic documentation for more details

-
-alertThreshold
- - -Threshold - - -
-

Once the alertThreshold is breached, a critical incident will be generated

+

Notes to add to the widget

-warningThreshold
+data
- -Threshold + +Data
-optional -

Once the warningThreshold is breached, a warning will be generated

+

The data to plot on the widget

-userDefined
+layout
- -UserDefined - +github.com/personio/newrelic-alert-manager/pkg/dashboards/domain/widget.Layout
-optional -

Used for tracking a user defined custom metric
-For more information, please refer to the New Relic documentation

+

Defines the layout of the widget within the dashboard

-

ChannelFactory -

+
+

alerts.newrelic.io/v1alpha1

+

Package v1alpha1 contains API Schema definitions for the io v1alpha1 API group

-

EmailNotificationChannel +Resource Types: +
    +

    AbstractNotificationChannel

    -

    EmailNotificationChannel is the Schema for the EmailNotificationChannels API

    +(Appears on: +EmailNotificationChannel, +OpsgenieNotificationChannel, +SlackNotificationChannel) +

    +

    @@ -437,19 +447,31 @@ For more information, please refer to the -AbstractNotificationChannel + +NotificationChannelStatus + + +
    +
    +

    AlertPolicy +

    -(Members of AbstractNotificationChannel are embedded into this type.) +

    AlertPolicy is the Schema for the newrelicalertpolicies API

    -
    + + + + + + @@ -485,57 +507,92 @@ string + + + +
    FieldDescription
    metadata
    @@ -468,8 +490,8 @@ Refer to the Kubernetes API documentation for the fields of the
    spec
    - -EmailNotificationChannelSpec + +AlertPolicySpec
    -

    The name of the notification channel created in New Relic

    +

    The name of the alert policy that will be created in New Relic

    -recipients
    +incident_preference
    string
    -

    A comma-separated value of emails

    +

    The incident preference defines when incident should be created.
    +Can be one of:
    +- per_policy
    +- per_condition
    +- per_condition_and_target

    -includeJsonAttachment
    +apmConditions
    -bool + +[]ApmCondition +
    optional -

    default: false

    -

    Include JSON attachment with the notification

    +

    A list of APM alert conditions to attach to the policy

    -policySelector
    +nrqlConditions
    -k8s.io/apimachinery/pkg/labels.Set + +[]NrqlCondition +
    -

    A label selector defining the alert policies covered by the notification channel

    +optional +

    A list of NRQL alert conditions to attach to the policy

    +
    +infraConditions
    + + +[]InfraCondition + + +
    +optional +

    A list of Infrastructure alert conditions to attach to the policy

    + + +status
    + + +Status + + + + + + -

    EmailNotificationChannelSpec +

    AlertPolicySpec

    (Appears on: -EmailNotificationChannel) +AlertPolicy)

    -

    EmailNotificationChannelSpec defines the desired state of EmailNotificationChannel

    +

    AlertPolicySpec defines the desired state of AlertPolicy. +Detailed parameter description can be found on the official New Relic documentation

    @@ -553,51 +610,73 @@ string + + + +
    -

    The name of the notification channel created in New Relic

    +

    The name of the alert policy that will be created in New Relic

    -recipients
    +incident_preference
    string
    -

    A comma-separated value of emails

    +

    The incident preference defines when incident should be created.
    +Can be one of:
    +- per_policy
    +- per_condition
    +- per_condition_and_target

    -includeJsonAttachment
    +apmConditions
    -bool + +[]ApmCondition +
    optional -

    default: false

    -

    Include JSON attachment with the notification

    +

    A list of APM alert conditions to attach to the policy

    -policySelector
    +nrqlConditions
    -k8s.io/apimachinery/pkg/labels.Set + +[]NrqlCondition +
    -

    A label selector defining the alert policies covered by the notification channel

    +optional +

    A list of NRQL alert conditions to attach to the policy

    +
    +infraConditions
    + + +[]InfraCondition + + +
    +optional +

    A list of Infrastructure alert conditions to attach to the policy

    -

    Expiration +

    ApmCondition

    (Appears on: -NrqlCondition) +AlertPolicySpec)

    @@ -611,92 +690,107 @@ k8s.io/apimachinery/pkg/labels.Set -expirationDurationSeconds
    +name
    -int +string -optional -

    How long to wait, in seconds, after the last data point is received by our platform before considering the signal as lost. -For more information, please refer to the official New Relic documentation

    +

    The name of the alert condition that will be created in New Relic

    -openViolationOnExpiration
    +type
    + +string + + + +

    The type of the metric to monitor. Should be one of:
    +- apm_app_metric
    +- apm_kt_metric
    +- apm_jvm_metric
    +- browser_metric
    +- mobile_metric
    +Please refer to the Alerts conditions section in the New Relic documentation for more details

    + + + + +enabled
    bool optional -

    When true, this closes all currently open violations when no signal is heard within the expiration_duration time. -For more information, please refer to the official New Relic documentation

    +

    default: true

    -closeViolationsOnExpiration
    +conditionScope
    -bool +string optional -

    When true, this opens a loss of signal violation when no signal within the expiration_duration time. -For more information, please refer to the official New Relic documentation

    - - -

    InfraCondition -

    -

    -(Appears on: -AlertPolicySpec) -

    -

    -

    - - - - + + + + + + - - @@ -708,8 +802,8 @@ InfraThreshold @@ -720,97 +814,139 @@ InfraThreshold + +
    FieldDescription +entities
    + +[]string + +
    +

    A list of application names from APM to monitor

    +
    +violationCloseTimer
    + +int + +
    +optional +
    -name
    +runbookUrl
    string
    -

    The name of the infra condition that will be created in New Relic

    +optional
    -comparison
    +metric
    string
    -

    Available options are:
    -- above
    -- below
    -- equal

    +

    The APM metric to monitor. Different metrics can be applied depending on the condition type.
    +An example of a valid (type, metric) combination is (apm_app_metric, apdex).
    +Please refer to the Alerts conditions section in the New Relic documentation for more details

    alertThreshold
    - -InfraThreshold + +Threshold
    warningThreshold
    - -InfraThreshold + +Threshold
    -enabled
    +userDefined
    -bool + +UserDefined +
    optional -

    default: true

    +

    Used for tracking a user defined custom metric
    +For more information, please refer to the New Relic documentation

    +

    ChannelFactory +

    +

    +

    +

    EmailNotificationChannel +

    +

    +

    EmailNotificationChannel is the Schema for the EmailNotificationChannels API

    +

    + + + + + + + + +
    FieldDescription
    -eventType
    +AbstractNotificationChannel
    -string + +AbstractNotificationChannel +
    -optional -

    Leave this parameter empty when creating conditions based on data from an integration provider -For more information, please refer to the event_type field in the official New Relic documentation

    +

    +(Members of AbstractNotificationChannel are embedded into this type.) +

    -integrationProvider
    +metadata
    -string + +Kubernetes meta/v1.ObjectMeta +
    -

    When setting up alerts on integrations, specify the corresponding integration provider.
    -Examples can include SqsQueue, Kubernetes, RdsDbInstance etc.
    -For more information, please refer to the integration_provider field in the official New Relic documentation

    +Refer to the Kubernetes API documentation for the fields of the +metadata field.
    -runbookUrl
    +spec
    + + +EmailNotificationChannelSpec + + +
    +
    +
    + + + + +
    +name
    string
    -optional +

    The name of the notification channel created in New Relic

    -selectValue
    +recipients
    string
    -

    The attribute name from the Event sample or Integration provider which identifies the metric to be tracked. -Examples for Sqs include provider.approximateAgeOfOldestMessage.Average and provider.numberOfEmptyReceives.Average. -For more information, please refer to the select_value field in the official New Relic documentation

    +

    A comma-separated value of emails

    -violationCloseTimer
    +includeJsonAttachment
    -int +bool
    optional +

    default: false

    +

    Include JSON attachment with the notification

    -whereClause
    +policySelector
    -string +k8s.io/apimachinery/pkg/labels.Set
    -

    An expression used for filtering data from the IntegrationProvider

    +

    A label selector defining the alert policies covered by the notification channel

    +
    -

    InfraThreshold +

    EmailNotificationChannelSpec

    (Appears on: -InfraCondition) +EmailNotificationChannel)

    +

    EmailNotificationChannelSpec defines the desired state of EmailNotificationChannel

    @@ -822,53 +958,59 @@ string + + + +
    -timeFunction
    +name
    string
    -

    Defines when the threshold should be considered as breached.
    -Available options are:
    -- all - all data points are in violation within the given period
    -- any - at least one data point is in violation within the given period

    +

    The name of the notification channel created in New Relic

    -value
    +recipients
    -int +string
    +

    A comma-separated value of emails

    -durationMinutes
    +includeJsonAttachment
    -int +bool
    -

    For how long the violation should be active before an incident is triggered

    +optional +

    default: false

    +

    Include JSON attachment with the notification

    +
    +policySelector
    + +k8s.io/apimachinery/pkg/labels.Set + +
    +

    A label selector defining the alert policies covered by the notification channel

    -

    NotificationChannel -

    -

    -

    -

    NotificationChannelStatus +

    Expiration

    (Appears on: -AbstractNotificationChannel) +NrqlCondition)

    -

    NotificationChannelStatus defines the observed state of NotificationChannel

    @@ -880,32 +1022,46 @@ int + + + +
    -Status
    +expirationDurationSeconds
    - -Status - +int
    -

    -(Members of Status are embedded into this type.) -

    +optional +

    How long to wait, in seconds, after the last data point is received by our platform before considering the signal as lost. +For more information, please refer to the official New Relic documentation

    -newrelicConfigVersion
    +openViolationOnExpiration
    -string +bool + +
    +optional +

    When true, this closes all currently open violations when no signal is heard within the expiration_duration time. +For more information, please refer to the official New Relic documentation

    +
    +closeViolationsOnExpiration
    + +bool
    +optional +

    When true, this opens a loss of signal violation when no signal within the expiration_duration time. +For more information, please refer to the official New Relic documentation

    -

    NrqlCondition +

    InfraCondition

    (Appears on: @@ -929,64 +1085,29 @@ string -

    The name of the nrql policy that will be created in New Relic

    - - - - -enabled
    - -bool - - - -optional -

    default: true

    - - - - -query
    - -string - - - -

    The NRQL query associated with the condition

    - - - - -sinceMinutes
    - -int - - - -optional -

    Defines the SINCE clause in the NRQL query

    +

    The name of the infra condition that will be created in New Relic

    -valueFunction
    +comparison
    string

    Available options are:
    -- single_value
    -- sum
    -For more information, please refer to the official New Relic documentation

    +- above
    +- below
    +- equal

    alertThreshold
    - -Threshold + +InfraThreshold @@ -998,8 +1119,8 @@ Threshold warningThreshold
    - -Threshold + +InfraThreshold @@ -1010,184 +1131,198 @@ Threshold -runbookUrl
    +enabled
    -string +bool optional +

    default: true

    -signal
    +eventType
    - -Signal - +string optional -

    Used to specify signal properties for missing data

    +

    Leave this parameter empty when creating conditions based on data from an integration provider +For more information, please refer to the event_type field in the official New Relic documentation

    -expiration
    +integrationProvider
    - -Expiration - +string -optional -

    Used to define actions on signal expiration

    +

    When setting up alerts on integrations, specify the corresponding integration provider.
    +Examples can include SqsQueue, Kubernetes, RdsDbInstance etc.
    +For more information, please refer to the integration_provider field in the official New Relic documentation

    - - -

    OpsgenieNotificationChannel -

    -

    -

    NotificationChannel is the Schema for the OpsgenieNotificationChannels API

    -

    - - - - - - - -
    FieldDescription
    -AbstractNotificationChannel
    +runbookUrl
    - -AbstractNotificationChannel - +string
    -

    -(Members of AbstractNotificationChannel are embedded into this type.) -

    +optional
    -metadata
    +selectValue
    - -Kubernetes meta/v1.ObjectMeta - +string
    -Refer to the Kubernetes API documentation for the fields of the -metadata field. +

    The attribute name from the Event sample or Integration provider which identifies the metric to be tracked. +Examples for Sqs include provider.approximateAgeOfOldestMessage.Average and provider.numberOfEmptyReceives.Average. +For more information, please refer to the select_value field in the official New Relic documentation

    -spec
    +violationCloseTimer
    - -OpsgenieNotificationChannelSpec - +int
    -
    -
    - +optional + + + +
    -name
    +whereClause
    string
    -

    The name of the notification channel created in New Relic

    +

    An expression used for filtering data from the IntegrationProvider

    +

    InfraThreshold +

    +

    +(Appears on: +InfraCondition) +

    +

    +

    + + + + + + + + + +
    FieldDescription
    -api_key
    +timeFunction
    string
    -optional -

    The Opsgenie API Key. -If left empty, the default API key specified when deploying the operator will be used

    +

    Defines when the threshold should be considered as breached.
    +Available options are:
    +- all - all data points are in violation within the given period
    +- any - at least one data point is in violation within the given period

    -teams
    +value
    -[]string +int
    -optional -

    A list of teams

    -tags
    +durationMinutes
    -[]string +int
    -optional -

    A list of tags

    +

    For how long the violation should be active before an incident is triggered

    +

    NotificationChannel +

    +

    +

    +

    NotificationChannelStatus +

    +

    +(Appears on: +AbstractNotificationChannel) +

    +

    +

    NotificationChannelStatus defines the observed state of NotificationChannel

    +

    + + + + + + + + - -
    FieldDescription
    -recipients
    +Status
    -[]string + +Status +
    -optional -

    A comma-separated value of emails

    +

    +(Members of Status are embedded into this type.) +

    -policySelector
    +newrelicConfigVersion
    -k8s.io/apimachinery/pkg/labels.Set +string
    -

    A label selector defining the alert policies covered by the notification channel

    -
    -

    OpsgenieNotificationChannelSpec +

    NrqlCondition

    (Appears on: -OpsgenieNotificationChannel) +AlertPolicySpec)

    -

    OpsgenieNotificationChannelSpec defines the desired state of NotificationChannel

    @@ -1205,144 +1340,130 @@ string - -
    -

    The name of the notification channel created in New Relic

    +

    The name of the nrql policy that will be created in New Relic

    -api_key
    +enabled
    -string +bool
    optional -

    The Opsgenie API Key. -If left empty, the default API key specified when deploying the operator will be used

    +

    default: true

    -teams
    +query
    -[]string +string
    -optional -

    A list of teams

    +

    The NRQL query associated with the condition

    -tags
    +sinceMinutes
    -[]string +int
    optional -

    A list of tags

    +

    Defines the SINCE clause in the NRQL query

    -recipients
    +valueFunction
    -[]string +string
    -optional -

    A comma-separated value of emails

    +

    Available options are:
    +- single_value
    +- sum
    +For more information, please refer to the official New Relic documentation

    -policySelector
    +alertThreshold
    -k8s.io/apimachinery/pkg/labels.Set + +Threshold +
    -

    A label selector defining the alert policies covered by the notification channel

    +

    Once the alertThreshold is breached, a critical incident will be generated

    -

    Signal -

    -

    -(Appears on: -NrqlCondition) -

    -

    -

    - - - - - - - -
    FieldDescription
    -aggregationWindowSeconds
    +warningThreshold
    -int + +Threshold +
    optional -

    Please refer to the official New Relic documentation

    +

    Once the warningThreshold is breached, a warning will be generated

    -evaluationOffset
    +runbookUrl
    -int +string
    optional -

    The offset is how long we wait for late data before evaluating each aggregation window -For additional information, please refer to the official New Relic documentation

    -fillOption
    +signal
    -string + +Signal +
    optional -

    For sporadic data, you can avoid false alerts by filling the gaps (empty windows) with synthetic data. The default is None. -For additional information, please refer to the official New Relic documentation

    +

    Used to specify signal properties for missing data

    -fillValue
    +expiration
    -string + +Expiration +
    optional -

    This is the value used by the fill_option custom value. The default is 0. -For additional information, please refer to the official New Relic documentation

    +

    Used to define actions on signal expiration

    -

    SlackNotificationChannel +

    OpsgenieNotificationChannel

    -

    NotificationChannel is the Schema for the slacknotificationchannels API

    +

    NotificationChannel is the Schema for the OpsgenieNotificationChannels API

    @@ -1385,8 +1506,8 @@ Refer to the Kubernetes API documentation for the fields of the @@ -1407,94 +1528,51 @@ string - - - - - - - - - -
    spec
    - -SlackNotificationChannelSpec + +OpsgenieNotificationChannelSpec
    -url
    +api_key
    string
    optional -

    The Slack webhook URL. -If left empty, the default URL specified when deploying the operator will be used

    -
    -channel
    - -string - -
    -

    Name of the Slack channel. Should start with #

    -
    -policySelector
    - -k8s.io/apimachinery/pkg/labels.Set - -
    -

    A label selector defining the alert policies covered by the notification channel

    -
    +

    The Opsgenie API Key. +If left empty, the default API key specified when deploying the operator will be used

    - - -

    SlackNotificationChannelSpec -

    -

    -(Appears on: -SlackNotificationChannel) -

    -

    -

    SlackNotificationChannelSpec defines the desired state of NotificationChannel

    -

    - - - - - - - - @@ -1508,16 +1586,19 @@ k8s.io/apimachinery/pkg/labels.Set

    A label selector defining the alert policies covered by the notification channel

    +
    FieldDescription
    -name
    +teams
    -string +[]string
    -

    The name of the notification channel created in New Relic

    +optional +

    A list of teams

    -url
    +tags
    -string +[]string
    optional -

    The Slack webhook URL. -If left empty, the default URL specified when deploying the operator will be used

    +

    A list of tags

    -channel
    +recipients
    -string +[]string
    -

    Name of the Slack channel. Should start with #

    +optional +

    A comma-separated value of emails

    + + -

    Threshold +

    OpsgenieNotificationChannelSpec

    (Appears on: -ApmCondition, -NrqlCondition) +OpsgenieNotificationChannel)

    +

    OpsgenieNotificationChannelSpec defines the desired state of NotificationChannel

    @@ -1529,179 +1610,84 @@ k8s.io/apimachinery/pkg/labels.Set - - - - - - - - - - - -
    -timeFunction
    - -string - -
    -

    Defines when the threshold should be considered as breached.
    -Available options are:
    -* all - all data points are in violation within the given period
    -* any - at least one data point is in violation within the given period
    -For more information, please refer to the official New Relic documentation

    -
    -operator
    - -string - -
    -

    Available options are:
    -- above
    -- below
    -- equal

    -
    -value
    +name
    string
    +

    The name of the notification channel created in New Relic

    -durationMinutes
    - -int - -
    -

    For how long the violation should be active before an incident is triggered
    -For more information, please refer to the official New Relic documentation

    -
    -

    UserDefined -

    -

    -(Appears on: -ApmCondition) -

    -

    -

    - - - - - - - - - - - -
    FieldDescription
    -metric
    +api_key
    string
    -

    The name of the user defined custom metric

    +optional +

    The Opsgenie API Key. +If left empty, the default API key specified when deploying the operator will be used

    -value_function
    +teams
    -string +[]string
    -

    Available options are:
    -- average
    -- min
    -- max
    -- total
    -- sample_size
    -For more information, please refer to the official New Relic documentation

    +optional +

    A list of teams

    -
    -

    common.newrelic.io/v1alpha1

    -

    -

    Package v1alpha1 contains API Schema definitions for the dashboards v1alpha1 API group

    -

    -Resource Types: - -

    Status -

    -

    -(Appears on: -AlertPolicy, -Dashboard, -NotificationChannelStatus) -

    -

    -

    Status defines the observed state of a New Relic resource

    -

    - - - - - - - -
    FieldDescription
    -status
    +tags
    -string +[]string
    -

    The value will be set to Ready once the policy has been created in New Relic

    +optional +

    A list of tags

    -reason
    +recipients
    -string +[]string
    -

    When a policy fails to be created, the value will be set to the error message received from New Relic

    +optional +

    A comma-separated value of emails

    -newrelicId
    +policySelector
    -int64 +k8s.io/apimachinery/pkg/labels.Set
    -

    The resource id in New Relic

    +

    A label selector defining the alert policies covered by the notification channel

    -
    -

    dashboards.newrelic.io/v1alpha1

    -

    -

    Package v1alpha1 contains API Schema definitions for the dashboards v1alpha1 API group

    -

    -Resource Types: - -

    Apm +

    Signal

    (Appears on: -Data) +NrqlCondition)

    -

    Apm is the set of metric parameters used for defining the data to plot in the widget

    @@ -1713,67 +1699,61 @@ Resource Types: - - - -
    -sinceSeconds
    +aggregationWindowSeconds
    int
    -

    The time frame in seconds

    -
    -entities
    - -[]string - -
    -

    A list of application names for which to get the metric

    +optional +

    Please refer to the official New Relic documentation

    -metrics
    +evaluationOffset
    - -[]Metric - +int
    -

    A list of metrics to use

    +optional +

    The offset is how long we wait for late data before evaluating each aggregation window +For additional information, please refer to the official New Relic documentation

    -facet
    +fillOption
    string
    optional +

    For sporadic data, you can avoid false alerts by filling the gaps (empty windows) with synthetic data. The default is None. +For additional information, please refer to the official New Relic documentation

    -order_by
    +fillValue
    string
    optional +

    This is the value used by the fill_option custom value. The default is 0. +For additional information, please refer to the official New Relic documentation

    -

    Dashboard +

    SlackNotificationChannel

    -

    DashboardBody is the Schema for the dashboards API

    +

    NotificationChannel is the Schema for the slacknotificationchannels API

    @@ -1785,6 +1765,21 @@ string + + + + @@ -1812,53 +1807,63 @@ DashboardSpec
    +AbstractNotificationChannel
    + + +AbstractNotificationChannel + + +
    +

    +(Members of AbstractNotificationChannel are embedded into this type.) +

    +
    metadata
    @@ -1801,8 +1796,8 @@ Refer to the Kubernetes API documentation for the fields of the
    spec
    - -DashboardSpec + +SlackNotificationChannelSpec
    -
    -title
    +name
    string
    -

    The name of the dashboard that will be created in New Relic

    +

    The name of the notification channel created in New Relic

    -widgets
    +url
    - -[]Widget - +string
    -

    A list of widgets to add to the dashboard

    +optional +

    The Slack webhook URL. +If left empty, the default URL specified when deploying the operator will be used

    + + +channel
    + +string + + + +

    Name of the Slack channel. Should start with #

    -status
    +policySelector
    - -Status - +k8s.io/apimachinery/pkg/labels.Set +

    A label selector defining the alert policies covered by the notification channel

    + + + -

    DashboardSpec +

    SlackNotificationChannelSpec

    (Appears on: -Dashboard) +SlackNotificationChannel)

    -

    DashboardSpec defines the desired state of DashboardBody

    +

    SlackNotificationChannelSpec defines the desired state of NotificationChannel

    @@ -1870,43 +1875,60 @@ Status + + + + + + + +
    -title
    +name
    string
    -

    The name of the dashboard that will be created in New Relic

    +

    The name of the notification channel created in New Relic

    -widgets
    +url
    - -[]Widget - +string
    -

    A list of widgets to add to the dashboard

    +optional +

    The Slack webhook URL. +If left empty, the default URL specified when deploying the operator will be used

    +
    +channel
    + +string + +
    +

    Name of the Slack channel. Should start with #

    +
    +policySelector
    + +k8s.io/apimachinery/pkg/labels.Set + +
    +

    A label selector defining the alert policies covered by the notification channel

    -

    Data +

    Threshold

    (Appears on: -Widget) +ApmCondition, +NrqlCondition)

    -

    Data represents the data to plot inside the widget.
    -Exactly one of Source, Nrql or ApmMetric should be specified.
    -
    -Leave all fields empty if you want to plot the application breakdown data,
    -also present in the main widget that comes with the default application dashboard.
    -For more information refer to the official New Relic documentation

    @@ -1918,53 +1940,64 @@ For more information refer to the official New Relic documentation

    + + + +
    -nrql
    +operator
    string
    -optional -

    The NRQL query used which defines the data to plot in the widget

    +

    Available options are:
    +- above
    +- below
    +- equal

    -apm
    +value
    - -Apm - +string
    -optional -

    The APM metric parameters which defines the data to plot in the widget.
    -When using an APM metric for the data, visualization should be set to either metric_line_chart or application_breakdown.

    +
    +durationMinutes
    + +int + +
    +

    For how long the violation should be active before an incident is triggered
    +For more information, please refer to the official New Relic documentation

    -

    Metric +

    UserDefined

    (Appears on: -Apm) +ApmCondition)

    -

    Metric is the name of the metric as shown in Data Explorer

    @@ -1976,38 +2009,51 @@ When using an APM metric for the data, visualization should be set to either
    -name
    +metric
    string
    -

    Name of the metric

    +

    The name of the user defined custom metric

    -values
    +value_function
    -[]string +string
    -

    List of metric values to plot. The available values will depend on the metric you choose.
    -Check the Data Explorer in New Relic to find out which values are available for which metrics.

    +

    Available options are:
    +- average
    +- min
    +- max
    +- total
    +- sample_size
    +For more information, please refer to the official New Relic documentation

    -

    Widget +
    +

    common.newrelic.io/v1alpha1

    +

    +

    Package v1alpha1 contains API Schema definitions for the dashboards v1alpha1 API group

    +

    +Resource Types: + +

    Status

    (Appears on: -DashboardSpec) +AlertPolicy, +Dashboard, +NotificationChannelStatus)

    -

    Widget defines the widget parameters
    -For more details, refer to the official New Relic documentation

    +

    Status defines the observed state of a New Relic resource

    @@ -2019,81 +2065,35 @@ For more details, refer to the official -Data - - - - @@ -2101,5 +2101,5 @@ github.com/personio/newrelic-alert-manager/pkg/dashboards/domain/widget.Layout

    Generated with gen-crd-api-reference-docs -on git commit 5492b8a. +on git commit 6f936d2.

    -

    The data to plot on the widget

    +

    When a policy fails to be created, the value will be set to the error message received from New Relic

    -layout
    +newrelicId
    -github.com/personio/newrelic-alert-manager/pkg/dashboards/domain/widget.Layout +int64
    -

    Defines the layout of the widget within the dashboard

    +

    The resource id in New Relic