複数サーバで一括コマンド、スクリプト実行

複数サーバでコマンドやスクリプトを一括実行したい>< というときのメモ書きと自作スクリプトの紹介。 事前に『SSHでパスワードなしログイン & sudo』の設定が完了してる前提です。 ※セキュリティや作業ミス時の影響範囲などを十分に考慮する必要がありま…

SSHでパスワードなしログイン & sudo

日々の作業で複数のサーバに1台1台ログインするのがめんどくさい>< という場合は「SSHでパスワードなしログイン & sudo」できるようにしちゃうという手があります。 ※セキュリティや作業ミス時の影響範囲などを十分に考慮する必要があります!!! 以下、C…

ZabbixAPI.pmのこと(晒されたり更新したり)

FISL12というブラジルのオープンソースカンファレンスで@BlueSkyDetectorさんが講演され、 その中で以前作成したZabbixAPI.pmが紹介されました! (ほんとに軽くですがw) Zabbix API at FISL12 by Takanori Suzuki View more presentations from takanori …

【一番煎じ】!?

『CloudWatchのカスタムメトリクスのまとめ』という記事(もうけっこう前ですが・・・)に AWSの発表からの「カスタムメトリクス使ってみた記事」がまとめられているのですが・・・ 【一番煎じ】、ということで自分の記事が紹介されてました! それにしても …

6月に読んだ本

少ない! 「死」の教科書―なぜ人を殺してはいけないか (扶桑社新書 20)作者: 産経新聞大阪社会部出版社/メーカー: 扶桑社発売日: 2007/11/29メディア: 新書 クリック: 27回この商品を含むブログ (8件) を見る阪急電車 (幻冬舎文庫)作者: 有川浩出版社/メーカ…

ZabbxAPIとJavaScriptで独自UI作ってみた

ZabbixAPIとJavaScriptを使って簡単なグラフ表示UIを作ってみました。 『ホストグループ』→『ホスト』と選択すればいくつかのグラフが表示されます。 なぜこんなことをしてみたかというと、「Zabbixの標準UIはグラフの一覧性が低いと思うから」です。 ドロッ…

5月に読んだ本

今さらながら。 まずはなんといっても、守り人シリーズ完結です。様々な登場人物の思いが交錯する最終章、アツかったです。あとは7人の作家の短編集め、『ストーリーセラー』。 有川浩、米澤穂信は初でしたが非常に楽しめました!出版社にまんまとノセられた…

ZabbixAPIでグラフを更新

Zabbixのいいところとの1つはビューのカスタマイズが容易なことです。 (Zabbix自体についてはみつばちワークスさんの資料等を参照してください) 複数ホストのグラフを重ねて表示することも簡単にできます。 このようなグラフは非常に便利です 各ホストを…

mrepoでCentOSミラー&自作なyumレポジトリ作るよ

自宅環境に CentOSのミラー 自作 なyumレポジトリ作りたいけど、手動もめんどうだし、cobblerもちょっと大げさだし・・・ というわけでmrepoというツールを使ってみました。 http://dag.wieers.com/home-made/mrepo/ 20行ほどのコンフィグを書いてmrepo -ugv…

CloudWatchのカスタムメトリクス使ってみた

AWS

【AWS発表】 クラウド監視サービスAmazon CloudWatchでカスタムのメトリクスが使用可能に、という記事が出てました。 要するに自分の好きな値をCloudWatchに突っ込める!!! いいですねー、さっそく使ってみましょう! CLIツールとPHPプログラムを使って動…

Perlで未定義メソッドを捕捉する

先日のエントリ、『ZabbixAPI.pm作ってみた』に出てくるこのようなコード、 $za->apiinfo_version(); $za->hostgroup_get({output => "extend"}); 実は以下のコードと等価です。 $za->call_api("apiinfo.version"); $za->call_api("hostgroup.get", {output …

ネストする正規表現

『メールアドレスはネストしたコメントを持つことができるので正規表現で表わすのは不可能である』 というのは本当だろうか。 正規表現のネストが可能かというのは、実際のところは正規表現の定義と実装による。 PerlやRubyだと、これは可能だ。 試しに『f(g…

ZabbixAPI触ってみた

仕様はこっち http://www.zabbix.com/documentation/1.8/api基本的には「api_jsonrpc.phpにJSONでPOST」すればいい。 認証のところだけ注意がいりそうです。 telnetで動作を確認してみましょう まずは認証 [zabbix@admin01 ~]$ telnet localhost 80 POST /za…

ZabbixAPI.pm作ってみた

基本的にZabbixAPIの、ただのラッパーです。 APIのクラス、メソッドをアンダースコアでくっつけたもの(host.getならばhost_get())を呼び出せます。 引数はparamsのハッシュリファレンスです。 サンプルをいくつか APIバージョン、ホストグループの一覧を取…

ATNDの参加者をTwitter情報でランキング!

というわけで、qpstudy04、hbstudy??でLTしたネタの集計プログラムが発掘されたので、今さらながらさらしてみます。 qpstudyのLT資料はこちらQ-1 Twitterグランプリ (qpstudy04 LT)View more presentations from baguzy. やってることは ATNDから参加者のTw…

擬鯖化Zabbixの実装

qpstudy 1周年記念LT大会!でLTした『Zabbixで人間監視』、けっこう反響があったので実装についてさらしてみます。 ビューとしてはLTで見せたように、2つのスクリーンを作っています。 全体監視画面 デモ画面 何人かのアイコンを並べたマップとイベント履歴…

qpstudy 1周年記念LT大会!

いってきました『qpstudy 1周年記念LT大会!』@iaraさんのオープニング、@ar1さんのAWS宣伝タイムから始まる、スピーカー約30人の大LT大会!! テーマはなんもなし、萌えからガチまでビール片手に非常に盛り上がりました! 普通はこれだけのスピーカーを集め…

CentOS5.5でext4を使う

CentOS5.5からext4が正式対応になってます(今さら><)。 まだちゃんと使ってないのですが、とりあえず導入手順だけまとめ。 インストール済みマシンに導入 e4fsprogsをインストールすると使えるようになります。 [root@test04 ~]# yum install e4fsprogs …

PXEブート&KickstartによるOSインストール自動化

OSインストール、手動でやるのめんどくさい!!!こんな画面もうみたくない!!! というわけでPXEブート&Kickstartで自動化しています。 (ユーザ作成などの初期設定もスクリプト化してそれに組み込んでます) 構築手順はいろんなとこにアップされてるので…

WindowsでIPアドレスを設定するバッチ

DHCPのない環境で毎回IPを設定するのは手間なのでバッチ化しています。 IPアドレス(192.168.0.100)、デフォルトGW(192.168.0.1)、DNSサーバ(192.168.0.10)、スタティックルートを1つ設定する例 netsh interface ip set address "ローカル エリア接続" …

zabbix_get使ってzabtop作ってみた

Zabbixには動作確認用にzabbix_getってコマンドがついてて、これを使うとCLIで監視してる値が取れちゃいます。 $ zabbix_get -stest-web01 -k"system.cpu.load[,avg5]" 1.460000けっこうサクサク動くので試しに複数サーバの状態をリアルタイム表示するコマン…

qpstudy04行ってきた

行ってきました。 qpstudy04 「インフラエンジニアの新人教育 〜とある新人の研修内容(トレーニング)〜」 実は、新人さんといっしょに仕事したことないです。そして当分ないだろうなぁとも思ってます。 インフラ屋は数人って会社だと、1人増やすことはプラス…

syslog-ng使ってみた

RHEL6でrsyslogが標準になるそうですね。syslog-ng派の自分としてはさみしい限りです。 というわけでひさしぶりにsyslog-ng使ってみました。 通常のsyslogサーバ機能に加えて以下のリモートログ受信機能を追加してます。 ・リモートからのログを/var/log/rem…

リモートsyslog送信スクリプト

syslogサーバのリモート受信テストをやりたいときに使っている、syslog送信スクリプトです。 もちろん、送信側でsyslogdの設定変えてloggerコマンドでもいいです。 使いかた $ ./send_syslog.pl syslog_server "test message" ソースコード #!/usr/bin/perl …

WEBサーバ勉強会行ってきた

@oranieさんの主催するWEBサーバ勉強会に行ってきました。 ATND 「Webサーバ勉強会」役割分担について 『Apacheのデフォルトコンフィグを20人で分担して全部読んじゃおう』というムリ企画!!! (しかしまさかの時間通り終了) 知らないコンフィグメチャメ…

HaskellでHello Worldするまで(CentOS)

ふいにHaskellやってみたくなったのでコンパイラ、GHCをインストール。 コンパイラ(ghc)だけじゃなく、インタプリタ(runghc)、対話型インタプリタ(ghci)もついてきます。 最新版など置いてる本家はこちら http://haskell.org/ghc/今回はFedoraのRPMを…

bondingの設定がめんどうなのでスクリプト化した

Linuxのbonding設定がめんどうなのでスクリプト化しました。 エラー処理のない乱暴なスクリプトなので、初期インストール時以外で使わないようにー。 PXEブートインストールに組み込んでしまえると楽かなぁ。 使い方 [root@cent ~]# ./set_bonding.sh Usage:…

CentOS5.4のbondingインタフェースのIPV6無効化

CentOSを5.2から5.4にアップしたらbondingインターフェースでのIPV6を無効化が効かなくなっていた! [root@cent54 ~]# ifconfig bond0 bond0 Link encap:Ethernet HWaddr 00:0C:29:2B:3F:BC inet addr:192.168.244.132 Bcast:192.168.244.255 Mask:255.255.2…

ログの追記ぶんだけを取り出す

一定時間ごとにログを集計、監視をするときに前回からの差分だけ取り出すツールが欲しかったので作りました。 使い方 実行するごとに、指定したファイルの前回実行からの追記分を出力します $ ./logtail.pl /tmp/test.log 1 2 3 $ ./logtail.pl /tmp/test.lo…

PHPでConstな配列を作る

PHP

こんな定数はイヤなので定数な配列を作れないものか。 define("MONTH_1", "Jan"); define("MONTH_2", "Feb"); というわけで作ってみた ArrayAccessインタフェースを使います。 values = $values; } // 参照(許可。存在しない場合は例外投げる) public func…