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 を使用してセカンダリ メニューを作成する

この記事では、セカンダリメニュー効果を実現するためのJavaScriptの具体的なコードを参考までに...

WeChat公式アカウントでReactプロジェクトを実行する方法

目次1. a タグを使用して PDF をプレビューまたはダウンロードします。書き方は、携帯電話でクリ...

VueはExcelデータをエクスポートするパブリック関数メソッドをカプセル化します

vue+element UI は Excel データをエクスポートするためのパブリック関数をカプセル...

Docker で Node.js をデプロイする方法

序文プロジェクトでは中間層としてNodeを使用し、Nodeのデプロイにはdockerを使用します。こ...

UTF-8 および GB2312 ウェブエンコーディング

最近、多くの学生から Web ページのエンコーディングについて質問を受けています。gb2312 と ...

Mysqlツリー再帰クエリの実装方法

序文部門テーブルなどのデータベース内のツリー構造データの場合、部門のすべての従属部門または部門のすべ...

VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)

2 年生から、これらのインストールと設定の仕方を尋ねられました。簡単なチュートリアルを作成し、ここ...

Vue3.0 手書き拡大鏡効果

達成される効果は、固定ズームが 2 倍になり、マウスが左側の画像領域に入るとマスク レイヤーが表示さ...

Vue3+Vantコンポーネントを使用してアプリの検索履歴機能を実装する(サンプルコード)

現在、新しいアプリプロジェクトを開発中です。私にとっても初めてのアプリ開発です。チームで調査と検討を...

Linux ファイアウォールの状態確認方法の例

Linuxファイアウォールの状態を確認する方法1. 基本操作 # ファイアウォールのステータスを表示...

Maxwell を使用して MySQL データをリアルタイムで同期する方法

目次マクスウェルについてMaxwellの設定と使用1. Maxwellインストールパッケージをダウン...

CSS3 のテキストとフォントの新しい設定

テキストシャドウテキストシャドウ: 水平オフセット 垂直オフセット ぼかし色互換性: IE10+ &...

Vue3 がコンポーネント通信に mitt を使用する手順

目次1. インストール2. プロジェクトにインポートしてマウントする3. 使用Vue2.x はコンポ...

Maven プロジェクトのリモート デプロイメント && Tomcat を使用してデータベース接続を構成する方法

1つ。 tomcat を使用したリモート展開1.1 発生した問題:プロジェクトでは、サードパーティの...

JSのバイナリファミリーについての簡単な説明

目次概要ブロブBlob の動作BLOB ダウンロード ファイルブロブ画像のローカル表示BLOB ファ...