nginx 用の zabbix 5.0 をインストールして展開する方法

nginx 用の zabbix 5.0 をインストールして展開する方法

Zabbix は、WEB インターフェースに基づいて分散システム監視およびネットワーク監視機能を提供するエンタープライズ レベルのオープン ソース ソリューションです。
Zabbix は、さまざまなネットワーク パラメータを監視してサーバー システムの安全な運用を確保し、システム管理者がさまざまな既存の問題を迅速に特定して解決できるようにする柔軟な通知メカニズムを提供します。
Zabbix は、Zabbix サーバーとオプション コンポーネントの Zabbix エージェントの 2 つの部分で構成されます。
Zabbix サーバーは、SNMP、Zabbix エージェント、ping、ポート監視などの方法を通じて、リモート サーバー/ネットワーク ステータス監視、データ収集などの機能を提供できます。Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OS X などのプラットフォームで実行できます。

実験環境

これまで、Apache をベースに Zabbix を展開する人が多かったのですが、時折問題が発生することがあります。たとえば、会社のシステム フレームワークは nginx であり、構築された Zabbix は apache をベースにしているため、互換性の問題が発生します。今日は、nginx をベースに Zabbix5.0 を展開する方法を紹介します。
私の実験環境のフレームワークについて説明します。

オペレーティングシステム: Centos7
ウェブアプリケーション: nginx
php:7.2
データベース: mariadb

インストールと展開

サーバー構成ソース

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

yum repolist #zabbix ソース ファイルを表示 yum list zabbix* #現在のソースに存在する zabbix アプリケーション パッケージを表示 #zabbix サーバーとクライアントを直接インストール yum -y install zabbix-server-mysql zabbix-agent 

#Webフロントエンドサービスの依存パッケージをインストールします yum -y install centos-release-scl #主にソースの呼び出しに使用されるsclの依存パッケージをインストールします

インストールが完了したら、先ほどダウンロードしたyumソースファイルを修正する必要があります。zabbixソースのバージョン5.0では、Webフロントエンドソースがデフォルトで無効になっているため、有効にする必要があります。

/etc/yum.repo.d/ をコピーします。

vim zabbix.repo
#[zabbix-frontend] (フロントエンド) を検索
enabled=0 #ここでシャットダウンを1に変更します。これは有効であることを意味します

# 変更が完了したら、yum list zabbix を再度使用すると、ソース ファイルに Web 関連のソースがさらに追加されていることがわかります。# Web フロントエンド サービスをインストールします。yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl 

この時点で、zabbix サーバー上のすべてのアプリケーションがデプロイされ、データベースをデプロイする準備が整いました。

データベースをインストールして設定します (ここでは mariadb を使用しますが、興味のある学生は他の方法で mysql をコンパイルまたはインストールしてみることができます)

yum -y mariadb-server をインストールします

データベースがインストールされたら、データベースを起動して確認してみましょう。

systemctl mariadb.service を開始します。

#実行が完了したら、次のコマンドを使用して、データベースが正常に起動されているかどうかを確認できます: netstat -ltunp | grep 3306 

mariadbがインストールされると、デフォルトではログインパスワードはありません。mysqlを使用して直接データベースにログインできます。

ログイン後、まずはビジネスデータベースを作成します(ここで注意すべきは、データベースを作成する際には文字セットの設定に注意する必要があるということです。そうしないと、その後のWeb側に展開するときに問題が発生します)

[root@localhost ~]mysql

Mariadb [(なし)] >
Mariadb [(なし)] >create database zabbix character set utf8 collat​​e utf8_bin; #データベースを作成するときに文字セットをutf8として指定します
Mariadb [(なし)] >
Mariadb [(なし)] >show databases; #データベースが正常に作成されたかどうかを確認します。 #zabbix データベースが正常に作成されたことを確認したら、データベースを終了できます。 

次に、インストール中に zabbix が何をインストールしたかを確認しましょう。

rpm -ql zabbix-server-mysql 

ここで、インストール時にzabbixが初期化用のgz圧縮パッケージを提供していることがわかります。この圧縮パッケージ内のすべてのSQL文をエクスポートして、後で使用するようにします。

[root@localhost ~] zcat /usr/share/doc/zabbix-server-mysql-5.0.13/create.sql.gz > zabbix.sql
[root@localhost ~] ls #エクスポートしたSQLファイルを表示できます [root@localhost ~] mysql < zabbix.sql
1 行目のエラー 1046 (3D000): データベースが選択されていません #ここでエラー メッセージが表示されます。表示できるデータベースがありません。 

#次にzabbix.sqlファイルを少し変更します [root@localhost ~] vim zabbix.sql
#ファイルの先頭にuse zabbixを追加します。

[root@localhost ~] mysql < zabbix.sql #その後、データを再度インポートします

インポートが完了したら、データベースに再度アクセスして、以前にインポートしたデータテーブルを表示します。

[root@localhost ~]mysql

Mariadb [(なし)] > zabbixを使用する
Mariadb [(なし)] > テーブルを表示;   

#zabbix はデータベースにリンクする必要があるため、ここでユーザー認証操作を実行する必要があります。Mariadb [(なし)] > grant all on zabbix.* to zabbix@localhost identified by 'zabbix';

#この時点で、データベースはデプロイされ、構成されていると見なされます。 

Zabbixサーバーの設定

[root@localhost ~] vim /etc/zabbix/zabbix_server.conf #zabbixサーバーの設定ファイル#入力後、DBNameを探します。DBName=zabbixのパラメータ設定があります。ここでのデフォルトはzabbixです
#DBName=zabbix #ここで作成したデータベース名はzabbixなので変更する必要はありません。ただし、zabbix以外のデータベース名でデータベースを作成する学生がいる場合は、ここで変更する必要があります。 DBUser=zabbix #データベースに接続するユーザー #DBPassword=
#元の設定ファイルにはデフォルトでパスワードが設定されていないため、DBPassword=zabbixに変更する必要があります。

#DBSocket= #socket はデフォルトと一致しているため、ここで変更する必要はありません。 

Web サイド PHP 設定

[root@localhost ~] cd /etc/opt/rh/
[root@localhost rh] ls 
rh-nginx116 rh-php72
[root@localhost rh] cd rh-php72 #まずここでphp設定ファイルを変更します [root@localhost rh-php72] ls 
opt pear pear.conf php.d php-fpm.conf php-fpm.d php.ini pki pm skel sysconfig X11 xdg xinetd.d
[root@localhost rh-php72] vim php-fpm.d/zabbix.conf

6 listen.acl_users=apache,nginx #リスニング認証ユーザー、デフォルトはapacheですが、nginxを追加する必要があります

24; php_value[date.timezone] = Europe/Riga #ここでのデフォルトのタイムゾーンはヨーロッパのタイムゾーンですが、変更する必要があります 24 php_value[date.timezone] = Asia/Shanghai

#PHPを変更する必要がある2つの場所は次のとおりです

Web側でのnginxの設定変更

[root@localhost rh-php72] cd ..
[root@localhost rh] cd rh-nginx116
[root@localhost rh-nginx116] ls
nginx opt pki pm skel sysconfig X11 xdg xinetd.d
[root@localhost rh-nginx116] cd nginx
[root@localhost nginx] conf.d をcdします
[root@localhost conf.d] ls
zabbix.conf

[root@localhost conf.d] vim zabbix.conf
サーバー{
# 聞く 80;
# サーバー名 example.com;
ここでは、上記の 2 つの項目を具体的に変更し、listen 80 に変更するだけです。
		server_name localhost; #ビジネスに対応するドメイン名に変更できます...
...
} 

ここでは、構成ファイルでリスニング ポートを 80 に、リスニング ドメイン名をローカルに設定しているため、メイン構成ファイルでこれらの 2 つの項目をコメント化する必要があります。

[root@localhost conf.d] cd ..
[root@localhost nginx] vim nginx.conf
サーバー{
# 80 default_server をリッスンする
# listen [::]:80 default_server
}

#2つの設定ファイルが競合しないように、サーバー内のすべての設定をここでコメントアウトします

この時点で、zabbix-server、php、nginx、mysql はすべてデプロイされ、構成されています。

それでは、ローカルの基本的なセキュリティポリシーをいくつか確認してみましょう。

[root@localhost nginx] systemctl ステータスfirewalld
[root@localhost nginx] systemctl ファイアウォールを無効にする
[root@localhost nginx] getenforce
強制 # は有効な状態を示しており、オフにする必要があります [root@localhost nginx] setenforce 0
[root@localhost nginx] vim /etc/selinux/config
SELINUX = 無効 #これを無効に変更します

これで展開はほぼ完了です。対応するサービスを開始して効果を確認しましょう。

[root@localhost nginx] systemctl start zabbix-server.service    
[root@localhost nginx] systemctl start rh-php72-php-fpm.service 
[root@localhost nginx] systemctl start rh-nginx116-nginx.service
[root@localhost nginx] netstat -lutnp
このうち、9000はphpのポート、3306はmysqlのポート、80はnginxのポート、10051はzabbix-serverのポートです。 #上記のポートが存在するか確認します。ポートが存在する場合は、対応するアプリケーションが起動されていることを意味します。 

すべてが起動したら、ブラウザからアクセスして表示できます。

ブラウザに当社のサーバーに対応する IP アドレスを入力するだけでアクセスできます。

ここでは主に、エディターでマークされた部分がすべて正常であるかどうかを確認します。正常状態でない部分がある場合は、個別に修復する必要があります。

データベースのインスタンス名、ユーザー名、パスワードはこちらです。データベースをインストールした時の状況に合わせて入力してください。

これはzabbixのユーザー名です

ZabbixがWebページで設定する必要があるすべてのパラメータは次のとおりです。

ご覧のとおり、zabbixサービスのインストールに成功しました。

zabbixのデフォルトのユーザー名はAdmin、パスワードはzabbixです。

zabbix5.0では、中国語の文字を表示するように変更できる設定があります。

ここで、ページが中国語に変換されていることがわかります。

この時点で、nginx ベースの zabbix5.0 の導入は完了です。より関連性の高い nginx zabbix 5.0 のインストールと導入コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Zabbix を使用して Nginx/Tomcat/MySQL を監視する方法の詳細なチュートリアル

<<:  HTML で JavaScript の全選択/全選択解除操作を実行するサンプル コード

>>:  MySQL の日付型の単一行関数コードの詳細な説明

推薦する

URLエスケープエンコーディングの特殊文字に基づいて

目次URL 内の特殊文字URL 特殊文字エスケープ、URL 内の一部の文字には特別な意味があり、基本...

Linux の Centos7 に Mysql5.7.19 をインストールする詳細なチュートリアル

1. MySQLをダウンロードするURL: https://dev.mysql.com/downlo...

Nexus をベースに Alibaba Cloud プロキシ ウェアハウスを構成するプロセスの分析

Nexus のデフォルトのリモートリポジトリは https://repo1.maven.org/ma...

React 星評価コンポーネントの実装

要件は、製品の評価データを渡すことであり、ページには対応する星の数が表示されます。 1. 異なる評価...

vue-resource インターセプターの使用に関する詳細な説明

序文インターセプター最近のフロントエンド フレームワークでは、インターセプターは基本的に非常に基本的...

レスポンシブフレームワークのテーブルヘッダーの自動改行問題に対する簡単な解決策

最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...

フォーム要素とプロンプトテキストが揃っていない問題

最近のプロジェクトでは、多くのフォーム、特にチェックボックスとラジオボタンの作成が含まれます。しかし...

ホバー画像のポップアウトポップアップ効果を実現するための純粋な CSS のサンプルコード

実施原則メイングラフィックは、背景と前景の 2 つの要素で構成されています。次のサンプルコードでは、...

MySQL の複合インデックスはどのように機能しますか?

目次背景複合インデックスを理解する左端一致原則フィールド順序の影響複合インデックスは単一のインデック...

MySQL 8.0.12 簡単インストールチュートリアル

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

MAC での MYSQL5.7.17 接続失敗の問題と解決策

MYSQL5.7.17 が MAC で接続できない問題。SQLBench_community 6.3...

CSS で「プラス記号」効果を実装するためのサンプルコード

以下に示すプラス記号の効果を実現するには: この効果を実現するには、div 要素だけが必要です。 b...

win10にmysql 8.0.18-winx64をインストールする詳細な手順

1. まず公式ウェブサイトにアクセスしてMySQLインストールパッケージをダウンロードします参考: ...

アイデア展開Tomcatサービス実装プロセス図

まずプロジェクトの成果物を構成するスタートアップ項目の設定 Tomcatサービスを作成する開始したい...

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...