八雲文庫ブログ

組版できる新感覚の小説・画像投稿サイト「八雲文庫」の運営日誌です。

プレゼンテーション共有サービス『Speaker Deck』の使い方

Scalaで作ったWebサービス 電子書籍型投稿小説サイト「八雲文庫」

情報共有会にて個人開発したWebサービスについて発表する機会がありましたので、技術者向けに簡単な紹介スライドを作成しました。今回は会でも使用したプレゼンテーションを共有するサービス『Speaker Deck』の使い方についてご説明します。

Speaker Deckとは

speakerdeck.com

Speaker DeckはPDFをアップロードするだけで簡単にWeb上でスライドを共有できるサービスです。運営会社はソフトウェア開発プロジェクト共有サービスの最大手であるGithubです。海外のサービスですので全て英語ですが、機能自体は非常にシンプルですので画面操作についてはほぼ迷うことはないのではないかと思います。類似サービスのSlideshareとは違いスライドの再アップロードが可能ですが、テキスト情報にアクセスすることはできません(過去にアクセシビリティに関する記事を投稿しておいてなんですが)

Speaker Deckにログインする

右上の「Sign Up」からアカウントを作成しましょう。Githubのアカウントを持っていればすぐにログインすることができます。

f:id:yakumobooks:20180422055050p:plain

f:id:yakumobooks:20180422055059p:plain

スライドをアップロードする

タイトルバー右上の「Upload」からアップロード画面に移動します。

f:id:yakumobooks:20180422055107p:plain

「Select a PDF to Upload」ボタンを押してファイル選択ダイアログからアップロードしたいPDFを選びましょう。ドラッグアンドドロップでもアップロードすることができます。私はスライドはPowerPointで作成し、保存するときに「PDF または XPS」を選択してPDFとして出力したものをアップロードしました。

f:id:yakumobooks:20180422055113p:plain

タイトルを決める

タイトル(Name)と概要(Description)を決めて保存しましょう。「Publish this deck」にチェックを入れなければ公開はされません。

f:id:yakumobooks:20180422055118p:plain

タイトル名がそのままURLになりますので日本語タイトルの場合はローマ字に変換されます。URLにこだわりがある場合は以下のようにスラッシュの後ろにURLにしたい文字列を指定しましょう。

サンプル

https ://speakerdeck.com/yakumobooks/sanpuru

サンプル / Sample

https ://speakerdeck.com/yakumobooks/sample

スライドを共有する

投稿したスライドを共有しましょう。右側の「Share」からTwitterFacebookへの投稿や、ブログなどへの埋め込み用のタグを取得できます。確認が終わったら「Edit this presentation」から「非公開」の状態を「公開」に変更することができます。

f:id:yakumobooks:20180422055123p:plain

スライドを管理する

アカウント名のプルダウンにある「My Decks」で投稿したスライドの一覧を表示できます。「Publish this deck」にチェックを入れなかったものは「非公開(PRIVATE)」として扱われます。

f:id:yakumobooks:20180422055126p:plain

「PRIVATE」のものはURLを入力しても見ることはできません。

f:id:yakumobooks:20180422055939p:plain


いかがでしたでしょうか。PDFをアップロードするだけ、という非常にシンプルなサービスですのでわざわざ使い方を説明するまでもないかもしれませんが、他のサービスと比較されたい方もいらっしゃるかと思いましたので記事にさせていただきました。宣伝となりますが、私が開発しましたブラウザで読める電子書籍型ビュワーを提供している八雲文庫でも現在PDF取り込み機能を鋭意実装中です。管理人のモチベーション維持のためにも是非アカウントの登録をお願いします。

本が身近に感じられるウェブサービス“八雲文庫”が目指すモノとは

f:id:yakumobooks:20180328004613j:plain

今まで八雲文庫でできることについてばかり触れてきましたので、本投稿ではサイトを公開した経緯や解決しようとしている課題について自分自身の整理も兼ねて纏めていきたいと思います。管理人がこれから目指していく目標に少しでも共感やご賛同頂ける点があれば是非サイトのご利用をご検討ください。

何故作ろうと思ったのか

まずは以前にも書きましたが技術者としてHTMLで紙の本っぽさをどこまで再現できるか挑戦してみたかった、というのがあります。エンジニアとしてある程度の経験も積みそろそろ自分だけのプロダクトを作りたい気持ちが大きくなっていたので、何か形として見せられるモノを作ってみようというのが最初の動機です。そのため広く使われるサービスを作ろうという想いはどちらかというと希薄でした(ので今とても苦労しています)。

そんな中で何か良い題材はないかと考えていた時に、スマートフォンゲームがとてつもない勢いで普及し始め周りで本を読む人が減ったことに気がつき、イチ読書好きとして危機感を覚えたことがサービス構築の1つのきっかけとなりました。あくまで主観なのですが、スマートフォンが普及する前と後では電車の中で本を読む人は激減したように思います。スマートフォンゲームと同じくらい手軽に書籍が読めればもっと本を読んでくれるだろうか、投稿サイトのような感覚で書籍を読んだり作ったりできれば面白い作品が読み放題で自分も嬉しいな、という発想からそれを実現できるサービス構築を目指しました。

また、当時は電子書籍が少しずつ広まり世間が賑わっていた頃でしたが不満の声も散見しており、電子書籍を独自にブラウザ上にレンダリング*1しようと考えていた自分の手法なら色々と解決できるのでは?とニーズの予感もあり実際の開発に至りました。

【当時の不満の声】

  1. 閲覧に専用の端末が必要
  2. 複数書籍を同時に開けない
  3. カラー表示できない
  4. 動作が重い(これは当サイトも微妙...)
  5. 背表紙で並べられない
  6. 内表紙(袖表紙)がない
  7. フォーマットが統一されていない etc.

目指したのは今までにない電子書籍プラットフォーム

f:id:yakumobooks:20180327232009p:plain
八雲文庫の目指すサービスイメージ①

八雲文庫は「フォーマット」ではなく「プラットフォーム」です。テキストを貼り付けるだけでブラウザで読める電子書籍として作品を公開できる、というのは現在の機能なのですが、今後の構想として様々なフォーマット間の橋渡しをする「フォーマット変換ツール」としての役割を果たせればと考えています。ここでいう「フォーマット」とは電子書籍フォーマットだけではなく、他サイトで定められている記法やマークダウン、さらには画像やPDFも含みます。様々な解析を用いて当サイトが内部的にもつ中間フォーマットに変換することでフォーマット間の相互変換を可能にしたいと考えています。また、図には描いていませんがフォーマット変換の最終目標は現実の「紙の本」への変換であると思っているので当サイトでは固定レイアウトにこだわっています。八雲文庫のビューワーはフォーマット変換をかける前の広い意味での「プレビューワー」であり、作品の「評価版(プレビュー版)」の公開場所としてお使い頂ければと思っています。

目的ではなく手段としての電子書籍

「最終目標が紙の本」と聞くと時代の流れと逆行しているように思われるかもしれません。電子書籍は読むにしても作るにしてもその手軽さが大きなメリットでありその利便性を否定するつもりは全くありません。が、実は管理人は電子書籍端末は所持しておらず、本はもっぱら紙で読む派なのです。唯一持っている電子書籍は技術書を買ったらついてきたPDFくらいです。人並みに読書は好きですが愛書家というほど蒐集している訳でもないので今のところ本棚から本は溢れていませんし、私は集中力がそれほどある方ではないので1つの媒体で色んな本が読めてしまうと1冊に集中できなさそうなので紙の本で読んでいます。ただ、紙にしろ電子にしろ、書籍の閲覧・作成のハードルを少しでも下げることが世にいう「活字離れ」に歯止めをかけることに繋がるのではないかと個人的に考えています。また、紙の本を電子の本にしようとする技術進化流れの中で、電子の本を紙にしたいと思う技術者が1人くらいいても良いのではと思っています。

無意識に広がる本との距離を繋ぎ留めたい

f:id:yakumobooks:20180312232421p:plain
八雲文庫の目指すサービスイメージ②

私は出版業界の人間ではないので本に関する知見もほとんどなく偉そうなことは何も言えません。ですがやはり小さな頃から親しんでいる本に対しては特別な思い入れがあり、現状の出版不況については思うところがあります。溢れかえる膨大な情報と技術の進化、メディア環境の変遷に伴って私たちの可処分時間は細分化され、私自身もついスマートフォンに時間を使いがちになってしまっています。それでもたまに本を買って読み、物語を楽しんだり知識を吸収することで充実感を得ており人間的な成長にも繋がっていると日々感じています。

サービスの構築を通して文字組を学び、本とは何かについて真剣に向き合ったことでその素晴らしさを再認識し、気がつくと離れつつあった自分と本との距離も再び縮まったような気がします。サイトを訪問してくださった方にも本が本来もつ豊かな表現力を少しでも体感して頂いて「やっぱり本って良いよね」という気持ちを伝えられればと思い、現在も細々と運営を続けています。

*1:文字を日本語組版に則って配置することを便宜上「レンダリング」と表現していますが適した用語ではないかも

個人でチラシを作るには?4つの方法と実際に作成したチラシを公開!

f:id:yakumobooks:20180329024519j:plain

3/29 画像を更新しました。 裏面もありますのでとりあえず最後までお読み頂けると幸いです。

運営しているサイトの宣伝のために始めたSNSでの活動とブログの開設が一段落し、さて次は何をしようかと考えあぐねていたところ知人から「チラシでも作ってみたら?」というアドバイスを頂いたのでこの度チラシを作ってみることにしました。

個人でできる宣伝活動は他にも色々あるかと思いますが、『紙1枚に収まるように伝えたいことをドキュメントに纏める』という手法はビジネスの現場でもよく実践しますし、自分のプロダクトのターゲットは誰でユーザーにどのようなメリットをもらたすのかを自分自身が一度きちんと整理すべきだと思っていたのでその点でもチラシ作りが最適だと考えました。

私はデザインもマーケティングも素人同然ですのでご覧の方の参考になるかは分かりませんが、今後もこのブログでは「宣伝したいものはあるけど何をして良いか分からない」という人と同じ目線で調べたことや実践したことを共有させて頂ければと思います。今回はチラシを作るために考えられる選択と、実際に作成したチラシを公開します。

1.無料のテンプレートを使う

raksul.com

印刷通販の大手ラクスルではチラシを作成するための無料のテンプレートを公開しています。ラクスルでは印刷に加えてポスティング新聞折り込みも手配できますので作ったチラシをすぐに配布することができます。新聞は新聞社によってターゲットの年齢/年収をある程度絞れるのでネットよりもより限定した層への訴求が期待できそうです。ただ、新聞は年々購買率が下がっているようなので配布したい地域が既に決まっている場合は早めに始めた方が良いかもしれません。

2.プロに任せる

www.tokion.bz

「下手の考え休むに似たり」とも言いますしお金があるなら無理に素人があれこれ考えるよりもプロにお願いした方が良いでしょう。株式会社トキオンでは追加料金なしでデザインから印刷までのフルパッケージのチラシ作成サービスを提供しています。会社概要の主要取引先を見ますと電通博報堂といった大手広告代理店も利用しているようです。ラクスルと組み合わせてもチラシの作成から配布まで最安で3~4万円で収まるのではないでしょうか。デザインを依頼する相手が必ずしもプロでなくても良いのであればクラウドソーシングでコンペを発注すると安上がりで多くのデザイン案を入手できるかもしれません。

crowdworks.jp

3.モバイルアプリで作る

asobo-design.com

デザインツールの使い方がわからない方やそもそもデザインするためのデスクトップPCをお持ちでない方でも手軽にお手持ちのモバイル端末でチラシが作れます。基本的にテンプレートを選んでテキストを貼り付けていく形式なのでどのアプリでも直感的に作成できそうですが、細部にこだわった図形操作はできないようなのでそれでも良い場合は利用を検討してみてはいかがでしょうか?リンク先ではiOSアプリのみ紹介されていますがAndroidアプリも増えてきているようです。

4.自分で作る

saruwakakun.com

お金をかけられないがちょっと凝ったものを作りたい私は上記サイトを参考にしつつ自分で作成しました。PhotoshopIllustratorは使ったことがないのですがフリーの画像編集ソフト「Gimpで遊んでいたことがあるのでその知識を活用しました。実は八雲文庫内の画像やアイコンのいくつかもGimpで手作りしています。

GIMP - GNU Image Manipulation Program

リンク先のヘッダー内「DOWNLOAD」から各OS別のインストール用実行ファイルを入手できます。アプリ自体は英語ですが、ダウンロードページを下の方にスクロールすると日本語化パッチもありますので併せてダウンロードしましょう。そしてGimpで作ったチラシの表面が当記事最初の画像で、裏面がこちらです。

f:id:yakumobooks:20180329024523j:plain

プログラミングとは違いデザインには正解がなくあれやこれやと修正を重ねるうちに予想以上に時間がかかってしまいました。デザインのプロの方から見ると突っ込みどころ満載かもしれませんが、個人的には学校祭のポスター作り気分を楽しめましたしそこそこ満足しています(個人の満足感ではなく見る人に伝わるか否かが重要なのですが。。)

Twitterのトップ画像もチラシを元に作り直したのでご興味のある方は御覧ください。トップ画像に最適な 1500ピクセル x 500ピクセル に合うように文字サイズを変更したり組み替えたりしています。ブラウザによって表示がずれるのでトライ&エラーで何度か確認する必要がありました。

twitter.com

チラシというとアナログなイメージがありますがこうしてブログに掲載するだけで電子チラシとしての役目も果たしますし、自分が他の人にプロダクトの説明するときにとりあえず紙を渡すだけで良いのでツールとしての汎用性は非常に高いと思います。リリースを控えた個人開発者の方でまだチラシを作っていない方はチラシ作りを検討してみてはどうでしょうか。

f:id:yakumobooks:20180329024527j:plain

私はこれまで長いことぼっちエンジニアを貫いてきましたが、今回のチラシ作りを機に今年はネット上の活動と併せて現実でも色々と動いていこうと思います。あと、本当に今更ですがマーケティングの勉強として以下の書籍を読んでいます。

honto.jp

Web Speech APIで実現するオーディオブックとウェブアクセシビリティ

f:id:yakumobooks:20180129233248j:plain

新機能紹介

ということで、八雲文庫ではこのたび公開した書籍をオーディオブックとしてもご利用頂けるようになりました。既存の投稿作品にも自動的に音声読み上げ機能がつきますので更新等の必要はありません。手前味噌ではありますが、八雲文庫のビュワーはインストールして使用するアプリケーションと違い進化し続けるブラウザの革新的な機能を積極的に取り入れることができるのが強みだと思っています。ご自身の作品をオーディオブックにしてみたいという方は是非八雲文庫にご投稿ください。

f:id:yakumobooks:20180129235603p:plain

朗読を聴きながら書籍のページ送りも可能ですので目と耳の両方で作品を楽しむこともできます。

f:id:yakumobooks:20180129235609p:plain

私は今までオーディオブックというものを使ったことがなかったのでその良さを知らなかったのですが、いざ自分で使ってみると心地よいリズムで頭の中の音読を進められ、より快適な読書体験を味わえることが分かりました。オーディオブックに馴染みのない方も是非一度お試し頂ければと思います。

yakumobooks.com

Web Speech APIの使い方

さて、タイトルにもありますが、ブラウザでの音声読み上げにはWeb Speech APIの内の1つであるSpeechSynthesis(音声合成)を使用しています。SpeechSynthesisを使用するとJavascriptだけでテキストの音声読み上げを実現することができます。メジャーなモダンブラウザであれば使用できますし、その使用方法も驚くほど簡単です。

developer.mozilla.org

音声読み上げ機能の追加に伴い、八雲文庫では作品の音声用テキストを取得できるAPIをご用意しました。通常のHTMLテキストだとルビと本文が重複して読まれてしまいますので、音声用テキストではルビのみを返すようにしています。また、Cookieやブラウザストレージと連携して読み進めた位置を保持することを想定しテキストを行単位で分割して返しています。以下のHTMLをローカルで実行して頂ければ八雲文庫APIを利用した読み上げ機能をすぐに体験することができます。(APIのエンドポイントは"public/v1/books/audio/<書籍番号>"となります。書籍番号は各書籍URLのリクエストパラメーター"?b=<書籍番号>"を使用するとお好みの書籍を取得できます。)

ご利用に関する免責事項:八雲文庫における読み上げ機能及びAPIは現在試験的な機能ですので予告なく仕様の変更、公開停止する場合がありますのでご了承ください。

ウェブアクセシビリティについて考える

オーディオブックのメリットには「ながら読み」というのもあるとは思いますが、もう一つのメリットは視力が衰えてしまった高齢者や視覚に障がいのある方でもコンテンツを楽しめるということがあるかと思います。今回追加した「読み上げ機能」を含めサイト全体はまだ視覚障がい者の方に向けた作りとはなってはいませんが、これから八雲文庫は少しずつ老若男女が楽しめるバリアフリー電子図書館となるべくサイトの構成を見直していきたいと思っています。その一歩として、「ウェブアクセシビリティ」に関する学習も進める必要があります。

そもそもウェブアクセシビリティとは?という方のために以下のリンク先の一文を引用させて頂きます。

ウェブアクセシビリティとは:みんなのウェブ

高齢者や障害者など心身の機能に制約のある人でも、年齢的・身体的条件に関わらず、ウェブで提供されている情報にアクセスし利用できること」

ウェブアクセシビリティの公的な規格としてはW3Cの勧告である『Web Content Accessibility Guidelines 2.0 (WCAG2.0)』とJIS規格である『JIS X 8341-3:2016』があります。WCAG2.0は2012年に『ISO/IEC 40500:2012』としてISO標準となりました。どちらもレベルA、レベルAA、レベルAAAという3つのレベルの達成基準が定められており、技術に依存しない記述内容となっています。

ウェブアクセシビリティの土台には「知覚可能」、「操作可能」、「理解可能」、及び「堅ろう(牢)(robust)」の4つの原則があり、各原則の下に12のガイドラインが存在します。ガイドラインの下には61の達成基準がありそれぞれに先の3つのレベルが割り当てられています。

サイト運営者はいつまでにどのレベルを目指すかやその対象範囲をウェブアクセシビリティ方針として標榜する、ということがウェブアクセシビリティに対応したサイト作りの第一歩のようです。

ウェブアクセシビリティ方針策定ガイドライン

ウェブアクセシビリティをテストするためにブラウザ上のテキストを音声で読み上げる方法は、一般的にはスクリーンリーダーというソフトウェアを用います。有料のソフトウェアの購入は難しいので今回はオープンソースのスクリーンリーダーを試してみました。

www.nvda.jp

自サイトに対し使用してみた結果は、当然ではありますがスクリーンリーダー使用者にはサイトの内容はほとんど伝わらないということでした。特にクリックやタップを前提とした作りが多いページではキーボード操作しか選択肢のない閲覧者にとってはコンテンツの挙動を把握することができません。また、OSやブラウザとの相性が悪いのかしばらく使用しているとスクリーンリーダーが落ちてしまう現象も頻繁に発生しました。そういった点を踏まえ、八雲文庫ではまずは達成基準の「キーボード操作」を満たせるようHTMLを見直し、適宜Web Speech APIによる音声ナビゲーションもできるようにすることを目指していきたいと思います。参考としてですが、内閣府ホームページのウェブアクセシビリティ達成基準チェック結果は以下のリンク先で見ることができます。

ウェブアクセシビリティ検証結果 - 内閣府

八雲文庫のリリースから2ヵ月、まだまだサイトの良さをユーザーに伝えきれていませんし、そもそもサイト自体がユーザーの欲求を満たせるレベルには至っていないのかもしれません。元々自身の技術力の向上のために始めたサイト運営ではありますが、1人でも多くの方に文芸作品の素晴らしさを伝えられるよう、日々サイトの品質を向上させ今後のマーケティングにも活かしていきたいと思います。

5つ星評価はもう古い?各種サービスの評価機能について調べました

f:id:yakumobooks:20180116232849j:plain

通知表から街中のアンケート、社会人になってからの人事考課に至るまで評価というとよく目にするのが5段階評価です。インターネットの世界も同様に映画やホテル、グルメ等の口コミレビューサイトやモバイルアプリ等のコンテンツプラットフォームも星による5段階の評価を採用しているところが多くあります。もちろん一口に5段階といっても「良い|悪い」などの言葉で表す場合や「☆」で表す場合などそれぞれ違いがありますので十把一絡げにはできません。

小説・画像投稿サイトである八雲文庫にはまだ作品を評価する機能(所謂レーティング機能)がありません。そもそも投稿ユーザーが集まっていないので今のところ必要ない、というのも(悲しいですが)理由としてあるのですがサイトを企画した当初から普段よく目にする評価機能に漠然とした不信感があり正解が見い出せなかったため実装を見送った経緯があります。そこで今回は自身のサイトの参考とするために他サービスの評価機能の現状について調べてみました。

Amazon

「星による5段階評価」

【関連記事】

www.dhbr.net

Youtube

「高評価|低評価」(「星による5段階評価」から変更)

【関連記事】

jp.techcrunch.com

App Store & Google Play

「星による5段階評価」

【関連記事】

news.livedoor.com

Netflix

「高評価|低評価」(「星による5段階評価」から変更)

【関連記事】

www.lifehacker.jp www.gizmodo.jp

Airebnb

「星による5段階評価(清潔さ、立地といったカテゴリ毎)」

【関連記事】

星評価の仕組みは? | Airbnbヘルプセンター jp.techcrunch.com

Uber

「星による5段階評価(双方向評価)」

【関連記事】

www.lifehacker.jp thebridge.jp

https://www.uber.com/ja-JP/newsroom/ratingsupdate/

食べログ & ぐるなび

「星による5段階評価」

【関連記事】

www.news-postseven.com 応援!おすすめメニューランキングとは?- 応援!おすすめメニューランキング|ぐるなび

価格.com

「星による5段階評価(製品毎に異なる評価項目毎)」

【関連記事】

kakaku.com

メルカリ

「星による5段階評価」(「良い|普通|悪い」から変更)

【関連記事】

www.mercari-shiraco.com

Pixiv

「いいね!」(「10段階評価機能」から変更)

【関連記事】

togetter.com

カクヨム

「星による3段階評価(Good!|VeryGood!!|Excellent!!!)」

【関連記事】

https://kakuyomu.jp/works/1177354054881351447/episodes/1177354054882844881

調査結果

5つ星評価をやめるサービスもあるようですが全体としては5つ星評価はまだまだ主流のようです。ただ、任意の評価項目に星をつけるタイプがあるのに対し完全に星のみに抽象化してしまうタイプがあったり、1つ星が不快を表すタイプに対しGoodを表すタイプがあるなど、サービスによって星1つの意味をとっても違いがあります。

Amazonの関連記事に記載したリンク先がとても興味深かったので引用させて頂きます。

極端な意見を持つ消費者ほど、レビューを投稿する傾向が強い。「自慢と愚痴」バイアスといわれる現象である。結果として、評価分布はしばしばJ字型になる(英語論文)。大半が5つ星、一部が1つ星となり、その中間の評価がほとんどないという傾向だ。また、肯定的な評価が並ぶと、後により多く肯定的な評価を誘発することも示されている(英語論文)。 http://www.dhbr.net/articles/-/4474

評価機能は1つ間違えるとコンテンツやユーザーに低評価のレッテルを貼ったり逆に評価の吊り上げに利用できてしまいます。お店や投稿作品に低評価がついてしまった場合は改善して評価を挽回することも中々難しく、先の引用のように肯定的な評価が多い場合は全てが操作されていないにも関わらず特定のものばかりに評価が集中してしまう恐れもあります。少なくともレーティング機能を作為的に操作可能な余地を残したままで提供することはユーザーのためにならないように思います。

小説投稿サイトでは閲覧者は多数の作品から人気の高い作品を見つけたいはずですし投稿者は投稿した作品が評価されれば今後のモチベーションに繋がります。表示上どのような表現となるかは分かりませんが作品毎の評価が分かるような何らか仕組みは取り入れたいと考えています。誰もが納得する評価機能というのは難しいとは思いますが、サービス運営者として少しでも『公平・公正』な評価が実現できるよう慎重に考えていきたいと思います。それよりもまずユーザーを増やすことが目下の課題ではありますが。

ちなみに、八雲文庫には評価機能はありませんが通報機能はありますので公序良俗違反等の規約違反な投稿に対するアクションは可能です。ユーザー評価にお疲れの著者様は筆休めに投稿してみてはいかがでしょうか?

無料で利用できるシステム監視ソフトウェア7選&サービス8+2選(後編)

f:id:yakumobooks:20180112233725p:plain

前編では監視ソフトウェアをご紹介しましたが後編では監視サービスをご紹介します。『監視サービス』というと有人監視を想像される方もいらっしゃるかと思いますが、今回ご紹介するのは監視ソフトウェアでいうところのデータ集約とモニタリング、検知をクラウドで提供しているサービスとなります。有人監視の場合は障害発生時にメールや電話でシステム担当者に報告する流れになるかと思いますが、クラウドサービスの場合は事前に指定したメトリクス(指標データ)の閾値に応じてメールやSlackといったビジネスチャットにアラートを上げる自動検知サービスとなります*1

サービス

※基本的には無料プランをベースとした説明となります。

1.Mackerel

mackerel.io

株式会社はてな 様が運営するサーバー監視サービスです。名前の由来は明らかに鯖(サーバー)の英語名かと思いますが、公式で言及はされていないようです。無料では5台のサーバーを登録でき、それぞれ1台あたり200メトリクスまで利用できます。エージェントがCPUやメモリなどの基本的なメトリクスを自動で投稿してくれ、さらに公式で公開されているプラグインを使用すれば様々なミドルウェアのメトリクスも投稿することができます。10個のメトリクスに対しアラートを設定することができますが、WEBサイトの監視は有料となります。

2.Uptime Robot

uptimerobot.com

30秒で監視が始められるWEBサイト監視サービスです。無料プランでは5分毎にHTTPステータスコードを確認してくれます(有料プランは1分おき)。ステータスコードが400~や500~になるなどサイトの異常が確認された場合は30秒後にさらに詳細な確認を行い、最終的にはアラートを送信します。無料にも関わらず50サイトまで登録でき、ログは2ヵ月間保持されます。モバイル用のiOS, Androidアプリも提供されており過去のサイトダウン履歴が手軽に確認できます。開発者向けに監視を操作できるWEB APIも公開されているようです。

3.Pingdom

www.pingdom.com

Uptime Robotと同じWEBサイト監視サービスです。EvernoteやAirebnb, Slackなど世界的に有名なサービスでも利用されています。Uptime Robotとは違い監視間隔や異常を検知した際の挙動を細かくカスタマイズできますが、監視対象は1サイトのみです。Freeプランのアカウント作成ページは通常のページとは異なりますのでご注意ください。無料でもオンライン(メール)であればサポートして頂けるようです。有料プランはStarter, Standard, Advanced, Professionalという4つが用意されており、様々なサービス規模や要件に答えられるようになっています。こちらもモバイルアプリが提供されています。

4.New Relic

newrelic.com

New Relicには以下の6つのプロダクトがあります。

製品名 説明
APM アプリケーションのパフォーマンス監視
INFRASTRUCTURE サーバーの状態監視
BROWSER ブラウザーのパフォーマンス監視
MOBILE iOS, Androidアプリのパフォーマンス監視
SYNTHETICS WEBサイト監視
INSIGHTS 上記プロダクトのメトリクス、イベントをリアルタイムで分析・視覚化

APM&INFRASTRUCTUREがMackrel、SYNTHETICSがUptime RobotやPingdomに近いサービスとなっています。エージェントはGo, Java, .NET, Node.js, PHP, Python, Rubyから選べるようです。APMとINFRASTRUCTUREに無料プランが見当たりませんが、有料のトライアル期間が過ぎるとLite(無料)プランにダウングレードされるようです*2。SYNTHETICSは無料の場合はPing監視のみとなります。

5.GotSiteMonitor

www.gotsitemonitor.com

無料ではWEBサイト監視サービスのみ利用可能ですが、有料であればFTPやMailサービスの監視やアラートの詳細な設定ができるようになります。サイト自体は非常にシンプルですが監視対象5サイト、監視間隔10分、SMS通知など先のUptime RobotやPingdomに負けず劣らずのサービス内容となっています。

6.Status Cake

www.statuscake.com

こちらも無料ではWEBサイト監視サービスのみ利用可能ですが、有料プランではサーバー監視に加えてウィルススキャンまで行ってくれるようです。API連携サービスであるZaiperを使用するとSlackやTwitterと手軽に連携することができます。

7.Datadog

www.datadoghq.com

サーバー5台まで無料で利用できる監視・分析サービスです。エージェントはPythonで実装されています。海外の監視サービスですが日本語のドキュメントが揃っているのが有難いです。が、メトリクスの閾値が超えた際のアラートが無料プランにはありません。

8.SavaMoni.

savamoni.com

株式会社ネットアシスト 様が運営する無料のサーバー監視サービスです。サーバー5台まで無料で利用でき、WEB APIも用意されているそうです。監視項目はFAQから引用させて頂きますが以下の通りです。もちろん障害を検知した際はメール等で通知されます。

監視対象サービス
 死活監視(Ping)
 TCP21(FTP)
 TCP22(SSH)
 TCP25(SMTP)
 TCP80(HTTP)
 TCP110(POP)
 TCP143(IMAP)
 TCP443(HTTPS)
 TCP123(NTP)
 TCP53(DNS)

監視内容
 CPU使用率
 空きメモリー容量
 空きディスクスワップ容量
 空きディスク容量
 送信トラフィック
 受信トラフィック
 ロードアベレージLinuxのみ

エージェントの対応サーバーはLinuxはCentOS6,7とRHEL6,7、Windowsは2008(R2), 2012(R2)だそうです。

AWS]CloudWatch

aws.amazon.com

最後におまけでAWS上の監視サービスをご紹介します。Amazon EC2はメトリクスをCloudWatchに送信していますのでCloudWatch上でグラフ表示やアラート(Alarm)設定が可能です。データポイントはデフォルトでは5分間隔ですが、メトリクスによっては詳細な設定で間隔を1分にすることができます。

AWS]Route 53 ヘルスチェック

docs.aws.amazon.com

Route 53のヘルスチェック機能でエンドポイント(URL)の監視ができます。アラートの送信については先のCloudWatchと連携することで可能です。料金はヘルスチェック 1 件につき 0.50 USD*/月で、HTTPSなどのオプション機能は1件につき 1.00 USD/月です。エンドポイントがAWS以外の場合はさらに割増しとなります。他にもDNSフェイルオーバーなどの魅力的な機能もあります。

八雲文庫におけるシステム監視について

八雲文庫では

の2つのサービスでそれぞれサーバー・ミドルウェア監視とWEBサイト監視を行っています。特にMackerelはプラグインのためにChefのレシピが公式から公開されているので、Chefによって環境を自動構築している八雲文庫とは非常に相性が良かったこと、エージェントが特別な実行環境を必要としないGo言語で実装されていることが主な選定理由です。それぞれの監視を実際に導入するのに半日もかかっていないと思います。

github.com

監視サービスは営利を目的としていますので監視項目や機能によっては有料となりますが、複数のサービスを組み合わせることでご自身の要件に見合う監視を無料で実現することができます。お使いの環境との相性によっては思った以上に手軽に利用できるので、監視ソフトウェアの導入だけではなく監視サービスの利用も検討し監視コストを少しでも下げましょう。

*1:サービス内容やプランによります

*2:未確認なのでご注意ください

無料で利用できるシステム監視ソフトウェア7選&サービス8+2選(前編)

f:id:yakumobooks:20180110210938j:plain

今この瞬間あなたのサービスは正常に稼働していますか?個人・法人問わず、サービスを運営する人間ならばこのことは気にせずにはいられません。かくいう私も個人でブラウザで組版できる小説・画像投稿サイト「八雲文庫」なるものを運営していますが、もし機械的な監視を導入していなければ個人サービスとはいえ外出中でも気になってしまいたびたび確認するはめになっていたことでしょう。

私のような個人開発者はどうしても目先の開発に手一杯になってしまい運用については疎かになってしまいがちかと思います。また、予算やリソースも限られているため基本的にお金はかけられません。これは法人の現場においても同様で、システム監視はサービスを継続させる限り発生するコストとなりますのでなるべく最小限に留めたいものです。

今回は同じような悩みを抱える開発者や運用担当者の皆様の参考になればと、個人でもできる無料で手軽なシステム監視について過去に検討したものを公開致します。公開にあたって再調査はしましたが、不正確な情報がありましたらご連絡ください。前編では「ソフトウェア」について、後編では「サービス」について記述します。

ソフトウェア

1.Zabbix

www.zabbix.com

オープンソースの監視ソフトウェアを検索すると良く目にするのがZabbixです。データの格納にはデータベースを使用しますが、MySQL, PostgreSQL, SQLite, OracleIBM Db2といった主要なRDBMSを利用できます。バックエンドはC、フロントエンドはPHPで書かれています。エージェント型(監視対象にもソフトウェアをインストールして情報を収集するタイプ)ですが、実はエージェントレスの監視もできます。監視ソフトウェアは基本的にどれも簡素な見た目ですが、ZabbixはGrafanaと連携するプラグインZabbix plugin for Grafana」を使用すればかなりお洒落な見た目になります。あと、公式がDockerイメージを配布しておりDockerコンテナのモニタリングも手軽に行えます。

2.Nagios

www.nagios.org

昔ある本で「はてなのサーバ監視はNagiosを使用している」と読みましたが今はどうなんでしょうか。デフォルトではグラフ表示機能もないのでプラグインなどの拡張実装、サードパーティ連携で好みなようにカスタマイズして使用します。プラグインBashC++PerlRubyPythonPHPC#で記述できます。データベースを必要としませんがデータ管理が全てファイルベースとなり設定画面もありません。ただ、この点もプラグインを用いればMySQLに格納したりWEB UIが利用できるなど必要に応じて克服できるようです。動作環境にはPHPが必要です。誕生は2002年からと歴史も長くコミュニティも大きいので、豊富な採用実績と高い自由度を求めるのであれば導入を検討してみてはいかがでしょうか。

3.Hinemos

TOP | Hinemos | クラウド時代の統合運用管理

以下のURLに解説があります。
オープンソースの統合監視管理、ZabbixとHinemosの機能と選択のポイント

・開発: 株式会社NTTデータ
・監視画面: 専用GUIクライアント
・サーバ: JBoss
・設定:専用GUI
・データ保存形式: RDB(PostgreSQL)
・ジョブ管理機能があるのが特色。一括管理機能(ファイル配布、RPMインストール、マシンの起動、停止など)
・国産なので日本語のドキュメントは整備されている
・有償オプションが充実し、パートナー制度により、サポートやHinemosをベースにした製品が充実

オープンソースはほとんどが海外製ですが、Hinemosは開発元が日本企業ということで日本人が安心して使えるソフトウェアです。

4.Munin

Munin

マスターやノード、コアプラグインPerlで書かれていますが、ノードに関してはCやPython、Shellで書かれたバージョンも提供されています。グラフは1日、1週間、1ヶ月と固定の期間での表示となります。現時点での最新安定バージョンがリリースされたのが2017年10月21日で今も更新は続いています。Muninはデータベースを必要としないというメリットはありますが、表示用に静的なHTMLとグラフ画像を出力するため監視対象が増えると負荷が高くなってしまうようです。ただ、適切にチューニングすることで改善できますし監視の自由度が高いのが魅力です。

5.Ichinga

www.icinga.com

Ichinga(アイシンガ)はNagiosのforkです。REST APIで設定を更新したり様々な指示を出すことができます。SSLやユーザーのアクセス制御など、組織でセキュアに監視ソフトウェアを管理・運用することを意識した作りとなっています。ユーザー認証にはRDBMS以外にLDAPActive Directoryが使える点が法人での選定理由となりそうです。また、こちらもZabbix同様Grafnaと連携できるようです。

6.Sensu

sensuapp.org

Nagiosの問題点を解決するために生まれたソフトウェアでRubyで書かれています。先ほどご紹介したNagios、Icinga、Zabbixなどの監視チェックとプラグインを再利用できます。Puppet、Chef、AnsibleといったDevOpsソフトウェアで構築できるように設計されており、大規模なサービスを監視するために監視ソフトウェア自身のスケールアウトにも重点が置かれていますが、それゆえにRabbitMQやRedisのインストールが必要だったりと動作構成が少し複雑です。

7.Cacti

Cacti® - The Complete RRDTool-based Graphing Solution

Muninと同様RRDToolによってデータを収集しグラフを描画しています。共にNagiosと組み合わせて使われることが多いためよく比較の対象となっています。Muninにはないユーザー管理機能がありますがその代わりデータの格納にデータベースが必要です。それ以外にもMuninは設定の容易さや拡張性、Cactiは任意の期間指定によるグラフ表示が可能、といった違いがありますのでご自身の要件にマッチしている方を選択しましょう。


以上、前編では7つのソフトウェアをご紹介しましたが世の中にはまだまだ多くの監視ソフトウェアが存在します。それぞれに一長一短がありますので、対象の何を監視したいかや監視ソフトウェアの拡張可否、自組織の監視体制などを考慮した上で最適なソフトウェアを導入しましょう。後編では無料で利用できる監視サービスと実際に八雲文庫で採用している監視構成についてご紹介します。