Zabbix上のすべてのホストのIPとホスト名を取得する

Zabbix上のすべてのホストのIPとホスト名を取得する

ザビックス

Zabbix ([`zæbiks]) は、WEB インターフェースに基づいて分散システム監視およびネットワーク監視機能を提供するエンタープライズ レベルのオープン ソース ソリューションです。

Zabbix は、さまざまなネットワーク パラメータを監視してサーバー システムの安全な運用を確保し、システム管理者がさまざまな既存の問題を迅速に特定して解決できるようにする柔軟な通知メカニズムを提供します。

Zabbix は、Zabbix サーバーとオプション コンポーネントの Zabbix エージェントの 2 つの部分で構成されます。

Zabbix サーバーは、SNMP、Zabbix エージェント、ping、ポート監視などの方法を通じて、リモート サーバー/ネットワーク ステータス監視、データ収集などの機能を提供できます。Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X などのプラットフォームで実行できます。

次のコードは、Zabbix 上のすべてのホストの IP とホスト名を取得する方法を示しています。コードは次のとおりです。

#コーディング:utf-8
#Zabbix インポート要求のすべてのホストの IP とホスト名を取得します
jsonをインポート
csvをインポート
インポート時間
get_token() を定義します:
  データ = {
    "jsonrpc": "2.0",
    "メソッド": "user.login",
    「パラメータ」: {
      "ユーザー": ユーザー名、
      「パスワード」: パスワード
    },
    「id」: 0
  }
  r = リクエスト.get(zaurl、ヘッダー=ヘッダー、データ=json.dumps(データ))
  認証 = json.loads(r.text)
  auth["結果"]を返す
def getHosts(トークン):
  データ = {
    "jsonrpc": "2.0",
    "メソッド": "host.get",
    「パラメータ」: {
      「出力」: [
        「ホストID」、
        "ホスト"
      ]、
      「インターフェースを選択」: [
        「インターフェースID」、
        「ip」
      ]
    },
    "id": 2,
    "auth": トークン、
  }
  リクエスト = request.post(zaurl、ヘッダー = ヘッダー、データ = json.dumps(データ))
  dict = json.loads(リクエスト.content)
# print (dict['result'])
  dict['result']を返す
__name__ == "__main__" の場合:
  zaurl="http://xx.xx.xx.xx/zabbix/api_jsonrpc.php"
  ヘッダー = {"Content-Type": "application/json"}
  ユーザー名 = "xx"
  パスワード = "xx"
  トークン = get_token()
  ホストリスト = getHosts(トークン)
  データファイル = "zabbix.txt"
  fdata = open(データファイル,'w')
  ホストリスト内の i の場合:
    ホストID = i['ホストID']
    hostip = i['ホスト']
    fdata.write(hostip + ' ' + hostid + '\n')
  fdata.close()

要約する

上記は、エディターが紹介した、zabbix 上のすべてのホストの IP とホスト名を取得するためのサンプル コードです。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • ZabbixはSNMPに基づいてLinuxホストを監視します
  • Zabbixで監視する必要があるホストを追加するための詳細な手順
  • リモートホスト上でスクリプトや命令を実行する Zabbix の詳細な説明
  • Pythonはzabbix APIを通じてホストを取得します
  • zabbix APIを呼び出してホストを取得する方法の詳細な説明
  • Linuxホストを監視するためのZabbixの設定方法
  • Zabbix による VMware Exsi ホストの監視のグラフィカルな手順

<<:  ReactにおけるRefの相互利用の詳細な説明

>>:  MySQL でスロークエリログ機能を有効にする方法

推薦する

解決策 - BASH: /HOME/JAVA/JDK1.8.0_221/BIN/JAVA: 権限が不十分です

1) jdkファイルが保存されているフォルダパスを入力します私はここにいますusr/local/jd...

uni-app WeChatアプレット認証ログイン実装手順

目次1. appIDの申請と設定1. appidの取得方法2. AppIDの設定2. 基本的なユーザ...

Vueモバイル端末に最適な適応ソリューションについての簡単な説明

序文: 最近の医療モバイル プロジェクトに基づいて、Vue はさまざまな画面のさまざまな画面サイズに...

リソースアップロード機能を実現するための SpringBoot+nginx の詳細な例

最近、画像、ビデオ、CSS/JS などの静的リソースを配置するために nginx を使用する方法を学...

JavaScript デザインパターンの学習 アダプタパターン

目次概要コードの実装要約する概要アダプタ パターンは、デザイン パターンの動作パターンのパターンです...

HTML の blockquote タグの使用と美化

ブロック引用の定義と使用法<blockquote> タグは引用ブロックを定義します。 &...

Linuxはsttyを使用して端末の回線設定を表示および変更します。

Sttty は、Linux で端末設定を変更および印刷するための一般的なコマンドです。 1. パラ...

JavaScript 配列のマージのケーススタディ

方法1: var a = [1,2,3]; var b = [4,5] b を連結します。 コンソー...

小さなプログラムが天井に張り付いてしまう問題を完璧に解決するためにposition:stickyを使用する方法

最近、あるプロジェクトのクライアントが、上部に 2 つのタブ メニューを配置することを要求しました。...

MySQL インデックスの正しい使い方とインデックスの原理の詳細な説明

1. はじめになぜインデックスが必要なのでしょうか?一般的なアプリケーション システムでは、読み取り...

MySQL データベースの show processlist コマンドの使用の分析

実際のプロジェクト開発では、多数のクエリや挿入、特にマルチスレッド挿入など、データベースに大きな負荷...

JavaScript は、マウスがテーブル行を通過するときに色の識別を実装します。

この記事では、マウスがテーブルの行を通過するときにJavaScriptを使用して色ラベルを表示する方...

Linux のインスタンスにパブリック IP アドレスを割り当てる方法

説明するこのインターフェースを呼び出すときは、次の点に注意する必要があります。パブリック IP アド...

Dockerはコンテナを通じてイメージを生成し、詳細にDockerCommitを送信します

目次ローカルでコンテナを作成した後、このコンテナに基づいてローカル イメージを作成し、このイメージを...

Centos7環境でYUMを構築する方法

1. yumソースの設定ファイルを入力します 2.lsで設定ファイルを表示する 3. ディレクトリを...