|
オープンソースは実験の場であり、ソースコードのメリットとデメリットについては様々な意見があります。CentOS 8はサポート終了(EOL)を迎えましたが、CentOS 7はまだ少なくとも2年はサポートが残っているため、この記事を執筆しました。しかしながら、インストールがより簡単になるため、皆様がStream版やその他の代替ディストリビューションにできるだけ早く切り替えられることを願っています。本日の記事は比較的長く、初心者にはあまり適していません。また、コンパイル中に多くの問題が発生するため、ある程度の忍耐力が必要になるでしょう。 文章この記事の環境
初心者向けのヒント初心者の方はファイアウォールとSELinuxを無効にすることをお勧めします。そうしないと予期しない問題が発生する可能性があります。経験豊富なユーザーはこれを無視できます。 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/ config 推奨条件`yum update -y` を使用してソフトウェアを更新することをお勧めします。 プリファンクションソフトウェアをインストールするyum -y インストール wget vim データベースセクションZabbix 6.0 LTS では正式に PostgreSQL 13 が必要なため、PostgreSQL 13 のソースをインポートする必要があります。 yum -y インストールhttps://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest .noarch.rpm PostgreSQLをインストールするyum -y postgresql13-server をインストールします データベースを起動して初期化する/usr/ pgsql-13 /bin/ postgresql-13-setup initdb ソースコードパッケージをダウンロードcd / tmp ソフトウェアパッケージを解凍するtar -zxvf zabbix-6 .0.0.tar.gz Zabbix ユーザーと Zabbix ユーザー グループを作成します。グループ追加 --システムZabbix Zabbixインストールディレクトリを作成するmkdir -p /app/ zabbix ソースコードパッケージを解凍するtar -zxvf zabbix-6 .0.0.tar.gz コンパイルを開始する
実際には多くのパラメータがあります。`./configure --help` を参照して自分で調べることができます。 ./ configure --prefix =/app/ zabbix --enable-server --enable-agent2 --with-postgresql =/usr/ pgsql-13 /bin/ pg_config --with-net-snmp GCCの環境問題 yum -y gcc-c++ をインストールします PostgreSQLライブラリの問題 yum -y postgresql13-devel をインストール このパッケージをCentOS 7にインストールするとエラーが発生します。それぞれcentos-release-scl-rhとepel-releaseのインストールが必要です。エラーは以下の2つの画像に示されています。 centos-release-scl-rhリポジトリが必要です epel-release ソースが必要です yum -y インストール centos-release-scl-rh epel-release net-snmp ソースが見つからない問題 yum -y インストール net-snmp-devel libevent ソースがありません。 yum -y libevent-devel をインストールします Go 環境がありません (この問題は第 1 世代のエージェントでは発生しません)。 yum -y golang をインストールします 上記の手順を実行すると、下の画像に示すようにコンパイルが完了します。 インストールこの記事は、agent2 がコンパイルされた環境を使用していることに注意してください。Agent2 は Go 環境を使用しており、一部のライブラリのダウンロードには Go が必要です。中国では Go 経由でのライブラリのダウンロードが不可能なため、プロキシを設定する必要があります。プロキシを設定しないと、下の画像に示す箇所で停止してしまいます。 Goプロキシを設定してインストールする go env -w GOPROXY=https://goproxy.cn、 直接 インストールが完了しました。 全体的なインストールディレクトリ [ ルート zabbix] # ツリー /app/zabbix/ PHP環境Zabbix 6.0 LTS には PHP バージョン 7.2.5 以上が必要であり、PHP 7.x をサポートするには Remi リポジトリがインストールされている必要があります。 yum -y インストールhttps://rpms.remirepo.net/enterprise/ remi-release-7 . rpm nginxをインストールするyum -y nginx をインストール Nginx の操作Zabbix設定ファイルを作成するまず、Zabbix フロントエンド ファイルを /app/zabbix に移動します。 mv /app/ ui /app/ zabbix 設定ファイルは次のとおりです サーバー{ 設定ファイルの変更`vim` を使用して` /etc/nginx/ nginx.conf` ファイルを編集します。 nginx.confにコメントを追加する zabbix.confのコメントを解除する nginxを起動するsystemctl nginxを有効にする フロントエンドにアクセスするフロントエンドに 502 エラーが表示されていますが、php-fpm が有効になっていないことが原因と思われます。 php-fpmを起動するsystemctl でphp-fpmを有効にする フロントエンドに再度アクセスするエラーコードは依然として502です。 nginxログを表示するログにはソケット ファイルが見つからないことが示されているため、php-fpm 構成を作成する必要があります。 テール -f /var/log/nginx/error.log Zabbix PHP設定ファイルを作成するvim /etc/ php-fpm .d/ zabbix.conf [ザビックス] php-fpmサービスを再起動しますsystemctl php-fpmを再起動します。 アクセスは正常です フロントエンド部分PHPの部分インストールフロントエンド診断とエラー メッセージに基づいて、対応する PHP 拡張プラグインをインストールします。 yum -y php-mbstring、 php-bcmath、 php-pgsql、 php-gd、 php-xmlをインストールします。 LDAP が必要ない場合は、このセクションは無視できます。 関連サービスを再起動するsystemctl php-fpm nginxを再起動します。 これで、データベース構成セクションに進むことができます。 データベース構成とインポート関連ファイルユーザーとデータベースを作成する sudo -u postgres createuser --pwprompt zabbix データベース関連ファイルをインポートする cat /app/database/postgresql/schema.sql | sudo -u zabbix psql zabbix インポート完了 PostgreSQL 権限ファイルを変更して、ローカル権限を MD5 認証に変更します。 データベースを再起動します systemctl でpostgresql-13 を再起動します。 フロントエンドデータベース構成下の画像に示すように、アーキテクチャ セクションでは単に「public」と入力するだけでよいことに注意してください。 残りのフロントエンド構成対応するタイムゾーンとインスタンス名を入力します。 下の画像のような問題が発生した場合、ディレクトリの権限に問題がある可能性が高いです。この問題を解決するには、ディレクトリの権限を変更するか、設定ファイルをダウンロードして指定されたディレクトリにコピーしてください。 デフォルトのユーザー名とパスワードはAdmin/zabbixです。 Zabbix サーバーが実行されていないため、フロントエンドには Zabbix サーバーが起動されていないことを示す警告メッセージが表示されます。 Zabbixの設定
Zabbix Serverデーモンの作成[ユニット] 設定ファイルを編集するvim /app/zabbix/etc/zabbix_server.conf Zabbix Agent 2 デーモンファイルの作成[ユニット] スタートアップコンポーネントsystemctl でzabbix-server とzabbix-agent2を再起動します。 最終効果ホームページのサービスは正常です グラフィックは普通 ダッシュボード 結論はここまで読んでいただきありがとうございました。かなり長い記事なので、完全にコンパイルするのはさらに大変です。もちろん、インターネットに全くアクセスできない方にとってはさらに大変でしょう。時間があれば、完全にオフラインでコンパイルしたバージョンを公開します。 |