Zabbix動的実行監視収集スクリプトの実装原理

Zabbix動的実行監視収集スクリプトの実装原理

Zabbix カスタム スクリプトを使用して監視データを収集する場合、通常、次の問題が発生します。

  • サーバー容量を拡張した後、新しいサーバーに監視スクリプトを展開するにはどうすればよいですか?
  • 監視スクリプトを変更する必要がある場合、すべての同一の監視スクリプトを自動的に変更するにはどうすればよいですか?
  • サーバーの異常による損失を避けるために、監視および収集スクリプトをバックアップするにはどうすればよいですか?
  • カスタム監視を導入する際に、システム管理者による過剰な操作を回避するにはどうすればよいでしょうか?
  • 大規模な研究開発を行わずに上記の問題をどのように解決できるでしょうか?

実装原理: ファイル サーバーを使用して監視スクリプトを統一的に保存および管理し、一般的なスクリプトを zabbix エージェントに事前に埋め込み、zabbix サーバーによって送信されたキーとパラメーターに従ってファイル サーバーからスクリプトをプルし、実行後にデータを返します。

建築設計:

ここに画像の説明を挿入

具体的な実装:

1. nginxを例にファイルサーバーを構築する

nginxの設定を変更して再起動します

サーバー
    8080を聴く;
    サーバー名zabbix;
    ルート /usr/local/static/;
    位置 / {
      自動インデックスオン;
      autoindex_exact_size をオン;
      autoindex_localtime をオン;
      文字セット utf-8;
    }
  }

2. ファイルの取得と実行のためのスクリプトを書く

url="http://192.168.24.108:8080/" #ファイルサーバーのURLを定義する
親ディレクトリ="/usr/local/zabbix/bin/zabbix_script" 
file_directory=$parentDir/$1 #スクリプトがローカルに保存されているディレクトリを定義 file_name=$2 #スクリプト名 file_path=$1/$2 #ファイルサーバーのスクリプトパスに参加 if [ ! -d $file_directory ];then #ファイルディレクトリが存在するかどうかを判断 mkdir -p $file_directory
フィ

if [ ! -f $parentDir/$file_path ];then #スクリプトが既に存在するかどうかを判断 wget -P $file_directory $url$file_path 2>>log
フィ

タイムスタンプ=$(日付 +%s)
ファイルタイムスタンプ=$(stat -c %Y $parentDir/$file_path)
if [ $[$timestamp - $filetimestamp] -gt 3600 ];then #現在の時刻とスクリプトの変更時刻の差を判断し、3600秒ごとに更新します wget $url$file_path -O $parentDir/$file_path 2>>log #スクリプトを上書きします touch -c $parentDir/$file_path #スクリプトの変更時刻を変更します fi
python $parentDir/$file_path $3 #スクリプトを実行する

3. zabbixの設定ファイルを追加する

ユーザーパラメータ=requests_file[*],sh /usr/local/zabbix/bin/zabbix_script/requests_file.sh $1 $2 $3

4. Zabbixエージェントを再起動する

5. テストスクリプトを記述し、ファイルサーバーの指定されたディレクトリにアップロードします。

#サーバー接続数を監視#!/usr/bin/python
パスワードをインポートする
os、sysをインポート
輸入再
インポートグロブ
状態 = sys.argv[1]

cmd = "netstat -an | grep " + 状態 + " | wc -l"
os.system(コマンド)

6. Zabbix ページの監視項目を設定します。

ここに画像の説明を挿入

7. データが正常かどうかを観察します。

ここに画像の説明を挿入

8. 新しい監視スクリプトはファイルサーバーの後に配置され、構成ページの監視項目を直接構成してデータ収集を行うことができます。

ここに画像の説明を挿入

この記事では、Zabbix でカスタム監視スクリプトを集中管理するためのソリューションを提供することに焦点を当てています。このアイデアに基づいて、Zabbix の使用を自由に拡張して、より簡潔で効率的にし、運用と保守をさらに簡素化できます。

参考リンク:

Zabbix はどのようにして監視収集スクリプトを動的に実行するのか: https://mp.weixin.qq.com/s/ikuCSYhlFdtiAmt7epskWw

Zabbix 動的実行監視および収集スクリプトの実装原理に関するこの記事はこれで終わりです。Zabbix 動的実行監視および収集スクリプトの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Zabbix WEB 監視実装プロセス図
  • Zabbix で監視項目と集約されたグラフを設定するためのサンプルコード
  • Zabbix を使用して Nginx/Tomcat/MySQL を監視する方法の詳細なチュートリアル
  • Zabbix カスタム監視 nginx ステータス実装プロセス

<<:  Vueコンポーネント化の基本的な使用方法の詳細

>>:  Web デザインのための 5 つのシンプルな XHTML Web フォーム

推薦する

JavaScript 配列の Reduce() メソッドの構文と例の分析

序文Reduce() メソッドは関数を累積器として受け取り、配列内の各値 (左から右へ) が単一の値...

js ドラッグ アンド ドロップ テーブルでコンテンツ計算を実現する

この記事の例では、コンテンツの計算を実現するためのjsドラッグアンドドロップテーブルの具体的なコード...

React における useEffect と useLayoutEffect の違い

目次前提条件使用効果コミット前ミューテーション効果コミットミューテーション効果コミットレイアウト効果...

複数の HTML ページで HTML コードをまとめて呼び出す方法

方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...

サーバー上でjupyterノートブックを実行する問題を解決する

目次サーバーはjupyterノートブックを実行します仮想環境次にファイアウォールをオフにしますJup...

HTML 再利用テクニック

HTML の再利用は、あまり話題に上らない言葉です。今日は、この問題を次のようにまとめたいと思います...

Linux システム ディレクトリ sys、tmp、usr、var の詳細な説明。

Linux 初心者から Linux マスターへの成長の道: Linux システム ディレクトリ s...

DockerがMySQL構成実装プロセスを開始

目次実際の戦闘プロセスまずは主なコマンドと詳細を一つずつ説明しましょう起動が成功したかどうかを確認す...

MySQL 8.0.26 のインストールとアンインストールの完全なステップバイステップの記録

目次序文1. インストール1.公式サイトからダウンロード2. 構成を作成する3. MySQLを初期化...

goaccess を使用して nginx ログを分析する詳細な方法

最近、goaccess を使って nginx ログを分析したいのですが、nginx ログの設定形式が...

Tomcat9 Windows サービスのインストールに関する詳細なチュートリアル

1. 準備1.1 service.bat を含む tomcat 圧縮パッケージをダウンロードします。...

CSS3でアニメーションを実装する3つの方法

これは、面接者の CSS に関する基本的な知識をテストするものです。 CSSでアニメーションを実装す...

Vue バッチ更新 DOM 実装手順

目次シーン紹介深い応答性トリガーゲッターDep.targetを探すゲッターセッター要約するシーン紹介...

トップに戻るボタンを実装するJavaScript

この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...

Docker swarm を使用して Nebula Graph クラスターを迅速にデプロイする方法のチュートリアル

1. はじめにこの記事では、Docker Swarm を使用して Nebula Graph クラスタ...