- 更新日: 2013年8月22日
- CentOS & Linux
Zabbix のインストールと設定 〜 CentOS6
サーバー・ネットワークの統合監視ツール Zabbix をインストールします。ウェブフロントエンドに PHP が利用されています。また、データベースには MySQL を利用します。Zabbixオフィシャルリポジトリを公開しました を参考に、Zabbix の yum リポジトリからインストールします。
このエントリーは、CentOS 6.4 インストール~設定手順の目次 の一部です。
Zabbix の yum リポジトリを登録
まずは、 Zabbix の公式 yum リポジトリを利用できるようにします。
1 2 3 |
# rpm -ivh http://repo.zabbix.com/zabbix/2.0/rhel/6/x86_64/zabbix-release-2.0-1.el6.noarch.rpm |
普段は Zabbix の yum リポジトリを使用しないようにするために、 enabled=0 を設定します。また優先順位を下げるため、 priority=10 を設定。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# vi /etc/yum.repos.d/zabbix.repo [zabbix] name=Zabbix Official Repository - $basearch baseurl=http://repo.zabbix.com/zabbix/2.0/rhel/6/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX priority=10 [zabbix-non-supported] name=Zabbix Official Repository non-supported - $basearch baseurl=http://repo.zabbix.com/non-supported/rhel/6/$basearch/ enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX gpgcheck=1 priority=10 |
zabbix インストール
zabbix リポジトリからパッケージをインストールします。
1 2 3 4 5 6 7 8 9 10 11 12 |
# yum --enablerepo=zabbix -y install zabbix-agent zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese ... Error: Package: zabbix-server-mysql-2.0.6-1.el6.i386 (zabbix) Requires: libiksemel.so.3 Error: Package: zabbix-server-2.0.6-1.el6.i386 (zabbix) Requires: fping Error: Package: zabbix-server-2.0.6-1.el6.i386 (zabbix) Requires: iksemel You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest |
エラーが出てしまいました。依存パッケージの不足っぽい。
1 2 3 4 |
# yum --enablerepo=rpmforge -y install iksemel # yum --enablerepo=rpmforge -y install fping |
依存パッケージを入れた後、再度インストール。zabbix-get もインストール。
1 2 3 4 |
# yum --enablerepo=zabbix -y install zabbix-agent zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese # yum --enablerepo=zabbix -y install zabbix-get |
今度は無事に入りました。
Zabbix 用の MySQL を設定
続いて MySQL に Zabbix 用のデータベースとユーザーを作成します。
1 2 3 4 5 6 7 |
# mysql -u root -p mysql> create database zabbix character set utf8; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '任意のパスワード'; mysql> FLUSH PRIVILEGES; mysql> exit |
Zabbix用のDBスキーマとデータをインポート
1 2 3 4 5 |
# mysql -uroot -p zabbix < /usr/share/doc/zabbix-server-mysql-2.0.6/create/schema.sql # mysql -uroot -p zabbix < /usr/share/doc/zabbix-server-mysql-2.0.6/create/images.sql # mysql -uroot -p zabbix < /usr/share/doc/zabbix-server-mysql-2.0.6/create/data.sql |
Zabbix のデータベースを確認してみます。
1 2 3 4 5 6 7 8 9 10 11 12 |
# mysql -u root -p mysql> use zabbix; mysql> show tables; +-----------------------+ | Tables_in_zabbix | +-----------------------+ | acknowledges | | actions | | alerts | ... |
と、データベースのテーブルが作成されています。
zabbix サーバーの設定
1 2 3 4 5 6 7 |
# vi /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=パスワード |
以上で、zabbix_server.conf の編集は終了。
Zabbix サーバーを起動させ、自動起動の設定を行います。
1 2 3 4 5 6 7 8 |
# service zabbix-server start Starting Zabbix server: [ OK ] # chkconfig zabbix-server on # service zabbix-agent start Starting Zabbix agent: [ OK ] # chkconfig zabbix-agent on |
Apache を再起動します。
1 2 3 |
# service httpd restart |
Zabbix ウェブインストールでの初期設定
ブラウザから “localhost.centos/zabbix/”(サーバー名/zabbix)にアクセスして、ウェブインストールでの初期設定を行います。localhost.centos/zabbix/ にアクセスしたところ、以下のエラー。
1 2 3 |
date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. [include/page_header.php:185] |
赤文字で PHP エラーが上部に表示されたので、Kodai’s Blog: Zabbix SIAのオフィシャルRPMパッケージの事前公開 を参考に修正します。
1 2 3 4 5 6 |
# vi /etc/httpd/conf.d/zabbix.conf # php_value date.timezone Europe/Riga # 以下を追加 php_value date.timezone Asia/Tokyo |
修正後に httpd を再起動して、localhost.centos/zabbix/ をブラウザでリロード。エラーが無くなったのでインストールを進めます。
1. Welcome
Next。
2. Check of pre-requisites
すべて OK であることを確認して Next。
3. Configure DB connection
Database type : MySQL
Database host : localhost
Database port : 0
Database name : zabbix
User : zabbix
Password : パスワード
データベースの情報を入力して Test connection を押す。以下のエラーが出て Fail(失敗)となりました。
1 2 3 4 |
mysql_connect(): No such file or directory [include/db.inc.php:77] Error connecting to database [No such file or directory] |
ここで、SELinux を Permissive に変更し、また Database host : 127.0.0.1 とループバックアドレスで指定してやると OK になりました。
1 2 3 |
# setenforce 0 |
Database type : MySQL
Database host : 127.0.0.1
Database port : 0
Database name : zabbix
User : zabbix
Password : パスワード
として、Test connection を押すと今度は OK に。
Next。
4. Zabbix server details
そのまま Next 。
5. Pre-Installation summary
確認後、そのまま Next 。
6. Install
Finish。
その後、ログイン画面が表示されるので、
ユーザー名:admin
パスワード:zabbix
の初期ユーザーでログインします。
以上で、Zabbix のインストール作業は終了です。
SELinux が Enforcing の場合
ここで、SELinux を Enforcing に戻しますと、また Zabbix が動作しなくなりました。
1 2 3 |
mysql_connect(): Permission denied [include/db.inc.php:77] |
というエラーが表示されますので、どうやら mysql_connect() による SQL 発行でのアクセス権が拒否されている模様です。回避するには、適切なアクセス権を設定したポリシーモジュールを SELinux に適用させる必要があります。
ちょっと前の情報ではあるけれど、Zabbix 公式フォーラムに以下のような情報が掲載されていました。
2012/01/23 – 19:22 (月)
TNK – 投稿数: 1105
…
現時点では、SELinuxを有効にした際のポリシーファイルの公開は行っておりません。
…
なので、SELinux が Enforcing で Zabbix を動作させるには、Apache + Passenger で Redmine を動作させた時 のように、audit2allow、semodule からポリシーモジュールを作成する必要があります。またいつか気が向いたら書きます。
- – 参考リンク –
- Kodai’s Blog: Zabbix SIAのオフィシャルRPMパッケージの事前公開
- Zabbix 2.0 を yumでインストール(CentOS6.4) – あぱーブログ
- Zabbix2.0 インストール on CentOS 6.3 [ a stray sheep ]
- CentOS & Linux の関連記事
- Job for nginx.service failedのNginxエラー
- upstream sent too big header while reading response header from upstream(Nginx/Rails)
- Can’t get information about user clamav(clamdエラー)
- STDERR: Exception in thread “main” java.lang.InternalErrorエラー
- Linuxサーバー容量を確認するコマンドdf,duをマスターする!
- rmでファイル削除後にdf -hで容量が減らない時の対処(Linux)
- Apacheをローカルネットワークのみに公開にする
- logwatchからのメールが来ないと思ったら…
- Linuxサーバの負荷や使用率を調査するコマンドと手順
- Bashの脆弱性もう一件CVE-2014-7169に対するパッチ適用
Leave Your Message!