Submit Search
Upload
Pythonでzabbix apiを使ってみる
•
4 likes
•
8,161 views
2bo 2bo
Follow
Python東海 第26回勉強会の資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 16
Download now
Download to read offline
Recommended
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
Amazon Web Services Korea
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
sasezaki
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
André Déo
Docker 간단 개념 / Docker 를 이용한 MSA 기반의 Spring Boot 프로젝트 - DSmentoring 정다운
Docker 간단 개념 / Docker 를 이용한 MSA 기반의 Spring Boot 프로젝트 - DSmentoring 정다운
다운 정
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
pyrasis
Maven
Maven
Mourad HASSINI
Pwning in c++ (basic)
Pwning in c++ (basic)
Angel Boy
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Angel Boy
Recommended
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
데브옵스(DevOps)의 현재와 미래 - ChatOps & VoiceOps (윤석찬)
Amazon Web Services Korea
このPHP QAツールがすごい!2019
このPHP QAツールがすごい!2019
sasezaki
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
UserParameter vs Zabbix Sender - 1º ZABBIX MEETUP DO INTERIOR-SP
André Déo
Docker 간단 개념 / Docker 를 이용한 MSA 기반의 Spring Boot 프로젝트 - DSmentoring 정다운
Docker 간단 개념 / Docker 를 이용한 MSA 기반의 Spring Boot 프로젝트 - DSmentoring 정다운
다운 정
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
pyrasis
Maven
Maven
Mourad HASSINI
Pwning in c++ (basic)
Pwning in c++ (basic)
Angel Boy
Linux binary Exploitation - Basic knowledge
Linux binary Exploitation - Basic knowledge
Angel Boy
Vagrant - Concept
Vagrant - Concept
Julien Dubreuil
[NDC16] Effective Git
[NDC16] Effective Git
Chanwoong Kim
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
nexusz99
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.
Valdy Ngouabira
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
chandler0201
2.apache spark 실습
2.apache spark 실습
동현 강
ページャ lessを使いこなす
ページャ lessを使いこなす
Toshiyuki Shimono
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
YoungHeon (Roy) Kim
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
Shengyou Fan
Go言語で作る webアプリ@gocon 2013 spring
Go言語で作る webアプリ@gocon 2013 spring
Takuya Ueda
Binary exploitation - AIS3
Binary exploitation - AIS3
Angel Boy
サイボウズ Office 10 バージョン比較資料
サイボウズ Office 10 バージョン比較資料
Cybozucommunity
Git flow
Git flow
DaeMyung Kang
DevOpsって何?
DevOpsって何?
Gosuke Miyashita
Internet Explorer サポート提供終了で変わること変わらないこと
Internet Explorer サポート提供終了で変わること変わらないこと
彰 村地
Micro Service Architecture의 이해
Micro Service Architecture의 이해
Terry Cho
초보자를 위한 Git & GitHub
초보자를 위한 Git & GitHub
Yurim Jin
osc_tokyo20091030
osc_tokyo20091030
Shoken Fujisaki
osc_tokyo20100910
osc_tokyo20100910
Shoken Fujisaki
More Related Content
What's hot
Vagrant - Concept
Vagrant - Concept
Julien Dubreuil
[NDC16] Effective Git
[NDC16] Effective Git
Chanwoong Kim
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
do_aki
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
nexusz99
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Hiroyuki Wada
Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.
Valdy Ngouabira
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
chandler0201
2.apache spark 실습
2.apache spark 실습
동현 강
ページャ lessを使いこなす
ページャ lessを使いこなす
Toshiyuki Shimono
PHP AST 徹底解説
PHP AST 徹底解説
do_aki
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
YoungHeon (Roy) Kim
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
Shengyou Fan
Go言語で作る webアプリ@gocon 2013 spring
Go言語で作る webアプリ@gocon 2013 spring
Takuya Ueda
Binary exploitation - AIS3
Binary exploitation - AIS3
Angel Boy
サイボウズ Office 10 バージョン比較資料
サイボウズ Office 10 バージョン比較資料
Cybozucommunity
Git flow
Git flow
DaeMyung Kang
DevOpsって何?
DevOpsって何?
Gosuke Miyashita
Internet Explorer サポート提供終了で変わること変わらないこと
Internet Explorer サポート提供終了で変わること変わらないこと
彰 村地
Micro Service Architecture의 이해
Micro Service Architecture의 이해
Terry Cho
초보자를 위한 Git & GitHub
초보자를 위한 Git & GitHub
Yurim Jin
What's hot
(20)
Vagrant - Concept
Vagrant - Concept
[NDC16] Effective Git
[NDC16] Effective Git
PHP と SAPI と ZendEngine3 と
PHP と SAPI と ZendEngine3 と
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
2.apache spark 실습
2.apache spark 실습
ページャ lessを使いこなす
ページャ lessを使いこなす
PHP AST 徹底解説
PHP AST 徹底解説
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
Go言語で作る webアプリ@gocon 2013 spring
Go言語で作る webアプリ@gocon 2013 spring
Binary exploitation - AIS3
Binary exploitation - AIS3
サイボウズ Office 10 バージョン比較資料
サイボウズ Office 10 バージョン比較資料
Git flow
Git flow
DevOpsって何?
DevOpsって何?
Internet Explorer サポート提供終了で変わること変わらないこと
Internet Explorer サポート提供終了で変わること変わらないこと
Micro Service Architecture의 이해
Micro Service Architecture의 이해
초보자를 위한 Git & GitHub
초보자를 위한 Git & GitHub
Similar to Pythonでzabbix apiを使ってみる
osc_tokyo20091030
osc_tokyo20091030
Shoken Fujisaki
osc_tokyo20100910
osc_tokyo20100910
Shoken Fujisaki
Pyenvで幸せになろう.py
Pyenvで幸せになろう.py
2bo 2bo
Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)
Kosuke Tanabe
Python & PyConJP 2014 Report
Python & PyConJP 2014 Report
gree_tech
ZabbixでDockerも監視
ZabbixでDockerも監視
Atsushi Tanaka
nextlenju73
nextlenju73
Kosuke Tanabe
Zabbix on SoftLayer
Zabbix on SoftLayer
Yuichi Tamagawa
第5回九州libre-office勉強会バグハンティング
第5回九州libre-office勉強会バグハンティング
Shinji Enoki
脱・勉強会宣言 @ 「勉強会主催者のための勉強会」
脱・勉強会宣言 @ 「勉強会主催者のための勉強会」
Naruhiko Ogasawara
非開発者でもできる、オープンソースプロジェクトに貢献する方法
非開発者でもできる、オープンソースプロジェクトに貢献する方法
Shinji Enoki
Raspberry p ionzabbixproxy
Raspberry p ionzabbixproxy
2bo 2bo
Soft layer APIの使い方と実装のポイント
Soft layer APIの使い方と実装のポイント
Shuichi Yukimoto
Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2
Taku Unno
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
Kei IWASAKI
Introduction of kabepy
Introduction of kabepy
Kenjiro Kosaka
YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るには
wata2ki
Hannari python#27
Hannari python#27
hiroya akita
LibreOffice mini Conference 2014 QA
LibreOffice mini Conference 2014 QA
Shinji Enoki
Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015
Takayuki Shimizukawa
Similar to Pythonでzabbix apiを使ってみる
(20)
osc_tokyo20091030
osc_tokyo20091030
osc_tokyo20100910
osc_tokyo20100910
Pyenvで幸せになろう.py
Pyenvで幸せになろう.py
Next-L Enjuのご紹介(2018年版)
Next-L Enjuのご紹介(2018年版)
Python & PyConJP 2014 Report
Python & PyConJP 2014 Report
ZabbixでDockerも監視
ZabbixでDockerも監視
nextlenju73
nextlenju73
Zabbix on SoftLayer
Zabbix on SoftLayer
第5回九州libre-office勉強会バグハンティング
第5回九州libre-office勉強会バグハンティング
脱・勉強会宣言 @ 「勉強会主催者のための勉強会」
脱・勉強会宣言 @ 「勉強会主催者のための勉強会」
非開発者でもできる、オープンソースプロジェクトに貢献する方法
非開発者でもできる、オープンソースプロジェクトに貢献する方法
Raspberry p ionzabbixproxy
Raspberry p ionzabbixproxy
Soft layer APIの使い方と実装のポイント
Soft layer APIの使い方と実装のポイント
Aizu.LT::Tokyo #2
Aizu.LT::Tokyo #2
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
入門書を読み終わったらなにしよう? 〜Python と WebAPI の使い方から学ぶ次の一歩〜 / next-step-python-programing
Introduction of kabepy
Introduction of kabepy
YoctoでLTSディストリを作るには
YoctoでLTSディストリを作るには
Hannari python#27
Hannari python#27
LibreOffice mini Conference 2014 QA
LibreOffice mini Conference 2014 QA
Pythonコミュニティ-紹介 @ LOCAL 2015
Pythonコミュニティ-紹介 @ LOCAL 2015
More from 2bo 2bo
PyScriptの紹介
PyScriptの紹介
2bo 2bo
結婚式のエンドロールを「Pythonで」当日作った話
結婚式のエンドロールを「Pythonで」当日作った話
2bo 2bo
あひる焼きの歴史 ver0.1
あひる焼きの歴史 ver0.1
2bo 2bo
Python東海の紹介.py
Python東海の紹介.py
2bo 2bo
自宅仮想マシンをConohaに移行してみた
自宅仮想マシンをConohaに移行してみた
2bo 2bo
Pillowの使い方
Pillowの使い方
2bo 2bo
PEP8を読んでみよう
PEP8を読んでみよう
2bo 2bo
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
2bo 2bo
Raspberry piの紹介
Raspberry piの紹介
2bo 2bo
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
2bo 2bo
More from 2bo 2bo
(10)
PyScriptの紹介
PyScriptの紹介
結婚式のエンドロールを「Pythonで」当日作った話
結婚式のエンドロールを「Pythonで」当日作った話
あひる焼きの歴史 ver0.1
あひる焼きの歴史 ver0.1
Python東海の紹介.py
Python東海の紹介.py
自宅仮想マシンをConohaに移行してみた
自宅仮想マシンをConohaに移行してみた
Pillowの使い方
Pillowの使い方
PEP8を読んでみよう
PEP8を読んでみよう
Djangoとweb2pyをapacheに組込む
Djangoとweb2pyをapacheに組込む
Raspberry piの紹介
Raspberry piの紹介
Cent osにpyhtonをインストールしてみよう
Cent osにpyhtonをインストールしてみよう
Pythonでzabbix apiを使ってみる
1.
PythonでZabbixAPIを使ってみる Python東海 第26回勉強会 2015/1/31 @2box2bo
2.
お前だれよ • 名前:坪内 由孝 @2box2bo •
ブログ:http://www.zumwalt.info/blog • お仕事:地方えすあいあーのインフラ屋 1級あひる釣り師 • 所属:(☝ ՞ਊ ՞)☝ウィーンなユーザー会 (Ejectコマンドユーザー会) Python東海 Ingress 緑組 L10へたれagent • 最近のあれ:なんちゃら2003をなんちゃら2012にちぎっ ては投げちぎっては投げ…
3.
Zabbixってなんぞ? • ラトビアのZABBIX SIA社が作ったOSSな監視ツール •
最新Verは2.4系。ただしサポート期間が短い 長期間サポートは2.2系。次のVerは3系。 • 商用サポートもあります http://www.zabbix.com/jp/ • 監視エージェントはLinux、WIndows等だいたいのOS用のが 提供されている • 気合があればなんでも監視できる。
4.
ZabbixのAPI • 監視アイテム、ホスト等の登録、参照、削除等Webからでき ることはだいたいできる • APIのドキュメントもある https://www.zabbix.com/documentation/2.2/manual/api •
Python向けライブラリもある https://github.com/baniuyao/ZabbixPythonApi https://github.com/gescheit/scripts/tree/master/zabbix https://github.com/lukecyca/pyzabbix https://github.com/gnetsman/zabbix_api
5.
APIの使い方 基本 • jsonをPOSTで投げればOK •
初回にauth_keyを取得し、以後は取得した キーを使う • ドキュメントにだいたいの事は書いてある
6.
APIの使い方 ログイン # coding:
UTF-8 ! import json import urllib2 # ZABBIXサーバーのAPIアクセスURL zbxsv = “http://127.0.0.1/zabbix/api_jsonrpc.php" # リクエストヘッダ headers = {"Content-Type":"application/json-rpc"} # ZABBIX API アクセスユーザー zbx_usr = "admin" # ZABBIX API アクセスユーザーパスワード zbx_upw = "zabbix" # POSTする認証用json を生成 post_data = json.dumps({'jsonrpc':'2.0','method':'user.login','params': {'user':zbx_usr,'password':zbx_upw},'auth':None,'id': 1}) # リクエストを生成 request = urllib2.Request(zbxsv, post_data, headers) # リクエストを送信して結果受け取り contents = urllib2.urlopen(request) # 結果の中身を読み取る contents_str = contents.read() # キー [result] にAPIの戻り値が入ってます print contents_str
7.
APIの使い方 ホスト一覧の取得 # ホスト一覧を取得するjson post_data
= json.dumps({'jsonrpc':'2.0', 'method':'host.get', 'params':{ "output":"extend"}, 'auth':zbx_auth, 'id':1}) # リクエストを生成 request = urllib2.Request(zbxsv, post_data, headers) # リクエストを送信して結果受け取り contents = urllib2.urlopen(request) # 結果の中身を読み取る contents_str = contents.read() contents_dict = json.loads(contents_str) for host in contents_dict["result"]: print host[ name ], host[ hostid ]
8.
APIの使い方 監視アイテムの登録 item_key =
"testkey." + str(time.time()) # ホスト一覧を取得するjson post_data = json.dumps({ "jsonrpc": "2.0", "method": "item.create", "params": { "name": item_key, "key_": item_key, "hostid": "10107", "type": 2, "value_type": 3}, "auth":zbx_auth, "id": 1}) ! # リクエストを生成 request = urllib2.Request(zbxsv, post_data, headers) # リクエストを送信して結果受け取り contents = urllib2.urlopen(request) # 結果の中身を読み取る contents_str = contents.read() contents_dict = json.loads(contents_str) print contents_str
9.
まじめな話はここまで これで何がしたかったか
10.
あひる焼きカウンタを作る!
11.
あひる焼きとは? • ツイッターで@ahiru3net を焼くこと。 KernelVM北陸あたりから始まった
の儀式 • @ahiru3net のフォロワーが「あひる焼き」と つぶやけば リプライが返ってくる。 • いつかBOT落としたい
12.
あひる焼きカウンター 構想 • ついったの「あひる焼き」を数える •
毎時、日次のアカウント毎の結果をZabbixに 記録 • Zabbixでグラフ化してあひる焼きの見える化 • 適当についったにグラフを流す
13.
が、途中までしかできてない! けど実演
14.
あひる焼きカウンタ 今後の課題 • あひる焼きしてない既存ユーザーに0を入れる •
グラフ付ツイートをする • 140文字制限対応 • あひる焼きカウンタページの作成
15.
おまけ?
16.
今後のPython東海について • もくもく会と勉強会を3∼4ヶ月に1回は開催し ていきた。 → 次回開催は…5∼6月? •
開催場所についていい場所あったら教えてくだ さい。 • 何かのハンズオンもありか?(RaspberryPiとか)
Download now