サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
中東情勢
ike-dai.hatenablog.com
JavaScriptだけで音声の読み上げができるということで試してみました。 ソースコードはこちら https://github.com/mattytemple/speak-js Speak.js使い方 使い方は非常に簡単です。 speakClient.jsとspeakWorker.js、speakGenerator.jsを配置し、 HTMLの中でspeakClient.jsを読み込むだけで事前準備はOK。 speak()というJavaScriptの関数があるので、これを使って読み上げを実現します。 speak()の引数としては、読み上げる対象のテキスト情報を第1引数に、 オプションを第2引数に指定します。 オプションとしては以下のような値が設定可能です。 speed 読み上げ速度 pitch 読み上げ音声の音程 amplitude 読み上げ音声の音量 wordgap 単語と単語間の読み上
約2年ぶりのZabbixの日本コミュニティZABBIX-JPの勉強会が昨日開催されました。 今回の勉強会は、執筆させていただいた書籍Amazon CAPTCHAの出版をきっかけにコミュニティの皆様にご協力いただき、開催にいたりました。 本当に皆様ありがとうございました。 発表資料はこちらに公開しています。 第6回zabbix jp勉強会資料 from Daisuke Ikeda 書籍の宣伝が中心にはなってしまいましたが、書籍に書けなかった機能の中にも有用な機能がたくさんあるよと少しは知ってもらえたかなと思います。 発表中に紹介したクラウド監視モジュールはもう少し仕上げて、後日公開します。 他の方の発表を聞いて 他の方の発表資料は、@sechiroさんがこちらのブログ第6回 Zabbix-JP勉強会は、2年の空白を埋める非常に濃い勉強会だった #zabbix_jp - 双六工場日誌にてまとめ
本日2014/2/7、「Zabbix統合監視徹底活用」が技術評論社さんより出版されました。 Zabbix統合監視徹底活用 ~複雑化・大規模化するインフラの一元管理 (Software Design plus) 作者: TIS株式会社,池田大輔出版社/メーカー: 技術評論社発売日: 2014/02/07メディア: 大型本この商品を含むブログ (4件) を見る どんな本? この書籍は、Zabbixの基本的な使い方の解説というわけではなく、仮想化やクラウド化など、昨今の変化する環境の中で Zabbixを活用しつつ、いかに効率良く運用することができるのかをまとめたものになります。 なので、Zabbixを初めて使ってみるという方は寺島さんの書籍や公式マニュアル(つい先日Zabbix2.0系のマニュアルの日本語版が公開されました。)を一度ご覧いただいてからお読み下さい。 Zabbix統合監視「実践」入
Xenの環境の場合、ホストOSやゲストOSに対してどれだけのメモリを割当てるか設定して起動します。 その場合、ホストOSがどれだけのメモリを持っているのかをチェックしようと、 freeコマンドや/proc/meminfoで確認してみると、Xenで割当設定したメモリ量しか表示されません。 例えば、ホストOSに512MBメモリを割当てると、 ホストOSでfree実行した場合こんな感じ。 # free total used free shared buffers cached Mem: 524288 430904 93384 0 51964 233324 -/+ buffers/cache: 145616 378672 Swap: 2096376 0 2096376 524288KB=512MBがtotalとして出てきます。 また/proc/meminfoを見ると # cat /proc/mem
WindowsだとputtyとかPoderosaとかTeraTermとかSSHクライアントソフトを利用してリモートのサーバにSSH接続することが多いです。 接続先のサーバがたくさんある場合には各ツールに接続先サーバのプロファイル情報を登録し、接続することになります。 これらのプロファイル情報はクライアントマシン内に保管されるので、別の端末から接続したいといった場合には別途接続設定を行う必要があるなど、管理に手間がかかります。 そこで、Web上でSSH接続情報を管理をし、複数サーバに対してSSH接続できるものがないかと探していたところ、GateOneというツールを見つけました。 GateOneはAGPLv3で公開されているOSSです。 http://liftoffsoftware.com/Products/GateOne https://github.com/liftoff/GateOne/
ファイルが日次で正しく作成されているかどうかを確認する設定。 system.run[コマンド]で 指定したコマンドを監視対象のサーバに実行させた結果を取得することが可能。 例:system.run["ls -l /home/hoge/`date +%Y-%m-%d`.log"] これで/home/hoge/2011-01-13.logのようなファイルが作成されていることを検知できる。 ファイルの数だけでよいなら上記コマンドの後ろに「|wc -l」などを追加して数を取得できるようにする。 コマンドの出力結果はテキスト形式でも取得可能である。 監視アイテム登録時にデータ型を正しく指定する必要がある。 データ型に「文字列」を指定した場合、取得できる文字数は255文字までであるので注意が必要。 長い文字列の取得が必要な場合は「テキスト」を指定する。 決まったファイル名の存在の有無をチェックする場合
ふと思いだせなかったので CentOSであればrpmの-qplオプションを指定することで未インストールパッケージ一覧を見ることが可能です。 rpm -qpl xxx.rpm 但し、これで見ようとするとrpmパッケージを手元にダウンロードしておく必要あります。 そこで、まずyumでrpmパッケージをインストールせずダウンロードだけしておきます。 ダウンロードのみを実行するためには、yum-downloadonlyパッケージを予めインストールしておく必要があります。 (CentOS6以降だとyum-plugin-downloadonlyという名前のパッケージに変わっているようです。) $ yum install yum-downloadonly 以降、yum installコマンドのオプションとして--downloadonlyオプションが利用可能になる。 $ yum install --dow
先日http:/http://togetter.com/li/501076togetter.com/li/501076(5/10)開催されたProvisioning Frameworks Casual Talks vol.1に参加しました。 Provisioning Frameworks Casual Talks vol.1の中身は他の方がたくさんブログを書かれているのでそちらを参照して下さい。 Provisioning Frameworks Casual Talks vol.1 - Togetter serverspecの話がたくさん出てきたので自分も試しにservespecを使ってテストコードを書いてみました。 ついでに、serverspecのver.0.3.0から利用できるようになったattributeの機能も使ってみました。 serverspecのattributeはこちらを参考に
システム運用していて、SLA管理のためにサービスレベルを定期的にレポートしたい場合もあるかと思います。 ZabbixにはITサービス機能があり、サービスの稼働率を算出することができます。 例えば次のような形で設定できます。 サービスAとサービスBの監視をZabbixで監視 サービスAはWebサーバ3台、DBサーバ2台で構成 サービスBはWebサーバ2台、DBサーバ2台、認証サーバ2台で構成 サービスAが稼働継続するには少なくともWebサーバ、DBサーバが1台以上稼働している必要がある サービスBが稼働継続するには少なくともWebサーバ、DBサーバ、認証サーバが1台以上稼働している必要がある このような環境があった場合にそれぞれのサーバの稼働率からサービス自体の稼働率を算出することができます。 ZabbixのITサービスの機能を使うことで次のようにできます。 設定は「設定」→「ITサービス」
Zabbix公式APIマニュアルには、Zabbix APIの使い方として、Web監視設定情報を取得したり、追加登録する方法が載っていません。 しかし、ソースコードを見ると、CWebCheck.phpというのが存在していて、どうやらAPIで叩けるようです。 ということで、Zabbix APIを使ってWeb監視設定の取得と追加登録を実施してみます。 公式に提供されている機能ではないので、以下解説する内容は参考程度に留めて下さい。 以下、Zabbix2.0.3で動作確認済みです。 別のバージョンでは動かないかもしれません。 webcheck.getによるWeb監視設定情報取得 Web監視関連のAPIはwebcheck.xxxという形のメソッドで実行できます。 監視設定を取得する場合にはwebcheck.getです。 取得する際のパラメータ情報は次の通りです。 パラメータには次の値を設定します。
AWSで発生している障害状況をモニタリングするには、AWS Health Dashboardというサイトがあります。 ここでは、各リージョンの各サービス毎に障害が発生していないかの情報を発信しています。 サービスが利用不可になっている状態のお知らせだけでなく、パフォーマンス劣化が発生している状況なども発信しています。 AWS上でサービス運用している方にとって、ここで公開される情報は結構重要です。 いち早く何が起こっているのかに気付くためにもこのサイトの情報は常にチェックしておきたいところです。 しかし、このサイトの最新情報を知るには、ブラウザでこのサイトを確認するか、RSSで配信される情報をチェックするしかありません。 何かあればプッシュ型で通知して欲しいところではないでしょうか。 そこで、このサイトの情報をZabbixで集約し、障害が発生した場合にアラートを上げれるようにしてみます。 実
これまでJava版のコマンドラインツールがありましたが、先日新たにPython版のAWSコマンドラインツールがリリースされたようです。 Introducing the AWS Command Line Interface (Developer Preview) まだDeveloper Previewらしいですが。 試しに使ってみます。 Ubuntu12.04の環境で試しています。 導入方法 1. Pythonのインストール(Python2.6以上のバージョンが必要らしい) $ sudo apt-get install python 2. パッケージ管理ツール(easy_install)の導入 Pythonのパッケージ管理ツールでコマンドラインツールのインストールが可能であるため、まずはパッケージ管理ツールを導入します。 $ wget http://peak.telecommunity.co
sar -Aで取得したシステムの利用状況の中で、ディスクIOを示すものは下記の記述部分。 17:57:57 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 17:58:07 dev8-0 8.78 0.00 134.13 15.27 0.01 0.73 0.73 0.64 17:58:07 dev8-1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:58:07 dev8-2 8.78 0.00 134.13 15.27 0.01 0.73 0.73 0.64 17:58:07 dev8-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:58:07 dev8-17 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0
Chrome Extensionを更新しようとすると、Manifestバージョンを1から2にあげろといわれたので対応してみました。 今回対応したのは、Zabbixトリガーチェック用Chrome Extensionの「Chromix - Chrome Web Store」です。 そもそも今までmanifestバージョンを指定していなかったので、 まずmanifest.jsonに以下を追記します。 (指定しなかった場合は1とみなされるようです) "manifest_version":2, これで拡張機能をインストールしてみると、設定がおかしいとかでエラー。 browser_actionにbackground_pageの項目を設定していたが、この指定方法が変更になるらしい。 "background_page":"background.html" ↓ "background":{"page":"b
Zabbixの非常に役に立つ機能として、 Zabbix Senderというものがあります。 これは、Zabbix Serverから定期的にポーリング監視するのではなく、 監視される側から値をZabbix Serverに対して送りつけることができる機能です。 Zabbix SenderはZabbix Agentをインストールことで合わせてインストールされます。 rpmパッケージでzabbix agentをインストールした場合には、/usr/bin/zabbix_senderというパスでzabbix_senderがインストールされます。 基本的な使い方 基本的な使い方としては以下のようになります。 $ zabbix_sender -z "zabbix serverホスト名orIP" -p "zabbix serverポート番号" -s "ホスト名" -k "キー名" -o "値" 例えば、10
とあるタスク管理用にGoogleのスプレッドシートを利用しています。 スプレッドシートの利用時に、毎週行う作業が発生するので、 手運用は面倒だなということで、 Google Apps Scriptを利用してみることにしました。 行いたいことの情報としては以下の3点 1. 毎週月曜日に行いたい作業である 2. 「テンプレート」という名前のシートの「A1」欄に作業日の日付を入力(2012/04/12のような形式で) 3. 日付を変更した「テンプレート」をコピーして新たなシート(シート名は作業日の日付)を1枚作成する この3つを実現するため、以下のようなスクリプトを作成しました。 function weeklyTask() { var SPREADSHEET_ID = 'スプレッドシートID'; var SHEET_NAME = 'テンプレート'; ss = SpreadsheetApp.ope
ZabbixにはWeb監視の機能があり、 シナリオに沿って、各ページのレスポンスコードや応答時間などの監視を行うことが可能です。 シナリオは例えば以下のような形で設定します。 ステップ1 URL: http://hostname/login 想定レスポンスコード: 200 レスポンスに含まれるべき要求文字列: login page ステップ2 URL: http://hostname/auth 想定レスポンスコード: 200 レスポンスに含まれるべき要求文字列: ok といった具合に設定していきます。 また、Basic認証が要求されるようなサイトの場合は、 シナリオに対して、User、Passwordを設定しておくことで認証後のページのチェックを行うことも可能です。 Web監視の機能で設定したURLをチェックした場合に、 もしリダイレクトされるとどういう挙動をするのかをソースコードから追っ
Zabbixのトリガー確認用 Chrome ExtensionChromix - Chrome Web Storeを公開しました。 いちいちZabbixの管理画面を見ることなく、障害が発生した情報をキャッチできます。 機能はかなり絞っているのであまり使い所がないかもしれませんが、 複数のZabbix Serverを立てて運用している場合など便利になるかもしれません。 お試し下さい。 個人的にjQueryやHTML5、CSS3などの技術の勉強のために作ったものなので、 まだまだ出来はよくないですが、何かの役に立てばと思っています。 使い方 事前作業 このアプリは、Zabbix APIを使ってアクセスするので、 Zabbix1.8系を利用の方は、Zabbix Serverの管理画面から、アクセスしたいユーザを「API access」グループに所属させ、APIアクセス権限を付与して下さい。 Za
「クラウドとオンプレミスの環境の統合管理をZabbixで」というテーマで話してきました。 この取り組みは昨年度から行なっており、まだまだ開発途中ではあるのですが、 実際に運用を行われていたり、Zabbixを活用されている方の生の声を聞きたくて発表しました。 「自分が取り組んでいる内容が本当に正しい方向で進めれているのだろうか?」 など、長期に渡って取り組み続けていると疑問に思うことがよくあります。 そういうのを確かめる意味でも発表の機会をいただけたこと大変感謝しています。 @kodai74さんありがとうございます。 発表内容はslideshareにアップしています。 http://www.slideshare.net/ikedai/zabbix2012-05-12fix Zabbix2012 05 12_fix View more presentations from Daisuke Ik
最近zabbixを触り始めました。 その中で知ったことをちょくちょく残していこうかと思います。 コマンドによるzabbixエージェントの動作確認方法 zabbixエージェントの監視が正しく行えているかどうか、 また、キーに対してどのような値が取得できるのかをコマンドラインから確認する方法です。 管理画面上に反映されるのを待っててもいいですが、コマンドで簡単にチェックできるので便利です。 利用するコマンドはzabbix_getコマンド。 コマンドの使い方は以下の通り。 zabbix_get -s 監視対象(エージェント導入済)サーバIP -p 監視対象サーバのエージェント起動ポート番号 -k キーの値 以下の例は、/var/log/messagesに文字列errorが含まれているかをチェックするコマンドです。 zabbix_get -s 192.168.xxx.xxx -p 10051 -k
curlコマンドを使って、複数のパラメータを持つGETリクエストを送りたい場合に注意が必要です。 例えば、http://test-server/api?param1=abc というリクエストをコマンドラインからcurlコマンドを利用して実行しようとするとこのような感じになります。 $ curl -X GET http://test-server/api?param1=abc レスポンス内容 ・・・・ これで問題なくレスポンスがGETできます。 しかし、例えば以下のような複数のパラメータを持ったGETリクエストを送りたい場合は要注意。 $ curl -X GET http://test-server/api?param1=abc¶m2=def [1] 26726 このようにcurlコマンドがバックエンドプロセスとして実行されてしまいます。 またその実行結果を見ると、 [1]+ Done cu
zabbixエージェントのアクティブチェックがうまくいかなくて苦労した時の対処方法を紹介しておきます。 ログ監視をアクティブチェックで行おうと思い、zabbixサーバ側には下記監視アイテムを登録しました。 タイプ→zabbixエージェント(アクティブ) キー→log[/var/log/message,error,,] この設定を入れて、しばらく待ったが全くの反応なし。 zabbix_agentdのログを確認しても特に何もなく。 zabbix_agentdを再起動した場合はactive_checks startのログが残されているので、実行しようとはしているよう。 これだけだとどこでどうエラーになっているのかわからないので、zabbix_agentd.confの設定を変更し、ログレベルを最大にして確認。 すると、zabbix_agentdの起動時にエラーが出力されていることが判明。 6904
Zabbix APIはJSON-RPC形式です。 とりあえず今回は、curlコマンドを利用して値を取得してみます。 まず、Zabbix Server側の設定でAPIアクセスを許可するユーザを作成してあげます。 「API access」というグループがデフォルトで存在していると思いますので、 APIアクセスを許可したいユーザを「API Access」グループに追加します。 これでこのユーザはAPIアクセスを実施することができます。 あとは、curlコマンドを叩いてみます。 以下の例では、下記情報を利用します。 APIアクセスを許可したユーザ:apiuser パスワード:apipassword Zabbix ServerのIPアドレス:192.168.xx.yy まずは認証処理です。 # curl -d '{"auth":null,"method":"user.authenticate","i
VMware ESXiの情報をsnmpwalkなどで取得すると、このような感じでどの値が何を示しているのかわからない。 SNMPv2-SMI::enterprises.6876.2.1.1.2.32 = STRING: "test-server" SNMPv2-SMI::enterprises.6876.2.1.1.3.32 = STRING: "/vmfs/volumes/4zzz7faxxx6-xxxxxx2-cxxxx-4xxxxf6e3a/test-server/test-server.vmx" SNMPv2-SMI::enterprises.6876.2.1.1.4.32 = STRING: "centos64Guest" SNMPv2-SMI::enterprises.6876.2.1.1.5.32 = INTEGER: 2048 SNMPv2-SMI::enterprises
SNMP監視でよく使うOID、MIBの一覧をシステム毎にまとめてみました。 実際に監視するには、CPUやメモリ、ディスクそれぞれMIBの最後につけるindexを付与して下さい。 LinuxはCentOS、WindowsはWindowsServer2008,CiscoスイッチはCatalyst3560を対象としています。 OSや機器によっては異なることもあるかと思います。 なので、以下の情報は参考程度にご覧下さい。 システム種別 監視項目 OID MIB Linux CPU関連 .1.3.6.1.4.1.2021.11.50 UCD-SNMP-MIB::ssCpuRawUser .1.3.6.1.4.1.2021.11.52 UCD-SNMP-MIB::ssCpuRawSystem .1.3.6.1.4.1.2021.10.1.3.1 UCD-SNMP-MIB::laLoad Availab
Subversionの1.6.0が発表されました。 ということで、早速使ってみました。 1.6.0からの変更点としては、ツリー衝突に関する機能が新しくなったみたいです。 実際どういう感じかというと、こんな感じ。 コミットした際に衝突が発生すると、メッセージが表示されます。 $ svn ci -m 'commit' 送信しています test1 svn: コミットに失敗しました (詳しい理由は以下のとおりです): svn: ファイル '/test1' はリポジトリ側と比べて古くなっています $ svn up 'test1' で競合が見つかりました。 選択: 延期 (p), 全差分 (df), 編集 (e), 衝突自分 (mc), 衝突他人 (tc), , すべてのオプションを表示 (s): 延期、全差分、編集などなどの処理の選択ができます。 ちなみに、すべてのオプションを表示(s)を実行すると
ディスク容量やNetworkの利用状況(ポート番号)等、SNMPから値を取得できるがマシン毎にOIDの最後の値(index)が異なる場合がある。 その際に、ディスク名やポート番号を保持しているOIDのindex番号を見つけて動的に監視対象のOIDを割り振る機能。 キーの書式:["index","",""] 例1 WindowsサーバのPhysicalMemoryとVirtualMemory Physical Memory キーの設定値→HOST-RESOURCES-MIB::hrStorageUsed["index","HOST-RESOURCES-MIB::hrStorageDescr","Physical Memory"] Virtual Memory キーの設定値→HOST-RESOURCES-MIB::hrStorageUsed["index","HOST-RESOURCES-MI
前回、ubuntuにGitLabを導入する手順を書きました。 そのGitLabをアップデートしてみました。 前回導入していたのは、下記の時点のGitLab。 commit 23187d60c4eb3eb2d51459ab18fd16da9caa5b58 Author: Dmitriy Zaporozhets Date: Tue Oct 25 21:07:39 2011 +0300 今回導入したのは、下記の時点のGitLab。 commit c4a575b70b3ee8a25023dd1b4eb2422c54f6b04d Merge: 79bcdfb 7b5fd14 Author: Nihad Abbasov Date: Wed Nov 16 09:50:05 2011 -0800 1ヶ月もたたないうちにかなりのコミットがされていて驚きました。 かなりの開発スピードみたいです。 UIもがらっ
こちらの記事(2011-11-02 - ike-daiの日記)を参考にGitLabの導入ができたかと思います。 その後、新規でProject登録して、Userも登録して開発できるようにしたいと思います。 新規PJの登録方法 GitLabにログイン後、「New Project」からプロジェクトを作成します。 Name,Path,Codeに作成するPJの情報を入力します。 Pathの情報のみ、登録後は変更できません。 作成したProjectではここのPathで指定した名前のgitリポジトリを使っていくことになります。 これで新規Projectが作成されました。 このままではまだ何もgitリポジトリは作成されていません。 鍵の設定 環境構築時に作成した秘密鍵を用いて手元の環境から「git@hostname:sample.git」という形式でGitLabのサーバにアクセスするための設定を実施。 L
次のページ
このページを最初にブックマークしてみませんか?
『ike-dai's blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く