Zabbix

PHP 5分でわかる! Zabbix API の使い方(ホスト一覧の取得)

Zabbix API を使うと、プログラムやコマンドラインから、ホストを追加したり、監視データを取得することが出来ます。自動化ツールの Chef 等と組み合わせれば、サーバの監視設定までもを自動化することが可能です。API と聞くと少し難解なイメージがありますが、Zabbix API は JSON-RPC 2.0 のシンプルな仕様に準拠しているため、比較的簡単に使えるようです。そこで今回は、PHP...
プログラム

Twitter API search/tweets で 100件以上のツイートを取得する(PHP)

Twitter のツイート検索API(search/tweets)で、取得できるツイート数の上限は 100件 です。分析用途で使うには、ちょっと件数が少ないですね。そこで今回は、Twitter API で 100件 以上のツイートを取得する方法をご紹介します。
Linux

Redis と php-pecl-redis のインストールメモ(CentOS7.1.1503)

Redis(レディス)は、メモリ上でデータの高速な読み書きを可能にする、キーバリューストアを構築するためのソフトウェアです。キーバリューストアの代表格 Memcached と比べると、Redis は高機能で、データの永続化や、データ構造のサポート、データレプリケーション機能など、便利な機能が色々あります。そこで今回は、Redis と php-pecl-redis のインストール手順と、Redis ...
Linux

ownClowd 8.1 + HTTPS + Memcached の設定メモ(CentOS7.1.1503)

ownCloud は、ドロップボックスのようなオンラインストレージを、自分のサーバ上に構築できるオープンソースソフトウェアです。クライアントは、WEBブラウザさえあれば、ownCloud で、ファイルを共有することが可能です。 さらに専用のクライアントソフトをインストールすれば、PC上に、自動で ownCloud と同期するフォルダを作成できます。iOS/Androidアプリも用意されているので、...
データ分析

TWKEY について

TWKEY(ツイッキー)は、ある検索ワードで Twitter ツイートを検索して、ツイートに含まれる単語の出現回数をランキング表示する、簡易的なテキストマイニングツールです。もしかしたら、この TWKEY を使って「ビールとおむつ」のような、関連するキーワードを見つけられるかもしれませんよ。
データ分析

PHP 政府統計 API の使い方メモ(e-Stat)

政府統計の総合窓口(e-Stat)の API 機能 では、各府省が公表する統計データを、APIを使って簡単に取得することができます。以前は各府省ごとに、統計データを公開していましたが、近年この、政府統計の総合窓口サイトの1つにまとめられ、昨年からは API 機能の提供も開始されました。 政府統計 API の使い方はいたって簡単なのですが、統計データの種類、量ともに膨大なため、データ取得までの流れが...
データ分析

5分で分かる!相関係数の求め方

相関係数は、体重と身長など、2つの値の関係の強さを示す数値です。相関係数を使えば「Aの商品を買っている人は、Bの商品を買うことが多い」のような傾向を、見つける事が出来るかもしれません。統計学を使ったデータ分析で、まず初めに使ってみたくなるのが、この「相関係数」ではないでしょうか? そこで今回は、相関係数の求め方を、出来るだけ分かりやすくまとめてみました。
Linux

MeCab システム辞書への単語追加(mecab-ipadic-neologd)

MeCab 辞書には、以前の記事でご紹介した「ユーザ辞書」と「システム辞書」の2種類があります。ユーザ辞書への単語の追加は、手軽な反面、解析速度が落ちるといったデメリットもあります。そこで今回は、MeCab の「システム辞書」に単語を追加する方法をご紹介します。また、最近話題の新語辞書 mecab-ipadic-neologd もシステム辞書に追加してみました。
プログラム

PHP 5分で出来る!Twitter API アプリケーション認証(Application-only authentication)

ツイッター API の、アプリケーション認証 (app auth) を使うと、15分あたりのAPI利用上限を、ツイート検索が 180回 から 450回 に、タイムライン取得は 180回 から 300回 に増やすことができます。ツイート探索系のアプリを作るのには、ちょっと嬉しい仕組みですね。 そこで今回は、PHP から Twitter API アプリケーション認証を行い、ツイート検索をする方法をご紹...
Linux

MeCab ユーザ辞書への単語追加

MeCab を使って、文章を単語に分割した時に、複数の単語が含まれる複合語などが、思ったように分割できない事があります。例えば「焼肉定食」は「焼肉」と「定食」の2つの単語に分割されてしまいます。MeCab には「最小単位の単語に分割する」という基本ルールがあるので、この分割は正しいのですが、実際に文章を解析する時は、1つの単語として扱いたくなります。そこで今回は、MeCab の辞書に単語を追加して...
Linux

NFS サーバ/クライアント設定メモ(CentOS7.1.1503)

NFS(Network File System)は、複数のホストから、同じファイルを共有することができる、分散ファイルシステムです。NFS の歴史は古く、30年近く使われているそうです。ファイル共有のプロトコルは、FTP や SMB をよく耳にしますが、NFS は、その仕組みのシンプルさから、ロードバランサー配下のWEBサーバなどでよく使われています。
Linux

RPMのコンパイルオプションを変更してインストールする方法

RPM は、CentOSなどRedHat系のOSで使われている、パッケージ管理システムです。実際には RPM の依存関係を考慮して、インストールなどをしてくれる yumコマンド を使って、RPM パッケージを扱うことが多いかと思います。 RPM パッケージに含まれる、ソフトやライブラリはコンパイル済なので、ソースファイルからコンパイル(ビルド)する手間を軽減できます。便利な仕組みなのですが、稀にコ...
プログラム

MeCab と php-mecab のインストールメモ(CentOS7.1)

MeCab は、日本語の文章を解析して、単語に分割してくれるソフトウェアです。WEBサービスを作るにあたって MeCab を PHP から使う必要があったので、今回は php-mecab もインストールしました。MeCab(めーきゃぶ)の名称は、開発者さんの好物「めかぶ」にちなんで付けられたそうです。ふと、めかぶをつまみに一杯やりたくなりました。(^^)
Zabbix

Zabbix 2.4 を yumでインストール(Zabbix2.4.5 + CentOS7.1.1503)

Zabbixサーバを、CentOS 7.1 (1503) にインストールした時のメモです。サクッと終わるかと思いきや、Zabbixサーバを起動しようとすると「Job for zabbix-server.service failed. See 'systemctl status zabbix-server.service' and 'journalctl -xn' for details.」のエラー...
Linux

HTTP/2 対応の WordPress サイト設定メモ【Nghttp2 (nghttpx) + CentOS 7】

Nghttp2 のプロキシー nghttpx を使って、HTTP/2 対応の WordPress サイトを設定した時のメモです。nghttpx は、HTTP/2 リクエストを HTTP/1.1 などのリクエストに変換してくれる、便利なプロキシーです。今回は、フロントエンドで HTTP/2 リクエストを nghttpx が受け取り、 バックエンドのWEBサーバ(Apache)に、HTTP/1.1リク...
クラウド

HTTP/2 と HTTP/1.1 のページ読込みスピードを比較

一般的なWEBページでは、ページを表示する際に、およそ100〜200のリクエストが発生します。現在WEB通信に使われている HTTP/1.1 では、同時に処理できるリクエストは4〜6程度ですが、HTTP/2 では100以上のリクエストを、同時に処理をすることができますので、ページ読込みの高速化が期待できます。そこで今回は、HTTP/2 と HTTP/1.1 のページ読込みスピードを比較してみました...
クラウド

WordPress スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する(Autoptimize)

WEBページのパフォーマンス測定ツール Google PageSpeed Insights でページを分析すると、ほぼ必ず「スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する」の改善方法が提案されます。これに対応するには JavaScript と CSS を最適化することが必要です。そこで今回は、WordPress の「Autoptimize...
Linux

HTTP/2 WEBサーバ設定メモ【Nghttp2 (nghttpd) + CentOS 7】

HTTP/2 は「WEBの高速化、通信量の削減、安全な接続」を目的とした、WEB通信プロトコルの最新バージョンです。2015年2月17日に、IETFの運営グループにより正式な仕様として承認されました。これまで長い間 HTTP/1.1 が使われていましたが、16年ぶりのバージョンアップになります。そこで今回は、HTTP/2 の実装として有名な Nghttp2 の nghttpd を使って、HTTP/...
クラウド

Google PageSpeed スコアを改善する方法(画像圧縮 OptiPNG)

Google が提供している、ページのパフォーマンスを測定ツール PageSpeed Insights は、WEBページの読込み時間などを計測して、スコア付けや、改善方法を提案してくれるサービスです。試しに自分のブログ記事を測定してみたところ、かなり残念なスコアでした。(^^;) 画像圧縮を全く使っていなかったのが一番の原因のようです。そこで、Googleさんおすすめの OptiPNG コマンドを...
Linux

CentOS 7.1 (1503) LAMPサーバインストールメモ【CentOS7.1.1503+Apache+MySQL+PHP】

2015年3月31日 RHEL 7.1 のリリースから約1ヶ月で CentOS 7.1(1503)がリリースされました。CentOS 7 では初のマイナーバージョンアップになりますね。初回のリリースから1年近く経ちましたので、CentOS 7系 への移行を検討されている方もいらっしゃるのではないでしょうか。さっそく、CentOS7.1 で LAMP構成をインストールする手順をメモしておきました。
プログラム

NetBeans での Git リポジトリサーバへの接続方法

NetBeans(ネットビーンズ) は、無償で使えるオープンソースソフトウェアの、統合開発環境(IDE)です。Java、PHP、HTML5、C/C++、Groovy などのプログラミング言語に対応しています。前回の記事で、Git リポジトリサーバの構築方法をご紹介しました、今回は、構築した Git リポジトリサーバに NetBeans から接続して、リポジトリのクローンなどの操作をしてみたいと思い...
Linux

Git リポジトリサーバの構築と、セキュリティを考慮したアカウント管理方法

Git はファイルの変更履歴を管理するための、バージョン管理システムです。ソフトウェア開発チームなど、複数の人で Git を使ってソースコードを共有するには、Git リモートリポジトリサーバが必要になります。リポジトリサーバのアカウントの管理は、「git」というユーザを作成し、このユーザの鍵登録用ファイル(authorized_keys)に、各クライアントの SSH公開鍵を登録/破棄することで実現...
クラウド

Amazon CloudWatch で Route 53 ヘルスチェックのメール通知設定

Amazon CloudWatch は AWSで稼働しているサーバやアプリケーションの状態を監視するためのサービスです。以前「KeyCDN を CloudFront で冗長化してアカマイ級の信頼性を」の記事で、Route 53 のヘルスチェックを使いました。今回はヘルスチェックの状態を監視し、障害があった時や、障害から復旧した時に、メールで通知されるように設定してみました。
Zabbix

Zabbix 2.4 SNMPトラップの監視設定メモ(SNMPTT)

SNMPトラップを受信して Zabbix から監視をするための設定メモです。Zabbix の公式マニュアルでも推奨している SNMPTT(snmptthandler-embedded)を使って設定してみました。トラップを受信する snmptrapd 、トラップの書式を整える SNMPTT など登場人物が多いため設定がやや複雑ではありますが、できるだけ分かりやすくを心がけてまとめてみました。
クラウド

Dot TK 無料ドメインを Amazon Route53 で管理する

DNSサーバの動作検証やバーチャルホストでの確認用サイトなど、有料で取得するほどではないけれど、どうしてもドメインが必要になることがありませんか? そんな時は無料ドメインを取得できる Dot TK(ドットティーケー)が便利です。そこで今回は Dot TK でドメインを取得してネームサーバを Amazon Route53 に変更する方法をご紹介したいと思います。
クラウド

KeyCDN を CloudFront で冗長化してアカマイ級の信頼性を

KeyCDN は高性能かつ低コストで使えるCDN(コンテンツデリバリーネットワーク)です。以前「KeyCDN 設定メモと転送スピードの比較」の記事で紹介しました。 でもいざ本番で使うとなると CDN が単一障害点になるため少し不安が残るところではないでしょうか? そこで今回は KeyCDN を Amazon CloudFront で冗長化して、インターネットの巨人アカマイ級の信頼性を「目指してみよ...
Zabbix

ZabbixでLAMPサーバを監視設定メモ(Zabbix 2.4 CentOS6.6)

ZabbixでLAMPサーバの監視設定をした時のメモです。監視項目としては、システムのCPUやメモリの使用状況やディスクI/Oなどのリソース監視と Apache、MySQLなどのミドルウェアの状態監視といった基本的なものを設定しています。Zabbixの色々な機能をできるだけ使って設定してみましたので、はじめてZabbixをさわってみる方にはチュートリアルとしても参考になるかもしれませんよ。
Zabbix

Zabbix 4-1. マップの作成

マップを作成することで、監視対象ホストのスクリーンやインベントリをワンクリックで閲覧できるようになります。 マップにはマクロが使えますので、ホストのIPアドレスや表示名はもちろん、ロードアベレージなどアイテムの値もリアルタイムでマップ上に表示することができます。 また、Zabbixのマップはかなりの自由度がありますので、マップを使ってネットワーク構成図を作成することも可能です。
Zabbix

Zabbix 3-15. テンプレートのスクリーンを設定

これまでに8つのテンプレートを作成しました。これらのテンプレートをLAMPサーバ用のテンプレートとしてまとめ、このテンプレートにスクリーンを作成します。スクリーンにはグラフやマップなど色々な情報を一つのページに表示できますので、サーバの状態を一目で把握できます。最後にこのLAMPサーバ用のテンプレートを監視対象のホストに適用すればLAMPサーバの監視設定完了です(^^)/
Zabbix

Zabbix 3-14. CentOSのバージョン取得テンプレートの設定(ホストインベントリ)

CentOSのバージョンやOSの詳細情報を取得しホストインベントリ(監視対象サーバに関する色々な情報一覧)に自動登録するテンプレートを作成します。こうすることで各サーバのOSの種類やバージョンを各サーバにログインすることなくZabbix上で確認することができます。また、インベントリを登録しておくと「CentOS6.6のサーバ一覧を表示する」といったことが簡単にできますので、管理対象のサーバが多くな...