ヘルスチェック¶
ヘルスステータス¶
ヘルスチェックは実行されるたびにヘルスステータスとメッセージを生成します。
下記はヘルスステータスと一般的な意味のリストです。
| 名前 | 順序 | 説明 | 
|---|---|---|
| UNKNOWN | 0 | ヘルスチェックはまだ実行されていない、または適切に実行されませんでした。ステータスが決定されていない状態です。 | 
| OK | 1 | ヘルスチェックは正常な状態であることを報告しました。 | 
| WARNING | 2 | ヘルスチェックは警告の域に達しているか、重要なことが起こりうることを報告しました。 | 
| CRITICAL | 3 | ヘルスチェックは重要の域に達していることを報告しました。何らかの処置がされるべきです。 | 
| FATAL | 4 | ヘルスチェックは致命的な状態であることを報告しました。再起動することを期待しています。 | 
システム チェック¶
<health:ConnectionPoolHealthCheck>¶
Resinのデータベースコネクションプールの状態を監視します。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| WARNING | resin-web設定 の <max-connections> を超過した場合。 | 
| CRITICAL | resin-web設定 の <max-overflow-connections> を超過した場合。 | 
設定例¶
<health:ConnectionPoolHealthCheck/>
<health:CpuHealthCheck>¶
CPU使用率を監視します。マルチコアマシンでは、各CPUが個別にチェックされます。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
| warning-threshold | ヘルスステータス「WARNING」のしきい値 | int(パーセンテージ 0-100) | 95 | 
| critical-threshold | ヘルスステータス「CRITICAL」のしきい値 | int(パーセンテージ 0-100) | 200(無効) | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| WARNING | CPUのどれかが warning-threshold を超過した場合。 | 
| CRITICAL | CPUのどれかが critical-threshold を超過した場合。 | 
設定例¶
<health:CpuHealthCheck>
  <warning-threshold>95</warning-threshold>
  <critical-threshold>99</critical-threshold>
</health:CpuHealthCheck>
<health:HealthSystemHealthCheck>¶
ヘルスシステム自体を監視します。
独立したスレッドを使用してヘルスチェックがフリーズしていないか、または時間がかかりすぎていないかをチェックします。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
| thread-check-period | 独立したスレッドの確認頻度。 | 期間 | 1分(1m) | 
| freeze-timeout | ヘルスシステムがフリーズしてヘルスチェックが行えない状態と判断するまでの最大時間。 | 期間 | 15分(15m) | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| FATAL | ヘルスチェックが freeze-timeout の期間内に行われなかった場合。 | 
| FATAL | ヘルスチェックが許容される期間内に完了しなかった場合。期間は<health:HealthSystem> の startup-delay 、 period 、 recheck-period から算出されます。 | 
設定例¶
<health:HealthSystemHealthCheck>
  <thread-check-period>1m</thread-check-period>
  <freeze-timeout>15m</freeze-timeout>
</health:HealthSystemHealthCheck>
<health:HeartbeatHealthCheck>¶
クラスタの他のメンバーからのハートビートを監視します。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| WARNING | クラスタの既知のメンバーからのハートビートが受信されていない場合。 | 
| WARNING | クラスタの既知のメンバーからのハートビートが最後に受信されてから180秒以内に受信されていない場合。 | 
設定例¶
<health:HeartbeatHealthCheck/>
<health:JvmDeadlockHealthCheck>¶
JavaVMによってデッドロック状態であると認識されたスレッドを監視します。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| FATAL | デッドロックのスレッドが検出された場合。 | 
設定例¶
<health:JvmDeadlockHealthCheck/>
<health:LicenseHealthCheck>¶
Resin-Proのライセンスの期限切れをチェックします。
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| WARNING | ライセンスが warning-period の期間内に期限切れになる場合。 | 
設定例¶
<health:LicenseHealthCheck>
  <warning-period>30D</warning-period>
</health:LicenseHealthCheck>
<health:MemoryPermGenHealthCheck>¶
JavaVMのPermGenメモリプールの空き領域を監視します。空き領域が低下しすぎた場合ガベージコレクションを要求します。
コラム
このヘルスチェックは、JavaVMベンダの実装によっては使用できない場合があります。
JavaVMにPermGenメモリプールが存在しない場合はヘルスステータスが UNKNOWN となります。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
| memory-free-min | クリティカルな状況の空きメモリ最小量 | バイト値 | 1メガバイト(1m) | 
| free-warning | 警告のしきい値 | double(パーセンテージ 0.0 - 100.0) | 0.01 | 
| objectName | 明示的にメモリの統計を照会するMBean名を設定します。 未設定の場合、メモリ統計が可能なMBeanを検索します。 | javax.management.ObjectName | なし | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| UNKNOWN | JavaVMにPermGenメモリプールが存在しない場合。または適切なMBeanを決定することができなかった場合。 | 
| WARNING | 空きメモリが、ガベージコレクション実行後に free-warning の割合を下回っている場合。 | 
| CRITICAL | 空きメモリが、ガベージコレクション実行後に memory-free-min を下回っている場合。 | 
設定例¶
<health:MemoryTenuredHealthCheck>
  <memory-free-min>1m</memory-free-min>
  <free-warning>0.01</free-warning>
</health:MemoryTenuredHealthCheck>
<health:MemoryTenuredHealthCheck>¶
JavaVMのTenuredメモリプールの空き領域を監視します。空き領域が低下しすぎた場合ガベージコレクションを要求します。
コラム
JavaVMにTenuredメモリプールが存在しない場合はJavaVMでヒープメモリを監視します。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
| memory-free-min | クリティカルな状況の空きメモリ最小量 | バイト値 | 1メガバイト(1m) | 
| free-warning | 警告のしきい値 | double(パーセンテージ 0.0 - 100.0) | 0.01 | 
| objectName | 明示的にメモリの統計を照会するMBean名を設定します。 未設定の場合、メモリ統計が可能なMBeanを検索します。 | javax.management.ObjectName | なし | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| UNKNOWN | JavaVMにTenuredメモリプールが存在しない場合。または適切なMBeanを決定することができなかった場合。 | 
| WARNING | 空きメモリが、ガベージコレクション実行後に free-warning の割合を下回っている場合。 | 
| CRITICAL | 空きメモリが、ガベージコレクション実行後に memory-free-min を下回っている場合。 | 
設定例¶
<health:MemoryTenuredHealthCheck>
  <memory-free-min>1m</memory-free-min>
  <free-warning>0.01</free-warning>
</health:MemoryTenuredHealthCheck>
<health:TransactionHealthCheck>¶
Resinのトランザクションマネージャのコミット失敗を監視します。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| WARNING | 前回のチェック以降にコミット失敗があった場合。 | 
設定例¶
<health:TransactionHealthCheck/>
ユーザ チェック¶
<health:HttpStatusHealthCheck>¶
1つ以上のURLを作成し、現在のResinインスタンスにHTTP GETのリクエストを行い、返されたHTTPステータスコードのパターンを監視します。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
| ping-host | チェック対象のホスト(url が URI の場合に使用します) | String | なし | 
| ping-port | チェック対象のポート(url が URI の場合に使用します) | int | 80 | 
| url | チェック対象のURLまたはURI | String | なし | 
| socket-timeout | ソケットコネクションのタイムアウト時間 | 期間 | 10秒(10s) | 
| regexp | HTTPステータスコードの正規表現 | java.util.regex.Patternにコンパイルされる正規表現 | 200 | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| CRITICAL | HTTP GET リクエストが接続に失敗した場合。またはHTTPステータスコードが、正規表現と一致しなかった場合。 | 
設定例¶
<health:HttpStatusHealthCheck>
  <ping-host>localhost</ping-host>
  <ping-port>8080</ping-port>
  <url>/custom-test-1.jsp</url>
  <url>/custom-test-2.jsp</url>
  <socket-timeout>2s</socket-timeout>
  <regexp>^2|^3</regexp>
</health:HttpStatusHealthCheck>
<health:ExprHealthCheck>¶
ユーザーが指定したEL式の真偽を評価します。
属性¶
| 属性名 | 説明 | 型 | デフォルト | 
|---|---|---|---|
| enabled | チェックの有無 | boolean | true | 
| fatal-test | trueと評価された場合にステータスをFATALするEL式。 | EL式 | なし | 
| critical-test | trueと評価された場合にステータスをCRITICALするEL式。 | EL式 | なし | 
| warning-test | trueと評価された場合にステータスをWARNINGするEL式。 | EL式 | なし | 
状態¶
| ヘルスステータス | 状態 | 
|---|---|
| FATAL | fatal-test がtrueと評価された場合。 | 
| CRITICAL | critical-test がtrueと評価された場合。 | 
| WARNING | warning-test がtrueと評価された場合。 | 
設定例¶
<health:ExprHealthCheck>
  <critical-test>${mbean('java.lang:type=Threading').ThreadCount > 100}</critical-test>
</health:ExprHealthCheck>