タグ

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

  • 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の接続数を制限してみよう
  • 新人エンジニア向けに情報収集の際の入手元を公開してみる

    こんにちは。CTOの馬場です。 新人エンジニアから割とよく聞くお悩みとして「情報収集の仕方がわからない」というのがありまして、 入手元が見つけられない、何に注目してよいかわからない、というところが解決できないということのようです。 というわけで今回は私の情報入手元を公開してみます。 Twitter まずは定番のtwitter。フォローしているのは627人です。 スマホで一日数回、そのときに取得したぶん(直近200件)だけを見るようにしています。 Androidなのでtwiccaを使っています。 リストは使わず、タイムラインのみを見ています。 PCでは夜フクロウを常時起動してますが、タイムラインは見ていなくて、mention/DMに反応するくらいです。 Facebook これまた定番のFacebook。友達は596人です。 スマホで一日数回、そのときに取得したぶん(2スクロール分くらい)だけ

  • Interop Tokyo 2015 訪問記 - IoT 戦国時代へ

    斎藤です。こんにちは。 最新のサーバ・ネットワーク製品が一堂に会するInterop Tokyo 2015。今年も、同僚とともに足を運んできました。 様々な展示がある中で、私が今回注目したキーワードは3つ、"IoT", "マルチクラウド時代へ", そして"構築・運用自動化" です。 Internet of Things。様々なデバイスがネットにつながり、様々なメトリックが交換される仕組みの総称です。IoTを支えるには、データを交換するためのネットワーク技術がベースにあってこそ成立します。今年は、そのIoTを活かそうとする展示が多く見られました。 イベントとしては、ShowNetツアーでも、IoTに力を入れていることを示す説明がありました。 デバイスのレベルですと、富士通の一体型センサーチップの展示がありました。より多機能に、より小さく、そしてより省エネルギーになっているとのことです。医療や作

    Interop Tokyo 2015 訪問記 - IoT 戦国時代へ
  • hb-acns - サーバ監視・メトリック取得設定の自動化システムのご紹介 - インフラエンジニアway - Powered by HEARTBEATS

    こんにちは。斎藤です。 前回につづき、当社で実践しているITインフラ構築・運用の自動化やコード化のお話になります。今回は、hb-acns(あくねす、といいます)といって、当社の監視・メトリック取得設定の自動化を行う内製のシステムについてご紹介します。 ※最後にお知らせがあります TL;DR データセンタ・IaaS事業者が入り乱れている中で、既存ツールで自動化するのが難しかった。また、既存業務をできる限り維持したい。そこで内製した。 hb-acns は軽量なエージェントとサーバで構成される。そのうえで、既存の監視システムに設定を自動登録できるシステムとなっている。 監視設定時間が1/10に短縮されるなど、大きな導入効果が得られた。 Issue, PRベースで開発を進めることで、利用者が自分のツールとして理解し、利用するようになり、そして改善に協力してもらえた。 動機 幾多にもある案件をどうこ

    hb-acns - サーバ監視・メトリック取得設定の自動化システムのご紹介 - インフラエンジニアway - Powered by HEARTBEATS
  • hb-agent - 構築・監視項目検出自動化ツール hb-agentのご紹介

    こんにちは。斎藤です。 私の記憶では2012年頃から盛り上がり始めた、ITインフラ構築・運用の自動化やコード化のお話ですが、その後みなさまどのような形で推進されていますか?あれから3年ほど経ちまして、当社でも取り組んできた内容を一旦棚卸しできるかなと考え始めています。そうそう、「MSPでのChefの使い方 --- 運用ノウハウをコードに落とす」という記事を書いた日から考えても、2年以上経っています。 そこで、何回かに分けまして、私が担当していたITインフラ構築・運用の自動化・コード化に関する取り組みについてご紹介していきます。 TL;DR hb-agentは、「初期構築作業の自動化」「監視項目洗い出しの自動化」そして「ノウハウをコードに集約」を実現する社内ツールです。 導入を通じて、構築時間の短縮、ノウハウの共有がすすみました。その結果、新しいスタッフが入った時でも習熟度のぶれを押さえ、構

  • O'REILLY Velocity 2015 Santa Clara参加レポート - 前編

    O'REILLY Velocity 2015 Santa Claraが2015年5月27日から29日まで開催しています。ハートビーツからも松鵜と滝澤の二人が参加しています。 5月27日にチュートリアルに参加してきたのでその一部を紹介します。 後編も公開しました。(6月4日追記) なお、内容については紹介している資料を確認してください。聞き間違えたり、認識が違っているかもしれないためです。 ※写真は初日のチュートリアル終了後のパーティー会場に使われたLevi's Stadiumです。 Best practices for MySQL High Availability このチュートリアルではMariaDB FoundationのColin Charles氏がMySQLおよびその派生の高可用性(High Availability)についてベストプラクティスを紹介してくれました。 高可用性を実現

    O'REILLY Velocity 2015 Santa Clara参加レポート - 前編
  • 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で設定ファイルのバージョン管理を始めよう
  • hbstudy#67 - hbstudy

    第67回: IT運用ソフトウェアOTRSができる漢になる ネタ: IT運用ソフトウェアOTRSができる漢になる OTRS(Open-source Ticket Request System)は、世界中で広く使用されており34もの言語へ翻訳されているヘルプデスク管理機能とITIL運用管理機能の備わったオープンソースソフトウェアです。 これまで導入勉強会が主でしたが、今回は業務運用をテーマに勉強会をさせて頂きます。 情報システム部が行う問合せ管理、インシデント管理を想定した業務シナリオをベースに、OTRSを業務利用できるまで設定を行い、実際に問合せ受付から返答までの業務操作を行います。 OTRSの概要と各種プラグインの説明 事前準備確認 インストール後の各種初期設定 業務シナリオより、キューの作成、ポストマスターフィルタ、Zabbix連携の設定など 業務シナリオに沿って業務開始(受付〜返答まで

  • ハートビーツ発のITインフラ本を読んで新人研修で差をつけよう

    こんにちは。斎藤です。 CTOの馬場が、昨年末から立て続けにITインフラの基礎に関する2冊の単著「Webエンジニアが知っておきたいインフラの基」(以下、子鹿)と「15時間でわかるCentOS集中講座」(以下、15時間)を出版しております。春からの新人研修の際にぜひこれらの書籍をご利用頂けたらと考え、レビュワーである私からこれらをご紹介します。 どちらも入門書ですが、それぞれ色がちょっと違います。子鹿は、座学として学んでおきたいITインフラの一連の業務、即ち設計〜構築〜監視〜チューニングの事柄を網羅しています。15時間は、自習ドリルとしてOSのインストールから始まる構築作業を手を動かして学べるものです。 共通点 どちらの書籍も、当社の新人研修カリキュラムをベースに生まれています。当社では、MSPとしてお客様のサーバをお預かりするにあたり、新人さんは約3ヶ月の新人研修を経て現場へ配属

  • Apache HTTP Server: MPMパラメータ チートシート

    こんにちは滝澤です。たまにはapacheネタということで一つ。 Apache HTTP ServerのパラメータチューニングではMaxClientsなどのMPM(マルチ プロセッシング モジュール)関連のディレクティブの設定値を調整することが多いです。記事ではMPM関連のディレクティブのデフォルト値やディレクティブ間の関係を表にまとめたので紹介します。 注意事項 UNIX系OSにおける説明となります。バージョン2.2系および2.4系の両方について説明します。 関係式においてバージョン2.4系の場合はMaxClientsをMaxRequestWorkersに置き換えて読んでください。 ディレクティブ名には公式サイトのリンクを張っています。公式の説明も確認してください。 デフォルトの欄で括弧付きものはそのディレクティブそのものは設定不可ではあるが、内部的に設定されているデフォルト値を示してい

    Apache HTTP Server: MPMパラメータ チートシート
  • Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう

    こんにちは。斎藤です。 最近、Dockerなどのコンテナ型仮想化技術、Chef, Ansible, Itamae などによるITインフラ構築・運用自動化技術の利用が進んでいます。一方で、何年も動いて「歴史」を積み重ねているシステムも数多くあります。そして、私を含めてそれらの運用に関わる事もあるでしょう。そんな「歴史」のあるシステムも、何とか運用を効率化したいと思う事があるかもしれません。 今日は、バッチジョブや複数サーバに対する運用を効率化するRundeckを取り上げます。「何ができるの?」「はじめかた」そして「利用時の留意点」の3点についてお話しします。 ※OSはCentOS 6系、Rundeck はバージョン 2.4.0、Java VM は Oracle JDK 1.7.0_72 を利用しています。 cronLinux系OSに標準搭載されているジョブスケジューラです。標準で使えるため

    Rundeck - cronから移行しやすいジョブスケジューラを使ってみよう
  • Mackerel プラグインを書いてみよう

    こんにちは。斎藤です。 日発としては数少ないサーバモニタリングサービス「Mackerel」。はてなさんが開発し、先月から正式にサービスが開始されました。このブログを読まれている方で、利用されている方もいらっしゃるのではないでしょうか。 さて、Mackerelの特徴に、自分自身でプラグインを開発すれば、カスタムメトリックとして自由にメトリックを追加できる事があります。最近、私もプラグインを書いて家のプラグイン集リポジトリにマージいただきました。せっかくですので、その時に私が確認したお話をまとめておこうかと思います。4節「プラグインが行うこと」「ヘルパーライブラリを活用しよう」「コーディングの型」そして「その他のポイント」に分けてお話しします。 記事は、Golangでの開発を1度でも行った事がある、または"A Tour of Go"を通じてGolangを学習した事がある方を対象とします。

    Mackerel プラグインを書いてみよう
  • nginxをdockerで動かす時のTips 3選

    こんにちは。CTOの馬場です。 最近利用する機会が増えてきたdockerネタです。 nginxを動かすときのTipsを3つ紹介します。 foregroudで起動する dockerではコマンドをforegroundで動かさないとコンテナが停止してしまいます。 nginxはデフォルトはデーモンとして動くので、foregroundで動くように設定しましょう。 nginx.confで設定するならこうです。 daemon off; Dockerfileの起動コマンドで指定するならこうです。 CMD ["/usr/sbin/nginx", "-g", "daemon off;"] 動的な設定を外部化する イメージの中に設定値を入れちゃうのはダサいですよね。 コンテナ起動時に動的に設定したいものです。 dockerの場合は docker run 時に -e で環境変数を指定できるので使いましょう。 do

    nginxをdockerで動かす時のTips 3選
  • Interop Tokyo 2014 訪問記 - VXLANの接続検証進む など

    斎藤です。こんにちは。 最新のサーバ・ネットワーク製品が一堂に会するInterop Tokyo 2014。今年も、同僚とともに足を運んできました。 私が、今回注目したキーワードは3つ、"ファイアウォール", "VXLAN", そして "アプライアンス vs 仮想化"です。 3段階のファイアウォール 日々、外部からの攻撃手法が多様化・進化している事は、みなさま日々感じていらっしゃる事と思います。また、攻撃ばかりでなく、情報漏洩などの内部から発生するリスクも無視できない今日この頃です。 その現状を鑑み、現状のファイアウォールのプラクティスは次の三段階で防ぐとよいと、ShowNet Stageの中で唱えられていました。 (旧来の)ファイアウォール (新世代)ファイアウォール サンドボックス まず、「(旧来の)ファイアウォール」とは、ルータのACLから発展した、5タプル(送信元アドレス, 宛先アド

    Interop Tokyo 2014 訪問記 - VXLANの接続検証進む など
  • Google Cloud PlatformのCLIツールgcutilをDockerで使う #gcpja

    こんにちは。CTOの馬場です。 前回 Google Cloud Platformをはじめようチュートリアル でGCPのアカウント設定・プロジェクト作成〜GCEでインスタンス起動までやってみました。 その手順の途中で登場した、GCPのCLIツール gcutil を手元のPCにインストールする代わりにDockerを使ってGCP操作環境を作ってみましょう。 ※Dockerが使える環境があることが前提です。ありますよね。 1. 認証設定 Googleが cloud-sdk セットアップ済みのコンテナイメージを公開しているので、これを使います。 まずはpullして gcloud auth login で認証設定します。 docker pull google/cloud-sdk docker run -t -i --name gcloud-config google/cloud-sdk gcloud

    Google Cloud PlatformのCLIツールgcutilをDockerで使う #gcpja
  • Google Cloud DNSをはじめよう #gcpja

    こんにちは。CTOの馬場です。 今回はIaaSの中でも数少ないDNSサービス Cloud DNSを使ってみましょう。 いまはまだWebコンソールのメニューが見当たらないので、 gcutil の gcloud コマンドを使います。 gcloud auth login 、 gcloud config set project してある状態で操作します。 設定がまだの場合は Google Cloud Platformをはじめようチュートリアル を見て設定しておいてください。 手元のPCにインストールしたくない人は Google Cloud PlatformのCLIツールgcutilをDockerで使う をご覧ください。 Cloud DNSとは AWSでいうところのRoute53のようなDNSサービスです。 レコードは A, AAAA, CNAME, MX, NS, PTR, SOA, SPF, S

    Google Cloud DNSをはじめよう #gcpja
  • 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
  • ギズモード|メディアジーン様|株式会社ハートビーツ|サーバ構築、クラウド、セキュリティに強いMSP

    ギズモードが立ち上がった翌年からなので……ハートビーツさんにサーバーを管理してもらうようになって、もう7年ですね。当時は、ギズモードもまだ月間で数百万PVの規模で、これから軌道に乗せるという段階でした。リアルタイム更新のアクセスもさばききれなくなってきて、「そろそろ腰を入れて管理しなければ……」と認識していたところで、複数の会社から見積もりをいただいた結果、ハートビーツさんにお願いすることになりました。

    ギズモード|メディアジーン様|株式会社ハートビーツ|サーバ構築、クラウド、セキュリティに強いMSP
  • 百花繚乱?社内での部活動のご紹介!

    斎藤です。こんにちは。 今日は、ハートビーツ(以下、当社)社内で活動が行われている部活動についてご紹介します。 対象は、社内Wikiの「部活」欄に掲載されており、かつ1回以上活動実績が残っているものをピックアップしております。会社で活動費の一部を負担している大きなものから、流れで人が集まって自然に出来上がったユルいノリのものまで、様々あります。そして、種類も「なるほど、定番だね!」というものから、「えっ?面白い趣味をお持ちですね。」というものまでありますよ。 ※2014/05/02編集: 二郎部の写真、P部のビラを追加しました。 いろんな部活 ジャイロキネシス部 恐らく、当社第1号の部活です。ジャイロキネシスとは、腰などの体に負担をあまりかけずに取り組めるストレッチの一種なんだそうです。 時々、業務終了後に会社の会議室で先生とともに運動している方々を拝見します。 緑化部 社内に、観葉植物を

    百花繚乱?社内での部活動のご紹介!
  • Upstart を使ってお手軽 daemon 化

    こんにちは。斎藤です。 手元でちょちょいと作ったプログラムや、 init スクリプトの無いOSSを daemon として動作させ続けたい事、ありませんか?そんなときに便利なのが Upstart です。daemontoolsの代わりとしても使えます。 今回は設定方法を中心に、解説していきます。 ※CentOS 6.3 (x86_64) で検証しています はじめに Upstart とは何か UpstartのWikiによると、"/sbin/init"デーモン(例えばSysVinit)を置き換えるものであり、イベントベースでタスクやサービスを起動・停止できるようにしたものである、と述べられています。また、特徴として、SysVinitと比べ「設定が簡単」「起動が早くなる」などが挙げられています。 Upstart のメリット 3つのメリットがあると、私は考えています。 起動・終了制御が容易 仮にABE

    Upstart を使ってお手軽 daemon 化