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 でスロークエリログ機能を有効にする方法

推薦する

ルート変更を監視するJavaScriptの詳細な説明

目次歴史pushState() メソッドpushState() の使用シナリオreplaceStat...

JavaScript 関数のカリー化

目次1 関数カリー化とは何ですか? 2 カレーの役割と特徴2.1 パラメータの再利用2.2 早期復帰...

MySQL 5.5.27 インストール グラフィック チュートリアル

1. MYSQLのインストール1. ダウンロードしたMySQLインストールファイルmysql-5.5...

JavaScriptはクリックするとランダムなグラフィックを生成します

この記事では、クリックするとランダムグラフィックの生成を実現するJavaScriptの具体的なコード...

Unicode における CJK (中国語、日本語、韓国語の統合表意文字) 文字の概要

CJK は CJK Unified Ideographs の略称で、「中国語、日本語、韓国語の統一表...

Windows 10 での Hyperledger Fabric 1.4 環境構築プロセスの図

内容Hyperledger fabric1.4環境のWindows 10でのセットアップ前提条件Wi...

CSS3 のディスプレイのグリッドレイアウトとフレックスレイアウトの詳細な説明

Gird レイアウトは Flex レイアウトといくつかの類似点があり、どちらもコンテナーの内部項目を...

MYSQLが中国語を認識できない問題の恒久的な解決策

ほとんどの場合、MySQL はインストールしたばかりのときは中国語をサポートしません。これはエンコー...

MySQL のジオメトリ型を使用して経度と緯度の距離の問題を処理する方法

テーブルを作成する テーブル `map` を作成します ( `id` int(11) NULLではな...

CentOS 7 での Nginx ログタイミング分割の実装手順の詳細説明

1. 分割スクリプト (splitNginxLog.sh) を作成します。 * この例では、ログ分割...

inline-blockプロパティとの互換性

<br />1年前、インターネット上にはinline-blockプロパティに関する記事は...

vue keepAlive キャッシュクリア問題事例の詳細な説明

Keepalive は Vue プロジェクトでのキャッシュによく使用され、基本的な要件を満たすのに非...

Vue.js の watch メソッドと computed メソッドの違いの詳細な例

目次序文導入1. 作用機序2. 自然から3. 時計と計算の比較4. メソッドはデータロジックの関係を...

WeChat パブリック アカウントの録音ファイルを再生して保存します (amr ファイルを mp3 に変換)

目次オーディオトランスコーディングツール原理JAVE プロジェクトの問題このプロジェクトの特徴拡張機...