Zabbixのインストールについてまとめます。
目次
Zabbixとは
- サーバーやネットワークの状態監視、障害検知、それら通知するための管理ツールです。
- オープンソース・ソフトウェア(OSS)として開発されており、無料でダウンロードできます。
- 以下のような項目を監視できます。
死活監視、リソースの使用率(CPU、メモリ、ディスク)、サービス稼働状況、Web動作状況 - エージェントを用いずにSNMPで監視することも可能です。
- 専門書籍や日本ユーザーZabbixユーザー会等のコミュニティが充実しているので、運用に必要な情報が得られやすいです。
目標
- Zabbixによる監視サーバーの構築(Zabbixのインストール、管理画面ブラウザの起動)
- なるべく時間と手間をかけないこと。(慣れれば所要時間20〜30分)
環境
MacOSにて、VagrantとVirtualBoxで構築したCentOS7に、Zabbixをインストールします。
ここでは詳細は割愛しますが、Virtualboxを直接いじるよりは、VagrantでCentOSを構築した方が、複数台のマシン構築、ならびに、インターネット、ホストOS、ゲストOS同士の接続が簡単にできます。
ホストOS | MacOS Mojave 10.14.6 |
ゲストOS | CentOS 7.6.1810 ※Vagrant と Virtualbox で構築 ※インターネットとホストOSへの接続、ゲストOS同士の接続も可能。 |
Zabbixサーバー | 3.4.15 |
Webサーバー | Apache 2.4.6(CentOS7に標準搭載) |
DBサーバー | MariaDB 5.5.65 (CentOS7に標準搭載) |
Webブラウザ | Google Chrome バージョン: 83.0.4103.61(Official Build) (64 ビット) |
参考にした記事
さくらのナレッジ
ITインフラ監視入門~Zabbixインストール編~ – 「クラウド時代だから必要なITインフラ基礎知識」(5)
https://knowledge.sakura.ad.jp/12446/
インストール手順
スピード優先のため、OSアップデートは飛ばします。
Zabbixと各プログラムのインストール
Zabbix等のプログラムのインストールを行い、MariaDBへログインします。
Zabbixをインストールします。(動作確認も兼ねて、本来は監視対象向けのzabbix-agentもインストールします。)
[root@localhost]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
[root@localhost]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web-japanese
[root@localhost]# yum -y install zabbix-agent
MariaDBを起動し、ログインします。
Zabbix用データベース作成と設定
MariaDBにログイン後、Zabbixのデータベースを作成します。
混乱しやすいですが、MariaDBのroot用と、Zabbixデータベース用と、2種類のパスワードを設定します。
パスワードを忘れたりすると、MariaDBの初期化やトラブルシューティングをする羽目になるので、慎重に行いましょう。
もし分からなくなったら、最初からやり直す方が早いかもしれません。
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by '【Zabbix管理画面で使用するパスワード】';
MariaDB [(none)]> UPDATE mysql.user SET Password=PASSWORD('【MariaDBのrootパスワード】') WHERE User='root';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;
- UTF-8で”zabbix”という名称のデータベースを作成します。
- zabbixユーザを作成します。( GRANT 文で”zabbix.*”にマッチする権限を”zabbix@localhost”に与えます。)
- ここで、ブラウザのZabbix管理画面で使用するパスワードを設定します。
- MariaDBのrootパスワードを設定し、”FLUSH PRIVILEGES”で権限変更をデータベースに反映します。
- 終了します。
Zabbix用のデータベース作成後は、Zabbix起動に必要な設定を行います。
★Zabbix用に圧縮されたSQLファイル(create.sql.gz)をMySQLにインポートします。
紛らわしいですが、下記の"-p"の後は、データベース名"zabbix"を入力し、その後に上記で決めたパスワードを入力します。
[root@localhost]# cd /usr/share/doc/zabbix-server-mysql-3.4.4/
[root@localhost]# zcat create.sql.gz | mysql -u zabbix -p zabbix
Enter password: 【Zabbix管理画面で使用するパスワード】】
★Zabbixサーバーの設定ファイルに上記で決めたパスワードを入力します。
[root@localhost]# vi /etc/zabbix/zabbix_server.conf
---
# DBPassword=
↓
DBPassword= 【Zabbix管理画面で使用するパスワード】
hoge
[root@localhost]# cd /usr/share/doc/zabbix-server-mysql-3.4.4/
[root@localhost]# zcat create.sql.gz | mysql -u zabbix -p zabbix
[root@localhost]# vi /etc/zabbix/zabbix_server.conf
タイムゾーンの設定(Apache)
Zabbixの管理画面で表示するタイムゾーンを東京に設定します。
[root@localhost]# vi /etc/httpd/conf.d/zabbix.conf
---
# php_value date.timezone Europe/Riga
↓
php_value date.timezone Asia/Tokyo
ロケールとSELinuxの設定
参考にした「さくらのナレッジ」では記載はありませんが、私の環境では、以下2つを追加で設定しました。
- Zabbix管理画面の日本語表示化
- Zabbix管理画面上での起動有効化(SELinuxの無効化)
※SELinuxとはセキュリティ関連のLinuxカーネルの制御機能です。(ディストリビューションではありません。)
★ロケールを日本に設定
[root@localhost]# localedef -f UTF-8 -i ja_JP ja_JP
★SELinuxの無効化(これをすることで、Zabbix管理画面上の「Zabbixサーバーの起動」が「はい」になる。)
[root@localhost]# vi /etc/selinux/config
---
# SELINUX=enforced
↓
SELINUX=disabled
★設定を反映するために再起動
[root@localhost]# reboot
★"Disabled"になっていればOKです。
[root@localhost]# getenforce
Disabled
各サービスの起動
各サービスの起動で、CentOS7での作業は完了です!
★Zabbixサーバーの起動
[root@localhost]# systemctl start zabbix-server
[root@localhost]# systemctl enable zabbix-server
★Webサーバーの起動
[root@localhost]# systemctl start httpd
[root@localhost]# systemctl enable httpd
★ファイアーウォールの起動
[root@localhost]# systemctl start firewalld
[root@localhost]# firewall-cmd --add-service=http --zone=public --permanent
[root@localhost]# firewall-cmd --reload
Zabbix管理画面の設定
ここからはWebブラウザで作業を行います。
私はChromeで動作確認を行いました。
ブラウザのURLに以下を入力します。
http://[サーバのIPアドレス]/zabbix/
Zabbixの管理画面が表示されるまでに、以下のように、いくつかプロセスがあります。
各画面は省略しますが、以下のポイントを押さえて進めば問題ないかと思います。
Zabbix管理画面の設定手順
- 「Welcome to Zabbix 3.4」
「Next Step」をクリックし、次に進みます。 - 「Check of pre-requisites」
全てOKになっていることを確認し、「Next Step」をクリックし、次に進みます。 - 「Configure DB connection」
「Password」に上記で設定した「【Zabbix管理画面で使用するパスワード】」を入力します。「Next Step」をクリックし、次に進見ます。 - 「Zabbix server details」
「Next Step」をクリックし、次に進みます。(「Name」に空欄でOKです。) - 「Pre-installation summary」
「Next Step」をクリックし、次に進みます。 - 「Congratulations! You have sucessfully installed Zabbix frontend」
「Finish」をクリックし、完了します。 - Zabbixログイン画面
以下の初期設定を入力し「Sign In」をクリックします。
username:Admin
Password:zabbix - Zabbix管理画面トップ
画面右上の人型マークをクリックし「ユーザー」タブの「言語」で日本語を選択すれば完了です!Zabbix管理画面トップ
Zabbixのおすすめ本
「Zabbix統合監視実践入門」はZabbixの使用方法を基本から実践まで解説した書籍です。よくある監視例から大規模な監視例まで、さまざまなな事例を挙げてシステム監視の設定例について解説されてます。Zabbixを初めて使う人から、さらに使いこなしたい人まで、インフラ管理の効率化を求める全てのインフラエンジニアにおすすめです。
まとめ
- Zabbixのインストールに当たって、動作検証のためにも、2台以上の仮想マシンを用意しておくのが望ましいです。
(インターネット接続、ホストOS – ゲストOS間の接続、ゲストOS同士の接続が可能だと尚良しです。) - Zabbixのインストールは、CentOS側でのインストール作業と、Zabbix管理画面の設定が必要です。
- Zabbixサーバーのインストール以外に、Webサーバー、データベースなどのインストールが必要です。