2013年12月21日土曜日

Zabbix を使ってみる

今更ながら、Zabbix を試してみました。

Zabbix Server

Ubuntu 12.04 LTS の LXC コンテナを作って試しています。

(例)
- インタフェース br63 で外界と接続
- ホスト名: zabbix, addr: 192.168.0.90/24, gw: 192.168.0.254, dns: 192.168.0.254

@母艦$ sudo lxc-create -n zabbix -t ubuntu -- -r precise -S ~/.ssh/id_rsa.pub
@母艦$ sudo sed -i.orig -e 's/^\(lxc.network.link =\).*/\1 br63/' /var/lib/lxc/zabbix/config
@母艦$ sudo sed -i.orig -e 's/^iface eth0 inet dhcp/#&/' /var/lib/lxc/zabbix/rootfs/etc/network/interfaces
@母艦$ cat <<'END' | sudo tee -a /var/lib/lxc/zabbix/rootfs/etc/network/interfaces
iface eth0 inet static
  address 192.168.0.90
  netmask 255.255.255.0
  gateway 192.168.0.254
  dns-nameservers 192.168.0.254
END

@母艦$ sudo lxc-start -n zabbix


[参考] https://www.zabbix.com/documentation/2.2/manual/installation/install_from_packages

$ sudo apt-get install wget
$ wget http://repo.zabbix.com/zabbix/2.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_2.2-1+precise_all.deb
$ sudo dpkg -i zabbix-release_2.2-1+precise_all.deb
$ sudo apt-get update
$ sudo apt-get install zabbix-server-mysql zabbix-frontend-php


※ zabbix-frontend-php のインストールに失敗してしまいました。
   LXC 環境だからかもしれません。詳しく調査してませんが、気にせずそのまま進みます。

## PHP の設定
$ sudo sed -i.orig 's|# php_value date.timezone.*|php_value date.timezone Asia/Tokyo|' /etc/zabbix/apache.conf
## グラフ用のフォントの設定
$ sudo apt-get install fonts-ipafont-gothic
$ sudo ln -s /usr/share/fonts/opentype/ipafont-gothic/ipag.ttf /usr/share/zabbix/fonts/
$ sudo sed -i.orig 's/graphfont/ipag/' /usr/share/zabbix/include/defines.inc.php
## Apache 再起動
$ sudo service apache2 restart

ブラウザで [http://zabbix/zabbix/] にアクセス

DB の設定では、User: zabbix, Password: (インストール時に設定した zabbix ユーザのパスワード) を入力

/usr/share/zabbix/conf/zabbix.conf.php の書き込み権限が無くて失敗するので、

$ sudo touch /usr/share/zabbix/conf/zabbix.conf.php
$ sudo chgrp www-data /usr/share/zabbix/conf/zabbix.conf.php
$ sudo chmod 666 /usr/share/zabbix/conf/zabbix.conf.php

[Retry] で OK になったら、

$ sudo chmod 640 /usr/share/zabbix/conf/zabbix.conf.php

ログインする (username/password: Admin/zabbix)

- [Profile] > [Language]: Japanese (ja_JP) に変更

Zabbix Agent (ubuntu)

$ sudo apt-get install zabbix-agent

設定ファイル: /etc/zabbix/zabbix_agentd.conf

## ログを Syslog へ吐く場合は、コメントアウト
$ sudo sed -i.orig -e 's/^LogFile=.*/#&/' /etc/zabbix/zabbix_agentd.conf
## Zabbix Server のアドレスを指定 (Zabix Server上で Agent を動かす場合 127.0.0.1 のままで良い)
$ sudo sed -i -e 's/^Server=.*/Server=192.168.0.90/' /etc/zabbix/zabbix_agentd.conf
## アクティブチェックを使う場合は、Zabbix Server のアドレスを指定 (Zabix Server上で Agent を動かす場合 127.0.0.1 のままで良い)
$ sudo sed -i -e 's/^ServerActive=.*/ServerActive=192.168.0.90/' /etc/zabbix/zabbix_agentd.conf
## ホスト名 (指定しない場合は、HostnameItem の値になる。)
$ sudo sed -i -e 's/^Hostname=.*/#&/' /etc/zabbix/zabbix_agentd.conf
## サービスを再起動
$ sudo service zabbix-agent restart
## ログで、[Hostname] が確認できる。Zabbix Server の登録するホスト名はこれと同じにする。
$ sudo less /var/log/syslog



Zabbix Agent (Windows)

  1. http://www.zabbix.com/jp/download.php から、[Windows (All)    エージェント] をダウンロードします。
  2. [zabbix_agents_2.2.0.win.zip] を展開します。例として、[C:\zabbix] に展開します。Zabbix Server を 192.168.0.90 とします。
  3. [C:\zabbix\zabbix_agentd.win.conf] を編集します。 (以下の行を修正)
    LogFile=c:\zabbix\zabbix_agentd.log
    Server=192.168.0.90
    ServerActive=192.168.0.90
    #Hostname=Windows host
  4. サービスとして登録します。コマンド プロンプト ([管理者として実行])
    >cd \zabbix\bin\win32 (64bit 版は win64)
    >zabbix_agentd -i -c "C:\zabbix\conf\zabbix_agentd.win.conf"
    >net start "Zabbix Agent"
  5. Windows Firewall [firewall.cpl] の設定をします。受信の規則に追加以下の条件で追加します。(64bit 版は win64)
    * プログラム [C:\zabbix\bin\win32\zabbix_agentd.exe] を指定して許可

Zabbix Server - Agent 間の通信

Server → [10050/tcp] Agent
Agent → [10051/tcp] Server

となります。ファイアウォールの設定を確認しましょう。


SNMP Agent の登録

## 切り分け用途で snmpwalk が使えるように snmp パッケージをインストール
$ sudo apt-get install snmp
## MIB ファイルをインストール
$ sudo apt-get install snmp-mibs-downloader
$ sudo sed -i.orig 's/^mibs.*/#&/' /etc/snmp/snmp.conf

- SNMP Agent 側の設定が正しいか確認
$ snmpwalk -v 2c -c COMMUNITY ADDRESS sysName

- [設定] > [ホスト] > [ホストの作成]
-- エージェントのインターフェース: (削除)
-- SNMPインターフェース: (アドレスを設定)
-- テンプレート: [Template SNMP Device]
-- マクロ: {$SNMP_COMMUNITY}=コミュニティ名

VMware ESXi/vCenter の登録

[参考] https://www.zabbix.com/documentation/2.2/manual/vm_monitoring


- VMware 監視を有効にする (/etc/zabbix/zabbix_server.conf)
$ sudo sed -i.orig -e 's/^# StartVMwareCollectors=.*/&\n\nStartVMwareCollectors=2/' /etc/zabbix/zabbix_server.conf
$ sudo service zabbix-server restart

- [設定] > [ホスト] > [ホストの作成]
-- エージェントのインタフェース: (デフォルトの設定を削除)
-- テンプレート: [Template Virt VMware] をリンク
-- マクロ: {$URL}=https://ESXi_or_Vcenter/sdk, {$USERNAME}, {$PASSWORD}


参考

0 件のコメント: