2016年2月18日木曜日

CentOS6にMonitをインストールしてMariaDB(MySQL)の死活監視

monitMariaDB Galera ClusterのノードになっているサーバーがPIDファイルを残したまま止まるので死活監視サービスを導入しようと調査したときの覚書。

環境: CentOS 6.7, MariaDB 10.0.21, Monit 5.14

 

目次

  1. ある日のエラー
  2. 監視ツールの選定
  3. MonitをYUM経由でインストール・設定

 


1.ある日のエラー

Node.jsからデータベース(MariaDB Galera Cluster)に接続できなくて状態を確認したら、こんなメッセージ。

# /etc/rc.d/init.d/mysql status

ERROR! MySQL is not running, but PID file exists

原因不明。あとで詳しく調べる。

ロードバランサになっているサーバーに監視ツールを導入して、エラーになったらメールを送る仕組みを構築することにした。

 


2.監視ツールの選定

サーバー監視ツールとして「Zabbix」が人気らしい。

けど、監視するサーバーにApacheやMySQLが必要。このためだけに複数サービスをインストールしたくない。

Monitを使うと簡単に監視できるらしい。

 


3.MonitをYUM経由でインストール・設定

EPELのYUMリポジトリからインストール。
# yum install monit

設定するのに参考にしたサイト

 

まずはインストール直後の設定ファイルを眺める
# less /etc/monit.conf

メールの設定をする
# vi /etc/monit.d/mail.conf

set mailserver localhost
set alert info@hoge.co.jp
set mail-format {
  from: info@hoge.co.jp
}

ローカルのMariaDB(MySQL)を監視してみる
# vi /etc/monit.d/mysqld.conf

check host APP01 with address localhost
  if failed
    port 3306
    protocol MYSQL username "user" password "pass"
  then alert

サービス起動。自動起動にもしとく。
# /etc/rc.d/init.d/monit start
# chkconfig monit on

"Monit instance changed"のメールが届く。

MariaDBを停止してみる。
# /etc/rc.d/init.d/mysql stop

メールが届けば成功。デフォルトでは30秒感覚でチェックしてる。

MariaDBを起動すると、接続に成功したとメールが来る。

 

あとは本番環境で設定ファイルの「localhost」「user」「pass」を監視対象のIPアドレスとデータベースのパスワードに設定すれば動くはず。

MariaDB Galera Clusterと別ネットワークの場合はファイヤーウォールの設定などが必要。

 

 

< Related Posts >

2016年2月17日水曜日

福岡でトトロと猫バスに会ってきた

福岡に遊びに行ったときに喫茶店を探してウロウロしてたら面白そうな店があったので入ってみた。

出迎えてくれたのがこちら。

フクロウ1

トトロ?

胸に飛びつきたくなりますが違います。フクロウです。

腕や肩に乗せて写真撮ったりできます。トトロとの記念撮影がこちら。

フクロウ2

結構でかい。

他にもかわいい子がいっぱい。

フクロウ3

フクロウ4フクロウ5


 

お休みしているフクロウもいる。お目当てのフクロウがいる場合は公式サイトで出勤スケジュールをチェック。

お休みといっても触ったり乗っけたり出来ないだけで写真は撮れる。

フクロウ6

「眠いでちゅ…zzz…」

ステキな写真がたくさん撮れました。一眼レフ買っといて良かった。

 

トトロに出会った後に向かったのはこちら。

猫カフェ1

「発車するにゃ!」

猫バス?

違います。猫カフェです。

向かいの席に座ってくれた子

猫カフェ2猫カフェ3


 

ネコ様は慣れた様子でくつろいでいらっしゃいました。

猫カフェ4猫カフェ5

猫カフェ6

「パシャパシャうるさいのよ」

すみません。。。

猫カフェ7

「お会計かしら?」

はい。お願いします。

 

14時からすぐに入れましたが、出るときには待ち行列ができていたので夕方は混むようです。

 

< Related Posts >

2016年2月16日火曜日

【CentOS6】PHP5.6からPHP7.0にYUM経由でUpdate

php_56_to_70PHP7.0がリリースされたので、さっそく仮想環境で試してみたときの覚書。

環境: CentOS 6.7, PHP 5.6

YUMのPHP7チャンネルを有効にする。remiリポジトリの追加方法は前の記事を参考に。
# less /etc/yum.repos.d/remi-php70.repo

[remi-php70]
enabled=1

これでアップデート実行
# yum update

エラー

Error: Package: php-pecl-redis-2.2.7-1.el6.remi.5.6.x86_64 (@remi-php56)
           Requires: php(zend-abi) = 20131226-64
           Removing: php-common-5.6.16-1.el6.remi.x86_64 (@remi-php56)
               php(zend-abi) = 20131226-64
           Updated By: php-common-7.0.1-1.el6.remi.x86_64 (remi-php70)
               php(zend-abi) = 20151012-64
           Available: php-common-5.3.3-40.el6_6.x86_64 (base)
               php(zend-abi) = 20090626
           Available: php-common-5.3.3-46.el6_6.x86_64 (updates)
               php(zend-abi) = 20090626
           Available: php-common-5.4.45-1.el6.remi.x86_64 (remi)
               php(zend-abi) = 20100525-x86-64
           Available: php-common-5.4.45-2.el6.remi.x86_64 (remi)
               php(zend-abi) = 20100525-x86-64
           Available: php-common-5.6.15-1.el6.remi.x86_64 (remi-php56)
               php(zend-abi) = 20131226-64
           Available: php-common-7.0.0-3.el6.remi.x86_64 (remi-php70)
               php(zend-abi) = 20151012-64

エラーになったパッケージを削除
# yum remove php-pecl-memcache php-pecl-redis php-pecl-igbinary php-pecl-mongo

再挑戦
# yum update

Warningがいくつか

Failed loading /usr/lib64/php/modules/xdebug.so

Failed loadingになったモジュールは削除して、あとで必要になったら考える。

インストールされた一覧
# rpm -qa | grep php

削除
# yum remove php-mcrypt php-pecl-zip php-xml

PHP-FPMの実行権限を変更しているのでセッション書き込みディレクトリの権限を変更
# chown nginx.www -R /var/lib/php/

念のため再起動
# reboot

PHPバージョン
# php --version

PHP 7.0.1 (cli) (built: Dec 16 2015 15:31:55) ( NTS )
Copyright (c) 1997-2015 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2015 Zend Technologies

WordPressのいくつかのプラグインがDeprecatedを吐くけど、問題なさそうなので本番環境でも移行予定。

phpMyAdminもPHP7に対応済みなので最新にアップデートした方がいい。

 

< Related Posts >

Related Posts Plugin for WordPress, Blogger...

Blog Archives