34
ZABBIXに手の届かない所は無い expectで... 渡邉 隼人

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

Embed Size (px)

Citation preview

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

ZABBIXに手の届かない所は無い expectで...

渡邉 隼人

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

改めまして

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

池田さん

ご出版おめでとうございます!(拍手)

Zabbix統合監視徹底活用 複雑化・大規模化するインフラの一元管理

大容量で¥ 3,780大好評発売中!

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

なんと! 池田先生の第1号サイン頂きました!

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

度々 池田さんの所有物に勘違いされます

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

改まして

ZABBIXに手の届かない所は無い expectで...

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

●渡邉 隼人 (わたなべ はやと)● TwitterID: @_BSmile_● 2児の父● アクアリウム(水槽いじり)やってます

●株式会社 アーベルソフト 設立:1984年8月20日本社:埼玉県坂戸市芦山町22-13従業員:約40名従業員は道産子が多いですかく言う私も道産子です

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

本題。

ZABBIX運用環境をお話します

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

とあるお客様環境でプライベートクラウド構築を行っており

SaaS・IaaSサーバ監視Switch/UTM/Storage等等

約220台のホスト監視を行っています。

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

突然ですが

運用監視を行っていて、次の事案が発生しました。(専用線で接続しているオフショア、中国の問題)

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

Private Cloud 社内ネットワーク担当部門

プロバイダオフショアネットワーク

中国から専用線接続で

日本の開発サーバを使用し

日々業務をこなしているプロジェクトがあります

ここに接続

この人が

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

Private Cloud 社内ネットワーク担当部門

プロバイダオフショアネットワーク

中国から専用線接続で

日本の開発サーバを使用し

日々業務をこなしているプロジェクトがあります

ここに接続

この人が

どこかでネットワークが切れた!

プロバイダからの連絡は無い!

社内ネットワーク担当者は打ち合わせで居ない!

オフショアの開発者は試験環境への接続を失った!

途方に暮れるオフショアユーザ!

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

オチから言うとビル停電によりオフショアルータの設定が

ロストした

Ciscoルータのstartup-configに設定入れて無かった

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

頼みますよプロバイダさん(涙)

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

こうなったら各担当者から連絡が来る前に

こちらから報知してやろう

と思いたち

オフショアルータのGWへPingを飛ばしたかった

FW(Fortigate) からしかPingが飛ばない環境

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

そこで expect ですよ

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

スクリプト作成時、対話形式で実行が可能なコマンド

例) Y/Nの問いが多いパッケージソフトの設定を自動で実行させる

[expect]とは...

#!/usr/bin/expect -f

spawn $INSTALLER --platform-overrideexpect "Do you agree with the terms of the software license agreement?"send "y\n"expect "Install zimbra-ldap"send "\n"expect "Install zimbra-logger"send "\n"

※zimbraメールサーバ自動インストールの冒頭

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

Private Cloud 社内ネットワーク担当部門

プロバイダオフショアネットワーク

オフショアネットワーク監視が可能な

FW(Fortigate)からPingで監視を行い

パケロス発生時のログをzabbixが拾う

expect

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

設定はたった7項目!ちゃちゃっと10秒で説明!

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

●/etc/zabbix/externalscripts/lan_ping.sh

(1/7)ZABBIX外部スクリプトへの仕込み

#! /bin/bash

LOG_TEMP=$2PJ_NAME=$3PACKET_LIMIT=$4

if [ -e $LOG_TEMP ]; thenrm -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.logfi

if [ -e $LOG_TEMP ]; thenrm -rf $LOG_TEMP

fi

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

●/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 ## 相手先GWexpect "password:"send "fortipassword\n"expect "fortiHostName $"send "execute ping-options repeat-count 5\n" send "execute ping $host\n"send "exit\n"expect "VPEXFW001 $"interact

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

(3/7)ホスト設定(ロケーション設定側)

GatewayIPアドレス

監視するロケーション名

テンポラリログファイル名

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

(4/7)アイテム設定(ロケーション設定側)

[ キー設定 ]

lan_ping.sh[“{HOST.CONN}”,”/etc/zabbix/log_tmp/{HOST.DNS}.log”,”{HOST.NAME}”]

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

(5/7)アイテム設定(ZABBIX-Server側)

[ タイプ ]Zabbixエージェント(アクティブ)

[ キー ]Log[/var/log/zabbix/forti_ping.log,Caution]

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

(6/7)トリガー設定(ZABBIX-Server側)

[ 条件式 ]{Zabbixホスト:log[/var/log/zabbix/forti_ping.log,Caution].str(Caution)}=1

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

(7/7)アクション設定

[ アクションの実行条件 ]トリガー名 含まれる ”Loation packet loss Check Failed”

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

飛んでくるメール

件名:【重要】【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

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

簡単ですね。

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

ZABBIXに実施させる事でのメリット

1 . 監視する方法が散在しない

2 . 拾った情報をメール送信する手間が少ない

3 . 一度流れを組んでしまえば、オフショアロケーションが  複数発生した場合でも追加が容易  (ホストの複製をし、監視するロケーションを編集する  だけで良い)

特に3番が重要で設定を簡易化した事によるオペレータへの引き継ぎが非常に楽

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

こんな事やってたら

約70台のSaaSサーバのindex.htmlを

ZABBIX使って一括改修してくれという依頼が来ました(汗)

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

まぁやりましたけどね。

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

ZABBIXに手の届かない所は無い expectで...

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

ZABBIXはできる子。

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

ご清聴ありがとうございました。

次回... ご要望ありましたらRasPi+ZABBIXで水槽管理