$Date: 2023/09/25 14:12:18 $
LAS (Log Analysis Service) はヤマハネットワーク機器の各種ログをYNOマネージャーに集約し、分析するサービスです。YNOエージェントはヤマハネットワーク機器からログを収集し、YNOマネージャーに送信します。本文書では、YNOエージェントの処理を中心に説明します。
用語 | 説明 |
---|---|
LASクライアント | YNOエージェントの機能の一部です。ヤマハネットワーク機器のログを収集し、LASサーバーに送信します。 |
LASサーバー | YNOマネージャーに組み込まれているサーバーです。LASクライアントから送信されたログを受信し、LAS分析基盤に転送します。 |
機器統計情報 | LASクライアントがLASサーバーに送信するログの一種です。メモリ使用率やトラフィックなど、ヤマハネットワーク機器本体の動作や状態を示す時系列のデータです。 |
以下の設定とLASの併用は非推奨です。SYSLOGが大量に発生することで、一部のSYSLOGがYNOマネージャーに保存されない可能性があります。
YNOエージェント機能 - 対応機種とファームウェアリビジョンを参照してください。
LASのシステム構成を以下に示します。LASクライアントはヤマハネットワーク機器のログを収集し、LASサーバーに送信します。LASサーバーはLASクライアントから受信したログをLAS分析基盤に転送します。LAS分析基盤は転送されたログを集約、分析し、YNOマネージャーのGUIに情報を表示します。
LASクライアントが収集するログには以下の種類があります。
機種やファームウェアリビジョンにより収集できるログの種類が異なります。詳細はYNOエージェント機能 - 対応機種とファームウェアリビジョンを参照してください。
LASクライアントを有効にするには、YNOマネージャーで設定を変更する必要があります。詳細は以下を参照してください。
ヤマハネットワーク機器には、YNOを使用するための以下の設定が必要です。これ以外に追加の設定は必要ありません。
LASの動作状態はshow status ynoおよびshow status yno lasで確認できます。
LASクライアントが有効になっている場合、ヤマハネットワーク機器内部で発生したSYSLOGは、LASクライアントが持つ送信キューに一時的に蓄積されます。送信キューに蓄積されたSYSLOGは、SYSLOGの処理 - 送信に記載されているルールに従ってLASサーバーに送信されます。SYSLOGが送信キューに蓄積されるには、SYSLOGの各レベルに対応した出力設定 (syslog info/syslog notice/syslog debug) がonになっている必要があります。
送信キュー長の最大値はyno las syslog queue lengthで設定します。SYSLOGの発生頻度が送信速度を上回っている場合、送信キュー長は長くなっていきます。送信キュー長が最大値に達している状態でさらにSYSLOGが発生した場合、そのSYSLOGはLASサーバーに送信されることなく破棄されます。このとき "Tx queue was full" のSYSLOGがINFOレベルで出力されると同時に、YNOで「LAS - ログ欠落」のアラームが発生します。"Tx queue was full" のSYSLOGはLASサーバーに送信されません。
ヤマハネットワーク機器の起動時はLASクライアントが無効になっており、YNOエージェントがYNOマネージャーと通信して初期化が完了するまでLASクライアントが有効になりません。この場合でも、起動時のCONFIGにyno use onとyno access codeの両方が設定されている場合は、起動後に発生したSYSLOGが送信キューに蓄積されます。LASクライアントが有効になる前に送信キュー長が最大値に到達した場合、それまでに送信キューに蓄積されていたSYSLOGはすべて破棄されます。LASクライアントが有効にならない限り、それ以降発生したSYSLOGは送信キューに蓄積されません。
以下の場合、送信キューに蓄積されたSYSLOGは破棄され、LASサーバーには送信されません。
LASクライアントは送信キューに蓄積されたSYSLOGを古いものから順に、一定の時間間隔でLASサーバーに送信します。一度に送信するSYSLOGの行数は最大で100行です。
SYSLOG送信の時間間隔は状況に応じて以下の通り切り替わります。
状況 | 時間間隔 |
---|---|
通常時 (送信キュー長が100行以下のとき) | 1分おき |
送信キュー長が100行を超えたとき | 10秒おき |
YNOマネージャーでリアルタイム表示をしているとき | 1秒おき |
SYSLOG送信の時間間隔をヤマハネットワーク機器の設定で変更することはできません。
LASクライアントはSYSLOG送信時にLASサーバーとのコネクションを確立し、送信が完了とすると切断します。ただし、YNOマネージャーでリアルタイム表示をしている間はコネクションを維持した状態となります。LASサーバーとの通信経路上にファイアウォールが存在するなどして、無通信タイマーによりコネクションが切断される場合、LASクライアントからキープアライブパケットを送信することで症状が改善する場合があります。LASクライアントのキープアライブ動作はyno las connection keepaliveで設定できます。
送信キューにSYSLOGが蓄積されている状態でヤマハネットワーク機器を再起動した場合、LASクライアントは再起動直前に、送信キューに蓄積されているSYSLOGを最大で100行送信しようと試みます。この処理は、タイミングによっては失敗する可能性があります。
LASクライアントが収集する機器統計情報には以下の種類があります。収集する各種類の情報をデータセットと呼びます。
種類 | 説明 |
---|---|
メモリ使用率 |
メモリ使用率です。 このデータセットが収集されるにはstatistics memory onの設定が必要です。 |
CPU使用率 |
CPU使用率です。マルチコアの機種では、CPUコアごとの使用率が収集されます。 このデータセットが収集されるにはstatistics cpu onの設定が必要です。 |
トラフィック量 |
インターフェースごとの1秒あたりのデータ転送量です。対応するインターフェースは以下の通りです。
インターフェースごとに送信量と受信量がそれぞれ収集されます。 このデータセットが収集されるにはstatistics traffic onの設定が必要です。 LAN分割を有効にしたLANインターフェースでは情報が収集されません。 ONUインターフェースの情報は、小型ONUが取り付けられた状態でのみ収集されます。一方、その場合はONUインターフェースと排他になるLANインターフェースの情報が収集されなくなります。 PPインターフェースの情報は、pp enableが設定されている場合のみ収集されます。 TUNNELインターフェースの情報は、tunnel enableが設定されている場合のみ収集されます。 |
ファストパスフロー数 |
ファストパスフロー数です。IPv4、IPv6でそれぞれ収集されます。 このデータセットが収集されるにはstatistics flow onの設定が必要です。 |
NATセッション数 |
NATセッション数です。全インターフェース、全ディスクリプタのセッション数を合計した値が収集されます。 このデータセットが収集されるにはstatistics nat onの設定が必要です。 |
動的フィルターのセッション数 |
動的フィルターのセッション数です。全インターフェースのセッション数を合計した値が収集されます。 このデータセットが収集されるにはstatistics filter onの設定が必要です。 |
LASクライアントはデータセットごとに1秒に1回値を取得し、60個溜まった時点でそれを元に1分ごとの平均値と最大値を算出します。LASサーバーに送信されるデータは1分ごとの平均値と最大値です。
LASクライアントは、1分ごとの平均値と最大値のデータが12個溜まった時点でこれらをLASサーバーに送信します。SYSLOGの送信と同様に、データはLASクライアントが持つ送信キューに一時的に蓄積されます。送信キューの最大値をユーザーが設定することはできませんが、発生するデータの数に対して十分に長い値になっています。したがって、LASクライアントがLASサーバーと正常に通信できていれば、送信キュー長が最大値を超過することはありません。
LASクライアントはログ送信後、yno las request timeoutで設定されている時間、LASサーバーからの応答を待ちます。応答待ち時間が超過した場合、あるいはLASサーバーからエラーが返された場合、LASクライアントは送信に失敗したと判定し、yno las request retryで設定されている回数、送信を再試行します。失敗判定から再試行までの時間間隔は、以下の式で計算されます。
(再試行回数 - 1) × 2 + 1 [秒]
ログ送信の失敗が継続すると、やがてログが破棄され、YNOで「LAS - ログ欠落」のアラームが発生します。このケースは、LASサーバーへの接続失敗が継続する場合と、ログの送信後にエラーが発生する場合の2つに分類されます。LASクライアントがLASサーバーへの接続に失敗する状況が継続する場合、その間に発生したログは送信キューに蓄積され続けます。したがって、送信キュー長が最大値を超過した時点で「LAS - ログ欠落」のアラームが発生します。一方で、LASサーバーへは接続できてログを送信したが、LASサーバーからの応答待ち時間超過またはエラー応答の受信により、送信を再試行し、再試行回数が超過した場合、その時点で「LAS - ログ欠落」のアラームが発生します。例えばインターネット回線がダウンしている場合は、前者の「LASサーバーへの接続失敗が継続する場合」に該当します。したがって、送信キュー長が最大値に達する前に回線が復旧すればログは破棄されず、「LAS - ログ欠落」のアラームも発生しません。後者の「LASサーバーから正常に応答を受信できない場合」はLASサーバーの動作が異常であり、通常は発生しません。
設定値 | 説明 |
---|---|
off | キープアライブをしない |
30..300 | キープアライブの時間間隔 (秒数) |
設定値 | 説明 |
---|---|
on | LASサーバーから応答がない場合にコネクションを切断する |
off | LASサーバーから応答がなくてもコネクションを切断しない |
機能 : 有効 ログ送信結果 : 成功 SYSLOG送信速度 : 100行 / 60秒 SYSLOG送信キュー長 : 26
本機能において出力されるSYSLOGメッセージを以下に示します。
レベル | 出力メッセージ | 意味 | ログ種類の表示 | Proxy表示 | ヤマハネットワーク機器内部のみ |
---|---|---|---|---|---|
INFO | Activated | LASクライアントが有効になった | |||
Inactivated | LASクライアントが無効になった | ||||
Retry count exceeded, N logs were discarded | リクエストの再送回数が超過したため、ログがN個破棄された | ○ | ○ | ||
Tx queue was full | 送信キュー長が最大値に到達した | ○ | |||
DEBUG | Activating... | LASクライアントを有効にしている | |||
Inactivating... | LASクライアントを無効にしている | ||||
Could not connect to server: (理由) | (理由) によりLASサーバーに接続できなかった | ○ | ○ | ||
Retrying Tx request (N times)... | リクエスト送信に失敗したため、N回目の再送をする | ○ | ○ | ||
Retry count exceeded | リクエストの再送回数が超過した (ログは送信キューに蓄積されているため、欠落していない) | ○ | ○ | ||
Received invalid message | LASサーバーから予期せぬタイミングでメッセージを受信した | ○ | ○ | ||
Received error response: (理由) | LASサーバーから (理由) というエラー応答を受信した | ○ | ○ | ||
Received invalid response | LASサーバーから不正な応答を受信した | ○ | ○ | ||
Connection was closed unexpectedly: (理由) | (理由) によりLASサーバーとのコネクションが予期せず切断された | ○ | ○ | ||
Request timed out after N seconds | 送信したリクエストに対するLASサーバーからの応答待ちがN秒経過したため、タイムアウトした | ○ | ○ |
実際に出力されるメッセージには "[LASC]" のプレフィックスが付加されます。
複数の種類のログ収集に対応しているファームウェアで、"ログ種類の表示" 欄が "○" になっているSYSLOGが出力される場合、ログの種類を示す以下の文字列がプレフィックスに追加されます。
プレフィックス文字列 | ログの種類 |
---|---|
SYSLOG | SYSLOG |
DEVSTAT | 機器統計情報 |
yno https-proxyコマンドが設定されている状態で、"Proxy表示" 欄が "○" になっているSYSLOGが出力される場合、プレフィックスに "(Proxy)" の文字列が追加されます。
"ヤマハネットワーク機器内部のみ" 欄が "○" になっているSYSLOGはLASサーバーに送信されません。