-
FluentdとObjectRocketで実現するハイブリッドクラウドのログ集約
本記事は Hart Hoover と Ryan Walker による共著です。New RelicアラートをRackspaceサポートへ連携するサービスRackspace の DevOps Automation チームは最近、New Relic から発せられたアラートを Rackspace サポートに通知する新しいサービスを発表しました。このサービスでは、アラートが発生すると自動的にチケットが作成され、DevOps エンジニアが対応します。たとえ深夜3時にアラートが発生しても、お客様は安心して眠ることができるのです。さらに、お客様の環境から収集した他のデータポイントと組み合わせることで、エンジニ
-
Redisを正しく使いこなすための10の実践テクニック
Redisは現在、技術コミュニティで非常に高い注目を集めています。Salvatore Sanfilippo(Antirez)氏の個人的な小さなプロジェクトとして始まったRedisは、今やインメモリデータストレージの業界標準へと成長しました。普及に伴い、Redisを適切に運用するためのベストプラクティスも確立されつつあります。本記事では、Redisを正しく活用するための10のヒントをわかりやすく解説します。 1. KEYS * の使用をやめる 冒頭から強い口調で申し訳ありませんが、これはおそらく最も重要なポイントです。Redisインスタンスのcommandstatsを確認すると、KEYSコマン
-
Redisのハッシュ徹底解説!基本コマンドから実践的な活用例まで
Redisのハッシュ(Hash)は、1つのキーの下に複数の「フィールドと値」のペアを関連付けて格納できるデータ構造です。フィールドも値も文字列として扱われ、データ構造全体だけでなく、構造内の個々のフィールド単位でも柔軟に変更できるのが大きな特徴です。この特性により、アプリケーション内のオブジェクトを保存するバックエンドストアとして、非常に高速かつ理想的な選択肢となります。CLIで学ぶハッシュの基本操作まずは、2つのフィールドを持つハッシュを作成してみましょう。127.0.0.1:6379> HMSET my_hash key1 foo key2 bar OKハッシュに関連付けられたすべて
-
Redis CLIで使える便利なコマンド10選
Redisのコマンドラインインターフェース(redis-cli)は、非常にシンプルで直感的に設計されています。しかし、そのシンプルさの裏には、意外と知られていない便利な機能が数多く隠れています。この記事では、基本的な接続方法から始めて、redis-cliが持つ主要な機能やオプションを順番に見ていきましょう。Redisサーバーへの接続と認証まずは、Redisサーバーへの基本的な接続方法です。ホスト名・ポート番号・パスワードを指定して接続します。cweid@strange:~$ redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword 127.
-
Redisパフォーマンス測定入門:レイテンシ分析の基本と実践ツール
前回の記事では、Redisインスタンスが遅くなるのを防ぐためのトピックやアプローチについて解説しました。今回はいよいよ、パフォーマンスを測定するための方法を見ていきましょう。何を測定すべきか今回取り上げるのは、コマンドのレイテンシ(遅延)とその構成要素です。なぜなら、Redisサーバーやライブラリを通じて処理できるコマンド数は、個々のコマンドの速度に依存するからです。1コマンドあたりの所要時間が分かれば、スループットの上限もおのずと見えてきます。手軽に試せるCLIでの計測コマンドのレイテンシを確認する最初の方法は、コマンドラインクライアントredis-cliを使うことです。手軽に実行でき、すぐ
-
Redis Sentinel入門:自動フェイルオーバーで高可用性(HA)を実現する方法
Redis Sentinelは、Redisにシンプルかつ自動的な高可用性(HA)ソリューションを提供するコンポーネントです。MongoDBのレプリカセットにおける選挙(election)の仕組みに馴染みがある方なら、その概念はそれほど難しくありません。基本構成としては、1台のマスターが複数台(N台)のスレーブへレプリケーションを行い、そこにSentinelデーモンを配置します。Sentinelはアプリケーションサーバー上、またはRedisが稼働しているサーバー上で起動でき、常時マスターの健全性を監視します。あるSentinelがマスターの無応答を検出すると、他のSentinelへ向けてSDOW
-
DBAとデータアーキテクトの進化:データ革命時代に求められる新スキルセット
企業の顧客、従業員、パートナーが使いやすいシステムを通じてデータにスムーズにアクセスできるとき、その陰には2人のプロフェッショナルの存在があります。それがデータベース管理者(DBA)とデータアーキテクトです。数千人、さらには数百万人規模のユーザーに対して、堅牢に構築されたデータベースを安定かつ安全に稼働させ続けることは重大な責任であり、あらゆる業界の企業が、利用者のニーズに応えるデータネットワークの設計と監視をこの2つの役割に依存しています。ビジネス界におけるデータ需要が急増するにつれ、最新のデータベース技術に対応するために必要なスキルも拡大し続けています。以下のインフォグラフィックでは、これ
-
ObjectRocketのElasticsearchでKibana 4をDockerコンテナで稼働させる方法
数百万件(あるいは数十億件!)にも及ぶElasticsearchのドキュメントを、見栄えの良いチャート・グラフ・テーブルに変換したいとお考えなら、答えはKibanaです。KibanaはElastic社が提供するプロダクトであり、Elasticsearchと密接に連携し、膨大なデータを直感的に分析するための使いやすいインターフェースを提供します。現在、ObjectRocketのすべてのElasticsearchインスタンスにはKibana 3がプリロードされており、各HTTPエンドポイントの「/_plugin/kibana」からアクセスできます。しかし、Kibana 4には多くの改善点や新機能が
-
HA Redisデプロイメントで信頼性の高いPUBSUBとブロッキングリスト操作を実現する方法
標準的な冗長化Redisソリューションは、マスター/スレーブレプリケーションを構成し、Sentinelがフェイルオーバーを管理する形が一般的です。この構成では、次のいずれかの方式が後続の処理として採用されます。a) クライアントがSentinelを利用して現在のマスターを検出して接続する方式、または b) Sentinelによって管理され、マスターを指し示すTCPプロキシをRedisポッドの前面に配置する方式です。前者はRedis Sentinel本来の設計思想に基づくものであり、後者は近年増えているトレンドであり、ObjectRocketのRedisもこのプロキシ方式で構成されています。フェ
-
FilebeatとElasticsearch Ingest PipelineによるCSVファイル解析の実践ガイド
Elasticsearch 5の最も注目すべき新機能のひとつがingest nodeです。この機能により、Logstashスタイルの処理をElasticsearchクラスター内で実現でき、別途サービスやインフラを用意することなく、データをインデックス化する前に変換処理を行えます。以前、LogstashでCSVファイルを解析する方法についての記事を公開しましたが、本記事では比較のため、そのingest pipeline版をご紹介します。ここでは、Filebeatを使ってデータをingest pipelineへ送信し、インデックス化したうえで、Kibanaで可視化するまでの一連の手順を解説します。
-
Filebeatモジュールを使った簡単なログ分析の始め方
Elastic{on} 17以降、Elastic Stackに追加される新機能の中でも特に注目されているのが、Filebeatの「モジュール」という新しい概念です。従来、Filebeatでデータ収集を始めるには、Filebeat自体の設定、Elasticsearch用マッピングテンプレートの作成、Ingest PipelineやLogstashインスタンスの構築・テスト、さらにKibanaでの可視化ダッシュボード作成など、多くの手順が必要でした。Beatsチームは、この面倒なセットアッププロセスをモジュールの仕組みによって大幅に簡素化しました。Filebeatモジュールは、こうした一連の設定作
-
ObjectRocketデータベースへの接続方法:ネイティブ接続とSSL接続の解説
ObjectRocketデータベースサービスへの接続と操作には、いくつかの簡単な方法があります。まず最初に行うのは、「Create Instance(インスタンス作成)」ボタンを使ってインスタンスを作成することです。インスタンスを作成すると、接続文字列が自動的にプロビジョニングされます。接続方法は以下の3種類から選択できます。ネイティブMongoDBドライバー(平文接続)ネイティブMongoDBドライバー(SSL暗号化接続)ObjectRocket API(SSL暗号化接続)接続前に知っておくべきこと具体的な接続手順に入る前に、ObjectRocketサービスの基本的な仕組みについて説明してお
-
MongoDBのゼロデイ脆弱性CVE-2013-1892に対応、ObjectRocketがセキュリティパッチを展開
セキュリティ企業SCRTの調査チームにより、MongoDBにおけるゼロデイ脆弱性(CVE-2013-1892)が発見されました。この問題を受け、MongoDBの開発元である10genは脆弱性を修正するパッチを公開しました。ObjectRocketでは、このパッチを自社提供版のMongoDBに統合し、顧客環境への展開を開始しています。今後新しく構築されるすべてのインスタンスおよびシャードには、標準でこのパッチが組み込まれる予定です。ObjectRocketはセキュリティ対策を最優先事項の一つとして位置づけています。すべてのインスタンスにおいて、MongoDBネイティブのセキュリティ機能に加えてA
-
ACLSyncで実現するアクセス制御リスト(ACL)管理の自動化
アクセス制御リスト(ACL)の管理が、これまでよりはるかに簡単になりました。ObjectRocketでは、セキュア・バイ・デフォルトのアプローチの一環として、すべてのインスタンスに対するネットワークアクセス制御リスト(ACL)エントリの登録を必須としています。ObjectRocketのACLはWeb UIとAPIのどちらからでも管理できますが、大規模かつ動的なアプリケーション環境をお持ちのお客様からは、より手軽にACLを運用できる方法のご要望をいただいておりました。本日、そのご要望にお応えする新機能「ACLSync」を発表いたします。ACLSyncは、お客様の環境のIPアドレスとObjectR
-
ObjectRocketインスタンスでJSONStudioを使用する方法
JSONStudioとObjectRocketは、Javaの世界における理想的な組み合わせです。MySQLを扱ったことがある方なら、PHPMyAdminやMySQL Workbenchといったツールを使ってデータベースに接続し、アドホックなクエリを実行したりレポートを作成したりした経験があるでしょう。これらのツールは長い歴史を持ち、日々のデータベース操作に欠かせない存在へと進化してきました。MongoDBにも同様のツールをお探しなら、jSonar社が提供する「JSONStudio」をぜひチェックしてみてください。JSONStudioはWebベースのフロントエンドで、あらゆるMongoDB環境と
-
RobomongoでObjectRocketのMongoDBインスタンスを可視化・管理する方法
MongoDB Inc.はバージョン2.6のリリースで数多くの優れたエンタープライズ向け機能を導入しましたが、データベースを管理するためのデスクトップアプリケーションだけは依然として提供されていませんでした。そこで登場するのが、クロスプラットフォーム対応のオープンソースMongoDB管理ツール「Robomongo」です。本記事では、RobomongoをObjectRocketのMongoDBインスタンスと統合する手順をわかりやすく解説します。事前準備:必要な情報を控えておくまず、ObjectRocketのコントロールパネルから以下の情報をメモしておきましょう。データベース接続文字列(SSL接続
-
MongoDBの実験的なプラガブルストレージエンジンをRocksDBで試してみた
先月開催されたMongoDB Worldにおいて、MongoDBの創業者でありCTOであるEliot Horowitz氏が、バージョン2.8リリースに向けて「プラガブルストレージエンジン」への対応を発表しました。これは非常に注目すべきニュースです。ユーザーは自身のワークロードに最適なストレージエンジンを選択できるようになり、そのAPIはMongoDBの全機能を完全にサポートする計画であるため、現在享受している機能を犠牲にすることなく利用できるからです。さらに興味深いのは、同じレプリカセット内のノードそれぞれが異なるストレージエンジンを使用できるという点です。これにより、用途に応じた多彩な構成が
-
MongoDBの無駄なスペースを削減する戦略:フィールド名の短縮とネームストアによるトークン化
Appboyは、モバイルアプリ向けの世界有数のマーケティングオートメーションプラットフォームです。当社では毎月数十億規模のデータポイントを収集しており、顧客のモバイルアプリ上でのユーザーの行動を追跡し、その行動や属性情報に基づいて、メール、プッシュ通知、アプリ内メッセージによるターゲティングを可能にしています。データベース基盤の大部分はMongoDBが支えており、ObjectRocket上で複数のクラスタにまたがる数十のシャードを運用しています。短いフィールド名による基本戦略MongoDBにおける一般的なパフォーマンス最適化手法の一つが、ドキュメント内で短いフィールド名を使うことです。つまり、
-
MongoDBのディスク使用量を理解する――領域割り当ての仕組みと最適化の判断基準
はじめにMongoDBを使い始めたばかりの方にとって、そのディスク(スペース)使用量は一見すると分かりにくいものです。本記事では、MongoDBがどのようにディスク領域を割り当てるのか、そしてObjectRocketダッシュボードに表示される使用量情報をどう読み解けばよいのかを解説します。これにより、インスタンスのコンパクション(最適化)が必要なタイミングや、シャードを追加して利用可能領域を拡張すべきタイミングを適切に判断できるようになります。検証環境:5GBシングルシャードのMediumインスタンスまず、5GBのシャード1つで構成された真っさらなMediumインスタンスを用意します。このイン
-
Redis入門:インストールから基本コマンドと5つのデータ構造まで徹底解説
Redisとは?高速かつ柔?高速かつ柔軟なデータ構造サーバーRedisはその高速性と柔軟性により、開発者にとって非常に強力なツールであり、多彩な用途に活用できます。しばしば「キーバリューストア」と呼ばれますが、実際には「データ構造サーバー」と表現する方が正確です。というのも、Redisは以下の5種類のデータ構造をサポートしているからです。文字列(Strings)ハッシュ(Hashes)リスト(Lists)セット(Sets)ソート済みセット(Sorted Sets)各データ構造には共通のコマンドが用意されているほか、特定のデータ構造専用のコマンドも存在します。本記事では、Redisの基本的な使い