管理 → スクリプトセクションでは、ユーザー定義のグローバルスクリプトを設定および保守できます。
構成されたスコープとユーザー権限に応じて、グローバルスクリプトを実行できます。
スクリプトはZabbixエージェント、Zabbixプロキシ、またはZabbixサーバーでのみ実行されます。 コマンド実行も参照してください。
ZabbixエージェントとZabbixプロキシリモートスクリプトの両方がデフォルトで無効になっています。それらは次の方法で有効にできます。
1
に設定します。既存のスクリプトとその詳細のリストが表示されます。
表示データ
列 | 説明 |
---|---|
Name | スクリプトの名前。スクリプト名をクリックすると、スクリプト設定フォームが開きます |
Scope | スクリプトの範囲。アクション操作、手動ホストアクション、または手動イベントアクション。この設定により、スクリプトを使用できる場所が決まります。 |
Used in actions | スクリプトが使用されているアクションが表示されます。 |
Type | スクリプトタイプが表示されます - Webhook、* Script 、 SSH 、 Telnet 、またはIPMI*コマンド。 |
Execute on | スクリプトがZabbixエージェント、Zabbixプロキシ、またはZabbixサーバーの何処で実行されるかが表示されます。 |
Commands | スクリプト内で実行されるすべてのコマンドが表示されます。 |
User group | スクリプトを使用できるユーザーグループが表示されます(すべてのユーザーグループの場合はすべて) |
Host group | スクリプトを使用できるホストグループが表示されます(すべてのホストグループの場合はすべて) |
Host access | ホストグループのアクセス許可レベルが表示されます - 読み取りまたは書き込み。必要な権限レベルを持つユーザーのみが、スクリプトの実行にアクセスできます。 |
新しいスクリプトを構成するには、右上隅にあるスクリプトの作成ボタンをクリックします。
リストの下にあるボタンは、1つの一括編集オプションを提供します。
このオプションを使用するには、それぞれのスクリプトの前にあるチェックボックスをオンにして、削除をクリックします。
フィルタを使用して、関心のあるスクリプトのみを表示できます。検索パフォーマンスを向上させるために、データは未解決のマクロで検索されます。
Filterリンクは、スクリプトのリストの上にあります。それをクリックすると、名前とスコープでスクリプトをフィルタリングできるフィルターが使用可能になります。
スクリプト属性
パラメータ | 詳細 | |||
---|---|---|---|---|
名前 | 一意なスクリプト名 例: Clear /tmp filesystem |
|||
範囲 | スクリプトの範囲 - アクション処理、手動ホスト処理、または手動イベント処理。この設定は、スクリプトを使用できる場所を決定します - アクション操作のリモートコマンドで、ホストメニューまたはイベントメニュー 範囲を'アクション処理'に設定すると、構成→アクションにアクセスできるすべてのユーザーがスクリプトを使用できるようになります。 スクリプトが実際にアクションの場合、その範囲を「アクション処理」から変更することはできません。 マクロのサポート 範囲は、使用可能なマクロの範囲に影響します。たとえば、ユーザー関連のマクロ({USER.*})はスクリプトでサポートされており、スクリプトを起動したユーザーに関する情報を渡すことができます。ただし、スクリプトスコープがアクション処理の場合は、アクション処理が自動的に実行されるため、サポートされていません。 サポートされているマクロを確認するには、「トリガーベースの通知とコマンド/トリガーベースのコマンド」を検索してください。 サポートされているマクロテーブルの「手動ホスト処理スクリプト」および「手動イベント処理スクリプト」。マクロがスペースを含む値(ホスト名など)に解決される可能性がある場合は必要に応じて引用符で囲むことを忘れないでください。 |
|||
メニューパス | スクリプトへの目的のメニューパス。たとえばDefault またはDefault / は、それぞれのディレクトリにスクリプトを表示します。メニューはネストできます。たとえばメインメニュー/サブメニュー1/サブメニュー2 。監視セクションのホスト/イベントメニューからスクリプトにアクセスすると、指定されたディレクトリに従ってスクリプトが整理されます。このフィールドは、[手動ホスト処理]または[手動イベント処理]が範囲として選択されている場合にのみ表示されます。 |
|||
タイプ | ボタンをクリックして、スクリプトタイプを選択します: Webhook,Script,SSH,Telnetまたは** IPMI**コマンド |
|||
スクリプトタイプ: Webhook | ||||
パラメータ | Webhook変数を属性と値のペアとして指定します。 関連項目:Webhook メディア設定 マクロとカスタムユーザーマクロはパラメーター値でサポートされています。マクロのサポートはスクリプトの範囲によって異なります(上記の範囲を参照) |
|||
スクリプト | パラメータフィールド(またはその横にある表示/編集ボタン)をクリックすると表示されるブロックにJavaScriptコードを入力します。 マクロのサポートはスクリプトの範囲によって異なります(上記の範囲を参照)<br >関連項目:Webhook メディア設定 ,追加のJavascriptオブジェクト |
|||
タイムアウト | JavaScript実行タイムアウト(1〜60秒、デフォルトは30秒) タイムサフィックスがサポートされています。例: 30s, 1m |
|||
スクリプトタイプ:スクリプト | ||||
次で実行 | それぞれのボタンをクリックしてシェルスクリプトを実行します。 ** Zabbixエージェント** - スクリプトはホスト上のZabbixエージェントによって実行されます(system.runアイテムが許可されている場合) ** Zabbixサーバー(プロキシ)** - スクリプトはZabbixサーバーまたはプロキシによって実行されます(EnableRemoteCommandsによって有効になっている場合)- ホストはサーバーまたはプロキシによって監視されます Zabbixサーバー - スクリプトはZabbixサーバーによってのみ実行されます。 |
|||
コマンド | スクリプト内で実行するコマンドへのフルパスを入力します。 マクロのサポートはスクリプトの範囲によって異なります(上記の範囲を参照)。カスタムユーザーマクロがサポートされています。 |
|||
スクリプトタイプ: SSH | ||||
認証方法 | 認証方法を選択します - パスワードまたは公開鍵 | |||
ユーザー名 | ユーザー名を入力します | |||
パスワード | パスワードを入力します このフィールドは、認証方法として'パスワード'が選択されている場合に使用できます。 |
|||
公開鍵ファイル | 公開鍵ファイルへのパスを入力します。 このフィールドは、認証方法として'公開鍵'が選択されている場合に使用できます。 |
|||
秘密鍵ファイル | 秘密鍵ファイルへのパスを入力します。 このフィールドは、認証方法として'公開鍵'が選択されている場合に使用できます。 |
|||
キーのパスフレーズ | パスフレーズを入力します。 このフィールドは認証方法として'公開鍵'が選択されている場合に使用できます。 |
|||
ポート | ポート番号を入力します | |||
コマンド | コマンドを入力します。 マクロのサポートはスクリプトの範囲によって異なります。(上記の範囲を参照)カスタムユーザーマクロがサポートされています。 |
|||
スクリプトタイプ: Telnet | ||||
ユーザー名 | ユーザー名を入力します | |||
パスワード | パスワードを入力します | |||
ポート | ポート番号を入力します | |||
コマンド | コマンドを入力します。 マクロのサポートはスクリプトの範囲によって異なります。(上記の範囲を参照)カスタムユーザーマクロがサポートされています。 |
|||
スクリプトタイプ: IPMI | ||||
コマンド | IPMIコマンドを入力します。 マクロのサポートはスクリプトの範囲によって異なります。(上記の範囲を参照)カスタムユーザーマクロがサポートされています。 |
|||
説明 | スクリプトの説明 | |||
ホストグループ | スクリプトを使用できるホストグループを選択します(すべてのホストグループの場合はすべて) | |||
ユーザーグループ | スクリプトを使用できるユーザーグループを選択します。(すべてのユーザーグループの場合はすべて) このフィールドは範囲が「手動ホスト処理」または「手動イベント処理」の時に表示されます。 |
|||
必要なホストへのアクセス権 | ホストグループのアクセス許可レベルを選択します - 読み取りまたは書き込み。必要な権限レベルを持つユーザーのみがスクリプトの実行にアクセスできます。 このフィールドは範囲が「手動ホスト処理」または「手動イベント処理」の時に表示されます。 |
|||
確認を有効 | スクリプトを実行する前に確認メッセージを表示するには、チェックボックスをオンにします。この機能は、潜在的に危険な操作(再起動スクリプトなど)や時間がかかる可能性のある操作で特に役立つ場合があります。 このオプションは範囲が「手動ホスト処理」または「手動イベント処理」の時に表示されます。 |
|||
確認テキスト | 上記のチェックボックスで有効にした確認ポップアップのカスタム確認テキストを入力します(例:リモートシステムが再起動されます。よろしいですか?)。テキストがどのように表示されるかを確認するには、フィールドの横にあるテストの確認をクリックします。 {HOST.*}および{USER.*}マクロがサポートされています。カスタムユーザーマクロがサポートされています。 注:確認メッセージのテスト時にマクロは展開されません。 このフィールドは範囲が「手動ホスト処理」または「手動イベント処理」の時に表示されます。 |
Zabbixサーバーで実行されるスクリプトは、終了コードの確認を含めコマンド実行セクションで説明されている順序で実行されます。スクリプトの結果は、スクリプトの実行後に表示されるポップアップウィンドウに表示されます。
Note: スクリプトの戻り値は標準エラーとともに標準出力です。
以下のスクリプトと結果ウィンドウの例を参照してください。
スクリプトの結果にスクリプト自体は表示されません。
スクリプトの実行中にタイムアウトが発生する場合があります。
Zabbixエージェントで実行されるスクリプトの例と以下の結果ウィンドウを参照してください。
この場合のエラーメッセージは次のとおりです。
このような状況を回避するためにスクリプト自体を最適化することをお勧めします。(Zabbixエージェント設定とZabbixサーバー設定のTimeoutパラメーターを対応する値(この場合は> ‘5’)に調整するのではありません)
Zabbixエージェント設定でタイムアウトパラメータが変更された場合は、次のエラーメッセージが表示されます。
これは、Zabbixエージェント設定で変更が行われたことを意味し、Zabbixサーバー設定でもタイムアウト設定を変更する必要があります。
Zabbixサーバーで実行されているスクリプトの例と以下の結果ウィンドウを参照してください。
このような状況を回避するためにスクリプト自体を最適化することをお勧めします。(Zabbixサーバー設定のTimeoutパラメーターを対応する値(この場合は> ‘11’)に調整するのではありません)