タグ

ブックマーク / heartbeats.jp (13)

  • etckeeperで設定ファイルのバージョン管理を始めよう

    斎藤です。こんにちは。 今日は、etckeeperを用いて、設定ファイルをバージョン管理する方法を説明します。設定ファイルの書き換えで辛い目に遭う前に、どうぞお試しください。 ※CentOS 6.4, Ubuntu 12.04 LTS, etckeepr 1.7を基準に説明します etckeeperとは etckeeperは主に/etc配下をVCS(Version Control Systems)を用いてバージョン管理します。実態は、gitやmercurialのwrapperとなっています。 設定ファイルの書き換えの際に、ファイル名に日付をつけてバックアップしたりする手間を省いたり、誤って書き換えてしまったときのための 保険 として利用する事ができます。 インストール方法 はじめに 先程も述べました通り、etckeeperはVCSのwrapperとして動きます。そのため、インストール時には

    etckeeperで設定ファイルのバージョン管理を始めよう
  • Golangで作ったhttpdの接続数を制限してみよう

    こんにちは。斎藤です。 ここ1〜2年、私は仕事Golangを書くことが増えています。きっかけは、ITインフラをお預かりする中で、お客様のサーバにツールを置く場合でも1つのバイナリさえ置けば良いという手軽さからだったのですが、最近はScalaと並び手軽に並列処理が書けるプログラミング言語として重宝しています。 さて、今回はGolangで作ったhttpdの接続数をLimitListenerを利用して接続数の制限をしてみようというお話です。以下に紹介するお話は、Githubのリポジトリ "github.com/koemu/go-http-max-connections-demo" にデモプログラムを保存しています。Golangのビルド環境がある方は、実際にビルドしながらお試しいただければと思います。 ※Golang 1.5.1でビルドする前提で説明しています モティベーション 仕事でとあるAP

    Golangで作ったhttpdの接続数を制限してみよう
  • Google Cloud Platformをはじめようチュートリアル #gcpja

    IaaS的なみかたをすると上記のようなAWSとの比較になりますが、 じつは GAE (Google App Engine)もGCPファミリーのプロジェクトです。 Webコンソールからアカウントをセットアップしてプロジェクト作成 GCEはGoogleのアカウントを使ってログインします。 ログインしたあとにプロジェクトを作成し、 プロジェクトごとに支払情報などを登録します。 ブラウザで利用できるGCPのWebコンソールは https://console.developers.google.com/ にあるのでまずはアクセスします。 お手持ちのgoogleアカウントでログインしましょう。 そうするとプロジェクト一覧の画面になります。 この画面になったら Create Project ボタンを押すとプロジェクト作成ダイアログが表示されます。 PROJECT NAME は自分の好きな名前(今回はSa

    Google Cloud Platformをはじめようチュートリアル #gcpja
    libero18
    libero18 2015/08/18
  • どうしてメモリはスワップするのか!?

    こんにちは。斎藤です。 最近、新しいスキー板が欲しいなと思っています。現在使っているOGASAKAの板は5年目に入り、メーカーからこれ以上はチューンナップ(メンテナンス)はできないよ、と言われてしまいました。もし、次に買うなら、スノーボーダーの人と一緒にパウダーに飛び込みやすいセミファットタイプが良いのかなと考えています。皆さんのオススメ、ぜひ教えてください。 さて、今日はLinux Kernel上でのメモリ管理、特にページ回収(Page Reclaim)とスワップに絞り、「スワップの理由」「ページを回収する仕組み」そして「スワップの様子を観察する」の3点に分けてお話しします。「スワップするのが気持ち悪い」と考えている方は少なくないと思いますし、私もそう考えていた時期がありました。しかし、それは当に悪い事なのか、今回掘り下げて行きます。 ※主な対象Kernelは2.6.32(Red Ha

    どうしてメモリはスワップするのか!?
  • systemd の情報を集め始めよう

    斎藤です。こんにちは。 RedHat Enterprise Linux 7(RHEL7)リリースの足音が聞こえる今日この頃ですが、皆様いかがでしょうか。予習として、Fedora 19を利用されている方もいらっしゃるかと思います。 その中で、大きな変化の1つとして、 systemd(※1) の採用があります。systemdは、SysVinitやUpstartに変わる、プロセス管理の仕組みです。そうです、起動スクリプトの書き方や、プロセスの確認方法が大きく変わる事になるのです!そうなれば、構築や運用に関わる知識や手順を覚え直す必要が出てきます。 しかし、systemdに関する資料は、それほど多くありません。そこで、簡単ですが記事執筆時点(2013-10-24)での情報源をまとめてみました。検証の際の情報収集時、お役に立てば幸いです。 ※私が社内Wikiにまとめた情報をBlog用に整理し、公開し

  • serverspec のリソースタイプにPHPの設定テストを加えてみました

    斎藤です。こんにちは。 今日は、serverspecのリソースタイプにPHPの設定テストを書き加えた時の事をお話しします。「きっかけ」「ファイル構成」そして「記述時の注意点」の3点を中心に記述します。その後、テストコードがどのように書き変わるかを示します。 きっかけ PHPは、様々なLightweight Language(以下、LL)の中でも、実行するアプリケーションに応じた設定が必要な言語の一つです。設定値の代表として "mb_string", "upload_max_filesize" そして "memory_limit" で頭を悩ませた方もいらっしゃるかと思います。そこで、serverspecで設定値を評価できる仕組みを整備し、正しく設定されているかを確認できるようにしたいと考えました。 これまで、serverspecでPHPの設定の評価を行うには、commandリソースを用いて"

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

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

    ITインフラで起きる「もしも」のための12個のコマンド
  • Interop Tokyo 2013 訪問記 - OpenFlowがいよいよ実戦投入の段階に

    斎藤です。こんにちは。 最新のサーバ・ネットワーク製品が一堂に会するInterop Tokyo 2013。今年は、会社のメンバーとともに足を運んできました。 私が、今回注目したキーワードは3つ、"SDN (Software Defined Network)", "100GbE", そして "UTM (Unified Threat Management)"です。それぞれ、お話しして行きたいと思います。 SDN - 会場内で使われ始めました! SDNが話題になっていますが、実際に使えるのだろうか?私もそう思っていた事がありました。しかし、今年のInteropの会場を回った際、その認識を改めた出来事がありました。 それは、Interop会場のネットワーク「ShowNet」において、今年は一部でOpenFlow 1.3.1を用いたネットワークが構築されていたことです。これが意味する所は、OpenF

    Interop Tokyo 2013 訪問記 - OpenFlowがいよいよ実戦投入の段階に
  • ohaiを使ってサーバの情報をプログラムで扱おう

    斎藤です。こんにちは。 今日は、Chefをインストールすると共に入るohaiを用いて、サーバの情報をプログラムで扱ってみます。 ※ohaiは6.16(github版)を用いています ohaiとは もともと、Chef Client/Chef Soloが実行環境の情報を取得するためのライブラリです。ただ、単独でもライブラリを使用したり、コマンドを実行する事で、Chefと同様に情報を利用する事ができます。ポイントは、外部コマンドの結果を内部でパースしてプログラムで扱いやすい形にできます。まさに、パーサーライブラリですね。 ohaiがなければ、コマンドでサーバの環境(例えば"df")の情報を取得しようとする時、コマンドの結果を取得した後に「お手製」のパーサーでプログラム内で活用できるようにしなければなりません。これが、"df"のほうに簡単なものならまだしも、"ip addr show"のような設定

    ohaiを使ってサーバの情報をプログラムで扱おう
  • MSPでのChefの使い方 --- 運用ノウハウをコードに落とす

    こんにちは。斎藤です。 Chef、最近、流行っていますよね。勉強会に参加すると、ITインフラ関係者や開発関係者などの各方面から人が来るようになりまして、オムニバス感満点であります。 さて、ChefはITインフラを支えているMSPではどのような形で用いられているのか、私の周りの事を少しお話ししてみたいと思います。プログラム開発とともに用いる形とはちょっと違う部分をお楽しみいただけたらと思います。 話は、次の流れで進めます。 導入の目的 「開発会社」との状況の違い 自動化されるノウハウとは 留意している事 今後について おわりに また、内容は「Chef Casual Talks Vol.1」にて、私がLT時に利用したスライドをもとに、より詳しく記述しております。スライドと合わせてご覧頂くと、概要がつかみやすくなるかと思います。 導入の目的 当初の目的は、新規構築時に用いている「標準作業手順」

  • 「写経」から始めるChefクックブックの作成

    斎藤です。こんにちは。 Chef の話題がアツくなっている今日この頃、みなさまいかがお過ごしでしょうか?Chefの解説も出つつある今日この頃ではありますが、プログラミングそのものに慣れないうちはそれさえ読むのもちょっと大変かもしれません。そこで今回は、 Chef のレシピ+ライブラリを用いて、MySQLの設定の自動化を試します。いわゆる「写経」から始めてみて、少しずつ「手動」からプログラムを通じた「自動化」にチャレンジしてみましょう。 ※Chef 11.04.0, knife-solo 0.2.0, Ruby 1.9.3p327, CentOS 6.3 で検証しています。 今回のお題 MySQLサーバをインストールしてみます。ITインフラを構築・運用している方ならご存知かと思いますが、MySQLはインストールだけでなくmy.cnfの設定までが作業です。その際にinnodb_buffer_

    「写経」から始めるChefクックブックの作成
  • ChefでCookbookを作成するときのちょっとしたコツ 9選 - インフラエンジニアway - powered by HEARTBEATS

    こんにちは。斎藤です。 Chefで構築の自動化ができる事はわかっていても、Cookbookをどう記述すればいいのかピンとこない場合があります。そんなときに使えそうなコツをピックアップしてみました。 「Chefを使ってみたいけどいまいちとっかかりがわかりづらい」「あれ、これはどうやるんだ?」、そんなときにご覧頂けたら幸いです。 ※Chef 10.16.2で確認しました。また、RHEL, CentOSで利用する事を前提に説明しています。 Cookbookに同梱したRPMファイルから直接インストールする cookbook_fileとpackageリソースを組み合わせて実行します。 下記の例は、MySQLサーバをRPMファイルを用いてインストールします。 "MySQL-server-5.5.29-1.el6.x86_64.rpm"ファイルをあらかじめ "files/default" 内に保存します

  • nginx連載1回目: nginxの紹介

    皆様、初めまして。滝澤と申します。今月からここで記事を書いていきますのでよろしくお願いします。 ここ1,2年で注目を集めているWebサーバnginxについて今回から数回にわたってを紹介していきます。 nginxについて初めて知った、あるいは、名前は聞いたことがあるんだけど使ったことはない、といった方のために、1回目のこの記事ではnginxの概要を、2回目の記事ではインストールと設定について紹介します。 nginxとは nginxロシアのIgor Sysoev氏によって開発されているWebサーバ兼リバースプロキシのソフトウェアです。「エンジン エックス」(engine x)と呼びます。 2002年に開発が始まり、2004年に公開され、今では約10%のシェアを持つまでに成長しています。facebookやWordPress.ORGなどの大規模サイトでの導入実績もあり、導入するWebサーバの選択

  • 1