HP ProLiant DL380G5-WSS 3.7.0 HP StorageWorks HP Scalable NAS File Serving Sof - Page 346

Types of custom scripts, Probe scripts

Page 346 highlights

Types of custom scripts You can develop the following types of custom scripts for use with service and device monitors. Probe scripts Probe scripts run periodically and check the health of a service or device. You will need to determine what the probe should look at and how it should exit. For example, you might want to create a custom service monitor for an application that creates a pid file when it is running. You could write a shell script called /usr/local/myprobes/testpid that looks up the pid from the application's pid file and then determines whether the pid is actually running. Here is the testpid script: if [ ! -e $1 ]; then # Does the pid file exist? exit 1 fi read pid < $1 # Read the pid into the variable pid kill -0 $pid # Does the pid exist in the process table? When you create the service monitor, you would specify the following as the user probe script. (Specifying the application's pid file as a parameter instead of naming it in the script allows the testpid script to be used with any application that creates a pid file.) usr/local/myprobes/testpid /var/run/application.pid When the monitor executes the testpid script, it will first determine whether the / var/run/application/pid file exists. If the file does not exist, the script exits with a non-zero exit status, which the monitor interprets as a failure. If the file does exist, the script reads the pid from the file into the variable pid. The kill command then determines whether the pid is running. The exit status of the kill command is the exit status of the script. If the kill command finds that the pid is running, it will exit with status 0, and the script will exit with status 0. The monitor will interpret the 0 exit status as "success" and will signal to the cluster that the application is up. If the kill command finds that the pid is not running, it will exit with a non-zero status, and the script will exit with that same status. The monitor will interpret that exit status as "failure," which will signal the monitor that the application is down. HP Scalable 346 Advanced monitor topics

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435

Types of custom scripts
You can develop the following types of custom scripts for use with service and device
monitors.
Probe scripts
Probe scripts run periodically and check the health of a service or device. You will
need to determine what the probe should look at and how it should exit.
For example, you might want to create a custom service monitor for an application
that creates a pid file when it is running. You could write a shell script called
/usr/local/myprobes/testpid
that looks up the pid from the application
s
pid file and then determines whether the pid is actually running.
Here is the
testpid
script:
if [ ! -e $1 ]; then
# Does the pid file exist?
exit 1
fi
read pid < $1
# Read the pid into the variable pid
kill -0 $pid
# Does the pid exist in the process table?
When you create the service monitor, you would specify the following as the user
probe script. (Specifying the application
s pid file as a parameter instead of naming
it in the script allows the
testpid
script to be used with any application that creates
a pid file.)
usr/local/myprobes/testpid /var/run/application.pid
When the monitor executes the
testpid
script, it will first determine whether the
/
var/run/application/pid
file exists. If the file does not exist, the script exits
with a non-zero exit status, which the monitor interprets as a failure.
If the file does exist, the script reads the pid from the file into the variable pid. The
kill
command then determines whether the pid is running. The exit status of the
kill
command is the exit status of the script.
If the kill command finds that the pid is running, it will exit with status 0, and the
script will exit with status 0. The monitor will interpret the 0 exit status as
success
and will signal to the cluster that the application is up.
If the kill command finds that the pid is not running, it will exit with a non-zero status,
and the script will exit with that same status. The monitor will interpret that exit status
as
failure,
which will signal the monitor that the application is down. HP Scalable
Advanced monitor topics
346