CLI cookbook: creating alert profiles

This article describes how to create alert profiles.

Delphix generates alerts for different events. Users may want to be notified of events based on certain criteria such as the type of event or severity. An alert profile allows a user or group of users to be notified of the desired event.

The default domain user created on Delphix Engines is now admin instead of delphix_admin. When engines created before 5.3.1 are upgraded to 5.3.1 or later they will retain their old username 'delphix_admin'. To avoid complications Delphix recommends creating users with an admin role and then Disabling delphix_admin.

Procedure

  1. ssh into your engine using your delphix_admin username and password. 

    Copy
    ssh admin@yourdelphixengine
  2. Go into your alerts and list the alerts you already have. 

    Copy
    delphix > alert
    delphix alert > ls
  3. Create your profile. 

    Copy
    delphix alert > profile
    delphix alert profile > create
    delphix alert profile create * > ls
  4. Set Actions, filterSpec, and User.

    Valid Values for Parameters

    actions.0.type:

    • AlertActionEmailList: This type of alert is used to create an alert for any number of users. When this type is selected, an email address may be defined in each element of the "actions.0.addresses" array as illustrated above.

    • AlertActionEmailUser: This type of alert is created for the email address of the user currently logged into the command-line interface. The "actions.0.addresses" array is not available for this type.

  5. filterSpec.type:

    1. AndFilter

    2. EventFilter

    3. NotFilter

    4. OrFilter

    5. SeverityFilter

    6. TargetFilter

    7. TargetOwnerFilter

    Copy
    delphix alert profile create *> set actions.0.type=<AlertActionEmailList or AlertActionEmailUser>
    delphix alert profile create *> set actions.0.addresses.0=<email address to send to>
    delphix alert profile create *> set actions.0.addresses.1=<additional email address>
    delphix alert profile create *> set actions.0.addresses.2=<additional email address>
    delphix alert profile create *> ls

    delphix alert profile create *> set filterSpec.type=SeverityFilter
    delphix alert profile create *> set filterSpec.severityLevels=<AUDIT|WARNING|CRITICAL|INFORMATIONAL>
  6. Commit your changes.

    Copy
    delphix alert profile create *> set actions.0.type=<AlertActionEmailList or AlertActionEmailUser>
    delphix alert profile create *> set actions.0.addresses.0=<email address to send to>
    delphix alert profile create *> set actions.0.addresses.1=<additional email address>
    delphix alert profile create *> set actions.0.addresses.2=<additional email address>
    delphix alert profile create *> ls

    delphix alert profile create *> set filterSpec.type=SeverityFilter
    delphix alert profile create *> set filterSpec.severityLevels=<AUDIT|WARNING|CRITICAL|INFORMATIONAL>
  7. Commit your changes.

    Copy
    delphix alert profile create *> set actions.0.type=<AlertActionEmailList or AlertActionEmailUser>
    delphix alert profile create *> set actions.0.addresses.0=<email address to send to>
    delphix alert profile create *> set actions.0.addresses.1=<additional email address>
    delphix alert profile create *> set actions.0.addresses.2=<additional email address>
    delphix alert profile create *> ls

    delphix alert profile create *> set filterSpec.type=SeverityFilter
    delphix alert profile create *> set filterSpec.severityLevels=<AUDIT|WARNING|CRITICAL|INFORMATIONAL>
  8. Commit your changes.

    Copy
    delphix alert profile create *> commit

Example:

Copy
ssh admin@yourengine

delphix > alert
delphix alert> ls
Objects
REFERENCE        TIMESTAMP                    TARGETNAME                                                EVENTTITLE
ALERT-102        2015-01-14T21:00:04.380Z        ASE/pubs2                                                Job complete
ALERT-101        2015-01-14T20:55:57.880Z        ASE/pubs2VDB                                            Job complete
ALERT-100        2015-01-14T19:35:32.958Z        ASE/pubs2VDB                                            Job complete
ALERT-99        2015-01-14T19:35:32.850Z        ASE/pubs2VDB                                            Job complete
ALERT-98        2015-01-14T19:34:58.744Z        ASE/pubs2                                                Error during job execution
ALERT-97        2015-01-14T18:12:01.928Z        ASE/pubs2                                                Job complete
ALERT-96        2015-01-14T18:03:10.664Z        ASE/pubs2                                                Job complete
ALERT-95        2015-01-14T17:16:07.464Z        ASE/pubs2                                                Job complete
ALERT-94        2015-01-14T17:15:55.298Z        ASE/market                                                Job complete
ALERT-93        2015-01-14T17:15:45.995Z        ASE/pubs2VDB                                            Job complete
ALERT-92        2015-01-14T16:39:33.133Z        nstacksolase2.acme.com-2015-01-14T16:39:13.821Z        Job complete
ALERT-91        2015-01-14T16:38:33.719Z        nstacksolase2.acme.com                                    Job complete
ALERT-90        2015-01-14T15:47:35.005Z        market                                                    Validated sync failed for dSource
ALERT-89        2015-01-14T15:45:40.895Z        pubs2                                                    Validated sync failed for dSource
ALERT-88        2015-01-14T15:02:14.874Z        ASE/market                                                Job complete
ALERT-87        2015-01-14T11:33:28.766Z        ASE/pubs2VDB                                            Job complete
ALERT-86        2015-01-13T23:11:46.838Z        ASE/market                                                Job complete
ALERT-85        2015-01-13T11:30:01.154Z        ASE/pubs2VDB                                            Job complete
ALERT-84        2015-01-13T11:07:04.385Z        pubs2                                                    Backup detection failed
ALERT-83        2015-01-12T22:35:18.774Z        pubs2                                                    Backup detection failed
ALERT-82        2015-01-12T11:30:00.063Z        ASE/pubs2VDB                                            Unable to connect to remote database during virtual database policy enforcement
ALERT-81        2015-01-12T11:30:00.054Z        ASE/pubs2                                                Unable to connect to remote database during dSource policy enforcement
ALERT-80        2015-01-12T08:38:26.983Z        pubs2                                                    Backup detection failed
ALERT-79        2015-01-12T06:04:34.666Z        pubs2                                                    Validated sync failed for dSource
ALERT-78        2015-01-11T11:30:03.393Z        ASE/pubs2VDB                                            Job complete
Children
profile

delphix alert> select ALERT-98
delphix alert "ALERT-98"> ls
Properties
    type: Alert
    event: alert.jobs.failed.object
    eventAction: Create the database on the target host.
    eventDescription: DB_EXPORT job for "ASE/pubs2" failed due to an error during execution: Could not find database "pubs2VDB" on target instance "SRC_157_4K", environment "ASE".
    eventSeverity: CRITICAL
    eventTitle: Error during job execution
    reference: ALERT-98
    target: ASE/pubs2
    targetName: ASE/pubs2
    targetObjectType: ASEDBContainer
    timestamp: 2015-01-14T19:34:58.744Z

delphix alert> profile
delphix alert profile> select ALERT_PROFILE-1
delphix alert profile "ALERT_PROFILE-1"> ls
Properties
    type: AlertProfile
    actions:
        0:
            type: AlertActionEmailList
            addresses: sys_admin@acme.com
            format: HTML
    filterSpec:
        type: SeverityFilter
        severityLevels: CRITICAL,WARNING
    reference: ALERT_PROFILE-1
    user: admin

Operations
delete
update

delphix alert profile> create
delphix alert profile create *> set actions.0.type=AlertActionEmailList
delphix alert profile create *> set actions.0.addresses.0=johndoe@acme.com
delphix alert profile create *> set actions.0.addresses.1=samsmith@acme.com
delphix alert profile create *> set filterSpec.type=SeverityFilter
delphix alert profile create *> set filterSpec.severityLevels=INFORMATIONAL

*The last piece of the alert profile that needs to be configured is the "targetFilter". This is an array so you can define multiple targets. In the following example, there is a dSource named "pubs2" the user wants to define an alert on. If they try to set the filter to just the name of the dSource itself ("pubs2"), it will warn them that this is ambiguous and gives a hint on how to fully qualify it:

Copy
delphix > alert profile create
delphix alert profile create *> ls
Properties
 type: AlertProfile
 actions:
 0:
 type: AlertActionEmailList (*)
 addresses: foo@bar.com (*)
 format: HTML (*)
 filterSpec: (unset)
delphix alert profile create *> edit actions
delphix alert profile create actions *> add
delphix alert profile create actions 0 *> set addresses=foo@bar.com
delphix alert profile create actions 0 *> back
delphix alert profile create actions *> back
delphix alert profile create *> set filterSpec.type=TargetFilter
delphix alert profile create *> set filterSpec.targets="REPLICATION_SPEC_EXECUTE"delphix alert profile create *> commit

Use the tab button freely to autocomplete and also see available options, for instance, while changing the severityLevels property, you can use the tab key like so:

Copy
DELPHIX-4221.dcenter alert profile 'ALERT_PROFILE-1' update *> set filterSpec.severityLevels= 
            <I HIT TAB HERE TO SEE OPTIONS BELOW *>
                AUDIT          
                CRITICAL       
                INFORMATIONAL  
                WARNING

Please note that the above tab autocomplete feature will only work if the filterSpec.type is already set to SeverityFilter.

Names used in the example

SRC_157_4K: Repository (entity containing the database instances)

ASE: Group name

pubs2: Name of an individual database instance

The user sets the target filter to be equal to "pubs2/pubs2" and "ASE/pubs2" because if you review the "TARGETNAME" column from step 1 above, you will see alerts generated for both of these targets.