CDN・WEB高速化ブログ

Zabbix2.2をCentos6にソースからインストールする

2014年に流行がくるのはノーオペレーション。今までサーバー監視をツール+人で行っていたことをツールだけで一次対応を自動で行うことを言いますが、日本でもやっとユーザー数が増えてきたZabbixをCentos6にインストールする手順を紹介します。

・Zabbix2.2のインストール要件

Zabbix2.2 Requirementから

Name Platform CPU/Memory Database Monitored hosts
Small Ubuntu Linux PII 350MHz 256MB SQLite 20
Medium Ubuntu Linux 64 bit AMD Athlon 3200+ 2GB MySQL InnoDB 500
Large Ubuntu Linux 64 bit Intel Dual Core 6400 4GB RAID10 MySQL InnoDB or PostgreSQL >1000
Very large RedHat Enterprise Intel Xeon 2xCPU 8GB Fast RAID10 MySQL InnoDB or PostgreSQL >10000

 

要約すると、64BITのOSでMysqlもしくはPostgreSQL SQLiteなどのDB さらにPHPが必要ということです。1万台以上の大規模監視を行う場合は高速なDISKとInnoDBが推奨されています。※net-snmp等もSNMPを利用する場合は必要です。

後でストレージエンジンを変更するのは大変ですので、Mysqlを利用する方は規模にかかわらずInnoDBで構築することを強くおすすめします。Apache DB PHPは事前にインストールしていることが前提です。

PHPで必要なモジュール

mbstring gd xml bcmath

今回はCentos6系 PHP5.4 Mysqlで構成することにします。

ダウンロードと展開

まずは、Zabbixのパッケージを公式サイトからダウンロードしてきます。今回はZabbix 2.2 (安定版)を使います。

パッケージを展開する

 ソースインストールのため各種パスを確認

 Zabbixサーバーのインストール

※/usr/local/zabbix2 にインストールするようにしています。先ほど確認したパスも一緒に記載します。

サーバーデーモンやエージェントを起動するユーザーを追加する

MysqlにZabbix専用ユーザーを作成する

DBに事前にZabbix専用ユーザーを作成しておきます。その後初期DBをコマンドで流し込みます。

DB名 zabbix
DBユーザー名 zabbix

DBに初期データを流し込む

 

Zabbix設定

configファイルにDBユーザーとパスワードファイルを編集する

DBUser=root

DBUser=zabbix(先ほど作成したユーザー名)

Zabbix server とエージェントの起動スクリプトの設置

ソースディレクトリからコピーする

起動スクリプトの編集

ZABBIX_BIN=”/usr/local/sbin/zabbix_server”

ZABBIX_BIN=”/usr/local/zabbix2/sbin/zabbix_server”

ZABBIX_BIN=”/usr/local/sbin/zabbix_agentd”

ZABBIX_BIN=”/usr/local/zabbix2/sbin/zabbix_agentd”

自動起動の設定

※サーバーの起動に失敗する場合、ライブラリのパスが見つからないことが原因
/etc/ld.so.conf.d/以下に適当な名前でファイルをつくりファイルの中にライブラリのパスを追記する。

libmysqlclient.so.18の場合

/usr/local/mysql5/lib/

libnetsnmp.so.30の場合

/usr/local/net-snmp/lib/

設定を反映させる

ldconfig

PHP.INIを書き換える

PHP.iniの以下のあたりを追記もしくは編集する

post_max_size = 16M
max_execution_time = 300
max_input_time = 300

設定を反映させる。

フロントエンドの準備

ZabbixのGUIをApache等のドキュメントルートに全てコピーする

グラフのフォント変更

グラフに日本語フォントが含まれている場合もじばけするため対策を行う

・IPAからフォントをダウンロードする
wget http://ipafont.ipa.go.jp/ipafont/ipagp00303.php

・ipagp.ttfというフォントをコピーする

・新しいフォントを読み込むように設定ファイルを書き換える

define(‘ZBX_GRAPH_FONT_NAME’,           ‘DejaVuSans’); // font file name

define(‘ZBX_GRAPH_FONT_NAME’,           ‘ipagp’); // font file name

ICMPPING監視を行うためにFpingを入れる

既に入っていれば入れる必要なし。
Fpingのパスはコンフィグファイルに記載がある。なにも変更をしない場合は以下のディレクトリが
対象となる。 /usr/sbin/fping
パスが異なる場合は適度に編集する。

 

最終設定

ブラウザーでIPアドレスもしくはドメイン名でアクセスし最終設定をする
Check of pre-requisitesのところで全て緑になっていればOK

データベース指定を行う部分ではDB名とユーザー名パスワードを入力し test connectionでOKがでれば問題なし

Zabbix server detailsはそのままOKをおす

最後にエラーが出た場合、ディレクトリへ書き込み権限がない可能性があります。
その場合、手動でファイルをおくか以下の通り一時的に権限を与え、完了後権限を戻す必要があります。

権限を与える

権限を戻す

WEB GUIの初期アカウント

ID admin

PASS zabbix

Zabbix agentのインストール

・起動スクリプトのコピー 起動スクリプトを編集 変更前
ZABBIX_BIN=”/usr/local/sbin/zabbix_agentd”

変更後
ZABBIX_BIN=”/usr/local/zabbix-agent/sbin/zabbix_agentd”

SEDで書き換える場合

エージェントコンフを変更する

Server=ZabbixサーバーのIP
ServerActive=ZabbixサーバーのIP

待ち受けポート番号をデフォルトの10050から変更する場合はコメントアウトし、ポート番号を入力する。
ListenPort=10050

Zabbixエージェントが稼働するサーバーのホスト名を入れる。アクティブ監視を行う際はここに記載があるホスト名
とサーバーで設定するホスト名が同一でなければいけない。
Hostname=ホスト名

リモートコマンドを利用できるようにする
#EnableRemoteCommands=0

EnableRemoteCommands=1

外部ファイルをインクルードするように設定
Include=/usr/local/zabbix-agent/etc/zabbix_agentd.conf.d/

エージェントの動作確認

zabbix   14891  0.0  0.0  15656   712 ?        S    10:38   0:00 /usr/local/zabbix-agent/sbin/zabbix_agentd

以上でインストールは完了です。

2014 2月 6th,|Linux, OSS|