タグ

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

  • Nagiosプラグイン自作方法の紹介

    こんにちは。ハートビーツ運用スタッフの津田です。 ハートビーツからお届けする技術情報の初回シリーズ、Nagiosについての第4回です。 第3回ではNagiosの監視プラグインで、aptでインストールできるものをご紹介しましたので 今回は自作監視プラグインの作り方をご紹介します。 (ただし、ここではサービス監視に関するものをご紹介します。ホスト監視についてや、 細かい仕様については公式ドキュメントのNagios Plugin APIなどをご覧下さい。) "作り方"と言っても、専用のプログラミング言語があるわけではありません。 プラグインを使って監視をしたいサーバで動くプログラミング言語であれば、どんな言語でも構いません。 前回ご紹介したプラグインはC言語で書かれていますが、シェルスクリプトや Perl,Ruby,Pythonで書いても構わないんです。 Nagiosで動くプラグインを作るための

    Nagiosプラグイン自作方法の紹介
  • Nagiosプラグインの紹介

    こんにちは。CTOの馬場です。 ハートビーツからお届けする技術情報の初回シリーズの、Nagiosについての第3回です。 今回は、Nagiosの監視プラグインについてご紹介します。 独自に作るのも簡単にできるんですが、まずはaptでインストールできるものを一通りご紹介します。これだけでもかなりの量があるので、さっと試す分には十分だと思います。 すべて、/usr/lib/nagios/plugins/に配置されます。 いずれのコマンドも、たいがい-hオプションをつけてコマンドラインで実行するとUsageが表示されるので、困ったらやってみましょう。 nagios-plugins-basic check_apt - apt(apt-getのapt)でエラーがないか、更新すべきファイルが残っていないか確認します。チェックに少し時間がかかるので、あまりに頻繁にチェックすると問題になるかもしれません c

  • Nagios3.0の基本設定

    こんにちは。CTOの馬場です。 ハートビーツからお届けする技術情報の初回シリーズの、Nagiosについての第2回です。 今回は設定についてご紹介します。 マニュアルなどにもあまり書いていない、俯瞰した内容を中心に話をすすめましょう。 Nagiosの動作概要 まずはNagiosの動作概要について見てみましょう。 Nagiosは、大きく3つの要素で成り立っています。 CGI Webインターフェースを提供します Webインターフェースからある程度の操作(External Command)を実行することにより、Nagiosデーモンの動作を制御できます Nagiosデーモン 監視を司ります。チェックのスケジューリングや、監視プラグインの呼び出しなどを行います チェックの結果がエラーだった場合のリトライなども実施します 監視の結果をもとに、通知したりイベントハンドラを起動したりします Webインターフ

    Nagios3.0の基本設定
  • DevOpsに関する論文を読んでみよう 後半

    (<<前半の記事を読んでみる) ※謝辞と参考文献は省略します ※誤訳やより良い解釈がある等ありましたら、twitterの @koemu までお知らせください。 IV. 開発者と運用者を支えるログ解析 ここでは、開発者と運用者をサポートする、ログを基に提案されたアプローチを紹介します。 A. 開発者向け - ソフトウェアの品質を向上させるために運用の知識を活用 エラーが発生しやすいソフトウェアコンポーネントの識別 問題点: フィールドで発生する問題は、伝統的なデプロイ前のテストや静的解析を用いて特定する事は困難です。 役立つ知識: 頻繁に更新が行われる箇所は、今後発生するバグに対する有効なサインであります。 提案: 開発履歴を用い、全ソフトウェアコンポーネントの活動ログの量を測定します。リリース前のバグ、変更の合計数、およびコードの複雑さが対象です。 大規模システムの運用テスト範囲を評価する

  • 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" 内に保存します

  • MSPでのChefの使い方 --- 運用ノウハウをコードに落とす

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

  • MySQL を MHA + HAProxy で冗長化してみよう

    斎藤です。こんにちは。 今日は、MySQLにてレプリケーション構成において、マスタサーバのフェイルオーバーを司るmysql-master-ha(以下、MHA)を用いる際、マスタサーバ接続先の切り替えにHAProxyを使ってみようというお話です。 ※MHAは0.53.0(公式パッケージ)、MySQLは5.5.25a(Oracle公式パッケージ)、HAProxyは1.4.22(CentOS6標準パッケージ)、OSはCentOS 6.3 x86_64を用いました。 ※MHAによる冗長化およびHAProxyによるMySQLの負荷分散の設定を経験された事がある前提で記述します。 記事では、次の流れで話題を展開します。 フェイルオーバー時の接続先切り替え方法 構成(参考) なぜHAProxyなのか 切り替え方 2台構成の問題点 その他 コツ 設定(参考) 主にMHA+HAProxyによるフェイルオー

    MySQL を MHA + HAProxy で冗長化してみよう
  • 「写経」から始める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クックブックの作成
  • 今後の負荷を RRDTool を使って予測してみよう

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

  • DevOpsに関する論文を読んでみよう 前半

    斎藤です。こんにちは。 今回は、2回にわたりインフラエンジニアにも関係してくる学術論文を取り上げ、内容を要約・解説していきます。 運用に携わる人々は「実務」から物事を理解し、マニュアルやツールといった形でモデリング化し、物事を切り開かれている方が多いかと思います。一方で、物事をモデリングする手法には、学術論文...文章化してゆくと言う方法もあります。 「いやー、論文って読もうとすると難しいよねー」とか、「英語とか面倒だなぁ〜」なんて思っている方にでも、論文に触れる新しい機会に、そしてこれからの運用の参考となれば幸いです。 ※誤訳やより良い解釈がある等ありましたら、twitterの @koemu までお知らせください。 「ログを用いたソフトウェア開発者と運用者を繋ぐ手法」 原題は"Bridging the Divide between Software Developers and Oper

  • 入社して3ヶ月 - インフラエンジニアの道は始まったばかり

    斎藤です。こんにちは。 2012年6月中旬にハートビーツに来て、3ヶ月半が経ちました。最近、雇用契約の契約書にサインをして、「よし、がんばろう!」と気持ちを新たにしたところです。 これまで、プログラマからインフラエンジニアに転向して様々な思いが去来していました。今日は、そのお話を書いてみたいと思います。 これまでの私について 私は、これまでプログラマをしながらインフラを守る仕事を同時にこなしていました。というのも、以前勤めていた会社では、自社プロダクトとして、Webサービスやソーシャルゲームの開発を行っていたからです。 従って、開発が終わることが仕事の終わりではありません。いい事も、悪い事も、全て因果応報であることを、常に、そして直に体感しながら仕事に携わっていました。運用に入り、しっかり作り込んで安定している部分がある一方、どこかで詰めが甘くトラブルを起こしてしまう部分もあります。 そ

  • nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定

    株式会社ハートビーツのITインフラエンジニアがお届けするnginx連載の6回目。今回はnginxのTLS/SSLについての設定を確認していきます。以降、"TLS/SSL"のことを単に"SSL"と書きます。 nginx.orgのパッケージからインストールしたnginxが提供している設定ファイルexample_ssl.confをサンプルとして説明します。なお、一部修正をしております。 server { listen 443; server_name example.jp; ssl on; ssl_certificate /etc/nginx/cert.pem; ssl_certificate_key /etc/nginx/cert.key; ssl_protocols SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ci

    nginx連載6回目: nginxの設定、その4 - TLS/SSLの設定
  • UnboundとDNSラウンドロビン

    今回はキャッシュネームサーバのUnboundがDNSラウンドロビンに対応したので、UnboundとDNSラウンドロビンについて紹介します。 姉妹編『NSDとDNSラウンドロビン』もご覧ください。 Unboundとは DNSサーバのソフトウェアとしてはBINDがデファクトスタンダードのような位置づけになっていますが、BIND以外にも様々なDNSサーバのソフトウェアがあります。その中の一つとしてUnboundがあります。 UnboundはオランダのNLnet LabsのW.C.A. Wijngaards氏が中心となって開発が行われています。2008年5月20日の正式リリースから4年近く経ち、今では代表的なキャッシュネームサーバのソフトウェアの一つとなっています Unboundについての詳細は以下のサイトをご覧ください。 Unbound | 日Unboundユーザー会 Unboundの紹介 D

  • hgweb.cgiでmercurialのリポジトリポータルを作ったよ

    みなさんどうもこんにちは。CTOの馬場です。 突然ですが、みなさん、会社でリポジトリどうしてます? インフラエンジニアだとしても管理したいものはたくさんありますよね。 プロダクトの設定ファイル、ドキュメント、 各種運用スクリプト、監視ツールのプラグイン等々... 弊社でもそりゃまぁいろいろありまして、 いままでは使っててSubversionだったんですけれども 2010年代にもなって中央集権はないだろうということで Mercurialを使って社内用のリポジトリを作ったのでその紹介です。 なぜMercurial? 標準ツール(全員が使えるようになるツール)として何を採用するか悩んだのですが、 git/bazaar/Mercurialの中からMercurialに決めました。今のところ。 最大の理由は MercurialがPythonだから です。 弊社ではCentOSなサーバを非常に大量に扱っ

  • nginx連載5回目: nginxの設定、その3 - locationディレクティブ

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

    nginx連載5回目: nginxの設定、その3 - locationディレクティブ
  • インフラエンジニアway - Powered by HEARTBEATS

    こんにちは。事業基盤グループ 人材開発チームの佐野です。 今回は「全員を戦力にする人財育成術」というを読んでみました。(参考文献では「人材」のことを「人財」と呼んでいるため、記事でも「人財」で統一します) 著者の有さんは、日マクドナルドとユニクロで人財育成の仕組みを構築した後、現在はサービス業に特化した人財育成の研修会社を起業し、経営されています。 ※ 今回の参考文献 - 全員を戦力にする人財育成術 - 有 均 著 - 発行年月:2020年04月 - 頁数:208 - https://www.diamond.co.jp/book/9784478109823.html ※注意。ブログでは参考文献を要約としてまとめたものではなく、を読んだ上で我々にとって必要と感じた部分を引用する形としています。参考文献について興味を持たれた方はぜひ直接原著を読んでみてください。

  • 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サーバの選択