タグ

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

  • RFCの読み方

    こんにちは。技術開発室の伊藤です。 ハートビーツではメールサーバを自社で運用しています。そのメールサーバの移設を実施するにあたり、移設を対応するチームでさまざまなメールの仕様を理解しておく必要がありました。 メールプロトコルの仕様についてはRFC(Request For Comments)が発行されているため、メールに関するRFCを読んでまとめる勉強会を行いました。 その際にRFCを読むにあたって知っておくとよいことがいくつかあったので紹介します。 RFCとは RFCとはIETF(Internet Engineering Task Force)というインターネット技術の標準化を推進する団体やその他の団体が発行している、インターネット標準や技術提供の文書です。もともとは非公式な文書であることを明確にするため、Request For Comments(コメント募集)という名前にしていたようです

  • 文字エンコーディングの検出方法

    こんにちは、技術開発室の滝澤です。 最近(2021年春)、Go言語でメールパーサーを書く機会があり、備忘録的な意味でも知見をまとめておこうかなと思い、この記事を書きました。 メールパーサーを書いていて考慮しないといけないことの一つは、文字エンコーディング(charset)が正しく指定されていないメールがときどきあることです。 MIME(Multipurpose Internet Mail Extensions)関連のインターネット標準であるRFCが公開された1990年代や世間一般にインターネットメールが利用され始めた2000年代初期ならともかくとして、2021年にもなってまだその点を考慮しないといけないのはなかなかつらいことです。 そのようなメールを取り扱うときには、文字エンコーディングの検出を行う必要があります。記事ではその文字エンコーディングの検出方法について書いてみました。 なお、

  • メトリック収集と分散トレーシングのフレームワーク OpenCensus を使ってみた - インフラエンジニアway - Powered by HEARTBEATS

    こんにちは、滝澤です。 先日、社内ISUCONが開催され、運営側として関わっていました。 その中で、試し解きと技術検証(お遊び)も兼ねて、以前から興味があったメトリック収集と分散トレーシングのフレームワークの OpenCensus を使ってみて、処理時間の可視化をしてみました。 そのときに行った内容などを紹介してみます。 OpenCensusとは OpenCensusはメトリック収集および分散トレーシングを行うためのライブラリ集です。 マイクロサービスやモノリシックなアプリケーションに対して Observability (可観測性)を提供します。 Google社が社内で利用しているメトリック収集およびトレーシングのライブラリ集であるCensusのオープンソース実装として、2018年1月にリリースされました。 提供する機能としては大きく分けて次のものになります。 Metrics (メトリック

  • 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から移行しやすいジョブスケジューラを使ってみよう
    yuiseki
    yuiseki 2015/01/21
  • セキュリティテストプラットフォームMinion最速ガイド

    こんにちは。こんばんは。CTOの馬場です。 今回は私が最近超注目している、 OSSのセキュリティテストプラットフォーム minion を紹介します。 たぶん日最速級Installation Guideだとおもいます。 minionはMozillaで開発しています。 セキュリティツールではなくプラットフォーム だそうです。 Mozilla、セキュリティテスト自動化フレームワーク「Minion」を発表 | SourceForge.JP Magazine http://sourceforge.jp/magazine/13/07/31/145000 mozilla/minion - GitHub https://github.com/mozilla/minion Security/Projects/Minion - MozillaWiki https://wiki.mozilla.org/Sec

    セキュリティテストプラットフォームMinion最速ガイド
    yuiseki
    yuiseki 2013/08/03
  • 株式会社ハートビーツ|サーバ構築、クラウド、セキュリティに強いMSP

    運用監視も エンジニアが対応 これまでの経験を元に、お客様の業務を全面的にサポート。運用監視もエンジニアによる24時間体制で状況変化・障害発生を早期に検知し、対応します。 幅広い対応力 技術担当者が不在、または別の業務に専念したい場合も、ハートビーツのエンジニアがインフラ管理〜コンサルティングまで対応、ご要望にお応えします。

    株式会社ハートビーツ|サーバ構築、クラウド、セキュリティに強いMSP
  • nginx連載5回目: nginxの設定、その3 - locationディレクティブ

    locationディレクティブはパスの条件が評価されて選ばれたものが適応されます。この条件はパスの文字列の前方一致あるいは正規表現による評価です。この評価の順番は以下のようになります。 前方一致("=", "^~", プレフィックスなし)の条件の評価を実施 最も一致する条件を選ぶ。 選ばれた条件が、完全一致で、プレフィックスが"="であれば、そこで評価を終了し、そのlocationディレクティブを適応する。 選ばれた条件のプレフィックスが"^~"であれば、そこで評価を終了して、そのlocationディレクティブを適応する。 正規表現("~", "~*")の条件の評価を実施 正規表現の条件を設定ファイルに定義した順番に評価する。一致したら、そこで評価を終了して、そのlocationディレクティブを適応する。 前方一致の評価で選ばれた条件のlocationディレクティブを適応する。 ここで注意

    nginx連載5回目: nginxの設定、その3 - locationディレクティブ
  • メディアサイトのCDN利用に関する論文を読んでみよう 前半

    斎藤です。こんにちは。 今回は、2回にわたりメディアサイトでCDN(Contents Delivery Network)を利用する際の問題点と、解決に必要な指針を示した論文の要約と、私なりのちょっとした解釈をご紹介します。 紹介する論文は、USENIXのLISA '12にて発表された「What Your CDN Won't Tell You: Optimizing a News Website for Speed and Stability」です。CDNを用いるにあたり、どのような「変数」を気にする事が大切なのか、そしてチューニングにあたってどこに目を付けることが大切なのかを知る事ができる論文です。特に、メディアサイトを運用されている方には参考になるのではないでしょうか。 ※ちなみに、この論文の執筆者であるJulian Dunnさんは、現在Chefで有名なOpscodeにお勤めのようです。

    メディアサイトのCDN利用に関する論文を読んでみよう 前半
    yuiseki
    yuiseki 2013/05/30
  • 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" 内に保存します

  • Upstart を使ってお手軽 daemon 化

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

    Upstart を使ってお手軽 daemon 化
  • 今後の負荷を RRDTool を使って予測してみよう

    斎藤です。 今日は、RRDToolを使って、今後かかる負荷を手軽に予測する方法をご紹介します。あわせて、プログラムと連携して性能限界を越えそうなサーバがあるかを判定してみます。人手ではまかないきれない数のサーバに対して、一台ずつ問題の予兆を調べるときなどにお試しください。 ※CentOS 6.3 (64bit) + RRDTool の2013/2/20頃の最新ソースを用いて試しています 「限界」を早く知りたい! ITインフラを運用している方の多くは、Cacti, Munin等で負荷を日々モニタリングされているかと思います。モニタリングしたデータを用いて今後を予測する際、どのようにされていらっしゃいますでしょうか?描かれたチャートの動きをもとに、経験と勘を駆使して「ヨイショ!」っとされている方も、いらっしゃるのではないでしょうか。 特に、ディスク容量やネットワークトラフィック等、根的な対策

    yuiseki
    yuiseki 2013/02/22
  • 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サーバの選択

  • nginx連載2回目: nginxのインストール

    前回はnginxの概要を紹介しましたが、今回はnginxのインストールについて紹介します。なお、設定については今回紹介する予定でしたが、文章が長くなってしまったので次回にします。 「百聞は一見にしかず」ということで、実際にインストールして体験してみましょう。 インストール方法 nginxのインストール方法は主に次の3通りです。 ソースコードからビルドしてインストールする OSのパッケージシステムからパッケージをインストールする nginx.org提供のバイナリパッケージをインストールする お使いのOSがメジャーなLinuxディストリビューションや*BSD系のUNIXであれば、パッケージシステムからインストールできます。なお、記事ではCentOS 6にnginx.org提供のパッケージを利用する前提で話を書きます。 また、次のサイトにも情報がありますので一度ご覧ください。 公式ダウンロード

  • nginx連載3回目: nginxの設定、その1

    ディレクティブはこのモジュールのカテゴリ毎に記述します。ただし、coreモジュールに関してはmainコンテキスト、すなわち、設定ファイル内の最上位の階層に記述します。設定ファイルの構成は次のようになります。 coreモジュールの設定 events { eventモジュールの設定 } http { httpモジュールの設定 } mail { mailモジュールの設定 } httpコンテキストはさらに、バーチャルサーバ(バーチャルドメイン)毎の設定を行うserverディレクティブ、さらにURI毎の設定を行うlocaltionディレクティブにより階層化されます。次のような構成になります。 http { httpモジュールの設定 server { サーバ毎の設定 location PATH { URI毎の設定 } location PATH { URI毎の設定 } ... } server { .

    nginx連載3回目: nginxの設定、その1
  • 1