Ubuntu 20.04上にzabbixバージョン5.0のインストール

※本サイトはアフィリエイト広告を利用しています。
広告

本記事の概要

インフラエンジニアとして業務に行う場合、各機器(サーバやネットワーク機器)の異常を早期発見して、対処することが求められます。
サーバやネットワーク機器などの稼働監視で使用するzabbixというソフトウェアをインストールします。
今回は前の記事でインストールしたVirtualBox上にUbuntu 20.04をインストールして、その中にzabbixをインストールすることを想定しています。

※本記事の作成日(2021年8月1日)時点での動作確認をしていますが、Webページなどが更新されている可能性があります。適宜読み替えてください。

以下のようなイメージで作成します。
Zabbixの構築の構成イメージ

ソフトウェアの構成

以下のソフトウェアを用いて、zabbixサーバを構築します。

  • VirtualBox(※)
  • Ubuntu 20.04.1 LTS
  • Zabbix 5.0LTS
  • Apache (Webサーバ用のソフトウェア)
  • MySQL (データベース用のソフトウェア)

   ※VirtualBoxのインストール方法が分からない場合は、「仮想基盤構築のためにVirtualboxインストール」をご確認ください。

Zabbixとは

zabbixとは、サーバやネットワーク機器を監視するためのソフトウェアです。
オープンソース・ソフトウェアとして開発されているため、無償で使用することができます。
zabbixでは、ping監視、通信ポート監視、OSの性能監視(CPU、メモリ、ディスクI/Oの負荷)、サービス監視、ログ監視など様々な監視をすることができます。

Ubuntu 20.04のインストール手順

(1) ブラウザを起動して、以下のUbuntuのダウンロードサイトにアクセスします。
   https://www.ubuntulinux.jp/download


(2) 「日本語 Remix イメージのダウンロード」をクリックします。
Ubuntuのインストール(1)

(3) 「ubuntu-ja-20.04.1-desktop-amd64.iso(ISOイメージ)」をクリックして、UbuntuのISOイメージファイルをダウンロードします。
Ubuntuのインストール(2)-2

(4) Virtualboxを起動します。その後、「ツール」をクリックして、「新規」をクリックします。
Ubuntuのインストール(3)

(5) 「名前」、「タイプ」、「バージョン」の3つの値を設定して、「次へ」をクリックします。
Ubuntuのインストール(4)

(6) 「メモリサイズ」を設定して、「次へ」をクリックします。
以下のzabbix公式サイトに「CPUのコア数:2CPU」、「メモリ:2GB」程度あれば動作する旨の記載がありますが、今回は4GBを設定します。
 https://www.zabbix.com/documentation/5.0/manual/installation/requirements
Ubuntuのインストール(5)

(7) 「仮想ハードディスクを作成する」を選択して、「作成」をクリックします。
Ubuntuのインストール(6)

(8) 「VDI(VirtualBox Disk Image)」を選択して、「次へ」をクリックします。
Ubuntuのインストール(7)

(9) 「可変サイズ」を選択して、「次へ」をクリックします。
Ubuntuのインストール(8)

(10) 「仮想ハードディスクのサイズ」を選択して、「作成」をクリックします。
zabbixの環境により異なりますが、今回は「10.00GB」を設定します。
Ubuntuのインストール(9)

(11) 先ほど作成した仮想マシンを選択して、「設定」をクリックします。
Ubuntuのインストール(10)

(12) 「ストレージ」の「コントローラ IDE」のディスクを選択して、右にあるディスクのアイコンをクリックします。
Ubuntuのインストール(11)

(13) 読み込むISOファイルを選択し、「コントローラ IDE」の値が変わったことを確認します。
その後、「OK」をクリックします。
Ubuntuのインストール(12)

(14) 作成した仮想マシンをダブルクリックして、起動します。
Ubuntuのインストール(13)

(15) 読み込みISOファイル(Ubuntu 20.04.1のISOファイル)が選択されていることを確認して、「起動」をクリックします。
Ubuntuのインストール(14)

(16) 「Ubuntu」を選択して、Enterを押します。
Ubuntuのインストール(15)

(17) 「日本語」が選択されていることを確認して、「Ubuntuをインストール」します。
Ubuntuのインストール(16)

(18) キーボードレイアウトに「Japanese」を選択して、「続ける」をクリックします。
Ubuntuのインストール(17)

(19) 「最小インストール」を選択して、「続ける」をクリックします。
Ubuntuのインストール(18)

(20) 「ディスクを削除してUbuntuをインストール」にチェックを付けて、「インストール」をクリックします。
Ubuntuのインストール(19)

(21) 「続ける」をクリックします。
Ubuntuのインストール(20)

(22) 「Tokyo」が入力されていることを確認して、「続ける」をクリックします。
Ubuntuのインストール(21)

(23) あなたの名前、ユーザ名、パスワードを入力して、「続ける」をクリックします。
Ubuntuのインストール(22)

(24) インストールが終わるまでしばらく待って、完了した旨のメッセージが表示されたら、「今すぐ再起動する」をクリックします。
Ubuntuのインストール(23)

(25) ログインするアカウントをクリックして、パスワードを入力してログインします。
Ubuntuのインストール(24)

(26) ログインされたことを確認します。
Ubuntuのインストール(25)

Ubuntu 20.04上にzabbixをインストール

(1) 左下の「・・・」のアイコンをクリックします。
Ubuntu上でzabbixのインストール(1)

(2) 検索のテストボックスに「cmd」を入力します。
Ubuntu上でzabbixのインストール(2)

(3) 「cmd」と入力したら、「端末」が表示されるためクリックして起動します。
Ubuntu上でzabbixのインストール(3)

(4) 以下のコマンドを実行後にパスワードを入力して、特権ユーザ(root)になります。

$ sudo -s


(5) 以下のコマンドを実行して、sshをインストールし、sshが起動していること及び自動起動を有効化します。

# apt install ssh -y
# systemctl status ssh
   →sshが起動していることを示す「Active: active (running)」を出力されることを確認
# systemctl enable ssh


(6) 以下のコマンドを実行して、Zabbixレポジトリのインストール及び最新バージョンにアップデートします。

# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+focal_all.deb
# dpkg -i zabbix-release_5.0-1+focal_all.deb
# apt update -y 
# apt upgrade -y


(7) 以下のコマンドを実行して、zabbixをインストールするためのソフトウェアをインストールします。

# apt install -y zabbix-server-pgsql zabbix-frontend-php php7.4-pgsql zabbix-apache-conf zabbix-agent
# apt install -y postgresql


(8) 以下のコマンドを実行して、データベースの初期設定をします。

# sudo -u postgres createuser --pwprompt zabbix
Enter password for new role:  →パスワードを入力します。
Enter it again:         →パスワードを再度入力します。
# sudo -u postgres createdb -O zabbix zabbix
# zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix


(9) 以下のコマンドを実行して、Zabbizサーバのためのデータベースの設定を変更します。

# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf_org
# vi /etc/zabbix/zabbix_server.conf

iを入力して編集モードに変更して、以下の行を編集します。
【変更前】
# DBPassword=
【変更後】
DBPassword=[パスワードを入力]


(10) 以下のコマンドを実行して、タイムゾーンのリージョンを設定します。

# cp /etc/zabbix/apache.conf /etc/zabbix/apache.conf_org
# vi /etc/zabbix/apache.conf

iを入力して編集モードに変更して、以下の行を編集します。
【変更前】
# php_value date.timezone Europe/Riga
【変更後】
php_value date.timezone Asia/Tokyo


(11) 以下のコマンドを実行して、Zabbixサーバとエージェントのプロセスを起動します。

# systemctl restart zabbix-server zabbix-agent apache2
# systemctl enable zabbix-server zabbix-agent apache2


(12) ブラウザを起動して、「http://[zabbixサーバのIPアドレス]/zabbix」にアクセスします。

(13) 「Next step」をクリックします。
Ubuntu上でzabbixのインストール(4)

(14) 全てのステータスがOKになっていることを確認して、「Next step」をクリックします。
Ubuntu上でzabbixのインストール(5)

(15) 「Database port:5432」、「Password:[設定したパスワード]」を入力して、「Next step」をクリックします。
Ubuntu上でzabbixのインストール(6)

(16) 「Next step」をクリックします。
Ubuntu上でzabbixのインストール(7)

(17) 設定した値を確認して、「Next step」をクリックします。
Ubuntu上でzabbixのインストール(8)

(18) 以下の画面が表示された場合、インターネットからファイルをダウンロードして、「/usr/share/zabbix/conf/zabbix.conf.php」に保存します。その後、「Finish」をクリックします。
Ubuntu上でzabbixのインストール(9)

(19) インストールが成功した旨のメッセージが表示されていることを確認して、「Finish」をクリックします。
Ubuntu上でzabbixのインストール(10)

(20) 「ユーザ名:Admin」、「パスワード:zabbix」を入力して、「Sign in」ボタンをクリックします。
Ubuntu上でzabbixのインストール(11)

(21) ダッシュボード画面が表示されることを確認します。
Ubuntu上でzabbixのインストール(12)

【補足】 zabbixによるSNMP監視の設定

もしzabbixサーバを用いてSNMP trapを用いた監視をする場合、本手順を実施する必要があります。
本手順はzabbixの公式サイトである「https://www.zabbix.com/documentation/2.0/jp/manual/config/items/itemtypes/snmptrap」を参考にして作成しています。

(1) 以下のコマンドを実行して、zabbixでSNMP監視をするために必要なパッケージをインストールします。

# apt install -y snmpd snmp libsnmp-dev snmptrapd snmp-mibs-downloader libsnmp-perl


(2) 以下のコマンドを実行して、SNMP trapを処理するためのスクリプトを格納します。

# wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.9.tar.gz
# tar zxvf zabbix-5.0.9.tar.gz
# cp -p zabbix-5.0.9/misc/snmptrap/zabbix_trap_receiver.pl /usr/local/bin/


(3) 以下のコマンドを実行して、スクリプトの実行結果のログの格納先を設定します。

# vi /usr/local/bin/zabbix_trap_receiver.pl

【変更前】
$SNMPTrapperFile = '/tmp/zabbix_traps.tmp';
$DateTimeFormat = '%H:%M:%S %Y/%m/%d';
【変更後】
$SNMPTrapperFile = '/var/log/snmptrap/snmptrap.log';
$DateTimeFormat = '%H:%M:%S %Y/%m/%d';


(3) 以下のコマンドを実行して、スクリプトに実行権限を付与します。

# chmod +x /usr/local/bin/zabbix_trap_receiver.pl


(4) 以下のコマンドを実行して、スクリプトのログ格納場所のディレクトリを作成します。

# mkdir /var/log/snmptrap


(5) 以下のコマンドを実行して、snmptrapdの設定ファイルの最後の行に追記します。以下の設定値は、SNMPのバージョンはSNMPv2で、コミュニティ名が「public」を使用することを想定しています。

# vi /etc/snmp/snmptrapd.conf

【追記内容】
authCommunity log,execute,net public
perl do "/usr/local/bin/zabbix_trap_receiver.pl";


(6) 以下のコマンドを実行して、snmptrapdサービスの起動及び自動起動をします。

# systemctl start snmptrapd
# systemctl enable snmptrapd


(7) 以下のコマンドを実行して、SNMP trapの送信テストを実行すると、ログファイルに格納されたことを確認します。

# snmptrap -v 2c -c public 127.0.0.1 '' .1.3.6.1.6.3.1.1.5.3

# cat /var/log/snmptrap/snmptrap.log
  ⇒SNMP trapのログが出力されることを確認します。


(8) 以下のコマンドを実行して、zabbixサーバ側でSNMP trapの受信を有効にします。

# vi /etc/zabbix/zabbix_server.conf

【変更前】
# StartSNMPTrapper=0
【変更後】
StartSNMPTrapper=1


(9) 以下のコマンドを実行して、zabbix-serverサービスを再起動します。

# systemctl restart zabbix-server


(10) 以下のコマンドを実行して、ログローテーションを有効にします。

# vi /etc/logrotate.d/snmptrap

【設定内容】
/var/log/snmptrap/snmptrap.log {
    daily
    rotate 20
    compress
    delaycompress
    missingok
    notifempty
}


zabbix関連の記事

zabbix関連の記事は以下の通りです。
必要に応じて、ご確認ください。

Noタイトル記事の概要
1zabbixのハンズオン形式での勉強
(構築、監視設定、アラート確認)
zabbixのおすすめの勉強方法をご紹介します。
2仮想基盤構築(Virtualboxインストール)
Virtualboxバージョン6
Virtualboxバージョン7
zabbixサーバを構築するための準備として、
仮想基盤のソフトウェアであるVirtualboxを
インストールします。
3zabbixサーバのインストール

〇zabbixバージョン5.0
[仮想環境に構築]
CentOS Stream 8Ubuntu 20.04
[クラウド環境に構築]
さくらインターネットConoHa VPS
カゴヤ

〇zabbixバージョン6.0
[仮想環境に構築]
CentOS Stream 8

〇zabbixバージョン7.0
[仮想環境に構築]
CentOS Stream 9
zabbixサーバを構築します。
4zabbixの監視設定の流れzabbixの監視設定の流れを理解します。
5zabbixの推奨の監視項目と
zabbix agentのインストール
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
zabbixにて監視する推奨の項目と、
監視対象サーバにzabbix agentを
インストールする手順を理解します。
5-1死活監視(ping監視)
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
死活監視の設定をします。
5-2TCP通信ポート応答監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
TCPの通信ポートの応答有無を監視する
設定をします。
5-3CPU使用率監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
サーバのOSのCPU使用率を監視する
設定をします。
5-4メモリ空き容量監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
メモリの空き容量を監視する設定をします。
5-5ドライブのディスク空き容量監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
ドライブのディスク空き容量を
監視する設定をします。
5-6プロセス監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
プロセスの停止を監視する設定をします。
5-7ログファイル監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
ログファイル中に特定のメッセージが
出力されたか監視します。
5-8ファイルの変更(チェックサム)監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
ファイルの内容が変わったことを
監視します。
5-9Windows OSのサービス状態監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
Windows OSのサービスの起動状態を
監視します。
5-10Windowsイベントログ監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
Windowsイベントログに特定のログが
出力されたか監視します。
5-11Webシナリオ(Webページ監視)
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
Webアクセス時のHTTPステータスコードが
200番であることを監視します。
5-12SNMP trap監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
機器から送信されたSNMP trapを
受信したことを監視します。
5-13ネットワーク機器監視
  ・zabbixバージョン5.0の場合
  ・zabbixバージョン6.0の場合
  ・zabbixバージョン7.0の場合
ネットワーク機器の監視設定をします。
6zabbixの監視データの確認と
メール通知設定
監視データの確認方法を理解します。
また、障害発生時のアラートメールの
通知設定をします。
7zabbixの詳細設計書(パラメータシート)の
サンプル
zabbixのパラメータシートのサンプルを
記載します。
8【仕事依頼】zabbixサーバの
要件定義、設計、構築
zabbixの構築作業をご依頼いただける場合の
作業の流れなどを記載します。


zabbix関連の書籍

zabbixに関する設定を網羅的および詳細に学びたい場合、以下の書籍がおすすめです。
ページ数が多い書籍ですので、分からないことを調べる辞書の役割にもなります。