Hatena::ブログ(Diary)

shouhの日記

2015-03-28

Zabbix Agent を Windows 7 にインストール

公式サイトの手順はここ。基本的にはここに従う感じ。

だけど、詳しい日本語ブログがあるので、こっちがおすすめ。

以下は個人的に詰まったところや悩んだところのメモ。

媒体入手先

解凍したファイルの置き場所

  • C:\ 直下が推奨されているが, それは嫌なので, 私は C:\zabbixagent にした

最低限いじるconfファイルの箇所

Server=(ZabbixサーバのIPアドレス)
ServerActive=(ZabbixサーバのIPアドレス)
#Hostname=Windows host ← ようわからんのでとりあえずコメントアウト

confファイルは UTF-8 で保存する。

インストール実行

C:\zabbixagent>zabbix_agentd.exe --install
zabbix_agentd.exe [7324]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [7324]: event source [Zabbix Agent] installed successfully

エージェントを開始する。ただし C:\ 直下ではなく C:\zabbixagent に配置しているので、一部パラメータを工夫しなきゃいけない。

C:\>cd C:\zabbixagent
C:\zabbixagent>zabbix_agentd.exe --config zabbix_agentd.conf
zabbix_agentd.exe [8072]:

        !!!ATTENTION!!! Zabbix Agent started as a console application. !!!ATTENTION!!!

以下は補足説明。

  • ログファイルは C:\zabbix_agentd.log に出ていた
    • ログ出力先も conf ファイルの「LogFile=c:\zabbix_agentd.log」部分で指定できるんだと思う(試してない)
  • Q: 上記コマンドラインはどうやって知ったか

ZabbixをCentOS 6.2にインストール

ログイン画面を表示できるところまでのメモ。かなり自分用メモなので、万人向け手順書というほど頼れはしないかも…。←それはいつものことでしょう?

本メモで使った環境

Zabbixって何?

ネットワーク管理システム。

公式サイトによると特徴は以下のとおり。

  • OSSで無料利用可
  • 多機能
  • 設定簡単
  • 豊富な可視化

バックエンドはC言語。フロントエンドはPHP+javascript。

ライセンスGPL General Public License version 2。

It means that its source code is freely distributed and available for the general public.

https://www.zabbix.com/documentation/2.4/manual/introduction/about

その他細かい特徴はこの辺が詳しいか。

監視のイメージ

インストール対象

インストール

下記公式サイトに手順が書いてあったので、基本的にはそこに従うだけ。

今回は RPM パッケージからのインストールを試みる。

まずは zabbix-release をインストールする。
※これを行うと、関連モジュールyum コマンドでインストールできるようになる

[root@localhost downloads]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm を取得中
警告: /var/tmp/rpm-tmp.7QXdVW: ヘッダ V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
準備中...                ########################################### [100%]
   1:zabbix-release         ########################################### [100%]

yum コマンドでインストールしていく

[root@localhost downloads]#yum install zabbix-server-mysql
…
complete!

[root@localhost downloads]#yum install zabbix-web-mysql
…
complete!

データベースの設定

とりあえず試してみたら、MySQLのエラーが出た。

[root@localhost create]# mysql -uroot zabbix < schema.sql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

解決方法は色々あるみたいだが、私の場合はそもそも mysql-server が入ってなかったのが原因。yumインストールし、mysql.sockファイルも作っておき、最後にmysqldを起動する。

[root@localhost ~]# yum install mysql-server
…
complete!
[root@localhost ~]# cat /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
       ~~~~~~~~~~~~~~~~~~~~~~~~~ このファイルが無いとエラーになるので作る
user=mysql
…
$ touch /var/lib/mysql/mysql.sock
$ /etc/init.d/mysqld restart

再び試してみたが、今度は別のエラー。

[root@localhost create]# mysql -uroot zabbix < schema.sql
ERROR 1049 (42000): Unknown database 'zabbix'

…おっと、見る場所間違えてた。以下の手順をやればいいみたいですね。

まずはMySQL管理者パスワード設定(ここではパスワードを password にしてます)。

/usr/bin/mysqladmin -u root password 'password'

確認。

[root@localhost create]# mysql -uroot
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
[root@localhost create]# mysql -uroot -ppassword

んじゃ手順を実施していきましょうか。

[root@localhost create]# mysql -uroot -ppassword

mysql$ create database zabbix character set utf8 collate utf8_bin;
mysql$ grant all privileges on zabbix.* to zabbix@localhost identified by 'password';

[root@localhost create]# pwd
/usr/share/doc/zabbix-server-mysql-2.4.4/create
[root@localhost create]# mysql -uzabbix -ppassword zabbix < schema.sql
[root@localhost create]# mysql -uzabbix -ppassword zabbix < images.sql
[root@localhost create]# mysql -uzabbix -ppassword zabbix < data.sql

サーバプロセスを起動する

データベースパスワード記述部分がコメントアウトされているので、コメントアウトを外し、パスワードを書く。

[root@localhost create]# vim /etc/zabbix/zabbix_server.conf
…
DBPassword=password
…

起動。

[root@localhost create]# service zabbix-server start
Starting Zabbix server:                                    [  OK  ]

最後に Editing PHP configuration for Zabbix frontend の手順。といってもタイムゾーン部分のコメントアウトを外すだけみたい。

[root@localhost conf.d]# vim /etc/httpd/conf.d/zabbix.conf
…
php_value date.timezone Asia/Tokyo
…

[root@localhost ~]# service httpd restart
…
httpd を起動中: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]

ブラウザからアクセスして残りの設定をする

1. http://(サーバIPアドレス)/zabbix/ にアクセス

2. ????(phpの設定一覧。名前はメモするの忘れた)
NGが無かったので、Nextボタンで先を進める。

3. Configure DB connection

Database type	MySQL
Database host	localhost
Database port	0 - use default port
Database name	zabbix
User	root
Password	password
          ~~~~~~~~ ここ以外は全部デフォルトのまま。

Test Connectionボタンを押してみて OK が出たので、次へ。

4. Zabbix server details

Host	localhost
Port	10051
Name	testzabbix
Please enter host name or host IP address and port number of Zabbix server, as well as the name of the installation (optional).

Nameは「インストール設定の名前」とのことなので、適当に testzabbix で。

5. Pre-Installation summary

Database type	MySQL
Database server	localhost
Database port	default
Database name	zabbix
Database user	root
Database password	********

Zabbix server	localhost
Zabbix server port	10051
Zabbix server name	testzabbix

ただの設定確認やね。正しいので先に進む。

6. Install

Configuration file
"/etc/zabbix/web/zabbix.conf.php"
created: OK
Congratulations on successful installation of Zabbix frontend.
When done, press the "Finish" button.

OKと表示されてるから、まあ大丈夫だろ。finishボタンを押す。

ようやくログイン画面が出てきた。
id/pass は Admin/zabbix

参考: ブラウザからアクセスできない場合

  • zabbix-server を起動した後に httpd を起動した?
    • zabbix-server 起動前から起動したまま → httpd を再起動して設定反映を行うこと
  • httpd のログを見てみて
    • /var/log/httpd
  • zabbixのログを見てみて
    • /var/log/zabbix/zabbix_server.log
  • Apache2.4の場合、特別な手順が要るんだけど、実施してる?
  • (ゲストOSに構築したZabbixに、ホストOSからアクセスしている場合)ホストOS側のプロキシ設定は適切?