Zabbix入門
Zabbix2.4いじってみたのでメモ。
はじめに
基本知識。■できること
- HW監視
- 死活監視
- リソース監視
- グラフ表示
■用語
- ホスト
- 監視対象デバイスのこと
- IP/DNSをもつ
- ホストグループ
- 論理的なホストのまとまり
- ホストとテンプレートから構成される
- アイテム
- ホストから取得する1つのデータ
- トリガー
- アイテム内で取得したデータを評価し、閾値を設定することにより「OK」「障害」状態を管理する
- イベント
- トリガーの状態が変化したり、ディスカバリやエージェントの自動登録がされた際に何かが発生することを示す
- アクション
- イベントに対して実行される処理
- エスカレーション
- アクション内で実行される処理のカスタムシナリオで、通知・送信・リモートコマンド等の一連の処理の順序
- テンプレート
- ホストに対して適用するエンティティ(アイテム、トリガー、グラフ、スクリーン、アプリケーション、下層のディスカバリールールなど)のセット
- Webシナリオ
- ウェブサイトの稼働状況をチェックするHTTPリクエスト
■Zabbixのモジュール群
- zabbix
- Zabbixのコア機能が詰まったモジュール
- zabbix-server、zabbix-agent、zabbix-proxyはこれに依存する
- zabbix-server
- zabbix-agent
- Zabbixエージェントのモジュール
- ホストのリソースやアプリケーション情報をZabbixサーバへ送付プロセス
- zabbix-get
- zabbix-agentと通信して必要な情報を取得するプロセス
- zabbix-sender
- パフォーマンスデータをZabbixサーバへ送付するコマンドラインユーティリティ
- zabbix-web
- Zabbixフロントエンドのモジュール
- Zabbixで提供されているWebインターフェース
- 関連モジュール:zabbix-web-japanese、zabbix-web-mysql、zabbix-web-pgsql
- zabbix-proxy
- Zabbixプロキシのモジュール
- Zabbixサーバのかわりにデータを収集するプロセスで、Zabbixサーバの負荷を軽減する
- 関連モジュール:zabbix-proxy-mysql、zabbix-proxy-pgsql、zabbix-proxy-sqlite3
- zabbix-java-gateway
■監視対象自動登録機能
- Agent自動登録
- Agent起動時にServerにアクセスし、ホスト名を登録する
- メールでServerに定型文(ホスト名、IP、ポート等)を送付することで登録できる
- zabbix_agentd.confでHostnameを指定できるが「HostnameItem=System.hostname」でOSのホスト名を使用できる
- ディスカバリ自動登録
■アクティブチェックとパッシブチェック
- アクティブチェック
- AgentがServerへデータを送付するタイプ
- ログ監視(log、logrt、eventlog)はアクティブチェックでしか監視できない
- パッシブチェック
- Serverが各ホストへアクセスするタイプ
構築
■MySQLの構築
DBはPostgreSQLも使えるが、ここではMySQLを使用する。
以下rootで実行。
wget http://downloads.mysql.com/archives/get/file/MySQL-shared-compat-5.6.21-1.el6.x86_64.rpm wget http://downloads.mysql.com/archives/get/file/MySQL-5.6.21-1.el6.x86_64.rpm-bundle.tar tar xvf MySQL-5.6.21-1.el6.x86_64.rpm-bundle.tar rpm -ivh MySQL-shared-compat-5.6.21-1.el6.x86_64.rpm rpm -ivh MySQL-shared-5.6.21-1.el6.x86_64.rpm rpm -ivh MySQL-devel-5.6.21-1.el6.x86_64.rpm rpm -ivh MySQL-client-5.6.21-1.el6.x86_64.rpm rpm -ivh MySQL-server-5.6.21-1.el6.x86_64.rpm service mysql start
起動完了したら「You will find that password in '/root/.mysql_secret'.」って出てるからパスワードひかえる。
MySQLの初期設定。
/usr/bin/mysql_secure_installation
案内にしたがってYes/No。
「/usr/my.cnf」を以下のように設定。
※MySQL5.6未満は「/etc/my.cnf」。
[mysqld] ・・・デフォルトの設定は残す・・・ character-set-server=utf8 skip-character-set-client-handshake
※MySQL 5.5以前では「character-set-server=utf8」ではなく「default-character-set=utf8」
MySQLの再起動。
# service mysql restart
■Zabbixサーバの構築
Zabbixのリポジトリを登録。
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
Zabbixのインストール。
yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-web-japanese zabbix-java-gateway zabbix-sender zabbix-get
※「zabbix-java-gateway」は無くてもいい。
Zabbix用にMySQLの設定する。
まずは、「zabbix」データベースの作成。
mysqladmin -u root -p create zabbix --default-character-set=utf8
「zabbix」ユーザの作成。
# mysql -u root -p mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; mysql> flush privileges; mysql> \q
zabbix-server-mysqlの資材を使ってテーブル作成。
mysql -u root -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.3/create/schema.sql mysql -u root -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.3/create/images.sql mysql -u root -p zabbix < /usr/share/doc/zabbix-server-mysql-2.4.3/create/data.sql
Apache(Zabbixウェブフロント)を起動する。
service httpd start
「http://[zabbix-server-address]/zabbix」へアクセスして、次の項目を確認していく。
1. Welcome
2. Check of pre-requisites
3. Configure DB connection
4. Zabbix server details
5. Pre-Installation summary
6. Install
2で「PHP time zone」の設定がなかったので「/etc/php.ini」を下記のように編集。
;date.timezone = date.timezone = Asia/Tokyo
「service httpd restart」でApache再起動。
3で先ほど作成したデータベース、ユーザ、パスワードを「zabbix」に設定。
4でzabbix-serverの設定(Host、Port、Name:localhost、10051、zabbix-server)で設定。
6で設定ファイルが「"/etc/zabbix/web/zabbix.conf.php"」であることがわかる。
id/passwordは「Admin/zabbix」でログインできる。
zabbix-serverがMySQLへ接続する際のパスワードが設定されていないので、下記のように設定。
「/etc/zabbix/zabbix_server.conf」を編集。
DBPassword=zabbix
下記のコマンドでZabbixサーバを起動する。
service zabbix-server start ps -ef | grep -i zabbix zabbix 4352 1 0 05:47 ? 00:00:00 zabbix_server -c /etc/zabbix/zabbix_server.conf root 4354 3760 0 05:47 pts/0 00:00:00 grep -i zabbix
右上の「Profile」を選択して、「Language」を「Japanese (ja_JP)」にして「Update」すると日本語になる。
■Zabbixエージェントの設定
/etc/zabbix/zabbix_agentd.confの下記の項目を修正。
パラメータ | 説明 | 例 |
---|---|---|
Server | ZabbixサーバのIP | 127.0.0.1 |
Hostname | Zabbixフロントエンドで設定するホスト名と同じにする | Zabbix server |
ListenIP | 監視対象ホスト自身のIP | 127.0.0.1 |
ZabbixエージェントはZabbixサーバと10050ポートで通信するので、Zabbixサーバーからアクセスできるようにファイアウォール等の設定を行う。
Agent起動。
service zabbix-agent start
監視の設定
Webフロントエンドでの設定について。「Configuration」->「Hosts」を選択すると、デフォルトで「Zabbix server」がある。
■アイテムタイプ
- Zabbixエージェント
- Zabbixエージェントによる監視(パッシブチェック)
- 例)各種リソース使用率、ファイル監視、Web監視
- Zabbixエージェントによる監視(パッシブチェック)
- Zabbixエージェント(アクティブ)
- Zabbixエージェントによる監視(アクティブチェック)
- 例)ログ監視
- Zabbixエージェントによる監視(アクティブチェック)
- シンプルチェック
- SNMPv1エージェント/SNMPv2エージェント/SNMPv3エージェント
- SNMP エージェントによる監視
- SNMPトラップ
- SNMPトラップによる監視
- Zabbixインターナル
- Zabbix自体の監視
- Zabbixトラッパー
- Zabbixエージェントから任意の文字列をZabbixサーバへ通知する
- Zabbixアグリゲート
- Zabbixサーバが収集データを蓄積しているDBに対してクエリを発行して平均値、最大・小値、合計などを算出する
- 外部チェック
- シェルやバイナリ実行をする
- データベースモニタ
- IPMIエージェント
- IPMIによるハードウェア監視
- SSHエージェント
- SSH経由の監視
- TELNETエージェント
- TELNET経由の監視
- JMXエージェント
- 計算アイテム
- トリガーの条件式へ使用され、トリガー関数を使用した計算が可能
その他
■難点- ダッシュボードのカスタマイズの自由度が低い?
■Vagrantでerror出たネタ
CentOS7だと、ネットワークでエラーになる。
ネットワークインターフェース名がデフォルトで「eth0」でなく「enp0s8」なのが原因の模様。
config.vm.network "private_network", ip: "192.168.33.11", virtualbox__intnet: "intnet" config.vm.provision :shell, :inline => "sudo ip addr add 192.168.33.11/24 dev enp0s8; sudo ip link set enp0s8 up"
■参考
Zabbix2系について
http://www.slideshare.net/qryuu/zabbix-var2
Zabbix2.2構築
http://www.slideshare.net/qryuu/22-zabbix
Zabbix、Serf連携
http://www.slideshare.net/zembutsu/serf-orchestration-with-zabbix-operation
公式(日本)
http://www.zabbix.jp/documents/
今度見る
http://www.sraoss.co.jp/technology/zabbix/introduction/01-firststep.php
http://www.sraoss.co.jp/technology/zabbix/introduction/02-2ndstep.php
http://www.sraoss.co.jp/technology/zabbix/introduction/03-3rdstep.php
http://knowledge.sakura.ad.jp/tech/585/
http://tech-sketch.jp/?s=zabbix
https://blog.apar.jp/zabbix/1046/
http://solaris10.sakura.ne.jp/index.cgi?page=Zabbix%A5%A8%A1%BC%A5%B8%A5%A7%A5%F3%A5%C8%A4%CE%C0%DF%C4%EA%28%A5%B9%A5%BF%A5%F3%A5%C9%A5%A2%A5%ED%A5%F3%A5%C7%A1%BC%A5%E2%A5%F3%29
http://www.atmarkit.co.jp/ait/spv/0911/19/news108.html