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のサーバ一覧を表示する」といったことが簡単にできますので、管理対象のサーバが多くな...
Zabbix

Zabbix 3-13. WEBサイトのレスポンスタイム 監視テンプレートの設定

WEBサイトのレスポンスタイム(ユーザーの待ち時間)を監視するためのテンプレートを ZabbixのWeb監視機能を使って作成します。レスポンスタイムはWEBサイトにおいて特に重要な指標です。他の指標のロードアベレージやI/O負荷が高かったとしても、レスポンスタイムが早ければWEBサイトに訪れるユーザーにはなにも影響がありません。しかしロードアベレージやI/O負荷が正常であっても、レスポンスタイムが...
Zabbix

Zabbix 3-12. Memcached 監視テンプレートの設定

分散型メモリキャッシュシステムの Memcached が正常に起動していることを監視するためのテンプレートを作成します。PHPなどのセッション情報の保存先を Memcached に指定している場合は、Memcached が起動していないとエラーが発生しWEBサイトを表示することができません。死活監視は11211番ポートにTCP接続ができることにより確認します。また、Memcached のメモリの使...
Zabbix

Zabbix 3-11. MySQL 監視テンプレートの設定

データベース管理システムの MySQL が正常に起動していることを監視するためのテンプレートを作成します。LAMP環境で構築されているWEBサイトの MySQLデータベースには、一般的にユーザ情報やブログ記事などが保存されていますので、MySQL が起動していないとWEBサイトを表示することができません。MySQL の死活監視は3306番ポートにTCP接続ができることにより確認します。また、MyS...
Zabbix

Zabbix 3-10. Apache(HTTP/HTTPS)監視テンプレートの設定

WEBサイトを表示するためのミドルウェア、Apache が正常に起動していることを監視するためのテンプレートを作成します。Apache の死活監視は、80番ポート(HTTP)と 443番ポート(HTTPS)へのTCP接続ができることにより確認します。また、WEBサイトに現在どのくらい同時接続がされているかを把握するため Apache(httpd)のプロセス数の監視設定も行います。
Zabbix

Zabbix 3-9. ディスク使用率 監視テンプレートの設定(LLD ローレベルディスカバリ)

サーバに搭載されているハードディスクなど、記録媒体の使用率を監視するためのテンプレートを作成します。データの増加傾向を見ることによって、ハードディスクが満杯になる前に増設をするなどの対応を施すことができます。
クラウド

KeyCDN 設定メモと転送スピードの比較

KeyCDN は低コストかつ簡単に使えるコンテンツデリバリーネットワークです。KeyCDNはスイス・チューリヒ州にあるベンチャー企業が運営していますが、スイスから遠く離れたこの日本(東京)にもエッジサーバがあります。AWS CloudFrontの障害対策の記事などで KeyCDN の名前をよく見かけるようになり、気になっていたので試しに使ってみて CloudFront との転送スピードを比較してみ...
Zabbix

Zabbix 3-8. ネットワークトラフィック 監視テンプレートの設定

サーバに搭載されているネットワークインターフェースカードを通じて送受信されるデータ量を監視するためのテンプレートを作成します。WEBサイトに大容量のファイルのダウンロードさせるコンテンツがあるなどネットワーク通信量が多い場合は、CDN(コンテンツデリバリネットワーク)の利用を検討するのも一案です。
Zabbix

Zabbix 3-7. スワップメモリ使用率 監視テンプレート設定

スワップが発生していないかを監視するためのテンプレートを作成します。Linuxでのスワップはメモリが満杯である場合に、メモリ内の活動していないページ(データ)がハードディスクのスワップ領域に移動されます。ハードディスクはメモリの10万〜100万倍遅いためスワップが発生すると、膨大なディスクI/O待ちが起こりサーバの処理能力が著しく低下します。
Zabbix

Zabbix 3-6. メモリ使用率 監視テンプレート設定

メモリがどのくらい使われているのか、そのうちページキャッシュにどのくらいのメモリが使われているかを監視するためのテンプレートを作成します。メモリが不足しているとデータがあまりページキャッシュされないためディスクI/O待ちが発生したり、スワップが発生しサーバの処理能力が著しく低下してしまいます。
Zabbix

Zabbix 3-5. ディスクI/O 監視テンプレート設定

ディスクにどのくらいの書き込み(Input)や読み込み(Output)が発生しているのかを監視するためのテンプレートを作成します。このディスクI/Oの発生と、前のページで設定したCPUのディスクI/O待ちを並べて表示することにより、ディスクの読み書きどちらの性能が不足しているかを把握することができます。
Zabbix

Zabbix 3-4. CPUのディスクI/O待ち 監視テンプレート設定

ディスクI/Oの負荷を把握するために、CPUのディスクI/O待ちを監視するテンプレートを作成します。ハードディスクはメモリと比べると、読み書きの性能に10万倍〜100万倍の速度差があります。扱うデータ量が多くなってくるとデータがメモリに載りきらないため、ディスクI/O待ちが発生することがあります。そのためディスクI/Oが多く発生するデータベースサーバなどではインメモリデータベースやフラッシュ スト...
Zabbix

Zabbix 3-3. CPU使用率 監視テンプレート設定

CPUの負荷を把握するために、CPU使用率を監視するテンプレートを作成します。CPU負荷が高い主な原因はプログラムの暴走です、この場合は psコマンドや topコマンドでCPUに負荷をかけているプログラムを特定して対処します。また、ディスクI/Oやメモリ不足など他の部分がボトルネックでは無く、CPU負荷のみが高い場合は理想的な状態と言われています。この場合は単純にCPUの性能を上げるか、サーバ台数...
Zabbix

Zabbix 3-2. ロードアベレージ 監視テンプレート設定

サーバの負荷状況を示す指標「ロードアベレージ」を監視するテンプレートを作成します。ロードアベレージは、過去1分、5分、15分の間にどの程度の処理(プロセス)が待ち状態にあったかを示しています。諸説ありますがロードアベレージがCPUのコア数を超えている場合は処理待ちが発生していると判断できます。