タグ

serverとlinuxに関するaki77のブックマーク (55)

  • ITインフラで起きる「もしも」のための12個のコマンド

    こんにちは。斎藤です。 ITインフラの障害は、多くの場合「予期せぬ」タイミングで発生します。特に、CPUリソースを多量に消費したり、Disk I/Oが輻輳している場合、その切り分けは困難な状況に陥りやすいものです。 そこで、日はITインフラ、特にOS・ミドルウェアを支えるにあたって、問題解決を助けてくれるであろう12個のコマンドを取り上げてみます。「必ず押さえておきたい」5つのものと「更に覚えると便利なコマンド」7つの2節に分けてお話しします。 ※CentOS 6.4 (64bit)を前提に取り上げます 必ず押さえておきたいコマンド もしITインフラ管理者になりたてな方はぜひ サーバサイドのプログラマをやっていたのだけれど、ある日突然「君、サーバ管理担当ね!」と、バトンを渡される方っていらっしゃると思います。私も以前はそのクチでした...。そうなってしまったとき、まずは覚えておきたい5つ

    ITインフラで起きる「もしも」のための12個のコマンド
  • resize2fsでディスク容量を拡張する | さくらのナレッジ

    ※この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。さくらのクラウドにおけるディスク拡張手順はこちらの記事をご参照ください。 サーバの運用をやっていると、HDDの容量が少なくなってきて、大きなディスクに交換したいなと思うことがあります。しかしクラウドサービスを使っていても、ブロックデバイスをマウントしているケースでは、おいそれとディスク容量を変更することはできません。このような場合、解決方法はいくつかあります。たとえば容量の大きなディスクを2台目、3台目として接続し、マウントして使うことができます。しかし、現在のパーティションを拡張して容量を大きくしたいという場合には、新しいディスクに現在のデータをコピーして使う必要があります。今回はさくらのクラウド上での操作を例に、どうやってディスクのコピーと領域の拡張を行ったらよいのか、手順をご紹介したいと

    resize2fsでディスク容量を拡張する | さくらのナレッジ
  • はてなブログ | 無料ブログを作成しよう

    わたし的棚ぼた一万円選書 急に千葉さんに手渡された封筒、開けてみたら1万円札が1枚。何ごとかと思えば、同期の出張を代わったお礼をもらったらしい。 「葵はワンオペで育児してくれたから」と半分わけてくれました。 泡銭の1万円 これはもう、わたし的1万円選書をしろという思し召しなのでは……

    はてなブログ | 無料ブログを作成しよう
  • アプリエンジニア向け:「サーバがなんか重い」時にすること - Qiita

    アプリケーションエンジニアの人には「なんか重い」という状況に遭遇したらインフラの人にタスクを投げる、という人もいるかも知れません。けど、その重さのどこに原因があるのか。CPUか、ネットワークか、IOかくらいの診断はできた方がアプリ開発においても有益です。 「せっかくつくったシステムがなんか重い」 そんな時にアプリケーションエンジニアとしてできることを書きます。 職のインフラの人にはぬるい内容だと思います。何を隠そう僕自身がアプリ寄りの人間なので、突っ込んだ話はできないのです。あしからずご了承ください。 なんかサーバが重いなー まずはロードアベレージを調べる サーバが重いと思ったら、まず真っ先にすべきことは対象ホストにSSH接続してロードアベレージを調べることでしょう。ロードアベレージとは 実行されずに待たされているプロセスの数 のことで、多すぎるとやばいと認識しておきましょう。ロードアベ

    アプリエンジニア向け:「サーバがなんか重い」時にすること - Qiita
  • dstatの万能感がハンパない - (ひ)メモ

    サーバーのリソースを見るにはグラフ化は重要ですが、推移ではなくリアルタイムな状況、例えば秒単位のスパイキーな負荷を見るには、サーバー上でvmstatやiostatなどの*statファミリーを叩く必要があります。 さて、vmstatはメモリの状況やブロック数単位のI/O状況は見られますが、バイト単位のI/O状況やネットワークの送信、受信バイト数を見ることはできません。 # vmstat 1 procs -----------memory---------- ---swap--- -----io----- --system-- -----cpu------ r b swpd free buff cache si so bi bo in cs us sy id wa st 3 1 0 4724956 355452 726532 0 0 54 484 3 3 1 0 99 0 0 2 0 0 47

    dstatの万能感がハンパない - (ひ)メモ
  • これぐらいやっとけ 〜Linuxサーバのセキュリティ設定〜 - nabeの雑記帳

    管理中のサーバで行っているセキュリティ設定を公開します。当はこういうことを公開するのはよろしくないのですが、脆弱サーバが氾濫している現状そこが踏み台となってsshアタックされるのも迷惑極まりないので、最低限やっとけという内容でまとめました。*1 起動サービスと概要 iptables/Firewallの設定 iptablesの中身 limit-burstについて hashlimitについて hosts.allow/hosts.deny(TCP Wrapper)の設定 sshdの設定 その他の設定 Apacheの設定 Postfixの設定 Dovecotの設定 まとめ はてブさんは #の切り分けやめてくれないかな……。 起動サービスと概要 Apache (www) sshd smtp/pop bind (DNS) ntpd いくつかの注意点。 sftpで十分なのでftpdは使わない。WinS

    これぐらいやっとけ 〜Linuxサーバのセキュリティ設定〜 - nabeの雑記帳
  • サーバ監視に超使える〜topコマンドのまとめ:phpspot開発日誌

    サーバ監視に超使える〜topコマンドのまとめ サーバを運用しているとよく使うtopコマンドですが、標準のtop以外にも色々便利なものがあるのでまとめてみました。 ボトルネックといえば、ネットワーク、ディスクIO、スワップ、CPU、メモリといったものが関連しますが、ツールで視覚化することでより分かりやすい対策がとれますね。 htop こちらも、通常のtopよりもさらに多数の情報を表示してくれるツール。 CPUやメモリの状態が視覚的にグラフで表示されていたり、複数CPUがある場合もそれぞれに利用率を表示してくれてわかりやすいです。 pstreeで表示するようなツリー+topコマンドのような表示も t を押せば切り替えられます。 公式サイト上にある128コア積んだマシンのhtop結果が面白い。 次のようにすべてグラフで表示されているため、128コアあったとしても瞬時に負荷が把握できますね。 io

  • 『Linuxサーバー上でデータ操作に便利な10のコマンド』

    大量のデータが詰め込まれたファイルがUnixサーバー上にあって、そのデータファイルを修正したり集計したいといった場合、わざわざプログラム作るのも面倒だし、ダウンロードしてExcelで加工するか、なんてことないでしょうか。 Linux上でも幾つかのコマンドを覚えておけば、結構簡単にデータの集計作業というものができます。 こちらはかなりメジャーなコマンドなので普段から使っている人も多いのではないでしょうか。 例えばこんなCSVファイルがあったとして - hoge.csv 100,apple,50 103,orange,75 102,banana,30 100,apple,20 103,orange,75 この中から「apple」の行だけを取り出したいといったときに使います。 $ grep apple hoge.csv 100,apple,50 100,apple,20 逆に「apple」を含ま

    『Linuxサーバー上でデータ操作に便利な10のコマンド』
  • tenshiでサーバ上のログファイルを効率良く監視 - Masatomo Nakano Blog

    tenshiとは サーバ上のログファイルは、ただ記録しておいて問題があったときの調査に使うだけではなく、リアルタイムで監視することでアプリケーションやサーバの不具合の早期発見をすることができる。問題が表面化する前に対策を行なうにはログの監視が不可欠だ。 しかし、サーバは、種類も数もどんどん増えていくものだし、それに合わせログファイルの種類も量もどんどん増えていく。全部見るのはもちろん不可能だし、適当に通知をしてもメールボックスを溢れさしてしまうことになり、結局は無視することになってしまい意味がない。 そこで、賢く効率的に監視するために tenshi というツールが非常に便利に使える。 このツール、最近しばらく使っていなかったのだが、最近会社で再び使い始め、便利さを再確認したので紹介してみる。知る人は知るツールだと思うけどいまいちマイナーなのかな? tenshiは、元々はGentoo Lin

    aki77
    aki77 2010/10/06
    『指定したログファイルを常時監視。設定した条件にマッチした(またはマッチしない)ログが現れたら、指定したタイミング(リアルタイム/毎時間/毎日とか)でメールで指定した管理者に通知』
  • Disk I/Oの使用率を監視するワンライナー - kazuhoのメモ置き場

    iostat -x の %util を監視してしきい値を超えたらアラートメール飛ばしたいなぁと思って crontab 書いた。こんな感じ。 */5 * * * * perl -wle 'my $s = `/usr/bin/iostat -xk /dev/sd[abc] 270 2 | tail -4`; print $s if $s =~ m{\s(?:[0-9]{3}|[5-9][0-9])\.[0-9]+$}m'ポイントは、 iostat の後ろから2つ目の引数がサンプリングを行う秒数 tail で デバイス数+1 することで、最後のサンプルを取り出す 正規表現で50%以上だった場合に標準出力に iostat の結果を出す=メール送信

    Disk I/Oの使用率を監視するワンライナー - kazuhoのメモ置き場
  • サーバにあるファイルのバックアップの件 - ヽ( ・∀・)ノくまくまー(2010-03-17)

    やはり一番重要なのは「データ」ファイルであり、それを簡単にバックアップするためには、専用のディスクを割り当てるのが一般的だろう。従って、以下の鉄則を得る。 鉄則1: mount /dev/sdb1 /data device 名は環境に依存するが、mount point は /data しかありえない。だってシンプルだから。うん間違いない。名前重要!もちろん忘れずに、アプリが利用するデータディレクトリの格納場所は /data 以下にしておく。このような「データ」ファイルの隔離は、OSを入れ替える時の可搬性としても非常に優秀で役立つのだが、件の復旧を考えると、これだけでは不十分である。「設定」ファイルを復活させるのも意外と大変だからだ。そこでぱっと思いつくのが、 大事そうな設定ファイルを /data への symlink にする /etc 自体をもう /data への symlink にする

  • CLOSE_WAITのセッションを早く消す方法 - つれづれなる・・・

    原因はおそらくwebサーバ〜DBサーバ間のセッションがネットワーク的に不安定だったからだと思うけど、DBサーバで netstat -an すると 大量の CLOSE_WAIT のセッションが残ってしまって、MySQL の最大コネクション数にまで達してしまってwebの表示が出来なかった。CLOSE_WAIT をいきなり消すことは出来ないので、早めに消えるようにしたいときは tcp_keepalive_time TCPセッションが確立されて検査が実施されるまでの時間 時間になると tcp_keepalive_intvl と tcp_keepalive_probes の値にしたがって検査を実施する tcp_keepalive_intvl 次の検査を実行するときの待ち時間 tcp_keepalive_probes 検査の回数のそれぞれの値を小さくしてあげればよい。変更方法は vi で :wq する

  • Kazuho@Cybozu Labs: crontab を使って効率的にサービス監視する方法

    監視とは継続的なテストである、という話 (もしくは cronlog とテストスクリプトを組み合わせた監視手法について)に続きます 今日ようやく、積ん読状態だった「Software Design 2010年1月号」を手に取ったのですが、特集が「今日から使えるスクリプト満載! [プロ直伝]お手軽サーバ監視術」。興味深く拝読したのですが、もっと楽ができるのにと思うところも。ちょうど、昨年末に運用しているサービス「パストラック」のサーバを移転し、crontab と perl で書かれたスクリプト群を使った監視環境を構築したところなので、そこで使っているスクリプト cronlog を紹介したいと思います。 特集の前書きにも書かれていることですが、サーバやネットワーク機器が多数ある環境なら、Nagios を始めとする、専ら監視のために作られたソフトウェアを使って、監視システムを構築すべきです。逆に小規

  • めんどうなのでディスク容量監視をワンライナーでcrontabに書いた - kazuhoのメモ置き場

    15 3 * * * perl -wle 'my $s = `/bin/df -k`; print $s if $s =~ m{^/dev/.* (9[0-9]|100)\%}m'df に限らず、コマンドの結果を正規表現で比較して問題があったらprint、ってのはcrontabで監視する時の基的なイディオム要出典。もちろん、backquoteじゃなくてパイプで繋いでもいい。

    めんどうなのでディスク容量監視をワンライナーでcrontabに書いた - kazuhoのメモ置き場
  • ウノウラボ Unoh Labs: サーバのネットワーク速度の調査/測定方法

    こんにちは。kyagi です。先日データセンタ内のサーバ群のうち、なぜか特定の1台だけネットワークの速度が極端に遅いという問題がありました。今回はサーバマシンのネットワーク速度の測定方法と原因についてお話しします。同様のトラブルが発生している方のお役に立てば幸いです。問題解決までの手順としては以下になります。 1. 現在の状態を調べる 2. ハード/ソフト含めて考えられる原因をいくつか挙げる 3. 原因について改善されるまでひとつひとつ検証していく まず現在の NIC の HW 情報とドライバを lspci で調査します。ここでは Broadcom の NetXtreme BCM5722 という NIC を使用していることがわかります。 # lspci -vvv | grep Ether 01:00.0 Ethernet controller: Broadcom Corporation

  • ロケスタの新サービス「ナナピ」で使った技術を紹介してみるよ - UNIX的なアレ

    http://nanapi.jp 日2009年9月1日、株式会社ロケットスタートの新サービス「ナナピ」をリリースしました。 「ナナピ」はライフレシピと呼ばれる生活の便利な知恵や、ノウハウをみんなに共有してしまおう!というサービスです。 なんとか予定通り9/1にリリースをすることができました。すでに投稿数が160ほどあり、生活に便利な内容が投稿されています。 http://r.nanapi.jp/162/%E3%81%82%E3%81%8F%E3%81%B3%E3%82%92%E6%AD%A2%E3%82%81%E3%82%8B%E6%96%B9%E6%B3%95/ http://r.nanapi.jp/158/%E3%83%AC%E3%83%99%E3%83%AB%E3%81%8C%E4%B8%8A%E3%81%8C%E3%82%8B%E6%8C%A8%E6%8B%B6%E3%81%AE

    ロケスタの新サービス「ナナピ」で使った技術を紹介してみるよ - UNIX的なアレ
  • http://www.lpi.or.jp/linuxservertext/

  • 設定ファイルをまとめて管理する

    はじめに Unix系OSの設定ファイルはあちこちのディレクトリに散らばっているので、管理が面倒です。私はこういった設定ファイルを ˜/config/ 以下に、 つまりrootでない一般ユーザのディレクトリ1か所にまとめて管理しています。ここではそのやり方をご紹介します。 設定ファイル編集作業例 まず作業例から見てください。 /etc/hosts を編集したい場合なら、作業は以下のようになります。 % cd ˜/config/ % vi etc/hosts 〜編集する〜 % sudo make メリット 設定ファイルを1か所にまとめて管理すると、以下のようなメリットがあります。 root権限での作業を極力減らせる 最後の make だけはrootでやりますが、それまでのファイル編集は一般ユーザのままで行えます。 バックアップを取りやすい 自分のホームディレクトリのバックアップを取るついでに、

  • Linuxシステム管理者が読むべき50冊--目次:ITpro

    Linuxシステムを適切に管理するには,Linuxの知識だけではなく,ネットワークやセキュリティなどの幅広い知識が必要です。それらを効率よく得るには,良質な書籍を読むのが早道です。システム管理に役立つ書籍50冊を厳選し,6ジャンルごとに分けて紹介していきます。 ステップ1●Linuxの仕組みや設定を理解 ステップ2●ネットの基と管理を知る ステップ3●システム管理能力を高める ステップ4●主要なサーバーを使いこなす ステップ5●セキュリティ対策を知る ステップ6●プログラミングを身に付ける

    Linuxシステム管理者が読むべき50冊--目次:ITpro
  • ベイエリア情報局: tarballからインストールしたソフトウェアを簡単に管理する

    元Vine SPARC開発者。2003年度未踏ユース採択者。ウノウ株式会社立ち上げ時に参画して4年間CTOとして従事。退職して現在P&Aラボにて客員起業家として起業準備中。 普通 tarball からインストールする時は ./configure make sudo make install のようにインストールします。この場合は全てのファイルが /usr/local に入るわけですが、 これだと複数のソフトウェアをインストールした場合に、どのファイルがどのソフトウェアに所属するのか分からなくなって、アンインストールができなくなります。 なので僕はいつも tarball からソフトウェアをインストールする場合は、 例えば hoge というソフトウェアをインストールする場合、必ず /opt/hoge にインストールしています。 ./configure --prefix=/opt/hoge ma

    aki77
    aki77 2009/03/21
    path, 環境変数, パス