Zabbixのインストール履歴です。CentOS7のyum版です。
Zabbixとは
Zabbixはオープンソース・ソフトウェアとして開発されており、無料でダウンロードいただくことが可能です。
より
Zabbixでは、サーバーの状態監視と、異常検出を行います。
サーバーの状態監視は、
・MRTG
・Cacti
・Munin
などの無料ツールがあります。
流石に、MRTGは、過去の産物でしょう・・・
いずれも、Zabbixと同様に、SNMPの情報をサーバーから取得して、見やすいようにグラフ化をします。
Zabbixサーバーとして1台のサーバーが必要です。
その他監視したいサーバーに「Zabbix Agent」をインストールします。
Zabbixサーバーでは、MySQL(もしくは、PostgreSQL)、Web(Apapche、もしくはNginx)が必要です。
Zabbix CentOS版
この原稿作成時点で、Zabbix 5.2 が最新版(安定版)です。
CentOS7にyum でインストールできる最新版は、Zabbix 5.0です。
最新版の、Zabbix 5.2 を、yumでインストールできるのは、CentOS8になります。
つまり、CentOS7では、前のバージョンの、Zabbix 5.0しかありません。
Zabbix 5.2の最新版を、CentOS7に入れるには、ソースからインストールするしかありません。
ソース版のインストールは、↑で。
↑ 「Zabbix Agent」の設定
Zabbix 基本インストール
ここでは、
・対象は、CentOS7、MySQLバージョン(PostgreSQLバージョンもあります)
・MySQL 5.7 では、既に稼働中
・WEBシステムは、既に稼働中
を前提としています。
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
↑リポジトリをインストールします。
# yum install zabbix-server-mysql zabbix-agent (略) Dependencies Resolved ============================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================== Installing: zabbix-agent x86_64 5.0.9-1.el7 zabbix 456 k zabbix-server-mysql x86_64 5.0.9-1.el7 zabbix 2.8 M Installing for dependencies: OpenIPMI x86_64 2.0.27-1.el7 base 243 k OpenIPMI-libs x86_64 2.0.27-1.el7 base 523 k OpenIPMI-modalias x86_64 2.0.27-1.el7 base 16 k fping x86_64 3.10-4.el7 epel 46 k libtool-ltdl x86_64 2.4.2-22.el7_3 base 49 k unixODBC x86_64 2.3.1-14.el7 base 413 k Transaction Summary ============================================================================================================================================================== Install 2 Packages (+6 Dependent packages) Total download size: 4.5 M Installed size: 12 M Is this ok [y/d/N]: (略) Installed: zabbix-agent.x86_64 0:5.0.9-1.el7 zabbix-server-mysql.x86_64 0:5.0.9-1.el7 Dependency Installed: OpenIPMI.x86_64 0:2.0.27-1.el7 OpenIPMI-libs.x86_64 0:2.0.27-1.el7 OpenIPMI-modalias.x86_64 0:2.0.27-1.el7 fping.x86_64 0:3.10-4.el7 libtool-ltdl.x86_64 0:2.4.2-22.el7_3 unixODBC.x86_64 0:2.3.1-14.el7 Complete!
↑Zabbixサーバー(MySQLバージョン)の「zabbix-server-mysql」と
「Zabbix Agent」がインストールできました。
MySQL 初期設定
# mysql -u root -p
↑ rootで、入ります。
CREATE DATABASE zabbix_db character set utf8 collate utf8_bin;
↑ DBを作成します。「character set utf8 collate utf8_bin」は重要です。
違う文字コードを指定した場合、
Zabbix supports only "utf8_bin" collation. Database "zabbix_db" has default collation "utf8_general_ci" character set name or collation name that is not supported by Zabbix found in 442 column(s) of database "zabbix_db" only character set "utf8" and collation "utf8_bin" should be used in database
↑ というエラーが出てきます。
insert into db (host,db,user) values ('localhost','zabbix_db','zabbix_user'); update db set Select_priv='Y',Insert_priv='Y',Update_priv='Y',Delete_priv='Y',Create_priv='Y',Drop_priv='Y',Grant_priv='Y',References_priv='Y',Index_priv='Y',Alter_priv='Y',Create_tmp_table_priv='Y',Lock_tables_priv='Y',Create_view_priv='Y',Show_view_priv='Y',Create_routine_priv='Y',Alter_routine_priv='Y',Execute_priv='Y',Event_priv='Y',Trigger_priv='Y' where db='zabbix_db'; insert into user (host,User,authentication_string,ssl_cipher,x509_issuer,x509_subject) values ('localhost','zabbix_user',password('(パスワード)'),'','','');
↑ DB情報を設定します。
# zcat /usr/share/doc/zabbix-server-mysql-5.0.9/create.sql.gz | mysql -u zabbix_user -p zabbix_db Enter password: (パスワード) #
↑ zabbix用のDBを作成したデーターベスにインストールします。
Zabbix サーバー設定
# vi /etc/zabbix/zabbix_server.conf #DBName=zabbix ↓ DBName=zabbix_db #DBUser=zabbix ↓ DBUser=zabbix_user # DBPassword= ↓ DBPassword=(パスワード) # DBSocket= DBSocket=/var/lib/mysql/mysql.sock
↑ DB情報を設定します。
Zabbix サーバー起動
# systemctl start zabbix-server # systemctl status zabbix-server ● zabbix-server.service - Zabbix Server Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2021-XX-XX XX:XX:XX JST; 4min 55s ago Process: 2022 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 2024 (zabbix_server) CGroup: /system.slice/zabbix-server.service (略)
↑ 無事、Zabbixサーバーが、起動しました。
Zabbix Agent 起動
# systemctl start zabbix-agent # systemctl status zabbix-agent ● zabbix-agent.service - Zabbix Agent Loaded: loaded (/usr/lib/systemd/system/zabbix-agent.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2021-XX-XX XX:XX:XX JST; 28s ago Process: 2107 ExecStart=/usr/sbin/zabbix_agentd -c $CONFFILE (code=exited, status=0/SUCCESS) Main PID: 2109 (zabbix_agentd) CGroup: /system.slice/zabbix-agent.service ├─2109 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf ├─2110 /usr/sbin/zabbix_agentd: collector [idle 1 sec] ├─2111 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection] ├─2112 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection] ├─2113 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection] └─2114 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
↑無事、Zabbix Agentも、起動しました。
WEB、インストール / 設定
Zabbix のWEBコンテンツは、「zabbix-web」に入っています。
# yum install zabbix-web Loaded plugins: fastestmirror Repository google-chrome is listed more than once in the configuration Loading mirror speeds from cached hostfile * base: mirrors.cat.net * centos-sclo-rh: mirrors.cat.net * centos-sclo-sclo: mirrors.cat.net * epel: hk.mirrors.thegigabit.com * extras: mirrors.cat.net * remi-php73: mirror.sjc02.svwh.net * remi-safe: mirror.sjc02.svwh.net * updates: mirrors.cat.net Resolving Dependencies --> Running transaction check ---> Package zabbix-web.noarch 0:5.0.9-1.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================== Package Arch Version Repository Size ============================================================================================================================================================== Installing: zabbix-web noarch 5.0.9-1.el7 zabbix 3.2 M Transaction Summary ============================================================================================================================================================== Install 1 Package Total download size: 3.2 M Installed size: 19 M Is this ok [y/d/N]: y Downloading packages: zabbix-web-5.0.9-1.el7.noarch.rpm | 3.2 MB 00:00:01 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : zabbix-web-5.0.9-1.el7.noarch 1/1 Verifying : zabbix-web-5.0.9-1.el7.noarch 1/1 Installed: zabbix-web.noarch 0:5.0.9-1.el7 Complete!
↑ インストールできました。
コンテンツは、「/usr/share/zabbix」にインストールされます。
「/usr/share/zabbix」を、コピーなどで、docrootにして、WEBを設定します。
↑ WEBにアクセスします。右下の「Next Step」を押します。
↑ phpの設定が、Zabbixの要件に合っていないです。
Minimum required limit on execution time of PHP scripts is 300 (configuration option "max_execution_time"). Minimum required limit on input parse time for PHP scripts is 300 (configuration option "max_input_time"). PHP bcmath extension missing (PHP configuration parameter --enable-bcmath).
↑ 今回、3つ設定が違っています。
max_execution_time = 30 ↓ max_execution_time = 300 max_input_time = 60 ↓ max_input_time = 300
↑ 「php.ini」の設定を変更します。
./configure (略)--enable-bcmath
↑ 今回の、phpは、ソースインストールをしたので、「configure」で「–enable-bcmatch」を指定して、コンパイルをしなおします。
↑ 画面を再読み込みすると、合格となりましたので、「Next Step」を押します。
↑ DB情報を入れます。画面では、「socket」を指定するところがありません。
「php.ini」で、
mysqli.default_socket = ↓ mysqli.default_socket =/var/lib/mysql/mysql.sock
↑ と設定をします。
そして、「Next Step」を押します。
↑ ここは、このまま、「Next Step」を押します。
↑ 確認画面が出てくるので、確認をして、「Next Step」を押します。
↑ 「/etc/zabbix/web/zabbix.conf.php」に書き込めなくエラーになります。
「Download the configuration file」をおして、その内容を「/etc/zabbix/web/zabbix.conf.php」に保存をして、再読み込みをします。
↑ うまくインストールができました。「Finish」を押します。
↑ユーザ名:「Admin」、パスワード:「zabbix」を入れます。
↑ 画面が、英語なので、日本語にします。左下の「User setting」を選びます。
↑ 「Language」を日本語にして、「Update」を押します。
↑ 日本語になりました
↑ サーバーと、監視対象が同じサーバーで、「監視データ」の「ホスト」のところ、「127.0.0.1」が「有効」となっていれば、大丈夫です。