LoginSignup
2
0

More than 1 year has passed since last update.

この記事は、以下のアドベントカレンダー9日目になります

5日目のzabbix api の記事を受けて、以下の情報を記載してみたいと思います

  1. jupyter lab による簡単な返り値等の確認
  2. zabbixに対してはpy-zabbix というライブラリを利用

5日目の記事はこちら
https://qiita.com/hon_m/items/b7b19b623335f7040502

それぞれどのような役割で利用するか

py-zabbix
py-zabbixは記載した通り、jsonを生で書き下ろさずにライブラリを介して監視データを取得するために利用します

jupyter lab
jupyter lab は、コードを1つずつ確認しながら進めるために利用します

画面ではこのようにみえます
image.png

  • セルごとにステップ実行しながら結果を確認して進めていくことができます

jupyter lab をインストール

まずは以下のコマンドでjupyterlabをインストールします

install
ogurin@zabbix_api_srv$ pip3 intstall jupyterlab

インストールが完了したら、起動します

起動
ogurin@zabbix_api_srv$ jupyter lab
`中略`
    To access the server, open this file in a browser:
        file:///home/ogurin/.local/share/jupyter/runtime/jpserver-27667-open.html
    Or copy and paste one of these URLs:
        http://localhost:8888/lab?token=xxxxx
     or http://127.0.0.1:8888/lab?token=xxxxx
  • 出力されたhttpサーバへアクセスすると、jupyter lab のUIが表示されると思います。これで、準備完了です
    jupyter起動.jpg

py-zabbixをインストール

まずは最初のセルで、py-zabbixをインストールします
以下をセルの中に入力し、「Shift + Enter」でセルごとに実行します

!pip3 install py-zabbix

次に、今回の処理で必要なpandasとpyzabbixをインポートします

import pandas as pd
from pyzabbix import ZabbixAPI

以下の画面のようになります
jupyterlab実行結果.jpg

  • 左側の数字は、kernelを起動して以降の実行された順番です
    今回は先頭に[3]が表示されていますが、おかしなことをしなければ先頭は[1]になっているはずです

jupyter lab でエラーをすぐに発見出来る

今回、zabbix info の下のセルで変数に格納している値を誤ってしまいました。
そのため、tokenをgetするところで以下のようにエラーとなりました。

image.png
この画面を見て、先ほどのzabbix info を修正しエラーの解消にすぐに当たることができました

py-zabbixを利用してzabbix情報を取得する

今回は、host.getを用いてホスト情報の中からホスト名とホストIDを取得します

例えば、このようにhosts.infoに格納した[13]の要素におけるhost名は、dummyというホスト名でした
正しくzabbixから値が取れています
dummyを取得.png

zabbixからInterface情報のアイテムを取得していく際には、hostidが用いられるため、hostidも併せて取得してdataframeへ格納して表示してみます
13_get.png

出力結果を若干加工してしまったため、[13]の要素のみ表示されていますが、実際はすべてのホストについて出力されるはずです

これらを関数にして、しまってもよいと思います

まとめ

このように、jupyter labを利用するとプロセスごとに動作を確認しながら進めるため、初心者が動きを確認する際には便利だと思います
そのほかにも、pythonのnetmikoを利用してネットワーク機器からの返り値を確認したり、いろいろと活用出来るかもしれません
image.png

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0