Zabbixのインストールと展開の詳細な説明

Zabbixのインストールと展開の詳細な説明

序文

Zabbix は最も主流のオープンソース監視ソリューションの 1 つです。導入自体は難しくありませんが、難しいのはそれを深く理解することです。実稼働環境での実践に基づいて、Zabbix 4.0 LTS のすべての新しいバージョンは Docker を使用して展開されます。今後は、さらに多くのオープン ソース コンポーネントがコンテナ化された形式で提供されるようになると思います。

オペレーティング·システム:

[root@mysql ~]# cat /etc/redhat-release
CentOS Linux リリース 7.5.1804 (コア)

Mysql: バージョン 5.7.23 192.168.75.251

Zabbix サーバー: バージョン 3.4.12 192.168.75.250

1. MySQLをインストールする

1.1 MySQLをダウンロードする

ファイアウォールをオフにする

#systemctl ファイアウォールを停止します
# systemctl ファイアウォールを無効にする
vi /etc/selinux/config
SELINUX=enforcing を SELINUX=disabled に変更しました

Centos7のデフォルトのデータベースはmariadbなので、まずアンインストールしてください。

rpm –qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

このバージョンにはboost 1.9が必要です。これもダウンロードする必要があります。

[root@mysql ソフト]# ll
合計 132444
-rw-r--r-- 1 ルート ルート 83709983 8月10日 10:26 boost_1_59_0.tar.gz
-rw-r--r-- 1 ルート ルート 51907462 8月10日 10:26 mysql-5.7.23.tar.gz

mysqlユーザーを追加、

グループ追加mysql
ユーザー追加 -g mysql -s /sbin/nologin mysql

1.2 依存パッケージをインストールする

yum install -y cmake bison bison-devel libaio-devel gcc gcc-c++ git ncurses-devel

1.3 コンパイル

mysqlを解凍し、圧縮されたバージョンのboostを解凍したmysqlディレクトリに配置します。

tar xzvf mysql-5.7.23.tar.gz
mv boost_1_59_0.tar.gz mysql-5.7.23

MySQLソースファイルディレクトリを入力し、コンパイルディレクトリとして新しいconfigureを作成し、ディレクトリを入力します。

mysql-5.7.23 をインストールします
mkdir 設定
cd 設定

cmake を使用してコンパイル環境を生成します。

cmake .. -DBUILD_CONFIG=mysql_release \

-DINSTALL_LAYOUT=スタンドアロン\

-DCMAKE_BUILD_TYPE=RelWithDebInfo \

-DENABLE_DTRACE=オフ\

-DWITH_EMBEDDED_SERVER=オフ\

-DWITH_INNODB_MEMCACHED=オン\

-DWITH_SSL=バンドル \

-DWITH_ZLIB=システム\

-DWITH_PAM=オン\

-DCMAKE_INSTALL_PREFIX=/var/mysql/ \

-DINSTALL_PLUGINDIR="/var/mysql/lib/plugin" \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EDITLINE=バンドル\

-DFEATURE_SET=コミュニティ \

-DCOMPILATION_COMMENT="MySQL サーバー (GPL)" \

-DWITH_DEBUG=オフ\

-DWITH_BOOST=..

インストール

make && make install

設定ファイルを変更する

vim /etc/my.cnf
[mysqld]
データディレクトリ=/var/lib/mysql
ソケット=/var/mysql/mysql.sock
ポート=3306
log_error=/var/mysql/log/error.log
ベースディレクトリ=/var/mysql/
[クライアント]
ソケット=/var/mysql/mysql.sock
chown mysql.mysql /etc/my.cnf

ログファイルの作成

mkdir -p /var/mysql/log
/var/mysql/log/error.log を確認します。
/var/mysql/mysql.sock をタッチします
chown -R mysql.mysql /var/mysql/

1.4 初期化

#/var/mysql/bin/mysqld --initialize --user=mysql

データファイルが生成されているかどうかを確認する

#ll /var/lib/mysql

合計 110628

-rw-r----- 1 mysql mysql 56 8月10日 11:06 auto.cnf

-rw-r----- 1 mysql mysql 417 8月10日 11:06 ib_buffer_pool

-rw-r----- 1 mysql mysql 12582912 8月10日 11:06 ibdata1

-rw-r----- 1 mysql mysql 50331648 8月10日 11:06 ib_logfile0

-rw-r----- 1 mysql mysql 50331648 8月10日 11:06 ib_logfile1

drwxr-x--- 2 mysql mysql 4096 8月10日 11:06 mysql

drwxr-x--- 2 mysql mysql 8192 8月10日 11:06 performance_schema

drwxr-x--- 2 mysql mysql 8192 8月10日 11:06 sys

ログファイルが生成されているかどうかを確認する

# ll /var/mysql/log

一時パスワードが生成され、error.logに保存されます。

# cat /var/mysql/log/error.log

2019-11-18T09:06:22.922254Z 0 [警告] 暗黙の DEFAULT 値を持つ TIMESTAMP は非推奨です。--explicit_defaults_for_timestamp サーバー オプションを使用してください (詳細についてはドキュメントを参照してください)。

2019-11-18T09:06:24.600401Z 0 [警告] InnoDB: 新しいログ ファイルが作成されました。LSN=45790

2019-11-18T09:06:24.853258Z 0 [警告] InnoDB: 外部キー制約システム テーブルを作成しています。

2019-11-18T09:06:24.915246Z 0 [警告] 既存の UUID が見つからないため、このサーバーが初めて起動されたと想定します。新しい UUID を生成しています: 5dbf9eac-9c4a-11e8-8768-000c29a48522。

2019-11-18T09:06:24.916709Z 0 [警告] Gtid テーブルは使用準備ができていません。テーブル 'mysql.gtid_executed' を開くことができません。

2019-11-18T09:06:24.917772Z 1 [注記] root@localhost の一時パスワードが生成されます: NS0+>RzwvHWl

1.5 起動

初期パスワードと環境変数を変更する

テンプレート ファイルから起動ファイルをコピーします。

cp /var/mysql/support-files/mysql.server /etc/init.d/mysqld

起動ファイルを変更します。

vim /etc/init.d/mysqld

次の 2 行を見つけます。

ベースディレクトリ=

データディレクトリ=

変更後:

ベースディレクトリ=/var/mysql/
データディレクトリ=/var/lib/mysql

権限の変更

#chown -R mysql.mysql /var/mysql /var/lib/mysql

起動する

/etc/init.d/mysqld を起動します
: := mysql_bin と入力して、mysql_bin を実行します。

MySQL 環境変数を設定します。

vim /root/.bash_profile

次の行を見つけます。

PATH=$PATH:$HOME/bin

変更後:

PATH=$PATH:$HOME/bin:/var/mysql/bin

上記で生成された一時パスワードを使用してログインしてください

# mysql –u root –p NS0+>RzwvHWl

MySQL モニターへようこそ。コマンドは ; または \g で終わります。

MySQL接続IDは6です

サーバーバージョン: 5.7.23

Copyright (c) 2000, 2018, Oracle およびその関連会社。無断複写・転載を禁じます。

OracleはOracle Corporationおよびその関連会社の登録商標です。

その他の名称は各社の商標である場合があります。

所有者。

ヘルプを表示するには、「help;」または「\h」と入力します。現在の入力ステートメントをクリアするには、「\c」と入力します。

マイSQL>

初期パスワードを変更する

mysql> alter user 'root'@'localhost' identified by '123456';

2. Zabbixサーバーをインストールする

2.1 PHPをインストールする

php7.1 バージョンをインストールします。Zabbix3.0 バージョンには php5.4 以上が必要です。

まずローカルのPHPバージョンを確認してください

php -v

現在のPHPインストールパッケージを確認する

yum list installed | grep php

ローカルのPHPインストールパッケージをアンインストールする

yum remove php*

デフォルトの yum ソースでは PHP をアップグレードできません。サードパーティの yum ソースを追加する必要があります。webtatic ライブラリを選択します。

rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

php7.1をインストール

yum install -y php71w

関連プラグインをインストールする

yum インストール -y php71w-fpm php71w-opcache php71w-cli php71w-gd php71w-imap php71w-mysqlnd php71w-mbstring php71w-mcrypt php71w-pdo php71w-pecl-apcu php71w-pecl-mongodb php71w-pecl-redis php71w-pgsql php71w-xml php71w-xmlrpc php71w-devel mod_php71w php71w-ldap php71w-bcmath

PHP設定パラメータを変更する

vim /etc/php.ini
date.timezone = Asia/上海
最大実行時間 = 300
投稿の最大サイズ = 32M
メモリ制限 = 128M
mbstring.func_overload = 1
最大入力時間 = 300

セッション調整権限、

chmod -R 777 /var/lib/php/session/

2.2 zabbixをインストールする

依存パッケージをインストールする

yum -y install gcc* make curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-develjava-devellibssh2-devel

Zabbixユーザーとグループを作成する

グループ追加zabbix
ユーザー追加 -g ザビックス ザビックス

コンパイルしてインストールする

tar zxvf zabbix-3.4.12.tar.gz
zabbix-3.4.12をインストールします
./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java
作成 && インストール
chown -R zabbix.zabbix /usr/local/zabbix

Zabbix設定ファイルを変更する

vi /usr/local/zabbix/etc/zabbix_server.conf
ログファイル=/tmp/zabbix_server.log
デバッグレベル=3
DBHost=192.168.75.251 #サーバーとデータベースを別々に記述 DBName=zabbix
DBユーザー=zabbix
DBパスワード=zabbix
DBソケット=/var/mysql/mysql.sock
DBポート=3306
開始ポーラー=10
タイムアウト=4
アラートスクリプトパス=/usr/local/zabbix/share/zabbix/alertscripts
ログスロークエリ=3000
キャッシュサイズ=1024M

後続の構成ファイルのパラメータは、必要に応じて調整できます。

zabbixパッケージ内のいくつかのsqlファイルを上記のmysqlサーバーに転送し、データベースファイルをインポートします。

[root@zabbix ~]# cd /opt/soft/zabbix-3.4.12/database/mysql
[ルート@zabbix mysql]# ll
合計 4876
-rw-r--r--. 1 1001 1001 2877497 7月30日 19:41 data.sql
-rw-r--r--. 1 1001 1001 1978341 7月30日 19:41 images.sql
-rw-r--r--. 1 1001 1001 134791 7月30日 19:41 schema.sql
[root@zabbix mysql]# scp * [email protected]:/opt/

以下はmysql(192.168.75.251)サーバー上で実行されます

#mysql -u root –p

パスワードを入力してください:

Zabbixデータベースを作成し、文字セットをutf8に設定する

mysql>create database zabbix character set utf8 collate utf8_bin;

mysqlデータベースにzabbixユーザーを作成し、zabbixユーザーにzabbixデータベースに対する完全な権限を付与し、zabbixサーバーがmysqlにリモートアクセスできるようにします。

mysql>zabbix.* に対するすべての権限を [email protected] に 'zabbix' によって識別されるように付与します。
mysql>zabbix.* のすべての権限を 'zabbix' によって識別される zabbix@localhost に付与します。
mysql>権限をフラッシュします。
mysql>データベースを表示;
+--------------------+
| データベース |
+--------------------+
| 情報スキーマ |
|mysql |
| パフォーマンススキーマ |
|システム|
|ザビックス|
+--------------------+
セット内の行数は 5 です (0.00 秒)

データファイルをインポートし、コンソールで操作する

#mysql -u zabbix -p zabbix <schema.sql
#mysql -u zabbix -p zabbix <images.sql
#mysql -u zabbix -p zabbix <データ.sql

2.3zabbixウェブデプロイメント

Zabbix Server ホスト操作に戻ります。 httpdが上記にインストールされたら、apacheの下にzabbixディレクトリを作成します。

mkdir /var/www/html/zabbix

zabbixパッケージのWebインターフェースをapache zabbixディレクトリにコピーします。

\cp –rf /opt/soft/zabbix-3.4.12/frontends/php/* /var/www/html/zabbix/

ウェブセキュリティの設定

chown -R apache.apache /var/www/html/zabbix
chmod a+x /var/www/html/zabbix/conf/

zabbixパッケージ内のサービス起動スクリプト(server/agentd)をLinuxシステムサービス起動ディレクトリにコピーします。

cp /opt/soft/zabbix-3.4.12/misc/init.d/fedora/core/zabbix_server zabbix_agentd/etc/init.d/

/etc/init.d/zabbix_server と /etc/init.d/zabbix_agentd を変更します。

BASEDIR=/usr/local を BASEDIR=/usr/local/zabbix/ に変更します。

スタートアップを設定する

systemctl を有効にする httpd
systemctl zabbix_server を有効にする
systemctl zabbix_agentd を有効にする
/etc/init.d/zabbix_server を起動します
/etc/init.d/zabbix_agentd を起動します
systemctl スタート httpd

2.4 Webサービスの初期化

http://192.168.75.250/zabbix/setup.php

データベース設定に接続し、MySQLサーバーが配置されているマシン、ポート、データベース名、ユーザー、パスワードを入力します。

3. Zabbixプロキシをインストールする

まず、プロキシマシンに MySQL をインストールします。インストール手順は上記と同じですが、MySQL ファイルをインポートする場合は 1 つのファイルのみがインポートされます。

#mysql–uzabbix –p zabbix <schema.sql

依存パッケージをインストールする

yum -y install gcc* make curl curl-devel net-snmp net-snmp-devel perl-DBI httpd mariadb* mysql-devel libxml2-devel curl-devel unixODBC-devel net-snmp-devel OpenIPMI-devel openldap openldap-devel libevent-develjava-devellibssh2-devel

Zabbixユーザーとグループを作成する

グループ追加zabbix
ユーザー追加 -g ザビックス ザビックス

コンパイルしてインストールする

tar zxvf zabbix-3.4.12.tar.gz
zabbix-3.4.12をインストールします
./configure --prefix=/opt/server/zabbix_proxy --enable-proxy --enable-agent --enable-ipv6 --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java
作成 && インストール
chown -R zabbix.zabbix /opt/server/zabbix_proxy

設定ファイルの変更

zabbix_proxy.conf をViに追加します。
サーバー=192.168.75.250
サーバーポート=10051
ホスト名=zabbix_proxy
ログファイル=/tmp/zabbix_proxy.log
DBHost=localhost#mysqlとプロキシは同じマシンにインストールされているため DBName=zabbix
DBユーザー=zabbix
DBパスワード=zabbix
DBソケット=/var/mysql/mysql.sock
設定頻度=60
データ送信頻度=60
開始ポーラー=5
タイムアウト=4
ログスロークエリ=3000

プロキシを起動します(自動起動に追加されます)

#/opt/server/zabbix_proxy/sbin/zabbix_proxy-c /opt/server/zabbix_proxy/etc/zabbix_proxy.conf
systemctl zabbix_proxy を有効にする

4. zabbix_agentdクライアントを起動する

上記と同様に、zabbixをコンパイルしてインストールするときにクライアントも一緒にコンパイルされ、/usr/localの下のzabbixディレクトリをクライアントにコピーします。

設定ファイルを変更する

vi /usr/local/zabbix/etc/zabbix_agentd.conf
Server=zabbix_proxy_IP # 高いスケーラビリティを実現するために、すべてのクライアントをプロキシに接続することをお勧めします。 Hostname=zabbix_agentd_hostname # クライアントのホスト名を入力します

スタート(起動時の自動スタートに追加)

/usr/local/zabbix/sbin/zabbix_agentd-c /usr/local/zabbix/etc/zabbix_agentd.conf
echo "/usr/local/agent/sbin/zabbix_agentd -c /usr/local/agent/etc/zabbix_agentd.conf" >> /etc/rc.local

5. Web管理

監視ホストの追加

ホスト監視テンプレートの選択

ホスト監視の成功

要約する

以上が編集者が紹介したZabbixのインストールと展開の実践です。皆様のお役に立てれば幸いです。ご質問がございましたら、メッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux プラットフォームでの Zabbix エージェントのインストールと設定方法
  • ZabbixはLinuxシステムサービスのプロセスを監視
  • Linux シェル環境での Zabbix API の使用
  • Linux に Zabbix モニタリングをインストールする方法
  • Linuxホストを監視するためのZabbixの設定方法
  • Zabbix設定 DingTalkアラーム機能実装コード
  • Zabbixリモートコマンド実行の詳細な例
  • リモートホスト上でスクリプトや命令を実行する Zabbix の詳細な説明
  • ZabbixはSNMPに基づいてLinuxホストを監視します

<<:  Windows 環境下の Linux 仮想マシンで MySQL データベースにアクセスする方法の詳細な説明

>>:  webpackを使用してTypeScriptコードをパッケージ化およびコンパイルする方法を教えます

推薦する

Windows で mysql5.7.21 をインストールするための詳細なチュートリアル

この記事では、参考までにMySQL 5.7.21のインストールチュートリアルを紹介します。具体的な内...

ウォーターフォールレイアウト+ダイナミックレンダリングの実装

目次典型的なウォーターフォールウェブサイトウォーターフォールフローレイアウトの原則一般的な考え方具体...

2019 年に最も役立ち重要なオープンソース ツール トップ 10

Black Duck の 2017 年のオープンソース調査では、回答者の 77% がオープンソース...

Vue2.x - アンチシェイクとスロットリングの使用例

目次ユーティリティ: vue での使用:説明する:画像安定化:スロットル:ユーティリティ: // 手...

Vue のフィルターの適用シナリオの詳細な説明

filterは通常、特定の値をフィルターするために使用されます。たとえば、フィールドが空だが、フロン...

HTMLの表のtbodyは上下左右にスライドできます

テーブル ヘッダーが固定されている場合は、それを 2 つのテーブルに分割する必要があります。1 つの...

css-loader を使用して vue-cli で css モジュールを実装する

【序文】 Vue と React の CSS モジュール ソリューションはどちらも、実装にローダーに...

Angular CDK を使用してサービスポップアップトーストコンポーネント機能を実装する

目次1. 環境設備2. ToastコンポーネントとToastServiceを作成する2.1 Toas...

MySQL 同時実行制御の原則に関する知識ポイント

Mysql は、高性能なデータ ストレージ サービスを提供する主流のオープン ソース リレーショナル...

MySQL マスタースレーブ同期の原理と応用

目次1. マスタースレーブ同期原理マスタースレーブ同期アーキテクチャ図(非同期同期)マスタースレーブ...

Vue はシームレスなカルーセル効果を実現

この記事では、シームレスなカルーセル効果を実現するためのVueの具体的なコードを参考までに紹介します...

MySQL で中国語を入力するときに発生するエラー 1366 の解決方法

MySQL で中国語を入力すると、次のエラーが発生します。エラー 1366: 1366: 行 1 の...

セマンティックウェブページ XHTML セマンティックマークアップ

構造とプレゼンテーションを分離するもう 1 つの重要な側面は、セマンティック マークアップを使用して...

Vueカスタムツリーコントロールの使い方の詳細な説明

この記事では、Vueカスタムツリーコントロールの使い方を参考までに紹介します。具体的な内容は次のとお...

nginx をベースにした Web クラスター プロジェクトをすばやく構築する方法を説明します。

目次1. プロジェクト環境2. プロジェクトの説明3. プロジェクトの手順1. インストール2. 構...