SlideShare a Scribd company logo
1 of 34
Download to read offline
ZABBIXに手の届かない所は無い expectで...
渡邉 隼人
改めまして
池田さん
ご出版おめでとうございます!
(拍手)
Zabbix統合監視徹底活用
複雑化・大規模化する
インフラの一元管理
大容量で
¥ 3,780
大好評発売中!
なんと! 池田先生の第1号サイン頂きました!
度々 池田さんの所有物に勘違いされます
改まして
ZABBIXに手の届かない所は無い expectで...
●
渡邉 隼人 (わたなべ はやと)
●
TwitterID: @_BSmile_
●
2児の父
●
アクアリウム(水槽いじり)やってます
●
株式会社 アーベルソフト
設立:1984年8月20日
本社:埼玉県坂戸市芦山町22-13
従業員:約40名
従業員は道産子が多いです
かく言う私も道産子です
本題。
ZABBIX運用環境をお話します
とあるお客様環境で
プライベートクラウド構築を行っており
SaaS・IaaSサーバ監視
Switch/UTM/Storage等等
約220台のホスト監視を行っています。
突然ですが
運用監視を行っていて、次の事案が発生しました。
(専用線で接続しているオフショア、中国の問題)
Private Cloud 社内ネットワーク担当部門
プロバイダオフショアネットワーク
中国から
専用線接続で
日本の
開発サーバを使用し
日々業務をこなしている
プロジェクトがあります
ここに接続
この人が
Private Cloud 社内ネットワーク担当部門
プロバイダオフショアネットワーク
中国から
専用線接続で
日本の
開発サーバを使用し
日々業務をこなしている
プロジェクトがあります
ここに接続
この人が
どこかでネットワークが切れた!
プロバイダからの連絡は無い!
社内ネットワーク担当者は
打ち合わせで居ない!
オフショアの開発者は
試験環境への接続を失った!
途方に暮れるオフショアユーザ!
オチから言うと
ビル停電によりオフショアルータの設定が
ロストした
↓
Ciscoルータのstartup-configに
設定入れて無かった
頼みますよプロバイダさん(涙)
こうなったら
各担当者から連絡が来る前に
こちらから報知してやろう
と思いたち
オフショアルータのGWへPingを飛ばしたかった
が
FW(Fortigate) からしかPingが飛ばない環境
そこで expect ですよ
スクリプト作成時、対話形式で実行が可能なコマンド
例) Y/Nの問いが多いパッケージソフトの設定を自
動で実行させる
[expect]とは...
#!/usr/bin/expect -f
spawn $INSTALLER --platform-override
expect "Do you agree with the terms of the software license agreement?"
send "yn"
expect "Install zimbra-ldap"
send "n"
expect "Install zimbra-logger"
send "n"
※zimbraメールサーバ自動インストールの冒頭
Private Cloud 社内ネットワーク担当部門
プロバイダオフショアネットワーク
オフショアネットワーク
監視が可能な
FW(Fortigate)から
Pingで監視を行い
パケロス発生時の
ログをzabbixが拾う
expect
設定はたった7項目!
ちゃちゃっと10秒で説明!
●
/etc/zabbix/externalscripts/lan_ping.sh
(1/7)ZABBIX外部スクリプトへの仕込み
#! /bin/bash
LOG_TEMP=$2
PJ_NAME=$3
PACKET_LIMIT=$4
if [ -e $LOG_TEMP ]; then
rm -rf $LOG_TEMP
fi
/etc/zabbix/externalscripts/forti_ping.sh $1 $LOG_TEMP
PACKETLOSS_STR=`grep "received, " $LOG_TEMP | awk -F 'received, ' '{print $NF}' | cut -d "%" -f1`
PACKETLOSS=$(( PACKETLOSS_STR + 0))
if [ $(( PACKETLOSS )) -gt 30 ]; then
echo "[`date +"%Y/%m/%d %H:%M:%S"`] Caution: Location [$PJ_NAME] $1 `grep " packet loss"
$LOG_TEMP`" >> /var/log/zabbix/forti_ping.log
fi
if [ -e $LOG_TEMP ]; then
rm -rf $LOG_TEMP
fi
●
/etc/zabbix/externalscripts/forti_ping.sh
(2/7)ZABBIX外部スクリプトへの仕込み
#!/usr/bin/expect -f
set host [lindex $argv 0]
set path [lindex $argv 1]
log_file "$path"
spawn ssh -l pinger XXX.XXX.XXX.1 ## 相手先GW
expect "password:"
send "fortipasswordn"
expect "fortiHostName $"
send "execute ping-options repeat-count 5n"
send "execute ping $hostn"
send "exitn"
expect "VPEXFW001 $"
interact
(3/7)ホスト設定(ロケーション設定側)
Gateway
IPアドレス
監視する
ロケーション名
テンポラリ
ログファイル名
(4/7)アイテム設定(ロケーション設定側)
[ キー設定 ]
lan_ping.sh[“{HOST.CONN}”,”/etc/zabbix/log_tmp/{HOST.DNS}.log”,”{HOST.NAME}”]
(5/7)アイテム設定(ZABBIX-Server側)
[ タイプ ]
Zabbixエージェント(アクティブ)
[ キー ]
Log[/var/log/zabbix/forti_ping.log,Caution]
(6/7)トリガー設定(ZABBIX-Server側)
[ 条件式 ]
{Zabbixホスト:log[/var/log/zabbix/forti_ping.log,Caution].str(Caution)}=1
(7/7)アクション設定
[ アクションの実行条件 ]
トリガー名 含まれる ”Loation packet loss Check Failed”
飛んでくるメール
件名:【重要】【ZABBIX】ロケーション:Location Packet loss Check Failed
本文:
深刻度: PROBLEM
発生日時:2014.04.07 23:23:44
--
[2014/04/07 23:22:49] Caution: Location [PJ105L1_
【中国】マインスイーパー開発プロジェクト] 10.1.2.22 5 packets transmitted,
2 packets received, 60% packet loss
簡単ですね。
ZABBIXに実施させる事でのメリット
1 . 監視する方法が散在しない
2 . 拾った情報をメール送信する手間が少ない
3 . 一度流れを組んでしまえば、オフショアロケーションが
  複数発生した場合でも追加が容易
  (ホストの複製をし、監視するロケーションを編集する
  だけで良い)
特に3番が重要で
設定を簡易化した事によるオペレータへの
引き継ぎが非常に楽
こんな事やってたら
約70台のSaaSサーバのindex.htmlを
ZABBIX使って一括改修してくれという
依頼が来ました(汗)
まぁやりましたけどね。
ZABBIXに手の届かない所は無い expectで...
ZABBIXはできる子。
ご清聴ありがとうございました。
次回... ご要望ありましたらRasPi+ZABBIXで水槽管理

More Related Content

What's hot

OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたTakahiro Miyaura
 
3万円台でマイ電子基準点を設置してみよう
3万円台でマイ電子基準点を設置してみよう3万円台でマイ電子基準点を設置してみよう
3万円台でマイ電子基準点を設置してみようKazuhiroTakashima1
 
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜Masahiko Hashimoto
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
ガチ(?)対決!OSSのジョブ管理ツール
ガチ(?)対決!OSSのジョブ管理ツールガチ(?)対決!OSSのジョブ管理ツール
ガチ(?)対決!OSSのジョブ管理ツール賢 秋穂
 
Kof2017 シラサギ導入
Kof2017 シラサギ導入Kof2017 シラサギ導入
Kof2017 シラサギ導入Yu Ito
 
データ解析入門
データ解析入門データ解析入門
データ解析入門Takeo Noda
 
Cesiumを用いた3次元リアルタイムデータの可視化について
Cesiumを用いた3次元リアルタイムデータの可視化についてCesiumを用いた3次元リアルタイムデータの可視化について
Cesiumを用いた3次元リアルタイムデータの可視化についてRyousuke Wayama
 
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方テスト駆動開発のはじめ方
テスト駆動開発のはじめ方Shuji Watanabe
 
Cesium入門ハンズオン~kml読み込み~
Cesium入門ハンズオン~kml読み込み~Cesium入門ハンズオン~kml読み込み~
Cesium入門ハンズオン~kml読み込み~Hiroyuki YAMAUCHI
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るGo Miyasaka
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半tomohiro kuwano
 
SPAのルーティングの話
SPAのルーティングの話SPAのルーティングの話
SPAのルーティングの話ushiboy
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Yahoo!デベロッパーネットワーク
 
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことgree_tech
 
本格的に始めるzsh
本格的に始めるzsh本格的に始めるzsh
本格的に始めるzshHideaki Miyake
 
Cesiumを動かしてみよう
Cesiumを動かしてみようCesiumを動かしてみよう
Cesiumを動かしてみようKazutaka ishizaki
 
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介Takahiro Miyaura
 
RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介Takeshi Mikami
 

What's hot (20)

OpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみたOpenVRやOpenXRの基本的なことを調べてみた
OpenVRやOpenXRの基本的なことを調べてみた
 
3万円台でマイ電子基準点を設置してみよう
3万円台でマイ電子基準点を設置してみよう3万円台でマイ電子基準点を設置してみよう
3万円台でマイ電子基準点を設置してみよう
 
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
ホットな日本語入力技術のお勉強。〜 OSC 2016 Hamanako 編 〜
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
ガチ(?)対決!OSSのジョブ管理ツール
ガチ(?)対決!OSSのジョブ管理ツールガチ(?)対決!OSSのジョブ管理ツール
ガチ(?)対決!OSSのジョブ管理ツール
 
全自動Zabbix
全自動Zabbix全自動Zabbix
全自動Zabbix
 
Kof2017 シラサギ導入
Kof2017 シラサギ導入Kof2017 シラサギ導入
Kof2017 シラサギ導入
 
データ解析入門
データ解析入門データ解析入門
データ解析入門
 
Cesiumを用いた3次元リアルタイムデータの可視化について
Cesiumを用いた3次元リアルタイムデータの可視化についてCesiumを用いた3次元リアルタイムデータの可視化について
Cesiumを用いた3次元リアルタイムデータの可視化について
 
テスト駆動開発のはじめ方
テスト駆動開発のはじめ方テスト駆動開発のはじめ方
テスト駆動開発のはじめ方
 
Cesium入門ハンズオン~kml読み込み~
Cesium入門ハンズオン~kml読み込み~Cesium入門ハンズオン~kml読み込み~
Cesium入門ハンズオン~kml読み込み~
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
 
ROS2勉強会 4章前半
ROS2勉強会 4章前半ROS2勉強会 4章前半
ROS2勉強会 4章前半
 
SPAのルーティングの話
SPAのルーティングの話SPAのルーティングの話
SPAのルーティングの話
 
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
Apache Kafkaによるログ転送とパフォーマンスチューニング - Bonfire Backend #2 -
 
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったことPHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
 
本格的に始めるzsh
本格的に始めるzsh本格的に始めるzsh
本格的に始めるzsh
 
Cesiumを動かしてみよう
Cesiumを動かしてみようCesiumを動かしてみよう
Cesiumを動かしてみよう
 
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
 
RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介RDFチェックツール「rdflint」のご紹介
RDFチェックツール「rdflint」のご紹介
 

Viewers also liked

【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較Hinemos
 
ザビ家の野望 〜 全自動ZABBIX AWS編 〜
ザビ家の野望 〜 全自動ZABBIX AWS編 〜ザビ家の野望 〜 全自動ZABBIX AWS編 〜
ザビ家の野望 〜 全自動ZABBIX AWS編 〜Katsuhiro Miura
 
第6回zabbix jp勉強会資料
第6回zabbix jp勉強会資料第6回zabbix jp勉強会資料
第6回zabbix jp勉強会資料Daisuke Ikeda
 
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」Atsushi Tanaka
 
【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix
【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix
【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix真乙 九龍
 
ZABBIXでメトリクス監視の話
ZABBIXでメトリクス監視の話ZABBIXでメトリクス監視の話
ZABBIXでメトリクス監視の話kenjiskywalkerslide
 
第5回oss運用管理勉強会 zabbix徹底活用術の紹介
第5回oss運用管理勉強会 zabbix徹底活用術の紹介第5回oss運用管理勉強会 zabbix徹底活用術の紹介
第5回oss運用管理勉強会 zabbix徹底活用術の紹介Daisuke Ikeda
 
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
Zabbix による ms sql監視 ~データベースモニタリング~ odbcZabbix による ms sql監視 ~データベースモニタリング~ odbc
Zabbix による ms sql監視 ~データベースモニタリング~ odbc真乙 九龍
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話Masahito Zembutsu
 
ZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツShinsukeYokota
 

Viewers also liked (10)

【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
【HinemosWorld2015】A1-4_オープンソース統合監視ツール Hinemos/Zabbix徹底比較
 
ザビ家の野望 〜 全自動ZABBIX AWS編 〜
ザビ家の野望 〜 全自動ZABBIX AWS編 〜ザビ家の野望 〜 全自動ZABBIX AWS編 〜
ザビ家の野望 〜 全自動ZABBIX AWS編 〜
 
第6回zabbix jp勉強会資料
第6回zabbix jp勉強会資料第6回zabbix jp勉強会資料
第6回zabbix jp勉強会資料
 
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
OSC 2014 Tokyo/Spring 「Zabbix 2.2を使ってみよう」
 
【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix
【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix
【 Zabbix 2.0 】zabbix 2.0による簡単 MySQL 監視 #Zabbix
 
ZABBIXでメトリクス監視の話
ZABBIXでメトリクス監視の話ZABBIXでメトリクス監視の話
ZABBIXでメトリクス監視の話
 
第5回oss運用管理勉強会 zabbix徹底活用術の紹介
第5回oss運用管理勉強会 zabbix徹底活用術の紹介第5回oss運用管理勉強会 zabbix徹底活用術の紹介
第5回oss運用管理勉強会 zabbix徹底活用術の紹介
 
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
Zabbix による ms sql監視 ~データベースモニタリング~ odbcZabbix による ms sql監視 ~データベースモニタリング~ odbc
Zabbix による ms sql監視 ~データベースモニタリング~ odbc
 
ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話ZabbixのAPIを使って運用を楽しくする話
ZabbixのAPIを使って運用を楽しくする話
 
ZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツ
 

Zabbixに手の届かない所は無い expect