sysdig とは? Sysdig is open source, system-level exploration: capture system state and activity from a running Linux instance, then save, filter and analyze. Think of it as strace + tcpdump + lsof + awesome sauce. With a little Lua cherry on top. http://www.sysdig.org/ 上に書いてある通り、一言で言うと strace + tcpdump + lsof + α。tcpdumpのように-wで書き出して-rで読み込めるのがありがたい。 高機能過ぎてまだ全然使いこなせてないけど、ぱっと触った感じ使えそうだなと思ったものを紹介。 1. プロ
cron周りのベストプラクティス読んだ - $shibayu36->blog; 上の記事を読んで興味を惹かれたので、『WEB+DB PRESS Vol.79』 の 「cron 周りのベストプラクティス」 を読んだ。 Web 上でも公開されている。 (2014-06-23 追記。) 第25回 cron周りのベストプラクティス(1):Perl Hackers Hub|gihyo.jp … 技術評論社 そこでは cron 設定 (crontab) ファイルの記述方法として crontab コマンドを使用する方法が書かれていた *1。 で、記事を見てるうちに、以前 crontab コマンドやら /etc/cron.d やらの違いがよくわからずに調べて社内日記に書き残しておいたことを思いだしたのでブログで公開しておこうと思う。 ちなみに man の内容などは Debian 7 で見てるので、別ディス
サーバ/クライアントPC問わず、今使っているマシンのハードウェア構成がどのようなものかをOS上で確認したくなることもあるでしょう。 そんな時にお手軽に調べられる方法を、たまーにググったりするので、Linux/Mac OS X/Windowsの3つのOSの場合の調べ方をここに残しておきます。 Linux Linuxでは、dmidecodeコマンドを使います。 BIOSの情報とか、マシンの各種システム情報(シリアルナンバー等の各種メタ情報、CPU、メモリ、その他デバイス情報とか)が取得できます。 CentOS/RHELとかだと"kernel-utils"パッケージがインストールされていれば使えます。 ちょっと長いですが、以下のような感じです。 # dmidecode # dmidecode 2.11 SMBIOS 2.7 present. 87 structures occupying 399
止めたくないプロセス サーバを長時間運用していると何かの拍子にプロセスが落ちてしまうことがあります。そんなときのためにプロセスの死活監視をするわけですが、そのプロセス監視が落ちてしまっては困ります。そこで、今回はupstartを使ってアンデットなプロセスの設定を行いたいと思います。Amazon Linuxには最初からupstartの仕組みが入っています。 monitのセットアップ お手軽プロセス管理の仕組みを提供してくれるmonitを例に挙げます。まずはセットアップから $ sudo yum update -y $ sudo yum install monit -y プロセス監視の設定 プロセス監視の設定ファイルの作成です。今回はApacheの設定を書いてみます。ここではスマートに設定ファイルを作成してみたいと思います。ヒアドキュメントを使って設定ファイルの中身を記述します。1行毎にech
プロセス監視について 出社してサーバーを見たらプロセスが落ちてた!?こんな経験ありませんでしょうか。24時間365日の安定運用が当たり前に求められる現在、サーバー担当者が張り付きで監視をするにはコスト的にもリソース的にも限界があります。そこで、ある程度作業を自動化しようというのが今回の試みです。 monitとは monitは、プロセス/プログラム/ファイル/ディレクトリ/ファイルシステムを管理/監視するためのユーティリティです。monitは、エラーの状況に合わせて自動メンテナンスや修復を行い、意味あるアクションを実行することができます。例えば、実行されない場合、多くのリソースを使用している場合、プロセスが応答せずに停止しない場合等に、プロセスを再起動/開始することができます。他にも、ディレクトリ/ファイル/ファイルシステムにおける、タイムスタンプの変更、チェックサムの変更、サイズ変更等を監
普段Webサーバを運用していて、めんどくさいトラブルのひとつに「Segmentation fault」があります。 あれー?なんか500エラーがでるなーなんて思ってログを見るとSegmentation faultになってるときは死にたくなります。 そもそもSegmentation faultはメモリ上にあるデータに対して不正が行われたときに起こるもので、 インフラエンジニアにとってはなかなか手がだせないところでもあります。 それでもなんとかして治さないといけないわけなので せめてどのプログラムが悪さしてるかどうかぐらいは調べ上げてみます。 apacheでのログ apache + mod_perl での環境です。 こんな感じでエラーがでます。 #tail error_log [notice] child pid 26028 exit signal Segmentation fault (11
(タイトルは釣りです) いい加減、>/dev/null 2>&1と書くのをやめたらどうか - DQNEO起業日記 この記事のタイトルが twitter で流れてきたのを見て、「そうだ!出力を /dev/null に捨てるなんてとんでもないよね!」と思ってよく読んだら /dev/null に間違いなく捨てる方法だったのでつい crontabに > /dev/null 書いたら椅子投げる 2012-06-13 00:01:17 via YoruFukurou とつぶやいてしまったのですが、では出力を捨てないためにはどうすればいいのか。現時点での個人的ベストプラクティスを書き留めておきます。 デフォルト : メールで送る (MAILTO) せっかく cron daemon がログを捨てないためにわざわざメールで送ってくれるのに、それを > /dev/null で踏みにじるとはひどい。 とはいえ、
少し前に、某所のサーバ(自分たちで管理)で、通常時は問題ないのだけど、時々HTTPレスポンスで数秒かかる現象が見受けられたので、再現させるときに目視確認でひたすらHTTPリクエストが送れてレイテンシが確認できる「httping」を利用しました。 httpingは、所謂"ping"のHTTP版。HTTPリクエストでポーリングしてくれるコマンドです。ICMPは受け付けないけどHTTPはOK、そんなサーバにも監視などで使えます。 インストール Ubuntuでは、aptでインストールできました。簡単。 $ sudo apt-get install httpingこれだけです。 簡単な使い方 $ httping (URLまたはIPアドレス)で、実行可能です。以下、実行例。 $ httping http://xxx.xxx.xxx.xxx/ PING xxx.xxx.xxx.xxx:80 (http:
node.js なサーバデーモンの管理をしようと思い、何を使おうか検討していたのですが、この手のデファクトスタンダードである daemontools は、特定のディレクトリ構造に従わないといけなかったり、run スクリプトや log/run スクリプトを置いたりしきゃいけなかったりで、余計な作業が多くてお手軽じゃない、ってことで runit を見てみたんですが、ぱっと見 daemontools との違いがよくわからなくて、daemontools とそれほど煩雑さは変わらないように見えたので、もっとお手軽なものがないかと探していたところ見つけたのが Supervisor 。(といっても自分が知らなかっただけで以前からあるみたいですが。) Python 製で easy_install 一発でインストールできる。 $ sudo easy_install supervisor デフォルトの設定フ
dstat という vmstat, iostat, netstat, nfsstat, ifstat 用の置き換えとして使える多機能ツールがあることを知ったので、CentOS でさっそく試してみました。 まず、インストール方法ですが、公式に dstat パッケージが提供されているので yum 一発でインストールすることができます。 $ sudo yum install dstat /usr/bin/dstat にインストールされます。 dsat は多機能ツールですが、使い方は dstat –help するとたくさん表示されます。 まず、オプションを指定しないで実行してみます。 $ /usr/bin/dstat —-total-cpu-usage—- -dsk/total- -net/total- —paging– —system– usr sys idl wai hiq siq| read
弊社のLinuxサーバ、ネットワークインフラのDSASの特徴のひとつに、100台近くある全てのサーバの内容が(数個の役割設定ファイルを除いて)同期されているという点があります。 これにより、 スケーラビリティ 予備機をサービス投入するだけで済むので、テレビCMなど突発的な高アクセス時にも迅速な対応が可能です。 増強が容易 サーバをラックマウントしたら適当なサーバからまるまんまコピーすればクラスタに参加可能です。まとまった台数の増強をする際に、いちいちCD-ROMからOSをインストールしていると日が暮れちゃいます。 役割の変更が容易 ディスクの内容が同じなので、もし、メールサーバが故障しても、適当なWebサーバの役割設定ファイルを変更して再起動するだけでメールサーバに早変わりできます。 メンテナンスが容易 ディスク上のファイルを更新した場合は、rsyncなどで全サーバに同期コピーすれば更新完
CentOS 5.x をインストールしたあと、いろいろと初期設定を行っています。今は、サーバ用途の場合 kickstart の %post セクションでいろいろな初期設定をまとめて行って自動化しています。kickstart は、別の機会に公開するとして、今回は %post セクションで行っている初期設定を順番に紹介します。紹介する順序は、順不同です。 NOZEROCONF を設定する 余計なネットワーク経路を作らないために、/etc/sysconfig/network に次の設定を追加します。APIPA という仕組みを使う場合は必要です。 NOZEROCONF=yes IPv6 を無効にする IPv6 を使っていないので、/etc/modprobe.conf に次の設定を追加します。 alias net-pf-10 off alias ipv6 off ifdown-eth にバッチをあて
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く