You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|secretsmanager:GetSecretValue| Needs to be able to retrieve the FSxN administrator credentials. |
48
48
|sns:Publish| Since it sends messages (alerts) via SNS, it needs to be able to do so. |
49
-
|s3:PutObjecct| The program stores its state information in various s3 objects.|
49
+
|s3:PutObject| The program stores its state information in various s3 objects.|
50
50
|s3:GetObject| The program reads previous state information, as well as configuration from various s3 objects. |
51
51
|s3:ListBucket| To allow the program to know if an object exist or not. |
52
+
|ec2:CreateNetworkInterface| Since the program runs as a Lambda function within your VPC, it needs to be able to create a network interface in your VPC. |
53
+
|ec2:DescribeNetworkInterfaces| So it can check to see if an network interface already exist. |
52
54
53
55
### Create an S3 Bucket
54
56
One of the goals of the program is to not send multiple messages for the same event. It does this by storing the event
55
57
information in an s3 object so it can be compared against before sending a second message for the same event.
56
58
Note that it doesn't keep every event indefinitely, it only stores them while the condition is true. So, say for
57
59
example it sends an alert for a SnapMirror relationship that has a lag time that is too long. It will
58
-
send the alert and store the event. Once a successful SnapMirror synchronization has happen, the event will be removed
60
+
send the alert and store the event. Once a successful SnapMirror synchronization has happened, the event will be removed
59
61
from the s3 object allowing for a new event to be created and alarmed on.
60
62
61
63
So, for the program to function, you will need to provide an S3 bucket for it to store event history. It is recommended to
@@ -111,10 +113,11 @@ filename, then set the configFilename environment variable to the name of your c
111
113
**NOTE:** Parameter names are case sensitive.
112
114
113
115
|Parameter Name | Required | Required as an Environment Variable | Default Value | Description |
|s3BucketName | Yes | Yes | None | Set to the name of the S3 bucket you want the program to store events to. It will also read the matching configuration file from this bucket. |
116
-
|s3BucketRegion | Yes | Yes | None | Set to the region the S3 bucket resides in. |
117
-
|configFilename | No | Yes | OntapAdminServer + "-config" | Set to the filename (S3 object) that contains parameter assignments. It's okay if it doesn't exist, as long as there are environment variables for all the required parameters. |
| s3BucketName | Yes | Yes | None | Set to the name of the S3 bucket you want the program to store events to. It will also read the matching configuration file from this bucket. |
118
+
| s3BucketRegion | Yes | Yes | None | Set to the region the S3 bucket resides in. |
119
+
| OntapAdminServer | Yes | Yes | None | Set to the DNS name,or IP address of the ONTAP server you wish to monitor. |
120
+
| configFilename | No | No | OntapAdminServer + "-config" | Set to the filename (S3 object) that contains parameter assignments. It's okay if it doesn't exist, as long as there are environment variables for all the required parameters. |
118
121
| emsEventsFilename | No | No | OntapAdminServer + "-emsEvents" | Set to the filename (S3 object) that you want the program to store the EMS events that it alerts on into. This file will be created as necessary. |
119
122
| smEventsFilesname | No | No | OntapAdminServer + "-smEvents" | Set to the filename (S3 object) that you want the program to store the SnapMirror alerts into. This file will be created as necessary. |
120
123
| smRelationshipsFilename | No | No | OntapAdminServer + "-smRelationships" | Set to the filename (S3 object) that you want the program to store the SnapMirror relationships into. This file will be created as necessary. |
@@ -142,37 +145,37 @@ matching conditions (rules) for. The second key is "rules" which is an array of
142
145
matching conditions. Note that each service's rules has its own unique schema. The following is the unique schema
143
146
for each of the service's rules.
144
147
145
-
##### Matching condition schema for System Health
148
+
##### Matching condition schema for System Health (systemHealth)
146
149
Each rule should be an object with one, or more, of the following keys:
147
150
148
151
- versionChange - Is a Boolean (true, false) and if 'true' will send an alert when the ONTAP version changes. If it is set to false, it will not report on version changes.
149
152
- failover - Is a Boolean (true, false) and if 'true' will send an alert if the FSxN cluster is running on its standby node. If it is set to false, it will not report on failover status.
150
153
- networkInterfaces - Is a Boolean (true, false) and if 'true' will send an alert if any of the network interfaces are down. If it is set to false, it will not report on any network interfaces that are down.
151
154
152
-
##### Matching condition schema for EMS Messages
155
+
##### Matching condition schema for EMS Messages (ems)
153
156
Each rule should be an object with three keys:
154
157
155
158
- "name" - Which will match on the EMS event name.
156
159
- "message" - Which will match on the EMS event message text.
157
160
- "severity" - Which will match on the severity of the EMS event (debug, informational, notice, error, alert or emergency).
158
161
Note that all values to each of the keys are used as a regular expressions against the associated EMS component. So, for example, if you want to match on any event message text that starts with “snapmirror” then you would put “^snapmirror”. The “^” character matches the beginning on the string. If you want to match on a specific EMS event name, then you should anchor it with an regular express that starts with “^” for the beginning of the string and ends with “$” for the end of the string. For example, “^arw.volume.state$’. For a complete explanation of the regular expression syntax and special characters, please see the Python documentation found here Regular expression operations.
159
162
160
-
##### Matching condition schema for SnapMirror relationships
163
+
##### Matching condition schema for SnapMirror relationships (snapmirror)
161
164
Each rule should be an object with one, or more, of the following keys:
162
165
163
166
- maxLagTime - Specifies the maximum allowable time, in seconds, since the last successful SnapMirror update before an alert will be sent.
164
167
- stalledTransferSeconds - Specifies the minimum number of seconds that have to transpire before a SnapMirror transfer will be considered stalled.
165
168
- health - Is a Boolean (true, false) which specifies if you want to alert on a healthy relationship (true) or an unhealthy relationship (false).
166
169
167
-
##### Matching condition schema for Storage
170
+
##### Matching condition schema for Storage (storage)
168
171
Each rule should be an object with one, or more, of the following keys:
169
172
170
173
- aggrWarnPercentUsed - Specifies the maximum allowable physical storage (aggregate) utilization (between 0 and 100) before an alert is sent.
171
174
- aggrCriticalPercentUsed - Specifies the maximum allowable physical storage (aggregate) utilization (between 0 and 100) before an alert is sent.
172
175
- volumeWarnPercentUsed - Specifies the maximum allowable volume utilization (between 0 and 100) before an alert is sent.
173
176
- volumeCriticalPercentUsed - Specifies the maximum allowable volume utilization (between 0 and 100) before an alert is sent.
174
177
175
-
##### Matching condition schema for Quota
178
+
##### Matching condition schema for Quota (quota)
176
179
Each rule should be an object with one, or more, of the following keys:
177
180
178
181
- maxHardQuotaSpacePercentUsed - Specifies the maximum allowable storage utilization (between 0 and 100) against the hard quota limit before an alert is sent.
0 commit comments