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

推薦する

divとtableの選択と組み合わせ方について簡単に説明します

ページレイアウトは、Web ページを扱い始めた頃からずっと気にかけていたことです。初期のテーブル構造...

Squid を使用して http および https 用のプロキシ サーバーを構築する方法

nginx を導入した際に、フォワードプロキシの設定も nginx を使っていました。しかし、htt...

JavaScriptを使用して独自のAjax関数を定義する

ネイティブJSによって開始されたネットワークリクエストは、クエリ文字列の形でサーバーに送信されるため...

誤って削除されたデータを復元するための mysqlbinlog コマンドを使用した mysql の実装

実験環境: MYSQL 5.7.22バイナリログを有効にするログ形式 MIXED実験プロセス: 1....

MySQL での外部キーの作成、制約、削除

序文MySQL バージョン 3.23.44 以降では、InnoDB エンジン タイプのテーブルは外部...

Faint: 「Web2.0 を使用して標準に準拠したページを作成する」

今日、ある人がウェブサイト開発プロジェクトについて話をしてくれました。具体的な要件について話すと、「...

Ubuntu Dockerのインストールと使い方

目次1. 公式インストールスクリプトを使用した自動インストール手動インストール古いバージョンをアンイ...

MySQL 8.0.18 安定版がリリースされました! 予想通りハッシュ結合が実装されました

MySQL 8.0.18 安定版 (GA) が昨日正式にリリースされ、Hash Join も期待通り...

Linux の操作とメンテナンスの基本 httpd 静的 Web ページ チュートリアル

目次1. ウェアハウスを使用してhttpd lrzsz解凍ファイルを作成する2. ソースコードファイ...

HTMLでは、全体的なスタイルとレイアウトを崩さずに、部分的に強制スクロールバーを使用できます。

まずはエフェクト画像を投稿します:全体的なスタイルとレイアウトが崩れないように、スクロール バーがロ...

CentOS はローカル yum ソースを使用して LAMP 環境を構築するグラフィック チュートリアル

この記事では、ローカル yum ソースを使用して CentOS 上に LAMP 環境を構築する方法に...

MySQL 独立インデックスと共同インデックスの選択

複数列のインデックスについては、理解が不足していることがよくあります。よくある間違いは、多数の列に独...

WeChatアプレットwebViewにH5を埋め込む方法の例

序文WeChat ミニプログラムは新しいオープン機能を提供します!ついにミニプログラムにHTMLペー...

熟練デザイナーの7つの原則(2):色の使い方

<br />前回の記事:優秀なデザイナーの7つの原則(1):フォントデザイン 英語 原文...

写真のプレビューとアップロード機能を実現するhtml+css+js

はじめに: Web ページを作成するときに、画像をアップロードする必要がある場合がよくあります。画像...