# メトリクス

メトリクスは、デプロイメントの状態や変化を一定期間にわたって示す重要なデータです。左側のナビゲーションメニューで **Monitor** -> **Metrics** をクリックすると、デプロイメント詳細ページで確認できます。

## リアルタイムメトリクス

ここでは、デプロイメントのリアルタイムメトリクスを観測できます。

| メトリクス               | 説明                                                         |
| ------------------------ | ------------------------------------------------------------ |
| Sessions（セッション数） | 現在デプロイメントに接続されているクライアントの総数。オフラインクライアントでセッションを保持しているものも含みます。 |
| Total TPS（総TPS）       | 現在のデプロイメントが1秒あたりに処理しているメッセージの総数。受信および送信されるメッセージの合計レートを含みます。 |
| Total message sent（送信メッセージ数） | 現在デプロイメントから1秒あたりに流れているメッセージ数。 |
| Total message received（受信メッセージ数） | 現在デプロイメントに1秒あたりに流れているメッセージ数。 |
| Retained messages（保持メッセージ数） | デプロイメント内の保持メッセージの総数。<br>保持メッセージの概要については、[MQTT保持メッセージ入門](https://www.emqx.com/blog/mqtt5-features-retain-message)をご覧ください。 |
| Topics（トピック数）     | 全クライアントが現在サブスクライブしているトピックの総数。 |
| Subscriptions（サブスクリプション数） | 各クライアントがサブスクライブしているトピックの総数。 |
| Shared subscriptions（共有サブスクリプション数） | デプロイメント内の共有サブスクリプションの総数。<br>共有サブスクリプションの概要については、[MQTT共有サブスクリプション：実践ガイドとユースケース](https://www.emqx.com/blog/introduction-to-mqtt5-protocol-shared-subscription)をご覧ください。 |
| Storage (GB)（ストレージ容量） | デプロイメント内のDurable Sessionsおよびイベント履歴が使用しているストレージ容量。 |

::: tip

サブスクリプション数はクライアント単位で計算されます。異なる2つのクライアントが同じトピックをサブスクライブしている場合、サブスクリプション数は2とカウントされます。

:::

## タイムライン

**Timeline** タブをクリックすると、一定期間内のデプロイメントのメトリクスデータを確認できます。

### サーバーレスタイムラインメトリクス

サーバーレスデプロイメントのタイムラインページでは、セッション、サブスクリプション、メッセージ、パケット、ドロップメッセージの5種類のメトリクスを提供します。各メトリクスのグラフチャートと特定の時点での詳細情報を確認できます。

#### Sessions（セッション）

Sessionsチャートは、選択した期間内にデプロイメントに接続されているクライアント数を表示します。セッション数には、[パーシステントセッション](https://www.emqx.com/en/blog/mqtt-session)を有効にしたオフラインクライアントも含まれます。パーシステントセッションとは、クライアントが切断されてもセッションが維持され、オフラインメッセージを保存し、セッションのタイムアウトまたはクリアまで有効な状態を指します。

<img src="./_assets/metric_serverless_1.png" alt="メトリクス詳細" style="zoom: 33%;" />

#### Subscriptions（サブスクリプション）

Subscriptionsチャートは、選択した期間内のサブスクリプションの総数を表示します。

<img src="./_assets/metric_serverless_2.png" alt="メトリクス詳細" style="zoom: 33%;" />

#### Messages（メッセージ）

Messagesチャートは、選択した期間内にデプロイメントが受信および送信したメッセージ数を表示します。

- Inbound messages（受信メッセージ）：デバイスまたはアプリケーションから受信したメッセージ。
- Outbound messages（送信メッセージ）：デバイスまたはアプリケーションへ送信したメッセージ。
- Messages with no subscribers（サブスクライバーなしのメッセージ）：トピックにサブスクライバーがいないためにドロップされたメッセージ。

<img src="./_assets/metric_serverless_3.png" alt="メトリクス詳細" style="zoom: 33%;" />

#### Packets（パケット）

Packetsチャートは、選択した期間内にデプロイメントが受信および送信したメッセージのトラフィックを示し、以下の3種類のデータを含みます。

- Total packets（総パケット数）：受信および送信されたパケットの合計トラフィック。
- Sent packets（送信パケット）：デバイスまたはアプリケーションへ送信されたパケットのトラフィック。
- Received packets（受信パケット）：デバイスまたはアプリケーションから受信したパケットのトラフィック。

<img src="./_assets/metric_serverless_4.png" alt="メトリクス詳細" style="zoom: 33%;" />

#### Dropped Messages（ドロップメッセージ）

Dropped Messagesチャートは、選択した期間内に送信フェーズで破棄されたメッセージを示します。メッセージがドロップされる理由には、サイズが大きすぎる、メッセージキューが満杯、メッセージの有効期限切れなどがあります。

<img src="./_assets/metric_serverless_5.png" alt="メトリクス詳細" style="zoom: 33%;" />

### DedicatedおよびBYOCタイムラインメトリクス

DedicatedおよびBYOCデプロイメントのタイムラインメトリクスには、以下の種類があります。

- Sessions（セッション）
- Subscriptions（サブスクリプション）
- Messages（メッセージ）
- Packets（パケット）
- Dropped messages（ドロップメッセージ）

各メトリクスに対応したグラフチャートと特定の時点での詳細情報を確認できます。一部のメトリクスについては、APIで対応するメトリクスが示されています。より多くのメトリクスを学習・確認したい場合は、[API](https://docs.emqx.com/en/cloud/latest/api/dedicated.html#tag/Metrics)から取得可能です。

::: tip
表に対応するAPIメトリクスがない場合、そのメトリクスはAPIから取得できません。
:::

#### Sessions（セッション）

Sessionsチャートは、選択した期間内の同時セッション数を表示します。セッション数には、[パーシステントセッション](https://www.emqx.com/en/blog/mqtt-session)を有効にしたオフラインクライアントも含まれます。チャートは以下の3つのメトリクスを提供します。

| APIのメトリクス       | 説明                                          |
| --------------------- | :-------------------------------------------- |
| -                     | 同時セッション数。                            |
| client.connected      | 現時点で接続されているセッション数。          |
| client.disconnected   | 現時点で切断されているセッション数。          |

<img src="./_assets/metric_dedicated_1.png" alt="メトリクス詳細" style="zoom: 33%;" />

#### Subscriptions（サブスクリプション）

Subscriptionsチャートは、選択した期間内のサブスクリプション状況を3つのメトリクスで表示します。

| APIのメトリクス       | 説明                                          |
| --------------------- | :-------------------------------------------- |
| -                     | サブスクリプションの総数。                    |
| client.subscribe      | 現時点でのサブスクリプション数。              |
| client.unsubscribe    | 現時点でのサブスクリプション解除数。          |

<img src="./_assets/metric_dedicated_2.png" alt="メトリクス詳細" style="zoom: 33%;" />

#### Messages（メッセージ）

Messagesチャートは、選択した期間内にデプロイメントが受信および送信したメッセージ数と、サブスクライバーがいないためにドロップされたメッセージ数を3つのメトリクスで表示します。

| APIのメトリクス               | 説明                                          |
| ---------------------------- | :-------------------------------------------- |
| messages.received            | 現時点でデバイスまたはアプリケーションから受信したメッセージ数。 |
| messages.sent                | 現時点でデバイスまたはアプリケーションへ送信したメッセージ数。 |
| messages.dropped.no_subscribers | サブスクライバーがいないためにドロップされたメッセージ数。 |

<img src="./_assets/metric_dedicated_3.png" alt="メトリクス詳細" style="zoom: 33%;" />

#### Packets（パケット）

Packetsチャートは、選択した期間内にデプロイメントが受信および送信したメッセージのトラフィックを2つのメトリクスで表示します。

| APIのメトリクス       | 説明                                          |
| --------------------- | :-------------------------------------------- |
| bytes.received        | 現時点でデバイスまたはアプリケーションから受信したメッセージパケットのキロバイト数。 |
| bytes.sent            | 現時点でデバイスまたはアプリケーションへ送信したメッセージパケットのキロバイト数。 |

<img src="./_assets/metric_dedicated_4.png" alt="メトリクス詳細" style="zoom: 33%;" />

#### Dropped Messages（ドロップメッセージ）

Dropped Messagesチャートは、選択した期間内に配信中にドロップされたメッセージ数を表示します。ドロップの理由は、メッセージの有効期限切れまたはメッセージキューの容量超過によるものです。

| APIのメトリクス             | 説明                                          |
| -------------------------- | :-------------------------------------------- |
| delivery.dropped.expired   | メッセージの有効期限切れによってドロップされたメッセージ数。 |
| delivery.dropped.queue_full | メッセージキューが満杯でドロップされたメッセージ数。         |

<img src="./_assets/metric_dedicated_5.png" alt="メトリクス詳細" style="zoom: 33%;" />
