GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuでElasticsearchを使用してElastAlertをインストールする方法

大量のデータを管理する必要がある場合は、ある日、データの異常や不整合を指摘し、リアルタイムで警告するツールを望んでいることに気付くでしょう。

ElastAlertとは何ですか?

ElastAlertは、まさにそれを行うように設計されています。これは、Elasticsearchに追加されたデータから異常、スパイク、またはその他のルールのパターンを検出したときにアラートを出すシンプルなフレームワークです。

たとえば、「頻度」アラートを設定して、Y時間にX個のイベントが発生したときに通知することができます。

または、「スパイク」イベントが発生した場合、つまりイベントの発生率が突然増加または減少した場合に、すぐに警告を表示したい場合があります。

含まれている他のルールタイプは次のとおりです。

  • 「フラットライン」–Y時間にX未満のイベントがある場合
  • 「ブラックリスト/ホワイトリスト」–特定のフィールドが「ブラックリスト」または「ホワイトリスト」と一致する場合
  • 「any」–特定のフィルターに一致するイベントが発生したとき
  • 「変更」–指定された期間内にフィールドに2つの異なる値がある場合

サポートされているアラートタイプ

現在、ElastAlertには、次のアラートタイプのサポートが組み込まれています。

  • コマンド
  • メール
  • JIRA
  • OpsGenie
  • SNS
  • HipChat
  • たるみ
  • 電報
  • GoogleChat
  • デバッグ
  • ストンプ
  • theHive

UbuntuにElasticsearchを使用してElastAlertをインストールする

この記事では、ubuntu18.04にElastAlertをインストールする方法を紹介します。

要件

  • Elasticsearch
  • ISO8601またはUnixのタイムスタンプ付きデータ
  • Python 2.7
  • pip、requirements.txtを参照–(https://github.com/Yelp/elastalert/blob/master/requirements.txt)
  • ubuntuのパッケージ– python-pip python-dev libffi-dev libssl-dev

前提条件のインストール

Python 2.7をインストールする:

sudo apt-get install python-minimal

Pythonのバージョンを確認してください:

sudo python --version

次に、Python2.7の出力を取得します。

必要なパッケージをインストールします:

sudo apt-get install python-pip python-dev libffi-dev libssl-dev

ElastAlertをインストールする方法はいくつかありますが、ここではgitリポジトリのクローンを作成してインストールします。

したがって、先に進む前に「git」をインストールする必要があります。通常、Ubuntu18.04にはすでにgitがインストールされています。

インストールされているバージョンまたは利用可能なバージョンのgitを確認します:

sudo apt-cache policy git

これにより、インストールされているgitバージョンと候補のgitバージョンの詳細が表示されます。

インストールされているgitバージョンが表示されない場合は、次のコマンドを実行してください。

sudo apt-get install git

ElastAlertリポジトリを「/opt」フォルダに複製するため、ディレクトリを変更します。

sudo cd /opt

次に、gitリポジトリのクローンを作成します。

sudo git clone https://github.com/Yelp/elastalert.git

次に、モジュールをインストールします。

sudo pip install "setuptools>=11.3"
sudo python setup.py install

このようなエラーが発生する可能性があります。

次に、以下のコマンドを実行して「PyOpenSSL」をインストールします

sudo pip install PyOpenSSL

ここでは、Elasticsearch6.xと統合します。そのため、Elasticsearch5.0以降がここにインストールされます。

sudo pip install "elasticsearch>=5.0.0"

ElastAlertの構成

ElastAlertリポジトリのクローンを「/opt」ディレクトリに作成したため、続行する前にディレクトリを変更してください。

sudo cd /opt/elastalert/

これで、config.yaml.exampleファイルのコピーがconfig.yamlとして取得されます

sudo cp config.yaml.example config.yaml

config.yamlファイルを変更します。

vim config.yaml

次の行のコメントを解除して変更します。

ElasticSearchのホスト名またはIP

es_host: elk-server

ElasticServerポート

es_port: 9200

基本認証のコメントを外す:

es_username: 
es_password:

ファイルを保存して閉じます。

ElastAlertインデックスを作成します。

sudo elastalert-create-index

ルールの作成

次に、「/ opt / elastalert /example_rules/」フォルダー内の「example_frequency.yaml」というタイトルのファイルを編集します

sudo vim example_rules/example_frequency.yaml

次のようにインデックスのコメントを解除して変更します。

index: filebeat-*

次に、アラートのフィルターを定義します。ここでは、文字列「exception」でキーワードをフィルタリングします。

filter:
- query_string:
    query: "message:*exception*"

SlackでAlterを設定します。ここでは、Slackチャネルと着信Webhookを作成する必要があります。次に、次のように構成の詳細を追加します。

alert:
 - "slack"
slack:
slack_webhook_url: "https://hooks.slack.com/services/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"
slack_username_override: "Fosslinux-Elastic-Bot"
slack_channel_override: "#fosslinuxalert"
slack_emoji_override: ":robot_face:"
slack_msg_color: "danger"

以下の手順に従って、Slackチャネルを作成できます。

ElastAlertのSlackチャネルの構成

Slackアカウントをお持ちでない場合は、登録するだけでアカウントを取得できます。 「slack.com」にアクセスしてメールアドレスを入力し、「はじめに」をクリックします。

次に、[新しいワークスペースを作成]をクリックして、メールアドレスを確認します。これで、ログインしてダッシュボードを表示できます。

[アプリの参照]->[カスタム統合]->[受信Webhook]->[新しい構成]

に移動します

次に、[新しいチャネルを作成]をクリックして、アラートを送信するためのチャネルを作成します。

次に、[チャンネルの作成]ボタンをクリックすると、Webhook統合ページに移動します。

[受信WebHooks統合の追加]ボタンをクリックします。これにより、統合設定が作成されます。

テストルール

ディレクトリをElastAlertに変更します。

sudo cd /opt/elastalert/

以下のコマンドを実行して、構成されたルールをテストします。

sudo elastalert-test-rule example_rules/example_frequency.yaml

ElastAlertを実行

バックグラウンドサービスとしてElastAlertを開始します。このコマンドは、「/ opt /elastalert/」フォルダー内で実行する必要があります。

sudo python -m elastalert.elastalert --verbose --rule example_frequency.yaml &

これで、ElastAlertはElasticsearch(ELKサーバー上)でクエリのチェックを開始します。一致するものがある場合は、Slackにアラートを送信します。

アラートがトリガーされました。

アラートはSlackチャネルに送信されます。

これで、Elastic Searchを使用してElastAlertを正常にインストールおよび構成し、Slackへのアラートを設定しました。この徹底的なチュートリアルが、ElastAlertをインストールし、アラートを簡単にトリガーするためのいくつかのルールを設定するのに役立つことを願っています。コメントセクションで質問やフィードバックを歓迎します。


Ubuntu
  1. Ubuntu18.04にDockerをインストールする方法

  2. ubuntu20.04にZammadコミュニティをインストールする方法

  3. SSL を使用して Ubuntu 22.04 に Elasticsearch をインストールする方法

  1. Ubuntu18.04にApacheをインストールする方法

  2. vsftpdを使用してUbuntuにFTPサーバーをインストールする方法

  3. Ubuntu18.04にMariaDB10.4をインストールする方法

  1. Ubuntu18.04にMongoDBをインストールする方法

  2. Ubuntu18.04にElasticsearchをインストールする方法

  3. Ubuntu18.04にApacheを使用してJoomlaをインストールする方法