タグ

ブックマーク / www.na3.jp (30)

  • LinuxのmailコマンドでSMTPサーバを使ってメール送信する (from GCE/nagios) - 元RX-7乗りの適当な日々

    情報ソースとして割とあふれている話なんですが、前提が足りない情報が多いので、補足すべく書いておきます。 と、その前に、mail コマンドで SMTPサーバ経由のメール送信をやりたくなった、そもそもの動機を書いておきます。 GCE(Google Compute Engine)で作ったサーバに、nagios をセットアップしていて、アラートをメールで飛ばしたい。が、現在はGCE のインスタンスから宛先{25, 465, 587}番ポートへのメール送信は仕様として禁止されている。なので、GCE では sendgrid や mailgun、Google Apps を使ってメール送信してくれ、とドキュメントに記載されているのですが、まぁ色々な事情と対象がアラートメールという性質もあり、GCE 外部で既に動かしているSMTPサーバを経由して送りたい。 で、nagios のメール送信は、内部的に mai

    LinuxのmailコマンドでSMTPサーバを使ってメール送信する (from GCE/nagios) - 元RX-7乗りの適当な日々
  • SPFの設定はTXTレコード"のみ"に行うのが最近の推奨らしい - 元RX-7乗りの適当な日々

    あまりにもブログを書いてなさすぎるので、昨年同様に一人アドベントカレンダーでもやろうかなーと思っています、並河です。こんにちは。(昨年は12/1から欠損してくじけた) 最近は割と、情シス業をしたりすることもあって、この前はSPF(Sender Policy Framework)の設定をきちんと入れなおしたりしていたのですが、そこで学んだメモ。 これまではDNSでのSPFまわりの設定って、当たり前のようにSPFレコードとTXTレコードの両方を登録(TXTレコードしか解釈できない古いリゾルバでも対応できるように)していたのですが、どうも最近はTXTレコードのみにしましょうとRFCで定義されています。 具体的には、2014/04に策定された RFC 7208 の "3.1. DNS Resource Records" に以下の記載があります。 SPF records MUST be publis

    SPFの設定はTXTレコード"のみ"に行うのが最近の推奨らしい - 元RX-7乗りの適当な日々
  • 「Zabbix統合監視 徹底活用」を読んだ - 元RX-7乗りの適当な日々

    OSSの統合監視ツールの1つであるZabbixに関する活用。 大変ありがたいことに、著者/出版者様よりご献いただきました。いつもありがとうございます。 書はZabbixの最新バージョンである2.2系に対応しているとのことです。 Zabbix統合監視徹底活用 ~複雑化・大規模化するインフラの一元管理 (Software Design plus) 作者: TIS株式会社,池田大輔出版社/メーカー: 技術評論社発売日: 2014/02/07メディア: 大型この商品を含むブログ (4件) を見る ページを開けて読み始めると、第1章は物理・仮想・クラウド環境の概要というところで、2014年の今、Zabbixでこの章の解説は要らないんじゃないかとも思いましたが、そこはこのが、それだけ丁寧に説明しているという証。第2章からは、物理・仮想・クラウドそれぞれの監視やその管理の考え方が書かれていま

    「Zabbix統合監視 徹底活用」を読んだ - 元RX-7乗りの適当な日々
  • はじめてのAmazon VPC - 2. 外部インターネットと接続する(NATインスタンスを使う) - 元RX-7乗りの適当な日々

    前回のエントリ「はじめてのAmazon VPC - 1. ルーターからVPCVPN接続する」の続きです。(今更シリーズ) Amazon VPCでは、各サブネットでのアクセスコントロールを柔軟に設定できたり、自ネットワークからVPNトンネルをはって接続できるなど、よりセキュアなネットワーク構成を意識できることもあり、VPC内で起動したサーバ(Amazon EC2インスタンス)は、場合によっては外部インターネットに出て行くことが出来ないケースがあります。 しかし、サーバから外部の必要なものをダウンロードしたり、外部リポジトリや外部APIアクセスしたい場合、Amazon S3等のVPC外のAWS各サービスに接続したい場合(パブリックネットワークからしかアクセスできない)などもあるでしょう。 もちろん、そこはVPCでの設定次第となりますので、今回は、前回作成したAmazon VPC網内で起動した

    はじめてのAmazon VPC - 2. 外部インターネットと接続する(NATインスタンスを使う) - 元RX-7乗りの適当な日々
  • はじめてのAmazon VPC - 1. ルーターからVPCへVPN接続する - 元RX-7乗りの適当な日々

    ぼちぼちAmazon VPCを触り始めてみました。 今更な感じもしますが、Amazon VPCのPrivate SubnetにHardware VPN(IPsec VPN)を使って接続できる今時点での詳しい手順を残しておこうと思います。(シリーズ化します。多分。) Amazon VPCの概要は、下記公式サイトの説明に任せますが、簡単に説明すると、Amazon VPCを使うことで、AWSクラウド内にプライベートネットワークを作成することができるので、従来よりネットワークレベルでの細やかなアクセスコントロールを実現できます。 また、VPN接続をサポートしているので、会社やデータセンターと接続することで、プライベートネットワーク内でAWSのリソースをシームレスに扱うことができるようになります。つまり、自社ネットワークのアドレスをAmazon EC2のインスタンスに振ることができる、みたいなイメー

    はじめてのAmazon VPC - 1. ルーターからVPCへVPN接続する - 元RX-7乗りの適当な日々
  • 「AWS Summit Tokyo 2013」 1日目の講演メモ #awssummit - 元RX-7乗りの適当な日々

    今日は午後から、表題のカンファレンスに行ってきました。 AWS Summit Tokyo 2013 久しぶりに行くAWS系のビッグカンファレンス。AWSの中の方(ソリューションアーキテクト)が話してくれる「上級者向け」と題されるテクノロジーセッション3つに参加して、メモ書きをとったのでここに残しておきます。 (個人的には、3つ目の大谷さんの話が面白かったです。) ハイブリッド構成を支えるAWSテクノロジー AWS荒木さん プリンシパルソリューションアーキテクト @ar1 なぜハイブリッド環境なのか 既存のアセットを最大限に活かして、AWSのメリットを享受する 開発での利用パターン(dev,stgで使っている) データをどう持ち運ぶか ディザスタリカバリでの利用パターン データをどうやって同期するか 複数のシステムがハイブリッドでやりとり 監視・制御を複数プラットフォームで システム間連携を

    「AWS Summit Tokyo 2013」 1日目の講演メモ #awssummit - 元RX-7乗りの適当な日々
  • muninの表示がクソ重くなっていたのを劇的に改善した話 - 元RX-7乗りの適当な日々

    某所の"munin"がびっくりするくらい画面表示が重くなっていて、ひょんなことから改善することになった話。 前提条件として、このmuninが動いているサーバは数百台のノード(サーバ)を管理している状態で、muninのバージョンは2.0系でした。 当は、後学のためにも作ってくれた人に直してもらうべきと思いつつ、あまり悠長なことも言ってられない感じだったので、一人チューニンガソンを敢行。・・・要望があったのでログを残しておきます。(遅くなってごめんなさい) 最初の状態(before) まず、muninのトップページですが、開いてみると、、、 うほっ、19.61秒かかっておりました。これはなかなかのストレスです。 特にHTML部分の出力に19.4秒かかっている。ここをなんとかせねばなるまい。 次に4台分のサーバの各リソースの負荷状況が確認できるページを表示してみると ズラズラと出ております。各

    muninの表示がクソ重くなっていたのを劇的に改善した話 - 元RX-7乗りの適当な日々
  • ネットワークインターフェースが100Mbpsで認識したり1Gbpsで認識したりする場合 - 元RX-7乗りの適当な日々

    そういえば、宅内LANでこんなことがあったので書き残しておきます。 我が家は、1Fから2Fの間で有線LANをひいております。家を建てたときに、将来の事を考えて、CAT6e(6a)を配線してもらってます。 さて、1Fに設置したスイッチングハブ(NETGEAR製)から、2Fに設置したスイッチングハブ(NETGEAR製)に同じようにCAT6eのLANケーブルを使ってつないでみたのですが、はて100Mbpsで認識する。 何度かつなぎ直したり、スイッチングハブの電源を再起動してみると、時折1Gbpsで認識する。なんぞこれ。 最初は、スイッチングハブにつながっているWOL対応のサーバが落ちている場合、サーバ側が100Mbpsでの接続になるようだったので、それに引きずられているのかと思い、1Fから来ているLANコンセントへのケーブルを、スイッチングハブのポートに繋ぐのをやめて、起動しているサーバの1Gb

    ネットワークインターフェースが100Mbpsで認識したり1Gbpsで認識したりする場合 - 元RX-7乗りの適当な日々
  • Chefの新バージョン(0.10.14)で"dry-run"ができるようになった! - 元RX-7乗りの適当な日々

    ちょっと気付くのに遅れたのですが、9/7に"Chef"の最新バージョンである0.10.14がリリースされました。 Chef 10.14.0 Released! - Chef Blog そう、0.10.14と言えば待望の「dry-run」(--noop mode)の機能が付くと、家のIssue Trackerでも挙がっていたんです。 http://tickets.opscode.com/browse/CHEF-13 DevOps Days Tokyo 2012でも、Opscodeの方から言及があったので、僕的には心待ちにしていました。 あと、Chefのdry-runについては、既に実装がかなり進んでいて、近々0.10.14?あたりでリリースされるという話も聞けて、かなり満足。 「DevOps Days Tokyo 2012」でChefの話をしてきたので資料を公開します - 元RX-7乗りの

    Chefの新バージョン(0.10.14)で"dry-run"ができるようになった! - 元RX-7乗りの適当な日々
  • crontabでの「%」の扱い - 元RX-7乗りの適当な日々

    昔、遭遇した気もするが、また忘れていたのでメモ。多分、常識の範疇w crontabにこんな感じで設定を仕込もうとしたんですね。 */5 * * * * /usr/bin/iotop -b -k -t -n 2 -o >> /var/log/iotop/"`hostname`_`date '+%F_%H'`" すると、「メールが /var/spool/mail/root にあります」とメールが届きまして、、、 /bin/sh: -c: line 0: unexpected EOF while looking for matching ``' /bin/sh: -c: line 1: syntax error: unexpected end of fileこんな感じで怒られたわけです。 あんれー?と思って、"/var/log/cron"を確認すると、 CROND[17743]: (root)

    crontabでの「%」の扱い - 元RX-7乗りの適当な日々
  • Amazonの従量課金制CDNサービス「Amazon CloudFront」を使う方法 - 元RX-7乗りの適当な日々

    Amazon CloudFront」はAmazonが提供してくれるCDNサービスの1つで、コンテンツを世界各国に分散して配置させることで、ユーザからのアクセスを集中させること無く分散させることと、ユーザは最もネットワーク距離の近いサーバからコンテンツをダウンロードすることが出来るため、ユーザにとっても非常に快適でかつ効率的なアクセスの仕組みを作ることが出来ます。 Amazon CloudFrontでは、世界14ヶ所にエッジサーバがあり、それぞれの場所でコンテンツをキャッシュして配信することが可能です。 で、そんな話を昨日のエントリ「Amazonが従量課金制のCDNサービス「Amazon CloudFront」を開始・・・したので試してみた」にて、"Amazon CloudFront"の概要や実際の速度なんかを紹介したのですが、具体的な使用方法を端折ったので、今日はここに使い方を書き残して

    Amazonの従量課金制CDNサービス「Amazon CloudFront」を使う方法 - 元RX-7乗りの適当な日々
  • Amazonが従量課金制のCDNサービス「Amazon CloudFront」を開始・・・したので試してみた - 元RX-7乗りの適当な日々

    Amazonが、とうとうCDNサービス(コンテンツ配信)を開始しました。その名も「Amazon CloudFront」 CDNとは何?については以下のURLが参考になります。 CDN(コンテンツデリバリネットワーク)とは - IT用語辞典 e-Words 今まで、Amazon EC2やAmazon S3でコンテンツ配信を行おうとすると、サーバがアメリカやヨーロッパにあるため、どうしても日からはネットワーク的に不利だったわけですが、このCDNサービス「Amazon CloudFront」を使うと、コンテンツ配信の速度面や負荷分散などについては解消できそうです。 コンテンツが設置されるエッジサーバは以下の世界14ヶ所となり、日も含まれていますよ! The Amazon CloudFront Network To deliver content to end users with lower

    Amazonが従量課金制のCDNサービス「Amazon CloudFront」を開始・・・したので試してみた - 元RX-7乗りの適当な日々
  • 大量の接続がやってきた!ヤァ!ヤァ!ヤァ! - 元RX-7乗りの適当な日々

    ※ 以下、フィクションです。 はじめに: こんなサーバ(↓dstat) (裏バッチによりiowaitとLAが高いのは一時的な仕様とする) 気付けばログに・・・ Mar 29 18:08:02 hostname kernel: printk: 48843 messages suppressed. Mar 29 18:08:02 hostname kernel: TCP: time wait bucket table overflow Mar 29 18:08:07 hostname kernel: printk: 54962 messages suppressed. Mar 29 18:08:07 hostname kernel: TCP: time wait bucket table overflow Mar 29 18:08:12 hostname kernel: printk: 648

    大量の接続がやってきた!ヤァ!ヤァ!ヤァ! - 元RX-7乗りの適当な日々
  • 特定のユーザが持つプロセス全てにシグナルを送る - 元RX-7乗りの適当な日々

    さっき、killコマンドのmanを読んでいて気付いた。 pid に -1 を指定した場合、 sig で指定したシグナルが、呼び出し元のプロセスがシグナルを送る許可を持つ全てのプロセスに送られる。但し、プロセス番号 1 (init) へはシグナルは送られない。 Man page of KILL ほほう。つまり、 $ kill -9 -1とかやると、自分が持つプロセス全てにシグナル(SIGKILL)を送信できるとな。 (上記例の"-9"の部分は任意のシグナルでお願いします。"kill -l"とかで確認できる。) 応用して、 # sudo -u username kill -9 -1とかやると、特定のユーザ(上記例だと"username")の所有するプロセス全てを抹殺することができるわけですね・・・。便利ですが、取り扱い注意。 参考 KILL(1) KILL(2) LinuxサーバHacks―プ

  • grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々

    "GREP_OPTIONS"という環境変数に、常に付けておきたいオプションをあらかじめ指定しておくと、grepコマンドやxgrep(egrepとかfgrepとか...)を実行したときに、自動でオプションをつけて実行してくれます。 例えば、、、 $ export GREP_OPTIONS="--color=auto"とか。常に含めておくなら、あとは"-I"オプションとかですかね。これくらいなら"alias"でも良いわけですがw grepとか毎日使ってもおかしくないコマンドなので、こういう小さい効率化はどんどんやっていきたいところですね! オプション無しで実行した場合 GREP_OPTIONSを設定してから実行した場合 おまけ: --colorの色を変えたい場合 環境変数 "GREP_COLOR"に色コードを指定してやると良いです。 例えば、ハイライトを黄色にしたい場合とかは、以下のような感じ

    grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS" - 元RX-7乗りの適当な日々
  • HTTPで疎通やレイテンシを確認する「httping」 - 元RX-7乗りの適当な日々

    少し前に、某所のサーバ(自分たちで管理)で、通常時は問題ないのだけど、時々HTTPレスポンスで数秒かかる現象が見受けられたので、再現させるときに目視確認でひたすらHTTPリクエストが送れてレイテンシが確認できる「httping」を利用しました。 httpingは、所謂"ping"のHTTP版。HTTPリクエストでポーリングしてくれるコマンドです。ICMPは受け付けないけどHTTPはOK、そんなサーバにも監視などで使えます。 インストール Ubuntuでは、aptでインストールできました。簡単。 $ sudo apt-get install httpingこれだけです。 簡単な使い方 $ httping (URLまたはIPアドレス)で、実行可能です。以下、実行例。 $ httping http://xxx.xxx.xxx.xxx/ PING xxx.xxx.xxx.xxx:80 (http:

    HTTPで疎通やレイテンシを確認する「httping」 - 元RX-7乗りの適当な日々
  • LAN内で使用中のIPアドレス(pingで応答があるノード)を簡易に調査するワンライナー(Windows編) - 元RX-7乗りの適当な日々

    諸事情で、WindowsPCを使わざるをえない状況だったので・・・。簡易な感じで。 > for /l %i in (1,1,254) do ping -w 50 -n 1 192.168.1.%i && arp -a 192.168.1.%i >> ping.log↑を実行すると、192.168.1.1 〜 192.168.1.254に対して連続してping(ICMP echo)を実行して、ログファイルに結果(応答があったノード)を書き込みます。タイムアウトは念のため50msecにしました。LAN内だったら、もっと小さくても良いと思います。 (対象IPアドレスは"dynamic"とか"動的"とか書かれている行になります。←でgrepしてやるとIPアドレスの一覧が取れます。ちなみに余談ですが、arpの実行結果なので、MACアドレスも記録されます。) # Windowsのコマンドプロンプトな

    LAN内で使用中のIPアドレス(pingで応答があるノード)を簡易に調査するワンライナー(Windows編) - 元RX-7乗りの適当な日々
  • psコマンドでスレッドを表示させたり、スレッドごとのCPU使用率を確認する - 元RX-7乗りの適当な日々

    今更なネタかもしれませんが、psコマンドでは通常プロセス単位での表示となりますが、"man ps"を読んでみたところ、"-L"等のオプションをつけることで、スレッドを表示することもできるようです。 スレッド表示 H   スレッドをプロセスのように表示する。 -L   可能ならば LWP と NLWP カラムをつけてスレッドを表示する。 -T   可能ならば SPID カラムをつけてスレッドを表示する。 m   プロセスの後にスレッドを表示する。 -m   プロセスの後にスレッドを表示する。 Man page of PS では、早速試してみましょうか。 普通に"ps -ef"を実行 $ ps -ef | grep -e mysqld -e PID | grep -v grep UID PID PPID C STIME TTY TIME CMD root 4570 1 0 Dec09 ? 00

    psコマンドでスレッドを表示させたり、スレッドごとのCPU使用率を確認する - 元RX-7乗りの適当な日々
  • Chefで利用できるインタラクティブシェル"Shef" - 元RX-7乗りの適当な日々

    "Chef"は、Ruby製のシステム管理ツールで、サーバOSでのインストール・設定・各サービスの状態管理等、諸々のシステム構築や運用作業を自動化してくれるツールです。(Puppetの仲間ですね) え?Chefって何よ?って方は、以下をご参考に。 システム管理ツールChefのチュートリアル(RailsConf2009レポート) - クックパッド開発者ブログ Chef - Automate IT Infrastructure | Chef で、Chefには"Shef"と呼ばれるインタラクティブシェルが付属していて、recipe(chefで扱う、サーバのあるべき状態を記述する設定ファイル)をちょっぴりローカルで試してみたい時とかに使えます。今日はその紹介。 chef-clientのインストール Chefのクライアントがインストールされていれば、すぐにでも使えると思います。 一応、これから試してみ

    Chefで利用できるインタラクティブシェル"Shef" - 元RX-7乗りの適当な日々
  • irbでシンタックスハイライトやキー補完を実現するWirble - 元RX-7乗りの適当な日々

    今更なRubyネタですが、irbでシンタックスハイライトやキー補完を使うには、以下のようにWirbleをgemでインストールすればよい。 $ sudo gem install wirble 次に、"~/.irbrc"を編集して以下を追記します。 require 'rubygems' require 'wirble' Wirble.init Wirble.colorize これだけで、以下のように、irbでのシンタックスハイライトやTabによるキー補完が実現できます。 プロンプトをデフォルトに戻すには Wirbleデフォルトのちょっと味気ないプロンプト(">> ")をデフォルトのものに戻す方法は、コチラで紹介されていました。 "~/.irbrc"の"Wirble.init"の部分を以下のようにオプション指定した形で編集すればOK。 Wirble.init(:skip_prompt => :D