ElasticsearchでのVMware ESXi LOGの収集とGrafanaでの視覚化

さて、今日はログ収集についての別の投稿の時間です, それらをどのように扱うか、そして何よりもそれらを視覚化する方法; このドキュメントでは、VMware ESXiハイパーバイザーログを使用してプロセス全体を実行する方法について説明します, Elastic Stackで処理し、最終的にGrafanaで興味のあるものを視覚化します, エラーログなど, サインインが正しくない…

VMwareインフラストラクチャに携わるすべての人は、その基盤全体が優れたハイパーバイザーによって支えられていることを知っています, 私たちの最愛のESXiホスト. セキュリティと安定性に基づくハイパーバイザー, 彼らは通常、ほとんど問題を引き起こさないこと, しかし、健康状態を追跡するために一元化された場所にログを収集しても害はありません. ご存知のように, ログをsyslogに保存できます, だから、それを利用する, ログをLogstashに送信します. Logstashは、ログの受け取りと注文を担当します, 面倒なテキスト文字列を有効なデータを持つ異なるフィールドに分割する, 最終的にこのデータをElasticsearchに送信し、インデックスに格納します. その後、KibanaまたはGrafanaを通じて、そのコンテンツをグラフィックで視覚化できるようになります, ホストへのログイン試行を表示する (SSHで, GUIの…), アクセスを表示するだけ, 失敗したイベントの理解, 異なるハイパーバイザーを相互に比較する, 繰り返し発生するエラーを知る… そして、これらすべては、常にリアルタイムで、または過去24時間の履歴データを作成するために, 週, 月, 年…

まず、明らかにElastic Stackパーツをインストールする必要があります, これまでの経緯 ログスタッシュ, エラスティックサーチ そして キバナ; 次に、各ハイパーバイザーにログをLogstashに送信するように指示します, 私たちの選択の港に. やめてください, それを行う方法はたくさんあります, ホスト間, GUIから, CLIの, vCenter から…

ホストが少ない場合に最適です, vCenterから各ホストに移動します, で “構成” > システムの詳細設定” > そして私たちは求めています “syslog.globalの”, 「Syslog.global.logHost」を編集します” TCP/UDP形式での表示://DIRECCION_IP:PORTログの宛先. または、PowerShell を使用するのがさらに良いでしょう:

Get-VMHostSysLogServer -VMHost NOMBRE_HOST_ESXi
Set-VMHostSysLogServer -VMHost NOMBRE_HOST_ESXi -SysLogServer 'udp://DIRECCION_IP:PUERTO
Set-VMHostSysLogServer -VMHost NOMBRE_HOST_ESXi -SysLogServer 'tcp://DIRECCION_IP:PORT Get-VMHostSysLogServer -VMHost NOMBRE_HOST_ESXi Get-VMhostFireWallException -VMhost NOMBRE_HOST_ESXi -Name syslog Get-VMHostFireWallException -VMHost NOMBRE_HOST_ESXi -Name Syslog | Set-VMHostFirewallException -有効:$真.

インプット {
        TCPの {
                タイプ => "ESXi の"
                ポート => "1514"
                タグ => ["ヴイエムウェア","ESXi の"]
        }
}

フィルター {

        もし [種類] == "ESXi の" {
                        グロック {
                            マッチ => { "メッセージ" => [
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ホストd: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{貪欲なデータ:Op_id} ユーザー=%{貪欲なデータ:利用者}\] %{貪欲なデータ:Evento_tipo} %{貪欲なデータ:Evento_codigo} : %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ホストd: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{貪欲なデータ:Op_id} ユーザー=%{貪欲なデータ:利用者}\] %{貪欲なデータ:Evento_codigo}: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ホストd: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{貪欲なデータ:Op_id} ユーザー=%{貪欲なデータ:利用者}\] \(%{貪欲なデータ:Evento_codigo}\)",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ホストd: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{貪欲なデータ:Op_id}\] \[%{貪欲なデータ:Evento_codigo}\]: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ホストd: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{貪欲なデータ:Op_id}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ホストd: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ホストd: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} Vpxaの: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{貪欲なデータ:Op_id}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} Vpxaの: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} Vpxaの: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} Rhttpプロキシ: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} Rhttpプロキシ: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} apiForwarder (英語): %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} VSANMGMTSVC: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[opID=%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} VSANSYSTEM(ブッサンシステム): %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} VSANSYSTEM(ブッサンシステム): %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} vmkernel: %{言葉:CPU_core}:%{イント:Evento_id}\)%{貪欲なデータ:タイトル}: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} vmkernel: %{言葉:CPU_core}:%{イント:Evento_id} opID=%{プログレッシブ:Op_id}\)%{貪欲なデータ:タイトル}: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} vmkernel: %{言葉:CPU_core}:%{イント:Evento_id}\)%{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} vmk警告: %{言葉:CPU_core}:%{イント:Evento_id}\)%{貪欲なデータ:タイトル}: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} エフディーム: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{プログレッシブ:Op_id}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} エフディーム: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} hostd-プローブ: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\]: 利用者 %{言葉:利用者} ピッド %{イント:ピッド} %{言葉:Tipo_proceso} %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\]: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} esxtokend: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{日付:Op_id}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} クムサ: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル} opID=%{日付:Op_id}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} クムサ: %{言葉:Log_nivel} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\] \[Originator@6876サブ=%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ボブド:  \[%{言葉:Log_nivel}\] %{言葉:Log_id}: \[%{貪欲なデータ:タイトル}\] %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} configStoreBackup: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} 構成ストア[%{イント:Evento_id}\]: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} 心音: %{言葉:Uptime_estado} %{言葉:Uptime_tiempo}, %{貪欲なデータ:MVs_encendidas}; %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} ISCSIDの: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} 賢い: \[%{言葉:Log_nivel}\] %{貪欲なデータ:タイトル}: %{貪欲なデータ:メッセージ}",
                               "<%{ポシント:syslog_pri}>%{TIMESTAMP_ISO8601:日付} %{ホスト名:Host_ESXi} %{プログレッシブ:Log_proceso}\[%{イント:Evento_id}\]: %{貪欲なデータ:メッセージ}"
                                       ]
                            }
                        }
        }
}


アウトプット {

        もし ([種類]=="ESXi の"){

                エラスティックサーチ {
                   インデックス => "vmware_esxi%{+YYYYです。MM.ddの}"
                   hosts=> "DIRECCION_IP_ELASTICSEARCH:9200"
                }

        }
}

次に、Logstashをタップします, したがって、一度接続すると, 設定ファイルで作成します , 例えば: '/etc/logstash/conf.d/vmware-esxi.conf'. そして、それがリスニングポートを示す場所です, TCPまたはUDPを選択し、フィルターも付属します. 私がいつもグルに石を投げないでほしいと頼むように, ただし、これらのgrokはVMware ESXiログの解析に有効です 7.0, もちろんです, 改善可能で、多くの😉良い, ログをチャンクに分割した後、ログをElasticsearchに保存することをお伝えします, そして、インデックスを入れます. 私のようにならないようにし、資格情報も追加してください, これは: ユーザー名 & パスワード.

設定ファイルが作成されたら, 新しい構成を再ロードするには、Logstashサービスを再起動することを忘れないでください. 後, Kibanaに移動し、データが入ってきたら「Management」に進むことができます > 「スタック管理」 > 「キバナ」 > 「インデックスパターン」 > インデックスパターンを作成する「インデックスパターンを作成」, 私が言ったように, いつも通り (この場合、引用符は付けません) 'vmware_esxi-*'と入力すると、データはすでにElasticsearchに正しく保存されています. これで、「Discover」からVMware ESXiインデックスに接続し、データが収集されていることを視覚化できます, すべてのホストが送信…

そして仕上げに, Kibana でインデックスを作成した後, Grafanaでは、Elasticsearchと新しく作成されたVMwareESXiインデックスを指す「データソース」を作成する必要があります. それから、それはあなたの想像力を暴走させます, 異なるダッシュボードでダッシュボードを作成する, 視覚化するさまざまなデータを使用, スタイルパネル サンキー 送信元/宛先 IP と送信されているトラフィックを表示する, 列形式で, で 行き詰り 特定のデータを表示するには (ログイン試行など), そうです, 間違った, エラーログを補充して修正してみてください, 異なるホスト間の「標準」の比較’ 特定の情報ログの頻度, 警告, エラー….

いつも通り, これらすべては、必要に応じてあなたを鼓舞しようとするものです, アイデアを取り入れて改善する, これにより、ESXiで何が起こっているかをリアルタイムで確認できるようになります, 自動更新を every に 10 秒はとても印象的です, また、最終日の概要を分析するのにも役立ちます, または、何か奇妙なことが起こったときに知っています...いつも通り, ソーシャルネットワーク上でこのタイプのコンテンツを移動するために、皆さんに感謝します!!! 😉

おすすめの投稿

著者

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, 私に連絡することを躊躇しないでください, できる限りお手伝いします, シェアリングは生きていること ;) . ドキュメントを楽しむ!!!