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 フォーム

推薦する

Linux周辺ファイルシステムのカスタマイズ方法

序文一般的に、Linux システムについて話すときは、Linux カーネルと GNU プロジェクトに...

WIN10 での JDK インストールと環境変数の設定手順 (詳細版)

目次1. JDKをダウンロードする(例としてjdk1.8.0を使用する) 2. JDK をインストー...

Vue ユニットテストに関する予備調査

目次序文なぜユニットテストを導入するのですか?ユニットテストの概要テスト開発パターン1. テスト駆動...

プロジェクトにaxiosをカプセル化する実際のプロセス

目次序文axiosカプセル化の利点パッケージのアイデア設定の優先順位axiosインスタンス構成1. ...

ネイティブ js が携帯電話のプルダウン更新を模倣

この記事では、携帯電話のプルダウンリフレッシュを模倣したjsの具体的なコードを参考までに共有します。...

ウェブ開発におけるクロスドメインの理由に対する複数のソリューション

目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...

ウェブデザイナーが持つべき7つのスキル

Web デザインは科学であると同時に芸術でもあります。 Web デザイン作業は、半分は適切なプログラ...

Dockerイメージのエクスポートとインポート操作

基本イメージが以前に構成されていて、これらのイメージが他の場所でも必要な場合はどうなりますか?回答:...

MySQL システム ユーザーが開くことができるファイルの最大数に関する簡単な説明

本から学ぶことは常に浅はかで、これがさらなるダウンタイムを引き起こすことには決して気づきません......

行の高さと垂直方向の配置についての深い理解

いくつかの概念行ボックス: インライン ボックスを囲むボックス。1 つ以上の行ボックスが積み重ねられ...

node.jsのインストールとHbuilderXの設定の詳細な説明

npm インストールチュートリアル: 1. Node.jsインストールパッケージをダウンロードする公...

Linux でファイルのユーザーとグループを変更する方法

Linux では、ファイルが作成されると、そのファイルの所有者はファイルを作成したユーザーになります...

MySql データベースにおける単一テーブル クエリと複数テーブル結合クエリの効率の比較

この間、プロジェクトに取り組んでいるときに、データ間の接続が非常に複雑なモジュールに遭遇しました。テ...