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 の日付型の単一行関数コードの詳細な説明

推薦する

MySQL 5.7.17 無料インストールバージョンの設定方法グラフィックチュートリアル (Windows10)

1. 概要ネットでいろいろ検索してみたところ、Linux システム向けではなく、現在の新しいバージ...

HTML の 2 つのタブ ナビゲーション間の競合の解決方法

まず問題の説明から始めましょう:同じページで、1 つのタブに float:left が必要で、もう ...

MySQL ビューの紹介と基本操作のチュートリアル

序文ビューは、データベース システム内で非常に便利なデータベース オブジェクトです。 MySQL 5...

WeChatミニプログラムがいいねサービスを実装

この記事では、WeChatアプレットの具体的なコードを参考までに紹介します。具体的な内容は次のとおり...

mysql-connector-java8.0.27 へのアップグレードに関する注意事項

最近、オンライン セキュリティ スキャンにより、MySQL コネクタに脆弱性が見つかりました。確認し...

ウェブ開発におけるクロスドメインの理由に対する複数のソリューション

目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...

MySQL で union all を使用してユニオンソートを取得する方法

プロジェクトでは、何らかの不可逆的な理由により、テーブルに保存されたデータがページの表示要件を満たす...

CSS オーバーフローラップの新しいプロパティ値をどこでも使用

1.まず、overflow-wrap属性を理解する CSS のoverflow-wrapプロパティは...

Vueは単純なランダムロールコールを実行します

目次レイアウト部分: <div id="アプリ"> <p>...

vue N​​progress のプログレスバー機能を実装する際の一般的な問題

NProgress は、ページがジャンプしたときにブラウザの上部に表示される進行状況バーです。公式ウ...

MySQL LOAD_FILE() 関数メソッドの概要

MySQL では、LOAD_FILE() 関数はファイルを読み取り、その内容を文字列として返します。...

CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します

1. CSSスタイルは、テキストが長すぎる場合に省略記号を表示する問題を解決します1. 一般的なスタ...

Windows (x86、64 ビット) で MySQL 5.7.17 無料インストール バージョンをアップグレードするための詳細なチュートリアル

Laravel 5.4 のデフォルトの utf8mb64 文字エンコーディングをサポートするには、M...

MySQL パーティションテーブルの正しい使用方法

MySQL パーティションテーブルの概要数億、あるいは数十億ものレコードを格納するテーブルに遭遇する...

よく知られているブラウザのDOCTYPEモード選択メカニズム

ドキュメントの範囲この記事では、Firefox やその他の Gecko ベースのブラウザ、Safar...