2014年3月7日金曜日

zabbixで監視する(ESX)

zabbixでESXサーバを監視する手順について記載します。


zabbixでESXサーバを記載する前に以下の準備が必要です。

 libxml2のインストール

yum install libxml2-devel libcurl-devel

vi /etc/zabbix/zabbix_server.conf に以下の設定追加

StartVMwareCollectors=1


zabbixにログインします。

[設定]-[ホスト]から[ホストの作成]をクリックします。

以下の項目を設定して「保存」をクリックします。
「ホスト」タブ
 ホスト名・・・監視対象サーバのホスト名・・・ではなく別の名前
 表示名・・・監視対象サーバの識別子
 所属グループ・・・Hypervisorsを選択
 IPアドレス・・・監視対象サーバのIPアドレス
  DNS名・・・監視対象サーバのホスト名
「テンプレート」
 「新規テンプレートをリンク」欄に「Template Virt VMware」と入力して「追加」
「マクロ」
 以下を追加
  {$USERNAME} ・・・root
  {$PASSWORD} ・・・rootのパスワード
  {$URL} ・・・https://[ESXのIPアドレス]/sdk

ホストが登録されました。
以下の列に数値が反映されています。
 アプリケーション・・・監視対象リソース(CPU、メモリなど)
 アイテム・・・監視対象リソースの詳細(さらに詳細なリソース)
 トリガー・・・しきい値を設定して超過した場合に警告を生成
 グラフ・・・グラフを作成する値を選択
 ディスカバリ・・・監視対象を探す方法
 Web・・・Webページの監視を行う場合に設定

60分待って「監視データ」-「最新データ」をクリックするとTemplate Virt VMwareに登録されたリソースが収集されます。

また、オートディスカバリ機能によってハイパーバイザと仮想マシンの情報も自動収集されます。

zabbixで監視する(Windows)

zabbixでWindowsを監視する手順について記載します。

zabbix-agentを監視対象のWindowsにインストールします。
今回はWindows7を監視します。
Windowsファイアウォールを有効にしている場合はTCPポート10050を開放します。

下記URLからWindows(all)のzabbixエージェントをダウンロードします。

http://www.zabbix.com/jp/download.php

zabbix_agents_2.2.1.win.zipを解凍します。

confフォルダ配下の「zabbix_agentd.win.conf」を「zabbix_agentd.conf」にリネームして以下の設定を行います。

 LogFile=[ログ格納場所]
 Server=[zabbixサーバのIPアドレス]
 Hostname=[監視対象windowsのホスト名]
 ListenIP=[監視対象WindowsのIPアドレス]

confファイルをbin配下のwin32またはwin64のexeが格納されているフォルダにコピーします。
監視対象のWindowsが32bitの場合はwin32フォルダを64bitの場合はwin64フォルダをそれぞれCドライブ直下にコピーします。

コマンドプロンプトを「管理者として実行」します。

コマンドからzabbix_agentd.exeを実行します

zabbix_agentd.exe -i -c [zabbix_agentd.confをフルパスで]

以下の結果が返ってきたらインストール成功です
※アンインストールする場合はzabbix_agentd.exe -d

 zabbix_agentd.exe [XXXX]: service [Zabbix Agent] installed successfully
 zabbix_agentd.exe [XXXX]: event source [Zabbix Agent] installed successfully

[コンピュータ]-[管理]-[サービスとアプリケーション]-[サービス]を選択します。
サービス[zabbix-agent]を右クリックして「開始」をクリックします。

zabbixにログインします。

[設定]-[ホスト]から[ホストの作成]をクリックします。

以下の項目を設定して「保存」をクリックします。
「ホスト」タブ
 ホスト名・・・監視対象サーバのホスト名
 表示名・・・監視対象サーバの識別子
 所属グループ・・・Discoverd hostsを選択
 IPアドレス・・・監視対象サーバのIPアドレス
  DNS名・・・監視対象サーバのホスト名
「テンプレート」
 「新規テンプレートをリンク」欄に「Template OS Windows」と入力して「追加」

ホストが登録されました。
以下の列に数値が反映されています。
 アプリケーション・・・監視対象リソース(CPU、メモリなど)
 アイテム・・・監視対象リソースの詳細(さらに詳細なリソース)
 トリガー・・・しきい値を設定して超過した場合に警告を生成
 グラフ・・・グラフを作成する値を選択
 ディスカバリ・・・監視対象を探す方法
 Web・・・Webページの監視を行う場合に設定

2,3分待って「監視データ」-「最新データ」をクリックするとTemplate OS Windowsに登録されたリソースが収集されます。

zabbixで監視する(CentOS)



zabbixでCentOSを監視する手順について記載します。

zabbix-agentを監視対象のCentOSにインストールします。

 rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
 yum install zabbix-agent

vi /etc/zabbix/zabbix_agentd.conf に以下の設定を追加します。

 Server=[zabbixサーバのIPアドレス]
 ListenIP=[自身のIPアドレス]

設定を反映します。

  service zabbix-agent start
  chkconfig zabbix-agent on

zabbixにログインします。

[設定]-[ホスト]から[ホストの作成]をクリックします。

以下の項目を設定して「保存」をクリックします。
「ホスト」タブ
 ホスト名・・・監視対象サーバのホスト名
 表示名・・・監視対象サーバの識別子
 所属グループ・・・Linux serversを選択
 IPアドレス・・・監視対象サーバのIPアドレス
  DNS名・・・監視対象サーバのホスト名
「テンプレート」
 「新規テンプレートをリンク」欄に「Template OS Linux」と入力して「追加」

ホストが登録されました。
以下の列に数値が反映されています。
 アプリケーション・・・監視対象リソース(CPU、メモリなど)
 アイテム・・・監視対象リソースの詳細(さらに詳細なリソース)
 トリガー・・・しきい値を設定して超過した場合に警告を生成
 グラフ・・・グラフを作成する値を選択
 ディスカバリ・・・監視対象を探す方法
 Web・・・Webページの監視を行う場合に設定


2,3分待って「監視データ」-「最新データ」をクリックするとTemplate OS Linuxに登録されたリソースが収集されます。

テンプレートから監視したいリソースを選別したほうが設定しやすいですね。

zabbixをインストールする

zabbixは無料(OSS)のサーバ、ネットワーク監視ソフトウェアです。

URL:http://www.zabbix.com/jp/

上記URLにKVM形式で提供されているのでproxmoxに組み込んで監視ができそうです。

お勉強のため一からインストールしてみます。

仮想環境にCentOS 6.4 minimalでインストール

Selinuxを無効化

 /etc/selinux/config

  SELINUX=disabled に

サーバ再起動

 reboot

apacheとphpとmysqlインストール

yum install php php-mysql httpd mysql-server

サービス有効化

chkconfig httpd on
chkconfig mysqld on

サービス起動

service httpd start
service mysqld start

リポジトリをインストール

rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

zabbixをインストール
yum install zabbix-server-mysql zabbix-web-mysql

データベース作成

mysql -uroot
> create database zabbix character set utf8;
> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

スキーマインポート

cd /usr/share/doc/zabbix-server-mysql-2.2.2/create
mysql -uroot zabbix < schema.sql
mysql -uroot zabbix < images.sql
mysql -uroot zabbix < data.sql

設定hファイル編集

# vi /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

vi /etc/php.ini

;date.timezone = を以下に変更
 date.timezone = Asia/Tokyo

サービス有効化

chkconfig zabbix-server on

サービス起動

service zabbix-server start


サービス再起動

service httpd restart

以下のURLに接続

http://[IPアドレス]/zabbix

Welcome画面が表示されるので「Next」をクリック

2. Check of pre-requisitesを確認


DBconnectionでユーザzabbix パスワード zabbixを入力して[Test connection]をクリック
※/etc/zabbix/zabbix_server.conf の設定です。

サーバホスト名を入力して「Next」をクリック

「Finish」をクリックして初期設定完了です。

ログイン画面です。admin/zabbixでログイン

初期は英語ページのため以下設定からadminパスワードとともに言語日本語に変更

Administration - Users - Members