SlideShare una empresa de Scribd logo
1 de 49
[object Object],  桑野 章弘
アジェンダ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
自己紹介
自己紹介 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
qpstudy 最初の一発目とか 恥ずかしいんですが、、、
はじめさせて頂きます お題は、、、
監視、、、嫌いなんです。
何が嫌いってメンドクサイ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
でもね、、、 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
と言うわけで ,[object Object],[object Object]
監視の種類
こんなのがあります ,[object Object],[object Object]
トレンドの監視 ,[object Object],[object Object],[object Object],[object Object]
障害監視 ,[object Object],[object Object],[object Object],[object Object]
こんなのでいきましょう ,[object Object],[object Object]
実際の手順 [Munin 編 ]
munin とは ,[object Object],[object Object]
Overview サーバ cron で polling クライアント群 HTML ファイル
Munin[Index]
Munin[ 日時 ]
インストール ,[object Object],[object Object],[object Object],#####  サーバインストール # rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt # rpm -ihv http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.5.1-1.el5.rf.x86_64.rpm # yum update # yum install munin.noarch #####  クライアントインストール # yum install munin-node.noarch #####  サーバインストール (debian/ubuntu) # aptitude install munin #####  クライアントインストール (debian/ubuntu) # aptitude install munin-node
設定 [ サーバ側 ] ,[object Object],[object Object],vi /etc/munin/munin.conf (snip) ###  データ取得先サーバの設定  ### ### db server ### [db.example.com;hoge-db01] address 192.168.0.11 use_node_name yes [db.example.com;hoge-db02] address 192.168.0.12 use_node_name yes グループ名 ホスト名 IP アドレス
設定 [ クライアント側 ] ,[object Object],[object Object],vi /etc/munin/munin-node.conf (snip) ### Munin サーバの IP 許可設定  ### allow ^192168010$ ###  取得データの変更 MySQL 関連のパラメータを取得したい  ### # ln –s  /usr/share/munin/plugins/mysql_bytes  /etc/munin/plugins/mysql_bytes cat <<‘EOF’ > plugin-conf.d/mysql [mysql*] env.mysqladmin /usr/bin/mysqladmin env.mysqlopts -udbadmin -h127.0.0.1 EOF ###  エージェント起動  ### /etc/init.d/munin-node start  
その他の運用 ,[object Object],[object Object],[object Object]
独自スクリプト #!/bin/bash MeasurementMode=min #MeasurementMode=sec DATE=`date  +%Y-%m-%d` LOG_FILE=&quot;/usr/local/tomcat/logs/hoge.log&quot; GREP_TEXT_E=&quot;ERROR&quot; GREP_TEXT_W=&quot;WARN&quot; TARGET_MINUTE=`LANG=C date +%H:%M --date '1 minutes ago'` TARGET_SECOND=`LANG=C date +%H:%M:%S --date '1 minutes ago'` ECHO=/bin/echo GREP=/bin/grep WC=/usr/bin/wc TAIL=/usr/bin/tail CAT=/bin/cat
独自スクリプト if [ &quot;$1&quot; == &quot;config&quot; ]; then $ECHO &quot;graph_title log exception count $LOG_FILE&quot;; $ECHO &quot;graph_vlabel request /$MeasurementMode&quot;; $ECHO &quot;graph_category ExceptionCount&quot;; $ECHO &quot;graph_order ERROR WARN&quot;; $ECHO &quot;ERROR.label ERROR*100&quot;; $ECHO &quot;ERROR.min 0&quot;; $ECHO &quot;ERROR.max 1000&quot;; $ECHO &quot;ERROR.draw AREA&quot;; $ECHO &quot;WARN.label WARN&quot;; $ECHO &quot;WARN.min 0&quot;; $ECHO &quot;WARN.max 1000&quot;; $ECHO &quot;WARN.draw STACK&quot;; exit 0; fi
独自スクリプト if [ &quot;$MeasurementMode&quot; == &quot;min&quot; ]; then TARGET_BETWEEN_TIME=$TARGET_MINUTE TAIL_LINE_CNT=10000 else TARGET_BETWEEN_TIME=$TARGET_SECOND TAIL_LINE_CNT=1000 fi count=`$TAIL -n $TAIL_LINE_CNT $LOG_FILE | $GREP &quot;$TARGET_BETWEEN_TIME&quot; | $GREP &quot;$GREP_TEXT_E&quot; | $WC -l` $ECHO $GREP_TEXT_E.value $(($count*100)) count=`$TAIL -n $TAIL_LINE_CNT $LOG_FILE | $GREP &quot;$TARGET_BETWEEN_TIME&quot; | $GREP &quot;$GREP_TEXT_W&quot; | $WC -l` $ECHO $GREP_TEXT_W.value $count
実際の手順 [Mon 編 ]
mon とは ,[object Object],[object Object],[object Object]
Overview
インストール ,[object Object],##### mon のインストール # yum install mon.x86_64 ##### mon のインストール (debian/ubuntu) aptitude install mon
設定 [ サーバ側 ] ,[object Object],#################################################################### #  監視先サーバの設定 #################################################################### hostgroup hoge-www-servers  192.168.0.10 192.168.0.11 192.168.0.12 hostgroup fuga-db-servers  192.168.0.11 192.168.0.12
設定 [ サーバ側 ] ,[object Object],#################################################################### #  サービス監視の設定  #################################################################### watch hoge-servers service ping interval 10s monitor fping.monitor period wd {Sun-Sat} alertevery 3m alertafter 18 3m alert mail.alert -f alert@example.com hoge-alert@example.com upalert mail.alert -f alert@example.com -S “TITLE&quot; -u hoge-alert@example.com service http interval 3m monitor http.monitor -p 80 -u &quot;/url/check.html&quot; allow_empty_group period wd {Sun-Sat} alertevery 9m alertafter 3 9m alert apache_tomcat-restart.alert alert mail.alert -f alert@example.com hoge-alert@example.com upalert mail.alert -f alert@example.com -S “TITLE&quot; -u hoge-alert@example.com
設定 [ クライアント側 ] ,[object Object],[object Object]
運用 ,[object Object],[object Object],[object Object],[object Object]
Web のコンソール [mon.cgi] ,[object Object]
mon.cgi
monshow ,[object Object],[object Object],[object Object]
CLI  インターフェース  [moncmd/monshow] ,[object Object],# /usr/local/mon/clients/monshow --full server: localhost time: Thu May 20 11:38:30 2010 state: scheduler running GROUP  SERVICE  STATUS  LAST  NEXT  ALERTS SUMMARY R hoge-w-both-mys load_average untested  untested  7s  none R hoge-w-both-bat hoge-w-both- -  10s  1s  none R hoge-both-info- df_check_80  -  79s  00:28:24  none R hoge-both-info- df_check_90  -  00:01:55  00:27:48  none R hoge-c-both-mys hoge-c-both- -  00:01:53  00:01:06  none R hoge-c-pc-info- hoge-c-pc-cr -  7s  4s  none R hoge-c-both-net hoge-c-both- -  7s  4s  none R hoge-w-both-api hoge-w-both- -  10s  1s  none R hoge-both-batch df_check_80  -  64s  00:28:37  none R hoge-both-batch df_check_90  -  00:01:37  00:28:06  none R hoge-w-both-mys hoge-w-both- -  00:02:13  46s  none R hoge-w-both-nod hoge-w-both- -  7s  4s  none R hoge-w-both-com ntp  -  00:01:52  00:27:51  none R hoge-both-chat- df_check_80  -  70s  00:28:31  none
CLI  インターフェース  [moncmd/monshow] ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
moncmd ##### config  チェック # /usr/local/mon/clients/moncmd test config 220 test config completed OK, no errors found #####  チェック 監視(有効 / 無効) # /usr/local/mon/clients/moncmd (enable|disable) service &quot;group&quot; &quot;service“ # /usr/local/mon/clients/moncmd (enable|disable) watch &quot;watch“ # /usr/local/mon/clients/moncmd (enable|disable) host  “host“ #####  現監視項目のリスト # /usr/local/mon/clients/moncmd list watch hoge-servers ping hoge-servers http
Monitor スクリプト ,[object Object]
Monitor スクリプト #!/bin/sh #MYSQL MYSQL_USER=‘dbcheck’' MYSQL_PASSWORD=‘hogehoge' MYSQL_BASE='/usr/bin/mysql' MYSQL_COMMAND='SHOW SLAVE STATUS' MYSQL_GREP='Seconds_Behind_Master' RET='' ## HOST CHECK LOOP for host in &quot;$@&quot; do #EXEC RET=`&quot;${MYSQL_BASE}&quot; -h &quot;$host&quot; -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e &quot;${MYSQL_COMMAND}&quot;|grep ${MYSQL_GREP}|awk '{print $2}'` #RET CHECK if [ &quot;${RET}&quot; != 0 ] then if [ &quot;$failed&quot; = &quot;&quot; ] then failed=&quot;$host:${RET}&quot; else failed=&quot;$failed $host:${RET}&quot; fi fi done ## ERROR CHECK if [ &quot;$failed&quot; != &quot;&quot; ] then echo &quot;$failed&quot;  echo &quot;${MYSQL_GREP}:$failed&quot; exit 1 fi # OK RETURN exit 0
Alert スクリプト ,[object Object],[object Object]
Alert スクリプト #!/usr/bin/perl use Getopt::Std; getopts (&quot;s:g:h:t:l:u&quot;); $summary=<STDIN>; chomp $summary; $t = localtime($opt_t); ($wday,$mon,$day,$tm) = split (/+/, $t); print <<EOF; アラート送信 グループ : $opt_g,  サービス  $opt_s EOF print &quot; アップアラートはこっち &quot; if ($opt_u); print <<EOF; 障害時間  $wday $mon $day $tm 障害サマリ : $summary EOF
まとめ
mon とか munin て結構簡単 ,[object Object],[object Object],[object Object],[object Object],[object Object]
ざっくり説明 ,[object Object],[object Object]
ご清聴ありがとうございました

Más contenido relacionado

La actualidad más candente

悔しさと憧れとあきらめなさと
悔しさと憧れとあきらめなさと悔しさと憧れとあきらめなさと
悔しさと憧れとあきらめなさとDaiki Tanoguchi
 
Go で Munin プラグインを書いてみた
Go で Munin プラグインを書いてみたGo で Munin プラグインを書いてみた
Go で Munin プラグインを書いてみたftnk
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp CodereadingHiro Yoshioka
 
BuddyPressの導入からカスタマイズまでの日記5
BuddyPressの導入からカスタマイズまでの日記5BuddyPressの導入からカスタマイズまでの日記5
BuddyPressの導入からカスタマイズまでの日記5Shoichi Otomo
 
Imas hackathon 2019_gotch
Imas hackathon 2019_gotchImas hackathon 2019_gotch
Imas hackathon 2019_gotchYuta Goto
 
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2Mitsutoshi Nakano
 

La actualidad más candente (6)

悔しさと憧れとあきらめなさと
悔しさと憧れとあきらめなさと悔しさと憧れとあきらめなさと
悔しさと憧れとあきらめなさと
 
Go で Munin プラグインを書いてみた
Go で Munin プラグインを書いてみたGo で Munin プラグインを書いてみた
Go で Munin プラグインを書いてみた
 
Programming camp Codereading
Programming camp CodereadingProgramming camp Codereading
Programming camp Codereading
 
BuddyPressの導入からカスタマイズまでの日記5
BuddyPressの導入からカスタマイズまでの日記5BuddyPressの導入からカスタマイズまでの日記5
BuddyPressの導入からカスタマイズまでの日記5
 
Imas hackathon 2019_gotch
Imas hackathon 2019_gotchImas hackathon 2019_gotch
Imas hackathon 2019_gotch
 
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
etckeeperをopenSUSEの公式リポジトリに入れたいぞ! Ver.2
 

Destacado

WebSocketでリアルタイム通信
WebSocketでリアルタイム通信WebSocketでリアルタイム通信
WebSocketでリアルタイム通信Kensaku Komatsu
 
Amazon Kinesis Analytics によるストリーミングデータのリアルタイム分析
Amazon Kinesis Analytics によるストリーミングデータのリアルタイム分析Amazon Kinesis Analytics によるストリーミングデータのリアルタイム分析
Amazon Kinesis Analytics によるストリーミングデータのリアルタイム分析Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2016 Amazon Kinesis
AWS Black Belt Online Seminar 2016 Amazon KinesisAWS Black Belt Online Seminar 2016 Amazon Kinesis
AWS Black Belt Online Seminar 2016 Amazon KinesisAmazon Web Services Japan
 
Keeping Track of Deadlines
Keeping Track of DeadlinesKeeping Track of Deadlines
Keeping Track of DeadlinesTom Blefko
 
Home move box survey & demographic results 2014[1]
Home move box survey & demographic results 2014[1]Home move box survey & demographic results 2014[1]
Home move box survey & demographic results 2014[1]Jonathan Burden
 
Programs & Services Training: Homesale Center
Programs & Services Training:  Homesale CenterPrograms & Services Training:  Homesale Center
Programs & Services Training: Homesale CenterTom Blefko
 
Rfid pengendali bbm bersubsidi
Rfid pengendali bbm bersubsidiRfid pengendali bbm bersubsidi
Rfid pengendali bbm bersubsidiSigit Yunanto
 
User Thoughts Approval Process V001
User Thoughts   Approval Process V001User Thoughts   Approval Process V001
User Thoughts Approval Process V001UserThoughts.com
 
How to Build a Business for the Long Haul
How to Build a Business for the Long HaulHow to Build a Business for the Long Haul
How to Build a Business for the Long HaulTom Blefko
 
Prudential Real Estate Outlook Survey (2nd Quarter 2012)
Prudential Real Estate Outlook Survey (2nd Quarter 2012)Prudential Real Estate Outlook Survey (2nd Quarter 2012)
Prudential Real Estate Outlook Survey (2nd Quarter 2012)Tom Blefko
 
Building & Nurturing Your Database
Building & Nurturing Your DatabaseBuilding & Nurturing Your Database
Building & Nurturing Your DatabaseTom Blefko
 
Rodan &amp; Fields Prescription for Success
Rodan &amp; Fields Prescription for SuccessRodan &amp; Fields Prescription for Success
Rodan &amp; Fields Prescription for Successajiracek
 
Referral Groups - Member Quick Start Guide
Referral Groups - Member Quick Start Guide Referral Groups - Member Quick Start Guide
Referral Groups - Member Quick Start Guide tamyett
 

Destacado (20)

WebSocketでリアルタイム通信
WebSocketでリアルタイム通信WebSocketでリアルタイム通信
WebSocketでリアルタイム通信
 
Amazon Kinesis Analytics によるストリーミングデータのリアルタイム分析
Amazon Kinesis Analytics によるストリーミングデータのリアルタイム分析Amazon Kinesis Analytics によるストリーミングデータのリアルタイム分析
Amazon Kinesis Analytics によるストリーミングデータのリアルタイム分析
 
AWS Black Belt Online Seminar 2016 Amazon Kinesis
AWS Black Belt Online Seminar 2016 Amazon KinesisAWS Black Belt Online Seminar 2016 Amazon Kinesis
AWS Black Belt Online Seminar 2016 Amazon Kinesis
 
Amadeus
AmadeusAmadeus
Amadeus
 
Keeping Track of Deadlines
Keeping Track of DeadlinesKeeping Track of Deadlines
Keeping Track of Deadlines
 
Home move box survey & demographic results 2014[1]
Home move box survey & demographic results 2014[1]Home move box survey & demographic results 2014[1]
Home move box survey & demographic results 2014[1]
 
Bdavid
BdavidBdavid
Bdavid
 
Programs & Services Training: Homesale Center
Programs & Services Training:  Homesale CenterPrograms & Services Training:  Homesale Center
Programs & Services Training: Homesale Center
 
Rfid pengendali bbm bersubsidi
Rfid pengendali bbm bersubsidiRfid pengendali bbm bersubsidi
Rfid pengendali bbm bersubsidi
 
User Thoughts Approval Process V001
User Thoughts   Approval Process V001User Thoughts   Approval Process V001
User Thoughts Approval Process V001
 
Buyer Do-Over
Buyer Do-OverBuyer Do-Over
Buyer Do-Over
 
IOAについて
IOAについてIOAについて
IOAについて
 
Krystal
KrystalKrystal
Krystal
 
How to Build a Business for the Long Haul
How to Build a Business for the Long HaulHow to Build a Business for the Long Haul
How to Build a Business for the Long Haul
 
Green It
Green ItGreen It
Green It
 
Prudential Real Estate Outlook Survey (2nd Quarter 2012)
Prudential Real Estate Outlook Survey (2nd Quarter 2012)Prudential Real Estate Outlook Survey (2nd Quarter 2012)
Prudential Real Estate Outlook Survey (2nd Quarter 2012)
 
Building & Nurturing Your Database
Building & Nurturing Your DatabaseBuilding & Nurturing Your Database
Building & Nurturing Your Database
 
Rodan &amp; Fields Prescription for Success
Rodan &amp; Fields Prescription for SuccessRodan &amp; Fields Prescription for Success
Rodan &amp; Fields Prescription for Success
 
Referral Groups - Member Quick Start Guide
Referral Groups - Member Quick Start Guide Referral Groups - Member Quick Start Guide
Referral Groups - Member Quick Start Guide
 
Epa
EpaEpa
Epa
 

Similar a Mon, Muninによる楽々監視生活

Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化hiroyuki nakajima
 
Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009Atsushi Eno
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話mdome
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!leverages_event
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!Shinpei Ohtani
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~Akihiro Kuwano
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試したy-uti
 
EmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたEmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたkyon mm
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejsTakayoshi Tanaka
 
Re: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうかRe: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうかMasahito Zembutsu
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeomantomo_masakura
 
Deep Dive into Modules
Deep Dive into ModulesDeep Dive into Modules
Deep Dive into ModulesHideki Saito
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.nextyoshikawa_t
 
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみようVagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみようTakuma Morikawa
 
Open Source System Administration Framework - Func
Open Source System Administration Framework - FuncOpen Source System Administration Framework - Func
Open Source System Administration Framework - FuncGosuke Miyashita
 
ssmjp-wireless-hack-with-macbook
ssmjp-wireless-hack-with-macbookssmjp-wireless-hack-with-macbook
ssmjp-wireless-hack-with-macbookKenta Nakanishi
 
Arduino を PHP で制御する
Arduino を PHP で制御するArduino を PHP で制御する
Arduino を PHP で制御するKenichi Ahagon
 
作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話Tsuyoshi Torii
 
Maven2 プラグイン入門
Maven2 プラグイン入門Maven2 プラグイン入門
Maven2 プラグイン入門guestd4898b
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウKentarou Mukunasi
 

Similar a Mon, Muninによる楽々監視生活 (20)

Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化Fabricによるcloud stackインストール自動化
Fabricによるcloud stackインストール自動化
 
Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009Mono at Microsoft Tech Days Japan 2009
Mono at Microsoft Tech Days Japan 2009
 
GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話GitとCIとかチャットとかをオンプレで運用する話
GitとCIとかチャットとかをオンプレで運用する話
 
GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!GruntでJavaScript 前作業の自動化!
GruntでJavaScript 前作業の自動化!
 
Struts2を始めよう!
Struts2を始めよう!Struts2を始めよう!
Struts2を始めよう!
 
ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~ザ・ドキュメント~うまくいかないNoSQL~
ザ・ドキュメント~うまくいかないNoSQL~
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
 
EmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べたEmitJSの環境をちょこっと調べた
EmitJSの環境をちょこっと調べた
 
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
 
Re: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうかRe: 運用に自動化を求めるのは間違っているだろうか
Re: 運用に自動化を求めるのは間違っているだろうか
 
今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman今流行りのウェブアプリ開発環境Yeoman
今流行りのウェブアプリ開発環境Yeoman
 
Deep Dive into Modules
Deep Dive into ModulesDeep Dive into Modules
Deep Dive into Modules
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
Vagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみようVagrantと網元で開発環境を作ってみよう
Vagrantと網元で開発環境を作ってみよう
 
Open Source System Administration Framework - Func
Open Source System Administration Framework - FuncOpen Source System Administration Framework - Func
Open Source System Administration Framework - Func
 
ssmjp-wireless-hack-with-macbook
ssmjp-wireless-hack-with-macbookssmjp-wireless-hack-with-macbook
ssmjp-wireless-hack-with-macbook
 
Arduino を PHP で制御する
Arduino を PHP で制御するArduino を PHP で制御する
Arduino を PHP で制御する
 
作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話作られては消えていく泡のように儚いクラスタの運用話
作られては消えていく泡のように儚いクラスタの運用話
 
Maven2 プラグイン入門
Maven2 プラグイン入門Maven2 プラグイン入門
Maven2 プラグイン入門
 
初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
 

Más de Akihiro Kuwano

今日はMongoDBの話はしない
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしないAkihiro Kuwano
 
銀河レベルのLT(とは)
銀河レベルのLT(とは)銀河レベルのLT(とは)
銀河レベルのLT(とは)Akihiro Kuwano
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティスAkihiro Kuwano
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器Akihiro Kuwano
 
MongoDBの可能性の話
MongoDBの可能性の話MongoDBの可能性の話
MongoDBの可能性の話Akihiro Kuwano
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いたAkihiro Kuwano
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)Akihiro Kuwano
 
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいWiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいAkihiro Kuwano
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴Akihiro Kuwano
 
アメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったアメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったAkihiro Kuwano
 
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBAkihiro Kuwano
 
後悔しないもんごもんごの使い方 〜サーバ編〜
後悔しないもんごもんごの使い方 〜サーバ編〜後悔しないもんごもんごの使い方 〜サーバ編〜
後悔しないもんごもんごの使い方 〜サーバ編〜Akihiro Kuwano
 
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。Akihiro Kuwano
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストAkihiro Kuwano
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例Akihiro Kuwano
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレするAkihiro Kuwano
 
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)Akihiro Kuwano
 

Más de Akihiro Kuwano (20)

今日はMongoDBの話はしない
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしない
 
銀河レベルのLT(とは)
銀河レベルのLT(とは)銀河レベルのLT(とは)
銀河レベルのLT(とは)
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
AWSのNoSQL入門
AWSのNoSQL入門AWSのNoSQL入門
AWSのNoSQL入門
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティス
 
ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器ビックデータ最適解とAWSにおける新しい武器
ビックデータ最適解とAWSにおける新しい武器
 
MongoDBの可能性の話
MongoDBの可能性の話MongoDBの可能性の話
MongoDBの可能性の話
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
 
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
 
WiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しいWiredTigerストレージエンジン楽しい
WiredTigerストレージエンジン楽しい
 
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
 
Chef環境の闇
Chef環境の闇Chef環境の闇
Chef環境の闇
 
アメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなったアメーバピグにおける自作サーバ運用それからどうなった
アメーバピグにおける自作サーバ運用それからどうなった
 
CyberAgentにおけるMongoDB
CyberAgentにおけるMongoDBCyberAgentにおけるMongoDB
CyberAgentにおけるMongoDB
 
後悔しないもんごもんごの使い方 〜サーバ編〜
後悔しないもんごもんごの使い方 〜サーバ編〜後悔しないもんごもんごの使い方 〜サーバ編〜
後悔しないもんごもんごの使い方 〜サーバ編〜
 
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
勉強会コミュニティがぼくの エンジニア人生にもたらした事。 あと、NoSQLとの付き合い方。
 
MongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキストMongoDBのはじめての運用テキスト
MongoDBのはじめての運用テキスト
 
AmebaのMongoDB活用事例
AmebaのMongoDB活用事例AmebaのMongoDB活用事例
AmebaのMongoDB活用事例
 
MongoDBのアレをアレする
MongoDBのアレをアレするMongoDBのアレをアレする
MongoDBのアレをアレする
 
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
やさぐれギンガさんのアーキテクチャ入門(ためしてガッテン)(仮)
 

Último

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Último (7)

業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 

Mon, Muninによる楽々監視生活

  • 1.
  • 2.
  • 4.
  • 8.
  • 9.
  • 10.
  • 12.
  • 13.
  • 14.
  • 15.
  • 17.
  • 18. Overview サーバ cron で polling クライアント群 HTML ファイル
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. 独自スクリプト #!/bin/bash MeasurementMode=min #MeasurementMode=sec DATE=`date +%Y-%m-%d` LOG_FILE=&quot;/usr/local/tomcat/logs/hoge.log&quot; GREP_TEXT_E=&quot;ERROR&quot; GREP_TEXT_W=&quot;WARN&quot; TARGET_MINUTE=`LANG=C date +%H:%M --date '1 minutes ago'` TARGET_SECOND=`LANG=C date +%H:%M:%S --date '1 minutes ago'` ECHO=/bin/echo GREP=/bin/grep WC=/usr/bin/wc TAIL=/usr/bin/tail CAT=/bin/cat
  • 26. 独自スクリプト if [ &quot;$1&quot; == &quot;config&quot; ]; then $ECHO &quot;graph_title log exception count $LOG_FILE&quot;; $ECHO &quot;graph_vlabel request /$MeasurementMode&quot;; $ECHO &quot;graph_category ExceptionCount&quot;; $ECHO &quot;graph_order ERROR WARN&quot;; $ECHO &quot;ERROR.label ERROR*100&quot;; $ECHO &quot;ERROR.min 0&quot;; $ECHO &quot;ERROR.max 1000&quot;; $ECHO &quot;ERROR.draw AREA&quot;; $ECHO &quot;WARN.label WARN&quot;; $ECHO &quot;WARN.min 0&quot;; $ECHO &quot;WARN.max 1000&quot;; $ECHO &quot;WARN.draw STACK&quot;; exit 0; fi
  • 27. 独自スクリプト if [ &quot;$MeasurementMode&quot; == &quot;min&quot; ]; then TARGET_BETWEEN_TIME=$TARGET_MINUTE TAIL_LINE_CNT=10000 else TARGET_BETWEEN_TIME=$TARGET_SECOND TAIL_LINE_CNT=1000 fi count=`$TAIL -n $TAIL_LINE_CNT $LOG_FILE | $GREP &quot;$TARGET_BETWEEN_TIME&quot; | $GREP &quot;$GREP_TEXT_E&quot; | $WC -l` $ECHO $GREP_TEXT_E.value $(($count*100)) count=`$TAIL -n $TAIL_LINE_CNT $LOG_FILE | $GREP &quot;$TARGET_BETWEEN_TIME&quot; | $GREP &quot;$GREP_TEXT_W&quot; | $WC -l` $ECHO $GREP_TEXT_W.value $count
  • 29.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 38.
  • 39.
  • 40.
  • 41. moncmd ##### config チェック # /usr/local/mon/clients/moncmd test config 220 test config completed OK, no errors found ##### チェック 監視(有効 / 無効) # /usr/local/mon/clients/moncmd (enable|disable) service &quot;group&quot; &quot;service“ # /usr/local/mon/clients/moncmd (enable|disable) watch &quot;watch“ # /usr/local/mon/clients/moncmd (enable|disable) host “host“ ##### 現監視項目のリスト # /usr/local/mon/clients/moncmd list watch hoge-servers ping hoge-servers http
  • 42.
  • 43. Monitor スクリプト #!/bin/sh #MYSQL MYSQL_USER=‘dbcheck’' MYSQL_PASSWORD=‘hogehoge' MYSQL_BASE='/usr/bin/mysql' MYSQL_COMMAND='SHOW SLAVE STATUS' MYSQL_GREP='Seconds_Behind_Master' RET='' ## HOST CHECK LOOP for host in &quot;$@&quot; do #EXEC RET=`&quot;${MYSQL_BASE}&quot; -h &quot;$host&quot; -u${MYSQL_USER} -p${MYSQL_PASSWORD} -e &quot;${MYSQL_COMMAND}&quot;|grep ${MYSQL_GREP}|awk '{print $2}'` #RET CHECK if [ &quot;${RET}&quot; != 0 ] then if [ &quot;$failed&quot; = &quot;&quot; ] then failed=&quot;$host:${RET}&quot; else failed=&quot;$failed $host:${RET}&quot; fi fi done ## ERROR CHECK if [ &quot;$failed&quot; != &quot;&quot; ] then echo &quot;$failed&quot; echo &quot;${MYSQL_GREP}:$failed&quot; exit 1 fi # OK RETURN exit 0
  • 44.
  • 45. Alert スクリプト #!/usr/bin/perl use Getopt::Std; getopts (&quot;s:g:h:t:l:u&quot;); $summary=<STDIN>; chomp $summary; $t = localtime($opt_t); ($wday,$mon,$day,$tm) = split (/+/, $t); print <<EOF; アラート送信 グループ : $opt_g, サービス $opt_s EOF print &quot; アップアラートはこっち &quot; if ($opt_u); print <<EOF; 障害時間 $wday $mon $day $tm 障害サマリ : $summary EOF
  • 47.
  • 48.

Notas del editor

  1. Spider Storage Engine はおいておくw
  2. Spider Storage Engine はおいておくw
  3. Spider Storage Engine はおいておくw
  4. Spider Storage Engine はおいておくw
  5. Spider Storage Engine はおいておくw
  6. Spider Storage Engine はおいておくw
  7. Spider Storage Engine はおいておくw
  8. Spider Storage Engine はおいておくw
  9. Spider Storage Engine はおいておくw
  10. Spider Storage Engine はおいておくw
  11. Spider Storage Engine はおいておくw
  12. Spider Storage Engine はおいておくw
  13. Spider Storage Engine はおいておくw
  14. Spider Storage Engine はおいておくw
  15. Spider Storage Engine はおいておくw
  16. Spider Storage Engine はおいておくw
  17. Spider Storage Engine はおいておくw
  18. Spider Storage Engine はおいておくw
  19. Spider Storage Engine はおいておくw
  20. Spider Storage Engine はおいておくw
  21. Spider Storage Engine はおいておくw
  22. Spider Storage Engine はおいておくw
  23. Spider Storage Engine はおいておくw
  24. Spider Storage Engine はおいておくw
  25. Spider Storage Engine はおいておくw
  26. Spider Storage Engine はおいておくw
  27. Spider Storage Engine はおいておくw
  28. Spider Storage Engine はおいておくw
  29. Spider Storage Engine はおいておくw