DUICUO

Zabbix 6.2 インストール: 国内システムガイド (OpenEuler)

この記事もインストールガイドですが、唯一の違いは、国内で有名なオープンソースシステムを使ってZabbixの最新バージョン6.2をインストールし、動作確認することです。かなり長いので、少し辛抱強く読んでください。

文章

この記事の環境

  • オープンオイラー 22.03 LTS
  • PHP 8.0
  • アパッチ2
  • MySQL 8.0

インストール前の推奨事項

最新のシステムにアップデートしてください:

 dnf -y アップデート

必要なソフトウェアをインストールします。

 dnf -y インストール vim wget tar

データベースセクション

バージョン 6.0 以降では、MySQL バージョン 8.0 以上が必要です (例として MySQL を使用)。

公式サイトより

Euler システムには MySQL 8.0 リポジトリが付属しているため、追加のリポジトリをインストールする必要はありません。

MySQLをインストールする

 dnf -y mysql-server をインストールします

データベースを起動する

 systemctl で mysqld を起動し、 systemctl で mysqld を有効にします。

データベースを初期化する

 mysql_secure_installation 

最後まで Enter キーを押すだけです。

ソースコードパッケージをダウンロード

 cd /tmp
https://cdn.zabbix.com/zabbix/sources/stable/6.2/zabbix-6.2.4.tar.gz を実行します。

ソースコードパッケージを解凍する

 tar -zxvf zabbix-6.2.4.tar.gz

Zabbixセクション

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

グループ追加 --システムZabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix監視システム" zabbix

Zabbixインストールディレクトリを作成する

 mkdir -p /app/zabbix

コンパイルを開始する

  • プレフィックスはインストールディレクトリを指定します。
  • enable-server は Zabbix Server を有効にします。
  • enable-agent は Zabbix エージェントを有効にします。
  • With-mysql はバックエンド データベースを MySQL として指定します。
  • net-snmp は SNMP プロトコルをサポートします。

実際にはさらに多くのパラメータがあります。`./configure --help` を参照してご自身で確認してみてください。公式ドキュメントにも例が記載されています。

解凍したリソースディレクトリを入力します

 ls / tmp
cd / tmp / zabbix - 6.2.4
./configure --prefix = / app / zabbix --enable - server --enable - agent --with - mysql

上記のコマンドを実行すると、トラブルシューティング プロセスが開始されます。

最初のエラー メッセージは、MySQL 開発ライブラリが見つからないことを示しています。

 dnf -y mysql-devel をインストール

インストール後、コンパイル コマンドを実行すると、libevent が見つからないというエラーが発生しました。

 dnf -y libevent-devel をインストールします

libpcre ライブラリが見つからないことを示すエラーが発生しました。

 dnf -y pcre-devel をインストール

この画面が表示されれば、コンパイルが完了したことになります。

インストール

インストールする

インストール完了

ディレクトリ全体のステータス

PHP部分

openEuler 22.04 にはバージョン 8.0 が付属しているため、バージョン 6.0 以上の要件を満たしています。

 dnf -y php php-fpm をインストール

Apache運用セクション

PHPをインストールするとApacheも自動的にインストールされるため、インストールプロセスではApacheのインストールプロセスについては説明しません。フロントエンドファイルをApacheサービスのWebディレクトリに移動してください。

 mv /tmp/zabbix-6.2.4/ui/* /var/http/html

Apache を起動してアクセスします。

 systemctl で httpd を開始し、systemctl で httpd を有効にします。
systemctl php-fpm を起動し、systemctl php-fpm を有効にします。

「次のステップ」をクリック

この時点で、PHP に特定の依存関係とパラメータが必要であることを示すエラーが発生するので、まず PHP 関連の依存関係をいくつかインストールします。

 dnf -y php-gd、php-mysqlnd、php-bcmath、php-xml、php-mbstring をインストールします。

依存関係をインストールした後は、サービスを再起動する必要はありません。次に、PHP設定ファイルを調整します。

 /etc/php.iniを編集する

エラーメッセージに基づいて、post_max_size、max_excution_time、max_input_time の 3 つの値を調整します。

変更を行った後、php-fpm サービスを再起動する必要があります。

 systemctl php-fpm を再起動します。

その後、再度更新すると成功するはずです (この時点で警告付きの LDAP オプションが表示されますが、無視できます。ドメイン アカウントでログインしていない限り、この機能は無意味です)。

データベース構成セクション

Zabbix を作成するために必要なデータベースとユーザー

データベースzabbix文字セットutf8mb4照合utf8mb4_binを作成します
'xiaoyu123'識別されるユーザーzabbix @localhostを作成します
zabbixすべての権限をzabbix @localhost付与します
グローバルlog_bin_trust_function_creators = 1を設定します
やめる;

Zbbixデータファイルをインポートする

 cat /tmp/zabbix-6.2.4/database/mysql/schema.sql | mysql - uzabbix - p zabbix
cat /tmp/zabbix-6.2.4/database/mysql/images.sql|mysql-uzabbix-p zabbix
cat /tmp/zabbix-6.2.4/database/mysql/data.sql | mysql - uzabbix - pxiaoyu123 zabbix

関連するデータのインポートが完了したら、ウィンドウを閉じます。
log_bin_trust_function_creators 機能。

グローバルlog_bin_trust_function_creators0設定します
やめる;

この部分が完了すると、フロントエンドのデータベース構成インターフェイスにアクセスできるようになります。

データベースのパスワードを入力し、「次へ」をクリックします。

この手順では、ホスト名とタイムゾーンを設定します。

インストール完了前のプレビュー

この時点で、ターゲットディレクトリの権限不足により「作成できません」というエラーが発生する可能性があります。青いテキストをクリックすると、設定されたファイルをダウンロードし、フロントエンドで指定されたディレクトリに転送できます。この例では、パスは以下のとおりです。

 / var / www / html / conf /

配置後、Web ページを更新します。

インストール完了

ユーザー名とパスワードはAdmin/zabbixです

この時点で、なぜZabbixサーバー部分の設定をしていないのか疑問に思うかもしれません。上の画像(Zabbixサーバーが異常状態にある様子)を見れば、その理由がはっきりと分かります。サーバー部分の設定が必要なのです。

Zabbix サーバー部分

まず、Zabbix サーバー ディレクトリのいくつかの側面について説明します。

  • プログラムファイルのパスは/app/zabbix/sbin/です。
  • 設定ファイルのパスは/app/zabbix/etc/です。

Zabbix サーバーデーモンの作成

 vim /usr/lib/systemd/system/zabbix-server.service 
 [ユニット]
説明= Zabbixサーバー
= syslog.target
= network.target
= postgresql.service
= pgbouncer.service
After = postgresql - 13.サービス

[サービス]
環境= "CONFFILE=/app/zabbix/etc/zabbix_server.conf"
環境ファイル=-/ etc / sysconfig / zabbix -サーバー
タイプ=フォーク
再起動=オン-失敗
PIDファイル= / tmp / zabbix_server.pid
KillMode =コントロール-グループ
ExecStart =/ app / zabbix / sbin / zabbix_server - c $CONFFILE
ExecStop = / bin / kill -SIGTERM $MAINPID
再起動秒数= 10
タイムアウト秒= 0

[インストール]
WantedBy =マルチユーザー.ターゲット

本文中で注目すべき点の 1 つは、PID ファイルの場所であり、これについては後ほど再度説明します。

設定ファイルを編集する

 vim /app/zabbix/etc/zabbix_server.conf

調整する必要があるのは 3 つあります。1 つ目はログ保存場所、2 つ目はデータベース パスワード、3 つ目は PID 保存場所です。

ログ保存場所を調整する

データベースのパスワードを変更する

PIDファイルの場所を変更する

これはソース コードのインストールであるため、ログ ファイルを保存するためのディレクトリは存在しません。そのため、自分で作成し、適切な権限を付与する必要があります。

 mkdir / var / log / zabbix
chown zabbix : zabbix / var / log / zabbix

調整が完了したら、Zabbix サーバーを起動します。

 systemctl start zabbix - server && systemctl enable zabbix - server

サービスの状態を確認します。

 systemctlステータスzabbix -サーバー

Active フィールドに「running」と表示されていれば正常です。また、関連するログもご確認ください。

テール- f / var / log / zabbix_server.log

Zabbixエージェント

サーバーと同様に、最初にサービスを作成します。

 vim /usr/lib/systemd/system/zabbix-agent.service 
 [ユニット]
説明= Zabbixエージェント
= syslog.target
= network.target
[サービス]
環境= "CONFFILE=/app/zabbix/etc/zabbix_agent.conf"
タイプ=シンプル
再起動=オン-失敗
PIDファイル= /app/zabbix/zabbix_agentd.pid
KillMode =コントロール-グループ
ExecStart =/ app / zabbix / sbin / zabbix_agentd -c $ CONFFILE
ExecStop = / bin / kill -SIGTERM $MAINPID
再起動秒数= 10
ユーザー= zabbix
グループ= zabbix
[インストール]
WantedBy =マルチユーザー.ターゲット

Zabbixエージェントの設定ファイルを変更する

同様に、PID ファイルへのパスとログへのパスの 2 か所を調整します。

 vim / app / zabbix / etc / zabbix_agentd.conf 

Zabbixエージェントを起動する

 systemctl start zabbix -エージェント&& systemctl enable zabbix -エージェント

最終効果

結論は

実は、全体的な設定はそれほど難しくありませんでした。openEulerはRHELのダウンストリーム版ではないため、dnf方式はうまく機能せず、様々なパッケージが不足することになります。ご興味があれば、さらに調べてみてください。