7/27 第8回OSS運用管理勉強会の資料です。 Zabbixの基本の話〜8月リリース予定のZabbix3.0の機能紹介も含みます。
![第8回oss運用管理勉強会 Zabbix入門&Zabbix3.0先取り紹介](https://cdn-ak-scissors.b.st-hatena.com/image/square/40dc7f1e5040b6a483f4ae481573a60b85030ca4/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2F8oss-150727102016-lva1-app6891-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
7/27 第8回OSS運用管理勉強会の資料です。 Zabbixの基本の話〜8月リリース予定のZabbix3.0の機能紹介も含みます。
はじめに はじめまして、nendでインフラ担当をしているn_watanabeです。 今回はAWS EC2でVIP(仮想IP)を使ったActive/Standby構成を組む方法を紹介します。 技術要素としては、AWS EC2(AmazonLinux) + Pacemaker + Corosyncとなります。 Pacemaker構成をオンプレミスで使う場合、IPアドレスはOS上で設定すればいいだけなのですが、 AWSの場合はAWSのシステムに対して設定してあげる必要もあります。 IPアドレスをOSに設定しただけではパケットはインスタンスに到達しません。 注意点として、今回のようにEIPではなくプライベートアドレスを切り替える方式の場合は、 2台が同一Subnetにいる必要があるのでMulitiAZできないという制約があります。 ちなみにちょっとカッコよくいうと、CDP:Floating IPパ
クラウドファーストからクラウドネイティブへ。 クラウドの進化がシステムのアーキテクチャを根底から変えようとしています。それに伴い、エンジニアに求められる役割も変化しつつあります。2tierアーキテクチャなどを紹介しつつ、今注目していることについて話していこうと思います。Read less
ElixirにてWebアプリケーションを開発しようとするとCowboyにたどり着くことになります。 そこでCowboyのユーザガイドを翻訳することによって、これからCowboyを使用される方がつまづくことないようにと思い、翻訳を行いたいと思います。 翻訳許可をくださり、また掲載許可もくださった Nine Nines社とLoic Hoguin様ありがとうございました。 翻訳ですが素人翻訳ですので間違いが多々あるかもしれません。 解説が間違っていた場合には、コメントか@hayabusa333にご連絡くださると嬉しいです。 翻訳元のドキュメントは以下となります。 Cowboy User Guide Cowboy ユーザガイド Cowboyユーザガイドは現代のWeb技術とWebアプリケーションを記述するためにCowboyを最大限に活用するための地図です。 Cowboy紹介 はじめに 現代のWeb
前回に引き続き、Michael Kohlさんの2015年2月13日付のブログ記事An intro to OTP in Elixirの翻訳です。 OTPとは何か? ドキュメントによればOTP-Open Telecom Platform-は「並行プログラミングのために完備された開発環境」で、Erlangコンパイラとインタプリタ、データベースサーバー(Mnesia)、解析ツール(Dyalizer)それに多数のライブラリを含んでいます。人々がOTPについて話をするときに引き合いに出すのはこの後半の部分です。 ビヘイビア(ふるまい) Erlang/OTPのデザイン原則の中心的なもののひとつはアプリケーションのパターン、OTP用語でいうところの「ビヘイビア」です。ビヘイビアは共通的なタスクに対する汎用的な実装を定義します。その一例として汎用サーバー(gen_server)モジュールがあります。アプリケ
/ # ルートディレクトリ /vmlinuz # /bootに置かれているLinuxカーネルにシンボリックリンクが貼られている /bin/ # バイナリ形式の実行ファイル置き場 /boot/ # Linuxカーネルやブート処理に必要なファイル置き場 /dev/ # デバイスファイル置き場 /tty* # 制御端末に対応している.”tty”は”Teletype”が由来 /null # nullデバイス.出力の破棄先に使う /zero # zeroデバイス.Nullが延々返ってくる /etc/ # 設定ファイル置き場 /hosts # ホストとIPの対応付けを行う /hosts.allow # 接続を許可するホスト一覧 /hosts.deny # 接続を拒否するホスト一覧 /passwd # ユーザの名前やホームディレクトリ一覧 /resolv.conf # 名前解決のためのDNSサーバ一覧
SSH 用の暗号鍵を格納しておいたり、パスワードを覚えておくことは大変です。しかし、悪意のハッカーや侵害行為が蔓延している世界では基本的なセキュリティの備えが大事です。一般ユーザーの大半にとって、つまるところパスワードを記憶することであり、パスワードを覚えてくれるプログラムを探すことになります。IT 分野で仕事をしている我々は、より高いレベルが必要です。パスワードだけではなく、SSH 用キーも扱う必要があります。 次のような状況を考えてみましょう。クラウド上に git リポジトリを扱うサーバーを持っています。作業するためのコンピューターを数台持っています。各コンピューターから、サーバーにプルしたりプッシュしたりします。git は SSH を使うように設定しています。git が SSH を使う場合、SSH コマンドでサーバーのコマンド ラインを実行する時と同じ方法を用います。すべてを設定する
はじめに 本稿では、はてなブックマークの10周年記念の第1弾として開発した「トピックページ」の作り方について解説します。トピックページとは、インターネット上で話題となったトピックを閲覧できるページです。 トピックページは、トピックに関連する記事の集合とトピックを表すタイトルから構成されます。 トピックページ生成の流れは以下の通りです。 トピック生成 トピック表すキーワード集合を獲得し、そのキーワードに関連する記事を収集する。 トピックタイトル生成 トピックに関連する記事の情報を利用してトピックを表すタイトルを生成する。 本稿では、Elasticsearchなどの検索技術を活用したトピック生成方法、および、CaboChaなどの自然言語処理技術を活用したトピックタイトル生成方法について説明します。 対象読者 Elasticsearchを利用している/したい方 検索技術、自然言語処理技術に関心の
親 父 ギ ャ グ や ね ( ・ ω ・ ) y # rpm --import http:/ /dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 # yum -y install http:/ /dl.fedoraproject.org/pub/epel/6/x86_64/epel-rele ase-6-8.noarch.rpm # yum -y install docker-io # service docker start # docker pull centos Pulling repository centos 539c0211cd76: Download complete # docker images REPOSITORY centos centos TAG 6.4 latest IMAGE ID 539c0211cd76 53
Pythonを使ってExcelファイル(拡張子xlsx)を作成できるモジュールです。Excel2007以降で登場したテーブルを生成したり、それぞれのセルプロパティをいじったり、割と本格的な帳票を作ることができます。 いろいろ事情があって最終的な出力形式はExcelじゃなければいけないけど、入力がとても面倒くさくとても普通にExcelなんか書いていられない なんて時にオススメ。 とりあえず、さわりだけ。 インストール とりあえず、easyinstallでインストールができます。Windows環境下でもこれでOK 基本的な使い方 まずはimport xlsxwriterしてモジュールをインポートします。 次に、ファイル名を指定してワークブックを作り、必要に応じてワークシートを何枚か挿入、処理が終わったらワークブックをクローズするとファイルができあがる感じです。
対話式プログラムへの自動化処理の方式としてはexpectが有名だが、そのpython版としてpexpectというパッケージがある。expectは使ったことないが、TCL言語がベースなので学習コストガー、とかshellはもうイヤだ、等々あるので、pexpectでサクッとできればそっちの方がスマートでよさそうだ。しかし現状日本語情報は少ないし、あっても説明がイマイチ分かりにくい…。単純化するとこういうことみたいである。 spawn()で、実行するコマンドを定義。 expect()で、想定するプログラムの質問を定義。まさに”expect”。 sendline()で、上記2.に対するアンサーを定義。 つまり、sendline()が人間が端末で入力する処理を代行してくれる、ということらしい。ではやってみる。 $ sudo pip install pexpect 分かりやすい例として、FTPサイトにロ
expvar パッケージは手軽にメトリクスを公開するのに使えて便利なのですが、複数の値を公開するための例があまり公開されてなくて分かりにくかったので書いておきます。 expvar.Map を使う mychat というチャットアプリを作ってると仮定して、送受信メッセージ数と、同時接続数を公開してみます。 /debug/vars を見た時に、次のような形でメトリクスを公開します。 ... mychat: { "conns": 42, "msg_recv": 10480, "msg_sent": 88946 }, ... package metrics import ( "expvar" ) var ( Map = expvar.NewMap("mychat") // expvar.NewXxx() は直接公開するメトリクスを作成する。 Conns = new(expvar.Int) // Ma
はじめに こんにちは植木和樹@上越妙高オフィスです。AWS上でのインフラ構築が終わり、アプリケーションがデプロイされるといよいよサービスローンチ。数日〜数週間様子をみて問題がなければ運用チームに業務を引き継ぐことが多いかと思います。 運用チームへの引き継ぎ資料を作って「あとはよろしくね」となるわけですが、その段階で「待て」がかかってしまうことがあります。(だいたい待てを言うのは私なんですが) 今回はスムーズに運用チームに業務引き継ぎができるように、私が注意しているポイントをまとめておきたいと思います。 3つのポイント 注意するポイントは3つです。 1. Input なにをトリガーに作業が始まるのか。どんな通知がくるのか。 2. Action 何をするのか。 3. Output 作業が終わったら誰に報告するのか。 1つずつ説明していきます。 1. Input 運用チームは基本的に「イベント・
要約 Docker監視はDatadog、New Relicの2強、DIYでやるのは分が悪すぎる モダンブラウザでELB要らずになる??? はてなやpixivの若手は素でDocker運用はじめてるけど、次も使うかは微妙らしい サービス事業者は開発用途に絞ったほうが幸せそう Google Dataflowなるフルマネージド(MapReduce,Spark)++が出る バッチとストリームの分界も含めてフルマネージド 真剣にDocker運用を考える人に、各種監視ツールとサービスを比較 naotaka jay hotta Datadog Dockerのモニタリングについて、真剣に考え始めているハズ 5 year Datadog day event 今日で5年目、NYでパーティーが始まっている 「なぜその技術を使わないといけないのか?」 ビジネス視点で考え続けることが、エンジニアとして重要になってきて
LinuxやUNIXで、コマンドちょっと組み合わせて利用する際、非常に役に立つxargsコマンド。 今回は、このxargsコマンドで覚えておきたい使い方・組み合わせについて紹介する。 1.基本的な使い方 まず、そもそもこのコマンドはどういう使い方をするのか。 基本的には、以下のようにパイプでつなぐことで前のコマンド(コマンド1)で取得した値(標準出力)を利用してxargsで指定した別のコマンド(コマンド2)に引数として渡して実行させる事ができるコマンドだ。 コマンド1 | xargs コマンド2 [root@test-centos7 ~]# find /work -type f /work/test2.txt /work/test.txt /work/aaaaa.txt /work/bbbbb.txt /work/ccccc.txt /work/ddddd.txt /work/sample
社内のQiita:Teamに書いた記事の転載です. Mackerelを事業の中で使っていて気付いた事とかをまとめていますが, 後述の通り, 基本的にMackerelのヘルプに書いてある情報がほとんどです. その辺りはご了承下さい. mackerel-agentと設定ファイル Mackerelは, 監視対象とする各ホストに「mackerel-agent」を設置することで, 各ホストのメトリックの取得と監視を実現しています. このエージェントの設定は, Mackerelのエージェントに関するヘルプにある通り, デフォルトでは/etc/mackerel-agent/mackerel-agent.confを参照します. この辺りの設定のコツというか, Tipsをいくつか紹介します. といっても, ほとんどはヘルプを見れば書いてあることですが... サービス/ロールの初期設定 ホスト上でmacker
AWS上でデータ分析基盤を構築するのに欠かせないサービスのひとつ、Amazon Redshift。弊社ブログでもAmazon Redshiftに関する数々のノウハウが公開されていますが、今回は主にこれからAmazon Redshiftを使ってみようという方向けに、Amazon Redshift クラスターのベーシックな作成手順をご紹介します。 Amazon Redshift "クラスター" とは? 冒頭でさらりとAmazon Redshift クラスターという言葉を使いましたが、Amazon Redshiftの環境を構築する前提知識としてこのクラスターについて簡単に触れておきたいと思います。 Amazon Redshiftの大きな特徴の1つとして、「分散並列データベース」であることが挙げられます。Amazon Redshiftでは複数のノード(コンピューティングリソース)に処理を分配しそれ
レポートを全部書いたので、一番前に持っていくために再掲。 昨日、July Tech Festa 2015に参加してきました。 2015.techfesta.jp まとめはこちら July Tech Festa 2015 #jtf2015 - Togetterまとめ スライドを時系列順に並べてみます。 レポートも更新しました。 実行委員会も「参加レポートを書くまでがJulyTechFesta2015」と言っているしね!*1 10:00〜11:00 ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから(基調講演) レポート nihonbuson.hatenadiary.jp スライド ベンチャーCTO、AWSエバンジェリストを経て考える、クラウド時代に向き合うエンジニア像のこれから from Yasuhiro Horiuchi www.slides
【入門向け】Node.js + Express4 + MongoDB + Vagrant + foreverでChatWorkと連動するCRUDアプリを開発する。(1)(導入編)Node.jsMongoDBVagrantChatworkexpress4 この記事について Node.js + Express4 + MongoDB + Vagrant(開発環境) + foreverを利用して簡単なCRUD(Create, Read, Update, Delete)アプリを開発しました。開発にあたりPHP歴3年の著者が得られた知見をまとめます。 導入編、環境編、開発編の全3回を予定しています。皆様のこれからの開発の一助になれば幸いです。 対象読者 ある程度の開発経験があり、Node.jsを使ったアプリケーション開発に興味がある/これから実装する人。 ノンブロッキングI/Oを知りたい人。 node
自己紹介 モデレータ @deeeet 登壇者 @catatsuy @okkun @y_uuk1 @rrreeeyyy wakateinfra 新卒入社3年以内のインフラエンジニアで集まったコミュニティ 今回のセッションの目標・ゴール 若者は今のインフラ界隈をどう思っているのか 質問について #wakateinfraのツイートを拾います agenda 自己紹介 技術トレンドについて 技術習得について 今後のキャリアについて まとめ 技術トレンドについて Infrastructure as Code JTFで長らく語られてきたテーマ 息を吐くようにコードを書いてきた世代 プロビジョニングツールの良い所、悪いところ コンテナ 事前アンケートより Chefかpuppetを使っている とりあえずAnsibleを触っている Itamaeも触り始めている @rrreeeyyy 構築を担当する人によって違
ここでは、EC2の上でinnodbをチューニングして使うという観点でTIPSをまとめてみた。 RDS便利だから使おうぜってのは今回の話のスコープには含みません。 あと、innodbについて、割りとちゃんと調べてみたのは初めてだったりするので、間違ってる点など見つけたらぜひご指摘くださいませ。 innodb関連 バッファプール ワーキングセットを乗せておくオンメモリのバッファ領域。読み書き共にこの領域を経由して実施される。 参照時はバッファプール上でデータを探して、なければテーブルスペースから取得する。(そのデータはバッファプール上に格納される) 書き込み時はリクエストを受け付けてワーキングセットを更新し、ログの書き込みへ移行する。 設定はinnodb_buffer_pool_size 監視はSHOW ENGINE INNODB STATUSか、mysqladmin extended-sta
GitHubを使っていると、git pushするときなどの書き込みを行う際に、ユーザ名とパスワードの入力を求められます。パスワードを毎回入力するのはよいものの、ユーザ名を毎回入力する必要はないと思ったので、省略する方法を調べたのですが、「httpsではなく、sshを使う」という対策ばかりがひっかかり、httpsのまま省略する方法がぱっと出てこなかったので、httpsのまま、ただ単にユーザ名の入力を省略する方法を紹介します。 目次 1. ユーザ名の入力が面倒2. 「SSHなら名前の入力が不要」という話3. 「HTTPS」が悪い?4. HTTPSのURLにユーザ名を含めればいい5. 解決6. パスワードを省略する7. 背景:SSHよりHTTPSが推奨されているから スポンサーリンク ユーザ名の入力が面倒 git push のような、GitHub上のレポジトリの変更を伴うコマンドを実行する際、も
会社で受託開発していて、gitを使った開発フローを考えることになった。 ニアショアに開発をお願いしていて、ニアショアからの受け入れタイミングが何回かあるから、それにあわせてブランチをわけている。 どういうフローで進めているかと、一番最後にやってみて思ったことを書いた。 どういうフローでやっているか リポジトリの構成 下記モジュールを用意した。 parent core entity common web batch tools ニアショアにて開発するモジュールは『common』、『web』、『batch』で、 アーキにて開発するモジュールは『parent』、『core』、『entity』。 ブランチ ブランチはこんな感じで分けている。 ちなみに、ソース管理はgitBucketを使った。 masterブランチ … リリース可能な状態の資源のみを管理する。結合テスト実施時は、本ブランチから資源を
Elixirのライブラリの解説を週ごとにお届けする記事です。 解説が間違っていた場合には、コメントか@hayabusa333にご連絡くださると嬉しいです。 今週はPoisonについて # Poison is 何? Poisonは高速性に焦点をあてたElixirのJSONライブラリです。 ElixirのJSONライブラリとして高速であるためにネイティヴコンパイル、hand-rolled パーサーやそのほかにも色々と裏で行っているようです。 # 実行環境 OS:OS X Yosemite Erlang:Eshell V6.5, OTP-Version 18 Elixir:v1.0.4 # Poisonの実行を行うための新規プロジェクトの作成 $ mix new my_poison $ cd my_poison# HexにてPoisonをインストールするために設定ファイルの記載を行う $ vim
はじめに ジャンプの掲載順位データを可視化するという素敵な記事がありました。 ジャンプの掲載順位データという大変素敵なHPから、pythonのbeautifulsoupでスクレイプしてデータを可視化する、といった内容でした。 同じことを、Rでやってみます。 作成されたデータはGistにあります。 データの取得 スクレイプはrvestで、文字列処理はstringiでゴリゴリやりましょう。 まずはパッケージの準備。 ## 結果を入れるデータテーブル jump_data = data.table(NULL) ## データがあるのは、1999年から2015年まででした。 for(year in 1999:2015) { ## リンクがまとまっているページのurl link_page = paste("http://hamada.tsukaeru.info/jump/", year, "/jump"
はじめに pandas では 2 次元、表形式のデータ ( DataFrame ) を主な対象としているが、ときには 3 次元以上のデータを扱いたい場合がある。そういった場合 以下のような方法がある。 MultiIndex を使い、2 次元のデータにマッピングする。 3 次元データ構造である Panel、4 次元の Panel4D、もしくは任意の次元のデータ構造 ( PanelND ) をファクトリ関数 で定義して使う。 numpy.ndarray のまま扱う。 自分は MultiIndex を使うことが多いが、データを 2 次元にマップしなければならないため 種類によっては直感的に扱いにくい。Panel や PanelND は DataFrame と比べると開発が活発でなく、特に Panel4D、PanelND は 現時点で Experimental 扱いである。また、今後の扱いをどうす
今回のソリューション:【Found】 〜検索速度を大幅に改善する「Found」の使い方〜 日本最大級のクラウドソーシングサービス「クラウドワークス」を運営する株式会社クラウドワークス。同社ではクラウドソーシングサービスの肝である検索機能を強化するため、Elasticsearchのホスティングサービス「Found」を導入し、検索速度を10倍に向上することに成功した。 ユーザー体験を最上位に考える文化が根づく同社では、検索機能の強化という課題に対しても、ツールの選定からインフラの構築方法までの全てにおいてユーザー目線を大切にしながら取り組んでいる。同社でエンジニアを務め、Foundの導入を進めた九岡 佑介さんに詳しいお話を伺った。 目標はソフトウェア界の人間国宝! 私のキャリアの中で、クラウドワークスは4社目の会社です。新卒で社内SEのような仕事をした後にソーシャルゲームの開発をする会社に転職
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く