LAS

$Date: 2021/04/19 05:37:23 $


概要

LAS (Log Analysis Service) はヤマハネットワーク機器の各種ログをYNOマネージャーに集約し、分析するサービスです。YNOエージェントはヤマハネットワーク機器からログを収集し、YNOマネージャーに送信します。本文書では、YNOエージェントの処理を中心に説明します。


用語の説明

用語 説明
LASクライアント YNOエージェントの機能の一部です。ヤマハネットワーク機器のログを収集し、LASサーバーに送信します。
LASサーバー YNOマネージャーに組み込まれているサーバーです。LASクライアントから送信されたログを受信し、LAS分析基盤に転送します。

注意事項

以下の設定とLASの併用は非推奨です。SYSLOGが大量に発生することで、一部のSYSLOGがYNOマネージャーに保存されない可能性があります。


対応機種とファームウェアリビジョン

YNOエージェント機能 - 対応機種とファームウェアリビジョンを参照してください。


詳細

システム構成

LASのシステム構成を以下に示します。LASクライアントはヤマハネットワーク機器のログを収集し、LASサーバーに送信します。LASサーバーはLASクライアントから受信したログをLAS分析基盤に転送します。LAS分析基盤は転送されたログを集約、分析し、YNOマネージャーのGUIに情報を表示します。

システム構成

本文書の公開時点で、LASクライアントはSYSLOGの収集に対応しています。

LASクライアントの有効化

LASクライアントを有効にするには、YNOマネージャーで設定を変更する必要があります。詳細は以下を参照してください。

YNO操作マニュアル - LAS

ヤマハネットワーク機器には、YNOを使用するための以下の設定が必要です。これ以外に追加の設定は必要ありません。

LASの動作状態はshow status ynoおよびshow status yno lasで確認できます。

SYSLOGの収集

LASクライアントが有効になっている場合、ヤマハネットワーク機器内部で発生したSYSLOGは、LASクライアントが持つ送信キューに一時的に蓄積されます。送信キューに蓄積されたSYSLOGは、SYSLOGの送信に記載されているルールに従ってLASサーバーに送信されます。SYSLOGが送信キューに蓄積されるには、SYSLOGの各レベルに対応した出力設定 (syslog info/syslog notice/syslog debug) がonになっている必要があります。

送信キュー長の最大値はyno las syslog queue lengthで設定します。SYSLOGの発生頻度が送信速度を上回っている場合、送信キュー長は長くなっていきます。送信キュー長が最大値に達している状態でさらにSYSLOGが発生した場合、そのSYSLOGはLASサーバーに送信されることなく破棄されます。このとき "[LASC] Tx queue was full" のSYSLOGがINFOレベルで出力されると同時に、YNOで「LAS - ログ欠落」のアラームが発生します。"[LASC] Tx queue was full" のSYSLOGはLASサーバーに送信されません。

ヤマハネットワーク機器の起動時はLASクライアントが無効になっており、YNOエージェントがYNOマネージャーと通信して初期化が完了するまでLASクライアントが有効になりません。この場合でも、起動時のCONFIGにyno use onとyno access codeの両方が設定されている場合は、起動後に発生したSYSLOGが送信キューに蓄積されます。LASクライアントが有効になる前に送信キュー長が最大値に到達した場合、それまでに送信キューに蓄積されていたSYSLOGはすべて破棄されます。LASクライアントが有効にならない限り、それ以降発生したSYSLOGは送信キューに蓄積されません。

以下の場合、送信キューに蓄積されたSYSLOGは破棄され、LASサーバーには送信されません。

SYSLOGの送信

LASクライアントは送信キューに蓄積されたSYSLOGを古いものから順に、一定の時間間隔でLASサーバーに送信します。一度に送信するSYSLOGの行数は最大で100行です。

SYSLOG送信の時間間隔は状況に応じて以下の通り切り替わります。

状況 時間間隔
通常時 (送信キュー長が100行以下のとき) 1分おき
送信キュー長が100行を超えたとき 10秒おき
YNOマネージャーでリアルタイム表示をしているとき 1秒おき

SYSLOG送信の時間間隔をヤマハネットワーク機器の設定で変更することはできません。

LASクライアントはSYSLOG送信後、yno las request timeoutで設定されている時間、LASサーバーからの応答を待ちます。応答待ち時間が超過した場合、あるいはLASサーバーからエラーが返された場合、LASクライアントは送信に失敗したと判定し、yno las request retryで設定されている回数、送信を再試行します。失敗判定から再試行までの時間間隔は、以下の式で計算されます。

(再試行回数 - 1) × 2 + 1 [秒]

SYSLOG送信の失敗が継続すると、やがてSYSLOGが破棄され、YNOで「LAS - ログ欠落」のアラームが発生します。このケースは、LASサーバーへの接続失敗が継続する場合と、SYSLOGの送信後にエラーが発生する場合の2つに分類されます。LASクライアントがLASサーバーへの接続に失敗する状況が継続する場合、その間に発生したSYSLOGは送信キューに蓄積され続けます。したがって、送信キュー長が最大値を超過した時点で「LAS - ログ欠落」のアラームが発生します。一方で、LASサーバーへは接続できてSYSLOGを送信したが、LASサーバーからの応答待ち時間が超過した、あるいはLASサーバーからエラーが返されたことで、送信を再試行し、再試行回数が超過した場合、その時点で「LAS - ログ欠落」のアラームが発生します。例えばインターネット回線がダウンしている場合は、前者の「LASサーバーへの接続失敗が継続する場合」に該当します。したがって、送信キュー長が最大値に達する前に回線が復旧すればSYSLOGは破棄されず、「LAS - ログ欠落」のアラームも発生しません。後者の「LASサーバーから正常に応答を受信できない場合」はLASサーバーの動作が異常であり、通常は発生しません。

LASクライアントはSYSLOG送信時にLASサーバーとのコネクションを確立し、送信が完了とすると切断します。ただし、YNOマネージャーでリアルタイム表示をしている間はコネクションを維持した状態となります。LASサーバーとの通信経路上にファイアウォールが存在するなどして、無通信タイマーによりコネクションが切断される場合、LASクライアントからキープアライブパケットを送信することで症状が改善する場合があります。LASクライアントのキープアライブ動作はyno las connection keepaliveで設定できます。

送信キューにSYSLOGが蓄積されている状態でヤマハネットワーク機器を再起動した場合、LASクライアントは再起動直前に、送信キューに蓄積されているSYSLOGを最大で100行送信しようと試みます。この処理は、タイミングによっては失敗する可能性があります。


コマンド

SYSLOG送信キューの長さの設定

[書式]
yno las syslog queue length LENGTH
no yno las syslog queue length
[設定値および初期値]
[説明]
SYSLOG送信キュー長の最大値を設定する。現在の送信キュー長より小さい値を設定しても、すでに送信キューに蓄積されているSYSLOGは破棄されることなく、順次LASサーバーに送信される。

LASクライアントが送信したリクエストに対するLASサーバーからの応答待ちがタイムアウトするまでの時間の設定

[書式]
yno las request timeout SECONDS
no yno las request timeout
[設定値および初期値]
[説明]
LASクライアントが送信したリクエストに対するLASサーバーからの応答待ちがタイムアウトするまでの時間を設定する。

LASクライアントがリクエストの送信を再試行する回数の設定

[書式]
yno las request retry COUNT
no yno las request retry
[設定値および初期値]
[説明]
LASクライアントがリクエストの送信を再試行する回数を設定する。

LASサーバーとのコネクションに対するキープアライブの設定

[書式]
yno las connection keepalive INTERVAL [timeout=SW]
no yno las connection keepalive
[設定値および初期値]
[説明]
YNOマネージャーでリアルタイム表示をしている間、LASクライアントはLASサーバーとの間でコネクションを確立した状態となる。コネクションが確立されている間は、INTERVALに設定された時間間隔でLASクライアントからキープアライブパケットが送信される。SWがonに設定されている場合、キープアライブパケットが送信されてからINTERVALで設定された時間までにLASサーバーから応答がないと、LASクライアントはコネクションを一旦切断し、再接続を試みる。

LASの動作状態の表示

[書式]
show status yno las
[説明]
LASの動作状態を表示する。
[表示例]
# show status yno las
機能               : 有効
ログ送信結果       : 成功
SYSLOG送信速度     : 100行 / 60秒
SYSLOG送信キュー長 : 26

SYSLOGメッセージ一覧

本機能において出力されるSYSLOGメッセージを以下に示します。

実際に出力されるメッセージには "[LASC]" のプレフィックスが付加されます。yno https-proxyコマンドが設定されている状態で、表の "Proxy表示" 欄に "○" が表示されているSYSLOGが出力される場合、さらに "(Proxy)" のプレフィックスが付加されます。

表の "ヤマハネットワーク機器内部のみ" 欄に "○" が表示されているSYSLOGはLASサーバーに送信されません。

レベル 出力メッセージ 意味 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秒経過したため、タイムアウトした

関連文書