ラベル Zabbix の投稿を表示しています。 すべての投稿を表示
ラベル Zabbix の投稿を表示しています。 すべての投稿を表示

2014年4月16日水曜日

Ubuntu 14.04 に Zabbix をインストール

ノートパソコンに Zabbix をインストールしてみました。
USB ブートしないノートだったので、PXE ブートにてインストールしてみました。 まず、PXE サーバ用の Ubuntu を用意します。

 $ sudo apt-get install tftpd-hpa isc-dhcp-server wget
 $ cd ~
 $ wget http://archive.ubuntu.com/ubuntu/dists/trusty/main/installer-i386/current/images/netboot/netboot.tar.gz
 $ cd /var/lib/tftpboot/
 $ sudo tar xvzf ~ubuntu/netboot.tar.gz
 $ cd ~

 $ sudo vi /etc/dhcp/dhcpd.conf
 subnet 192.168.64.0 netmask 255.255.255.0 {
   range dynamic-bootp 192.168.64.60 192.168.64.69;
   option domain-name-servers 8.8.8.8;
   option routers 192.168.64.1;
   filename "/pxelinux.0";
 }
 __END__

 $ sudo /etc/init.d/tftpd-hpa start
 $ sudo /etc/init.d/isc-dhcp-server start

ノートパソコンを PXE ブートで起動するとインストーラが立ち上がります。
 [ソフトウェアの選択] では、[OpenSSH server] と [Lubuntu Desktop] を選択しました。

インストール後、ログインします。

[Ctrl]+[Alt}+[T] で仮想端末を起動し、パッケージをインストールします。

$ sudo apt-get install screen wireshark 

$ sudo chmod u+s /usr/bin/dumpcap ## wireshark でキャプチャできるようにする




(途中...)

2014年2月25日火曜日

Zabbix アプライアンス

VMware ESXi や VirtualBox で簡単に Zabbix をセットアップできます。
公式サイトから、「Open virtualizationフォーマット(.ovf)」をダウンロードします。
ESXi なら、[ファイル]-[OVF テンプレートのデプロイ...] を使用します。

セットアップ方法は、公式サイトのマニュアルを参照

* ログイン (root/zabbix)

* パスワード変更
# passwd (root ユーザのパスワード変更)
# passwd zabbix (zabbix ユーザのパスワード変更)

* 基本設定 (YaST)
# yast
** ホスト名/DNS の設定
[Network Devices]-[Network Settings]-[Hostname/DNS]-[Add]
** アドレスの設定 (eth0)
[Network Devices]-[Network Settings]-[Overview]-[Edit] (eth0)
** アドレスの設定 (VLAN を使う場合)
[Network Devices]-[Network Settings]-[Overview]-[Add]
Device Type: VLAN
Configuration Name: 63 (VLANID=63 の場合)
** Default Gateway の設定
[Network Devices]-[Network Settings]-[Routing]
** NTP の設定
[Network Services]-[NTP Configuration]

* time zone の設定
# cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

* Firewall の設定
# SuSEfirewall2 open EXT TCP zabbix-trapper
# SuSEfirewall2 on

* swap の設定
# dd if=/dev/zero of=/swap bs=1M count=1024
# cat <<'EOM' >>/etc/fstab
/swap   swap              swap    defaults        0 0
EOM
# mkswap /swap
# swapon -a

* パッケージの更新
# zypper update

* ZABBIX の基本設定
** [http:///] にアクセス
** Admin/zabbix でログイン
** [Profile]-[User][Language]: Japanese (ja_JP)
** [Profile]-[パスワード]-[パスワード変更]: (Admin のパスワード)

* PHP の設定

# sudo sed -i.orig 's|^date\.timezone.*|date.timezone = Asia/Tokyo|' /etc/php5/apache2/php.ini
# service apache2 restart

* グラフ用のフォントの設定
# zypper install ipa-ex-gothic-fonts
# ln -s /usr/share/fonts/truetype/ipaexg.ttf /usr/share/zabbix/fonts/
# sed -i.orig 's/DejaVuSans/ipaexg/' /usr/share/zabbix/include/defines.inc.php

* SNMP Device の追加
** snmpwalk コマンドでアクセスできることを確認
# snmpwalk -v 2c -c public 192.168.x.x sysName

** [設定]-[ホスト]-[ホストの作成]
*** [ホスト] タブ
- ホスト名: (任意)
- 所属グループ: (任意) 例: Network devices
- エージェントのインタフェース: (削除)
- SNMPインタフェース: (追加)
*** [テンプレート] タブ
- テンプレートとのリンク: Template SNMP Device
*** [マクロ] タブ
{$SNMP_COMMUNITY}: (コミュニティ名)

* IPMI チェック
IPMI とは、HP iLO、DELL DRAC などで使用できる「アウトバンド管理」のために標準化されたインタフェースです。

参考: https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/ipmi
参考: http://d.hatena.ne.jp/ike-dai/20110418/1303129511
参考: http://blog.livedoor.jp/qryuu/archives/52019625.html
参考: http://thinkit.co.jp/cert/article/0710/5/4/3.htm

** Zabbix サーバの設定ファイル変更
# sed -i.orig '/^# StartIPMIPollers/ a StartIPMIPollers=3' /etc/zabbix_server.conf
# service zabbix_server restart

** impitool を使い必要なパラメータを調査
# ipmitool -I lanplus -H IP_ADDR -U USERNAME -P PASSWORD sensor
// 1列目の値を Zabbix アイテムの [IPMIセンサー] に登録します。

** Zabbix の設定を実施 (GUI)
(例) HP iLO 3 の場合
*** 設定 > ホスト > [ホストの作成]
- [ホスト] タブ > IPMIインターフェース > [追加]: [IPアドレス] を指定
- [IPMI] タブ
-- 認証アルゴリズム: RMCP+
-- 特権レベル: Admin
-- ユーザ名: USERNAME
-- パスワード: PASSWORD
*** 設定 > ホスト > アイテム > [アイテムの作成]
- 名前: (任意) Temp 1
- キー: (ホスト毎にユニークな値) ipmi.Temp.1
- タイプ: IPMIエージェント
- IPMIセンサー: (ipmitool で調べた値) Temp 1
- 単位: (任意) degrees C

* 確認
** [監視データ]-[最新データ]
** [監視データ]-[グラフ]

* Agent の自動登録 (Windows)
[設定]-[アクション]-[アクションの作成] (イベントソース: 自動登録)
[アクション]タブ
名前: (任意) Windows Agent 自動登録
[アクションの実行条件]タブ
ホストメタデータ 含まれる Windows
[アクションの実行内容]
ホストグループに追加: Windows servers
テンプレートとリンク: Template OS Windows

* Agent の自動登録 (Linux)
[設定]-[アクション]-[アクションの作成] (イベントソース: 自動登録)
[アクション]タブ
名前: (任意) Linux Agent 自動登録
[アクションの実行条件]タブ
ホストメタデータ 含まれる Linux
[アクションの実行内容]
ホストグループに追加: Linux servers
テンプレートとリンク: Template OS Linux


[Zabbix Windows Agent]
Windows (All)    エージェント    2.2.1
zabbix_agents_2.2.1.win.zip

[register_zabbix_agent.cmd]
set win=win64
if %PROCESSOR_ARCHITECTURE% == x86 set win=win32
"C:\zabbix\bin\%win%\zabbix_agentd.exe" -i -c "C:\zabbix\conf\zabbix_agentd.win.conf"
netsh advfirewall firewall add rule ^
  name="Zabbix Agent" dir=in action=allow ^
  program="C:\zabbix\bin\%win%\zabbix_agentd.exe"
net start "Zabbix Agent"
pause

[C:\zabbix\conf\zabbix_agentd.win.conf] (変更箇所)
LogFile=c:\zabbix\zabbix_agentd.log
Server=192.168.63.161
ServerActive=192.168.63.161
#Hostname=Windows host
HostMetadataItem=system.uname

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}


参考