2012年9月27日木曜日

CentOS 6.3にZenoss Core 4.2.0をインストールしてみる

自動スクリプト利用版です。
インストールマニュアルに載っている方法を利用します。

1.CentOS 6.3(x86_64)のインストール

 ベースとかでCentOS 6.3をインストールして、postfixがインス
 トールされていると、依存関係でmysql-libsがインストールされ
 てしまっていて、自動インストールでインストールするMySQL 5.5
 のライブラリと競合してしまうのでアンインストール。

  # rpm -e --nodeps mysql-libs

2.自動インストーラのダウンロードと実行

  # wget --no-check-certificate https://raw.github.com/zenoss/core-autodeploy/master/core-autodeploy-4.2.sh
  # chmod +x core-autodeploy-4.2.sh
  # ./core-autodeploy-4.2.sh
  ※ 基本的にこのスクリプトの中身の順序で実行すれば手動でも可

3.MySQL-shared-compatのインストール

 アンインストールしてしまったmysql-libsの代わりに、インスト
 ールされたMySQLのバージョンに合わせてダウンロードしてイン
 ストールする

  # yum localinstall MySQL-shared-compat-5.5.27-1.el6.x86_64.rpm

4.初期設定

  ウェブブラウザで、

   http://IPアドレス:8080/

  にアクセス。
  adminのパスワードと自分のアカウント作成を実施。
  その後、すぐに監視対象を追加しないなら追加やディスカバリ
  はスキップして初期設定終了。

5.net-snmpの設定

  デフォルトで監視対象に登録されるlocalhostが、SNMPでサー
  バの情報を取得するよう設定されているが、net-snmpのデフォ
  ルト設定では、監視に必要な情報が取得できないので、取得で
  きるように、/etc/snmp/snmpd.confを修正する。

  セキュリティを気にしないなら、最後に、

   view systemview included .1

  と一行書く。
  ※ 本当は必要なところからのみアクセスできるようにすること。

6.OS毎再起動

  Web画面から再度SNMPの値の再取得を強制的に行わせる方法が
  みつからなかったのでOS毎再起動を実施。


手順もれがあるかもしれないので、あったら後で修正します。

2012年9月26日水曜日

PHP 5.4でZabbixが文字化け?

Twitterでつぶやいていた人がいらっしゃったので確認してみた。

自分でPHPをconfigureからやってもいいのですが、他人に詳細を説
明するのが面倒なので、標準で5.4が利用できるFedora 17を選択。
Zabbixのバージョンは、2.0.2を利用。

----------
結論:
----------
 全く問題なくメニューやグラフにも日本語が表示できる。

----------
障害原因の予測:
----------
・必要なPHPのライブラリがインストールされていない。

 MySQLを利用しているなら、

  # yum install php-bcmath php-gd php-mbstring php-xml php-common php-pdo php-mysql

 とインストールしておけばOK。
 独自にPHPをconfigureから実施したのであれば、何らかの引数が
 不足していると思われる。

・日本語表示可能なフォントが配置及び設定されていない。

 ZabbixのPHPファイル群を配置したfontsディレクトリに、日本語
 が表示可能なTureTypeフォントを配置して、

  include/defines.inc.php

 内の「ZBX_GRAPH_FONT_NAME」「ZBX_FONT_NAME」に配置したフォ
 ントの拡張子を除いた文字列を設定する。

 Fedora 17なら、vlgothic-p-fontsというパッケージに含まれる
 「/usr/share/fonts/vlgothic/VL-PGothic-Regular.ttf」を利用
 して、先ほどの変数には「VL-PGothic-Regular」を指定するとい
 い感じに表示してくれる。

2012年8月24日金曜日

Pandora FMS 4.0.2をCentOS 5.8にインストールしてみる

ちょっと前にバージョン4.0.2をリリースしたPandora FMSさんが、

 古いメニューやスタイルなんて忘れちゃってよ、
  4.0.2は綺麗になったんだぜ。

とつぶやかれていたので、久しぶりにインストールしてみた。

本家はここね。→
 http://pandorafms.com/
で、ドキュメントも一応ある。→
 http://pandorafms.com/pandora/doc/en

個人的には、RHEL系で試すことにしているので、以下のURLからRPM
をダウンロードしてチャレンジ。
http://sourceforge.net/projects/pandora/files/Pandora%20FMS%204.0.2/Final/RHEL_CentOS%20%28RPM%29/

今回は、CentOS 5.8にインストールしてみた。

先ほど紹介したドキュメントリンクページから日本語のマニュアル
をダウンロードしてみましたが、あちこち古い情報のままで更新さ
れていないし、ドキュメントの構成が「すぐに試してみよう」とい
う人にはまったく適さない構成や内容なのでお勧めしません。

とりあえずインストールして動かしてみたいというだけなら、以下
の手順を参照してもらったほうが良いと「私は」思います。

さて、インストールを開始するとして、いくつかの依存パッケージ
は、OS標準のリポジトリにはありません。
マニュアルには、「contribution/toolsにて提供しています。」と
書いてありますが、contribution以下にtoolsはありません。
実際にあるのは以下のURLです。
http://sourceforge.net/projects/pandora/files/Tools%20and%20dependencies%20%28All%20versions%29/RPM%20CentOS%2C%20RHEL/

ドキュメント作成して、再確認してないでしょ。
>Pandora FMSのマニュアル作成者さん


--------------------------------
1.各種パッケージのインストール
--------------------------------

さて、各パッケージをダウンロード後、インストール開始。
今回は、とりあえず1台の中にサーバとエージェントとコンソール
を入れてしまうので、以下の通り。

 # yum localinstall --nogpgcheck pandorafms_console-4.0.2-1.noarch.rpm
 # yum localinstall --nogpgcheck wmic-4.0.0SVN-2.1.el5.centos.noarch.rpm
 # yum localinstall --nogpgcheck pandorafms_server-4.0.2-1.noarch.rpm
 # yum localinstall --nogpgcheck pandorafms_agent_unix-4.0.2-1.noarch.rpm
 # yum install graphviz-gd

※RPMの依存関係に書かれていませんが極力CentOS標準のパッケージ
 を利用する場合には「graphviz-gd」のインストールが必須。

----------------------
2.DBMS(MySQL)の準備
----------------------

そして、今回はDBもローカルに入れてしまうので、mysql-serverも
インストール。

 # yum install mysql-server

マニュアルには記載が見当たりませんでしたが、一応、以下の設定
を追加して、mysqldを起動。

/etc/my.cnf
-----
character-set-server=utf8
skip-character-set-client-handshake
-----

 # service mysqld start

rootのパスワードとか余計なアカウント消すとかやっておくことを
お勧め。(mysql_secure_installationを使うとか。)

---------------------
3.セットアップ開始
---------------------

Apacheを起動後、ブラウザで以下のURLにアクセス。

 http://IPアドレス/pandora_console/install.php

MySQLを選択して、MySQLのrootアカウントやそのパスワード、利用
するデータベースサーバに対する接続情報やデータベース名などを
入力してセットアップを進める。
最後に、

 Established privileges for user pandora.
 A new random password has been generated: hogehoge

とPandora FMS用に作成されたデータベースのアカウントのパスワ
ードが表示されるのでメモしておくこと。
そのパスワードで、/etc/pandora/pandora_server.confのdbpassの
ところのパスワードを書き換えます。

 # vi /etc/pandora/pandora_server.conf

あと、今回は、ローカルのサーバのエージェントを監視するので、
ローカルから監視できるようlocalに変更してしまいます。

 # vi /etc/pandora/pandora_agent.conf

transfer_mode tentacle

transfer_mode local

セットアップが終了したら、install.phpは不要なので、削除もし
くは名前の変更をしておきます。

 # cd /var/www/html/pandora_console
 # mv install.php install.php.bak

------------------
4.サービスの開始
------------------

 # service pandora_server start
 # service pandora_agent_daemon start

------------------------------
5.管理コンソールへのアクセス
------------------------------

ここまで設定できれば、あとは以下のURLにブラウザでアクセス。

 http://172.21.21.45/pandora_console/

デフォルトの管理者のIDとパスワードは、
 admin
 pandora
です

日本語表示にしたい場合は、画面左上の[admin]をクリックして、
Languageで「日本語」を選択してください。
あと、システム管理 -> 設定で、タイムゾーンを「Asia/Tokyo」に
しておきます。

こんな感じ。

2012年8月20日月曜日

net-snmpの拡張

SNMPを利用して独自のアプリケーションのメトリクスを収集しよう
とする場合に、net-snmpを利用しているのであれば、net-snmpを拡
張して対応できます。

拡張する方法としては、

 ・net-snmpに組み込む
 ・net-snmpの設定で外部スクリプトを呼び出して
  値を取得できるようにする

方法が考えられるのですが、それぞれの実装方法に関しては、以下
のURLなどをご参照ください。


net-snmpについて(独自監視項目の追加) - 前編
http://codezine.jp/article/detail/2938
net-snmpについて(独自監視項目の追加) - 後編
http://codezine.jp/article/detail/2991

18.5.5. Net-SNMP の拡張
https://access.redhat.com/knowledge/docs/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sect-System_Monitoring_Tools-Net-SNMP-Extending.html

Linux と net-snmp の実装
http://www.wit-systems.co.jp/Linux_net-snmp001.htm
NET-SNMP 導入メモ
http://homepage3.nifty.com/myhometown/snmp.htm

第5回 図解で知るSNMP――MIB情報のすべて (1/8)
http://www.itmedia.co.jp/enterprise/articles/0705/21/news015.html

2012年5月31日木曜日

Zabbix 2.0をAmazon Linux上で動かしてみよう

これは、Zabbix 2.0のRPMを作成する手順の紹介です。

いつものように、SRPMをgithub上に置いておきました。
https://github.com/atanaka7/zabbix-jp-amzn1

これを利用して、RPMでのインストールを行います。

まずは、RPMの作成です。
先のgithub上の「zabbix-2.0.0-1.amzn1.src.rpm」をダウンロードしておきま
す。
あと、Amazon Linuxでは標準的に用意されていない、もしくはより適したRPM
をZABBIX-JPのダウンロードサイトからダウンロードしておきます。

i386用:
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/i386/fping-2.4b2-16.el6.JP.i686.rpm
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/i386/iksemel-1.4-2.el6.JP.i686.rpm
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/i386/iksemel-devel-1.4-2.el6.JP.i686.rpm

x86_64用:
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/fping-2.4b2-16.el6.JP.x86_64.rpm
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/iksemel-1.4-2.el6.JP.x86_64.rpm
 http://www.zabbix.jp/binaries/relatedpkgs/rhel6/x86_64/iksemel-devel-1.4-2.el6.JP.x86_64.rpm

これらのファイルをEC2上のAmazon Linuxのインスタンスにアップロードしま
す。
ここでは、ec2-userを利用して作業を行うこととします。

まず、アーキテクチャに合わせて上記の3つのRPMを

 $ sudo yum localinstall RPMファイル名 .....

でインストールしておきます。
続いて、RPMをビルドするための環境構築です。

 $ sudo yum install rpm-build
 $ sudo yum groupinstall 'Development tools'
 $ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
 $ vi ~/.rpmmacrosを作成して、以下の記述を行います。

-----
%_topdir /home/ec2-user/rpmbuild
%_builddir %{_topdir}/BUILD
%_rpmdir %{_topdir}/RPMS
%_sourcedir %{_topdir}/SOURCES
%_specdir %{_topdir}/SPECS
%_srcrpmdir %{_topdir}/SRPMS
-----

そして、RPMのビルドです。

 $ rpmbuild --rebuild zabbix-2.0.0-1.amzn1.src.rpm

と実行すると、

-----
Installing zabbix-2.0.0-1.amzn1.src.rpm
error: Failed build dependencies:
        mysql-devel is needed by zabbix-2.0.0-1.amzn1.i386
        postgresql-devel is needed by zabbix-2.0.0-1.amzn1.i386
        net-snmp-devel is needed by zabbix-2.0.0-1.amzn1.i386
        openldap-devel is needed by zabbix-2.0.0-1.amzn1.i386
        gnutls-devel is needed by zabbix-2.0.0-1.amzn1.i386
        iksemel-devel is needed by zabbix-2.0.0-1.amzn1.i386
        sqlite-devel is needed by zabbix-2.0.0-1.amzn1.i386
        unixODBC-devel is needed by zabbix-2.0.0-1.amzn1.i386
        libssh2-devel >= 1.0.0 is needed by zabbix-2.0.0-1.amzn1.i386
        java-devel >= 1.6.0 is needed by zabbix-2.0.0-1.amzn1.i386
        curl-devel >= 7.13.1 is needed by zabbix-2.0.0-1.amzn1.i386
        OpenIPMI-devel >= 2.0.14 is needed by zabbix-2.0.0-1.amzn1.i386
        gettext is needed by zabbix-2.0.0-1.amzn1.i386
$
-----

のように足りないものがあった場合は、上記のように表示されますので、それ
ぞれをインストールします。

 $ sudo yum install mysql-devel postgresql-devel net-snmp-devel .....

インストールできたら、再度ビルドの実行です。

 $ rpmbuild --rebuild zabbix-2.0.0-1.amzn1.src.rpm

正常にビルドが終了すると、/home/ec2-user/rpmbuild/RPMS/ 以下にRPMファ
イルが作成されます。
注:Zabbix 2.0.0からzabbix-webパッケージがnoarchの下に出力されます。

ビルドできた各RPMも、

 $ sudo yum localinstall RPMファイル名

でインストールすると、依存関係を解決して依存するRPMも一緒にインストー
ルできるので便利です。

i386用とx86_64用は、それぞれの環境でビルドしてください。
全てx86_64の環境なら1台だけビルド用に構築して、他のサーバはビルドでき
たRPMを利用すれば大丈夫です。

RPMができたら、インストールや設定は以下のURLなどをご参照あれ。
http://www.slideshare.net/BlueSkyDetector/zabbix20
http://thinkit.co.jp/book/2012/04/13/3503

2012年2月28日火曜日

CentOS 6標準phpのConfigureコマンド

情報提供用の書き込みです。

CentOS 6のphpのphpinfo()の出力の一部です。

Configure Command => './configure' '--build=i686-pc-linux-gnu' '--host=i686-pc-linux-gnu' '--target=i686-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-xpm-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--with-kerberos' '--enable-ucd-snmp-hack' '--enable-shmop' '--enable-calendar' '--without-sqlite' '--with-libxml-dir=/usr' '--enable-xml' '--with-system-tzdata' '--enable-force-cgi-redirect' '--enable-pcntl' '--with-imap=shared' '--with-imap-ssl' '--enable-mbstring=shared' '--enable-mbregex' '--with-gd=shared' '--enable-bcmath=shared' '--enable-dba=shared' '--with-db4=/usr' '--with-xmlrpc=shared' '--with-ldap=shared' '--with-ldap-sasl' '--with-mysql=shared,/usr' '--with-mysqli=shared,/usr/bin/mysql_config' '--enable-dom=shared' '--with-pgsql=shared' '--enable-wddx=shared' '--with-snmp=shared,/usr' '--enable-soap=shared' '--with-xsl=shared,/usr' '--enable-xmlreader=shared' '--enable-xmlwriter=shared' '--with-curl=shared,/usr' '--enable-fastcgi' '--enable-pdo=shared' '--with-pdo-odbc=shared,unixODBC,/usr' '--with-pdo-mysql=shared,/usr' '--with-pdo-pgsql=shared,/usr' '--with-pdo-sqlite=shared,/usr' '--with-sqlite3=shared,/usr' '--enable-json=shared' '--enable-zip=shared' '--without-readline' '--with-libedit' '--with-pspell=shared' '--enable-phar=shared' '--with-tidy=shared,/usr' '--enable-sysvmsg=shared' '--enable-sysvshm=shared' '--enable-sysvsem=shared' '--enable-posix=shared' '--with-unixODBC=shared,/usr' '--enable-fileinfo=shared' '--enable-intl=shared' '--with-icu-dir=/usr' '--with-enchant=shared,/usr' '--with-recode=shared,/usr'