【Zabbix】Zabbix5.0をCentOS7にyumを使ってインストールする方法

どうも、Tです。

運用・監視系のツールは苦手分野なのであまり関わらないように生きてきたのですが、今回SNMPの検証をする必要がでてきていました。今まで、検証の際はインストールするだけの簡易ツール(TWSNMPとか)だったのですが、時間もあるのでちゃんとしたツールを1つでも覚えるかと思い立った次第です。

ということで、仕事で関わりの多いZabbixをインストールしてみることにしました。

良く調べずにCentOS7にZabbixをインストールしましたが、CentOS8にしましょう。後々の手順でわかりますが、CentOS7にすることにより色々面倒です。

スポンサーリンク
アドセンス1

やりたいこと

Zabbixサーバーをインストールして、監視できる環境が欲しいです。

Zabbixサーバー・Zabbixエージェントのインストールまでやり方を知りたいです。

前提条件

  • OS:CentOS7.6
  • Zabbix:5.0.2

CnetOSは下記の設定を行っています。

  • 時刻同期設定
  • Firewalld無効
  • SELinux無効

事前準備

各コンポーネントの必要なバージョン

必要なバージョンや対応状況については、Manualページの「4. Installation→2 Requirements」に記載されているので読んでおきましょう。

This topic does not exist yet.

Zabbix社のyumリポジトリ登録

Zabbix社のyumを利用するため下記コマンドでyumを登録します。

#rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
上記のrpmコマンドは、下記のサイトからプラットフォームを選択することにより取得できます。
ダウンロード

yum search zabbixコマンドでリポジトリを利用できることを確認します。

 [root@zabbix ~]# yum search zabbix
読み込んだプラグイン:fastestmirror
Determining fastest mirrors
* base: mirrors.cat.net
* extras: mirrors.cat.net
* updates: ty1.mirror.newmediaexpress.com
base | 3.6 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
zabbix | 2.9 kB 00:00:00
zabbix-non-supported | 951 B 00:00:00
(1/5): base/7/x86_64/group_gz | 153 kB 00:00:00
(2/5): extras/7/x86_64/primary_db | 205 kB 00:00:00
(3/5): updates/7/x86_64/primary_db | 3.7 MB 00:00:00
(4/5): base/7/x86_64/primary_db | 6.1 MB 00:00:00
(5/5): zabbix/x86_64/primary_db | 25 kB 00:00:00
zabbix-non-supported/x86_64/primary | 1.6 kB 00:00:00
zabbix-non-supported 4/4
============================================================================================================ N/S matched: zabbix ============================================================================================================
pcp-export-pcp2zabbix.x86_64 : Performance Co-Pilot tools for exporting PCP metrics to Zabbix
pcp-export-zabbix-agent.x86_64 : Module for exporting PCP metrics to Zabbix agent
zabbix-agent.x86_64 : Old Zabbix Agent
zabbix-agent2.x86_64 : New Zabbix Agent
zabbix-get.x86_64 : Zabbix Get
zabbix-java-gateway.x86_64 : Zabbix java gateway
zabbix-js.x86_64 : Zabbix JS
zabbix-proxy-mysql.x86_64 : Zabbix proxy for MySQL or MariaDB database
zabbix-proxy-pgsql.x86_64 : Zabbix proxy for PostgreSQL database
zabbix-proxy-sqlite3.x86_64 : Zabbix proxy for SQLite3 database
zabbix-release.noarch : Zabbix repository configuration
zabbix-sender.x86_64 : Zabbix Sender
zabbix-server-mysql.x86_64 : Zabbix server for MySQL or MariaDB database
zabbix-server-pgsql.x86_64 : Zabbix server for PostgresSQL database

Name and summary matches only, use "search all" for everything.

インストール

データベースインストール・設定

データベースのMariaDBをインストールします。

[root@zabbix ~]# yum install mariadb-server

MariaDBを設定します。

# vi /etc/my.cnf.d/server.cnf

[mysqld]セクションに下記の設定をしました。

[mysqld]
character-set-server=utf8
collation-server=utf8_bin
skip-character-set-client-handshake
innodb_file_per_table
innodb_buffer_pool_size=512M
innodb_log_file_size=16M
innodb_log_files_in_group=2

MariaDBを起動します。自動起動設定も入れておきます。

# systemctl start mariadb
# systemctl enable mariadb

MariaDBの初期設定をします。

# mysql_secure_installation

Zabbix用のデータベースとユーザー作成を作成します。

#コメント:MariaDBにログイン
# mysql -uroot -p

#コメント:データベース名「zabbix」作成
MariaDB [(none)]> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

#コメント:ユーザー「zabbix」を作成してzabbixデータベースへの権限を付与
MariaDB [(none)]> GRANT all privileges ON zabbix.* TO zabbix@localhost IDENTIFIED BY '<パスワード入力>';

#MariaDBをログアウト
MariaDB [(none)]> exit

Zabbixサーバーインストール

Zabbixサーバーをインストールします。

Zabbixは利用するデータベースの種類によってパッケージが異なります。今回はMariaDB(MySQL)を利用しているため、zabbix-server-mysqlをインストールします。

# yum install zabbix-server-mysql

データベースへの初期データインポート

Zabbixが利用するデータベース(テーブル)を準備します。

下記に初期データがあるので、移動します。

# cd /usr/share/doc/zabbix-server-mysql-5.0.2/

下記のコマンドでデータベースにテーブルとデータをインポートします。

# zcat create.sql.gz | mysql -uzabbix -p zabbix
Enter password: #コメント:ここはzabbixユーザーのパスワードを入力

Zabbixサーバーの設定

Zabbixの設定ファイルを修正します。

# vi /etc/zabbix/zabbix_server.conf

98行目でDB名を指定します。上が修正前、下が修正後です。

# DBName=
↓
DBName=zabbix

114行目でDBユーザーを指定します。上が修正前、下が修正後です。

# DBUser=
↓
DBUser=zabbix

124行目でDBユーザーを指定します。上が修正前、下が修正後です。

# DBPassword=
↓
DBPassword=<zabbixユーザーのパスワード>

Zabbixサーバーを起動して、自動起動を有効にします。

# systemctl start zabbix-server
# systemctl enable zabbix-server

Zabbixサーバーの起動状態を確認します。Active: active (running) になっていれば起動しています。

# systemctl status zabbix-server
● zabbix-server.service - Zabbix Server
Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)
Active: active (running) since 金 2020-08-07 13:44:42 JST; 39s ago
-以下割愛-

Webインターフェースインストール

Zabbix5.0からPHP7.2以降が必要ですが、CentOS7の標準リポジトリのPHPは5.4のため、The Software Collections ( SCL ) Repositoryを使ってPHP7.2をインストールする必要があります。SCLはCentOSコミュニティがCentOSのリリースとは別のライフサイクルで管理しているアドオンリポジトリです。

SCLリポジトリをインストールします。

yum install centos-release-scl

Webインターフェースパッケージを導入できるようにzabbix-frontendを有効にします。

# vi /etc/yum.repos.d/zabbix.repo

enblaedを1に変更します。

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

Webインターフェースをインストールします。

# yum install zabbix-web zabbix-web-mysql-scl zabbix-apache-conf-scl zabbix-web-japanese

*-sclというパッケージは、SCLのPHP 7.2と組み合わせて使用する際にインストールするパッケージです。

Webインターフェースもデータベースの種類によってパッケージが異なります。今回はMariaDB(MySQL)を利用しているため、zabbix-web-mysqlをインストールします。

PHPのタイムゾーンを変更します。

# vi /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

最終行のtimezonを日本時間にします。上が修正前、下が修正後です。

; php_value[date.timezone] = Europe/Riga
↓
php_value[date.timezone] = Asia/Tokyo

PHP-FPMを起動し、自動起動も有効にします。

SCL版のPHP-FPMは、OS同梱版とサービス名が異ことなります。

# systemctl start rh-php72-php-fpm
# systemctl enable rh-php72-php-fpm

Webサーバー(apache)を起動し、自動起動も有効にします。

# systemctl start httpd
# systemctl enable httpd

初期セットアップ

Webブラウザで下記のURLにアクセスして初期セットアップを進めます。

http://<ZabbixサーバIPアドレス>/zabbix/

Next stepをクリックします。

すべてOKになっていることを確認して、Next stepをクリックします。

データベースユーザーZabbixのパスワードを入力して、Next stepをクリックします。

Zabbixのホスト名を入力して、Next stepをクリックします。ちゃんと確認してませんが、特に入力しなくても大丈夫っぽいです。

Next stepをクリックします。

Finishをクリックします。

ログイン画面が表示されます。

初期設定では、Username:Admin Passowrd:zabbixです。

ユーザー名がAが大文字なので注意。

ログインできました。

日本語化

英語が苦手なので日本語化しておきます。

User settingsをクリックします。

UserタブのLanguageをJapanese(ja_JP)に変更してUpdateをクリックします。

日本語になりました。

Zabbixエージェントインストール

Zabbixエージェントについて

ZabbixエージェントとZabbix2エージェントの2つがるようです。

Zabbixエージェント2を使ってみよう - Qiita
Zabbix Advent Calendar 2019の10日目の記事です。Zabbix関連のニュースをご覧になっていらっしゃる方は、「ZabbixエージェントがGo言語で書かれるようになった」と…

エージェント2の方が色々改善されてるようですが、現在2020年8月時点では、サポートプラットフォームが少ないので、本記事ではZabbixエージェントを使っています。

3 Agent 2

エージェント2のサポート状況。Windowsがまだ完全にされていないのがつらい。

エージェントのサポート状況。網羅されてる。

監視対象のLinuxOSにインストール

LinuxにZabbixエージェントをインストールします。

Zabbix社のリポジトリを利用するため下記コマンドでyumを登録します。

#rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.

zabbix-agentをインストールします。

# yum install zabbix-agent

設定ファイルを修正します。

# vi /etc/zabbix/zabbix_agentd.conf

117行目でZabbixサーバーのIPアドレスを指定します。上が修正前、下が修正後です。

ここで指定したホストからの監視接続のみ許可されます。

Server=127.0.0.1
↓
Server=192.168.10.10

158行目でZabbixサーバーのIPアドレスを指定します。アクティブチェックの際に利用されます。上が修正前、下が修正後です。

ServerActive=127.0.0.1
↓
ServerActive=192.168.10.10

169行目で自身のホスト名を指定します。上が修正前、下が修正後です。

Hostname=Zabbix server
↓
Hostname=util-centos76

エージェントを起動し、自動起動も有効にします。

# systemctl start zabbix-agent
# systemctl enable zabbix-agent

監視対象のWindowsOSにインストール

WindowsにZabbixエージェントをインストールします。Windowsの場合は、エージェントファイルのダウンロードが必要です。

下記のページに移動して、必要な情報を選択してエージェントファイルをダウンロードします。

Download Zabbix agents
Download and install pre-compiled Zabbix agents

エージェントファイルを解凍すると中にbinフォルダとconfフォルダがあります。

Zabbixエージェントのインストールは手動で行う必要があります。

インストール先のZabbix Agentフォルダを作成します。今回は、「C:\Program Files\Zabbix Agent」に作りました。

解凍したbinフォルダの中の「zabbix_agentd.exe」「zabbix_get.exe」「zabbix_sender.exe」ファイルをインストールフォルダ「「C:\Program Files\Zabbix Agent」」にコピーします。

解凍したconfフォルダの中のzabbix_agentd.confをテキストエディタで開きます。

105行目でZabbixサーバーのIPアドレスを指定します。上が修正前、下が修正後です。

ここで指定したホストからの監視接続のみ許可されます。

Server=127.0.0.1
↓
Server=192.168.10.10

146行目でZabbixサーバーのIPアドレスを指定します。アクティブチェックの際に利用されます。上が修正前、下が修正後です。

ServerActive=127.0.0.1
↓
ServerActive=192.168.10.10

157行目で自身のホスト名を指定します。上が修正前、下が修正後です。

Hostname=Windows host
↓
Hostname=utilw10pro

zabbix_agentd.confを保存して、インストールフォルダ「「C:\Program Files\Zabbix Agent」」にコピーします。

管理者権限でコマンドプロンプトを起動して、コマンド「zabbix_agentd.exe -c “C:\Program Files\Zabbix Agent\zabbix_agentd.conf” -i」を実行するとインストールが開始します。

C:\WINDOWS\system32>cd C:\Program Files\Zabbix Agent

C:\Program Files\Zabbix Agent>zabbix_agentd.exe -c "C:\Program Files\Zabbix Agent\zabbix_agentd.conf" -i

zabbix_agentd.exe [5368]: service [Zabbix Agent] installed successfully

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

サービス一覧を見るとZabbix Agentが登録されています。がサービスが停止状態なので手動で起動するかOSを再起動します。

参考

Zabbix Community Area
The shared knowledge is priceless when there is a friendly and open community, that makes it grow. Join co-thinkers at Zabbix Forum and social media groups.
Zabbix 5.0をCentOS 7にインストール(SCL編) - Qiita
ついに、待望のZabbix 5.0がリリースされたようですので手順を公開します。先にCentOS 8での手順を紹介しましたので、今度は、CentOS 7に極力標準のパッケージを使用して環境を構築し…
ITインフラ監視入門~Zabbixインストール編~ – 「クラウド時代だから必要なITインフラ基礎知識」(5) | さくらのナレッジ
こんにちは、さくらインターネットの大喜多です。 今回より数回にわたり、オープンソースの監視ソフトウェア「Zabbix」を用いたITインフラの監視について解説してまいります。今回は、Zabbix Serverのセットアップ
Zabbix 4.0のインストール
Zabbix 4.0 のインストール方法を解説しています。
Zabbix 5.0 インストール手順(CentOS7 / Apache2.4 / PHP7.2 / MariaDB5.5) | 電算星組
はじめに前回は、Zabbix 5.0をCentOS 8.1上で構築する手順を紹介しました。Zabbix 5.0 インストール手順(CentOS8 / Apache2.4 / PHP7.2 / MySQL8.0)Zabbix 5.0の動作要件としてPHPは7.2以上が必要となるため、CentOS 8またはRHEL 8以上...

まとめ

PHPバージョンの問題で、CentOS7だと少々面倒でした。CentOS8を使えばよかったと途中で気づいたのですが、突き進みました。

Zabbixエージェントを入れても、Zabbixサーバー側には自動登録されないので手動で設定が必要なのですが、力尽きました・・・・。ホスト登録は別記事にまとめたいと思います・・・・。

スポンサーリンク
アドセンス1
アドセンス1
ブログランキング・にほんブログ村へ

シェアする

フォローする