LogicMonitorポータルでメンテナンスAPIスクリプトを実行する必要がある場合があります。 たとえば、廃止されたデバイスを特定のフォルダーに移動します。これらのデバイスでアラートを受信する必要がなくなったためです。 APIスクリプトは、このフォルダーに追加された新しいデバイスでアラートを無効にするためにXNUMX日XNUMX回実行することにより、プロセスを自動化するのに役立ちます。
XNUMXつの解決策は、APIスクリプトを AWS Lambda関数.
アマゾンによると:
AWS Lambdaを使用すると、サーバーをプロビジョニングまたは管理せずにコードを実行できます。 消費した計算時間に対してのみ料金を支払います。コードが実行されていないときは無料です。 Lambdaを使用すると、事実上すべてのタイプのアプリケーションまたはバックエンドサービスのコードを実行できます。すべて管理なしで実行できます。 コードをアップロードするだけで、Lambdaがコードの実行とスケーリングに必要なすべてを高可用性で処理します。 他のAWSサービスから自動的にトリガーするようにコードを設定するか、任意のWebまたはモバイルAPから直接呼び出すことができますp.
サーバー上でcronジョブやWindowsスケジュールタスクを構成しなくても、PythonまたはJavaスクリプトをXNUMX日XNUMX回の速度で実行するのに最適です。
Lambdaで動作させるには、Pythonスクリプトにいくつかの小さな変更を加える必要があります。
ラムダ関数を設定する手順:
- 通常どおりPythonコードを記述します
- 通常のコードに加えて、ハンドラーを定義する必要があります。 基本的なAPIPythonスクリプトの場合、以下で十分です。 残りのコードをインデントするだけです
def lambda_handler(request_obj、context = None):
クローズステートメントは必要ありません。
LambdaのデフォルトのPython環境は削除されており、モジュールはそれほど多く含まれていません。 LogicMonitor APIスクリプトには「requests」モジュールが必要です。つまり、仮想Python環境を構築し、リクエストをインストールして、zip形式で圧縮し、AWSにアップロードする必要があります。
これを行うにはいくつかの方法がありますが、最も簡単な方法は、Ubuntu環境内でPIPを使用することです。
$ sudo apt-get install python-pip python-dev build-essential $ sudo pip install --upgrade pip $ sudo pip install --upgrade virtualenv
次に、スクリプトとサポートするPythonモジュールを保存するディレクトリを作成します。 現在の例では、名前を付けています アラートを無効にする スクリプトは、特定のLogicMonitorグループに移動されたすべての新しいデバイスでアラートを無効にするためです。
$ mkdir アラートを無効にする
次に、スクリプトの実行に必要なため、requestsパッケージをターゲットディレクトリにインストールする必要があります。 このコマンドは、disablealertsディレクトリにリクエストをインストールします。
$ pipインストールリクエスト-tdisablealerts
次に、Python APIスクリプトをdisablealertsディレクトリのルートに保存し、圧縮します
cd disablealerts zip -r disablealerts.zip *
Python環境を作成して圧縮したので、AWSでLambda関数を作成できます。
にログインします AWSコンソール ラムダセクションを開きます
- 「関数の作成」をクリックします。
- 「最初から作成」を選択し、適切な名前を指定します。
- ランタイムをPython3.7に設定します。
- [役割]で、[既存の役割を選択]を選択します
- 既存のロールに「lambda_basic_execution」を選択します。
- 「関数の作成」ボタンを押します
- 「コード入力タイプ」を「.zipファイルのアップロード」に変更し、前の手順で作成した.zipファイルを参照してアップロードします。
- 「ハンドラー」は、実行するPythonファイルの名前であり、その後に.lambda_handlerが続く必要があります(例:「index.lambda_handler」)。
- 環境変数は変数に使用できます(オプション)。 この例では、スクリプト自体からアクセスIDとアクセスキーを削除し、[環境]セクションでそれらを定義できます。 これらの値を取得するPythonコードは次のようになります。
- AccessId = os.environ ['AccessId']
- AccessKey = os.environ ['AccessKey']
- テストボタンをクリックしてスクリプトを実行し、Lambda環境で正しく機能することを確認します。
時間間隔を設定するには、「Addtriggers」セクションから「CloudWatchEvents」をクリックします。 これにより、「「トリガー」の構成」ウィンドウが開き、適切なルールを選択したり、 新しいカスタムルールを作成します。 アラートを無効にする例では、デフォルトのルール「once_a_day_10_min_before_midnight」が最適です。
LogicMonitorが環境でどのように役立つかについて詳しく知りたい場合は、ここでサインアップしてください。 無料試用 or デモ.