A、Zabbixのコンポーネント
(1)のZabbixサーバ:レポート情報のZabbixエージェントまたはのZabbixプロキシを受信するための責任が送信され、組織構成情報、統計情報や運転データを担当しています。
(2)のZabbixデータベース:すべてのZabbix監視データの構成情報を格納するデータベースと監視データ備えます
、履歴データ:各試料の結果、比較的短い長さを保存します
B、トレンドデータ:集計データ、比較的長い期間に記憶されたデータ
(3)のZabbixウェブ:構成とビューのZabbixのZabbixは、関連情報を監視するWeb管理インターフェイスを介して、管理者へのZabbix GUIインタフェースは、別のサーバーに個別に配備することができます。
(4)のZabbixエージェント:監視対象ホスト上に展開さは、ホストの監視データを収集するための責任がある、とのZabbixサーバやZabbixのプロキシに送信されます。
(5)のZabbixプロキシ:オプションのローカルエリアのZabbixエージェントにデータを監視収集する分散制御環境の成分、および統一のZabbixサーバに送信されます。
説明:通常の状況下では、Zabbixのエージェントは、ホストは、中央監視センタホストに報告する責任があり、監視対象ホスト上の収集データに展開マスタ/エージェント・モデルのマスターをセンターコンソールの監視を担当、と呼ばれているZABBIXサーバ、ZABBIXのサーバーからのZabbixエージェントは情報が中に保存されている受信のZabbixデータベース管理者のニーズは、情報を監視する様々なを表示する場合は、あなたが使用する必要がある、PHP 書かZABBIXウェブのを、とに依存LAMPの環境にかかわらず、ZABBIXサーバの、またはZABBIXウェブの、ありますあなたはに接続する必要があるのZabbixデータベースの関連データへのアクセス。
二、Zabbixは一般用語を使用します:
(1)ホスト:ホストのZabbix監視対象とする必要があり、ホストがホストグループに属している必要があります。
(2)ホストグループ:ホストグループ、同じ特性を有する、前記複数のホスト、論理ユニットの役割。
(3)項目:監視項目は、インデックスデータを監視する特定は、監視対象からのデータは、コアZabbixはデータ収集項目ノーデータ、相対監視対象、各監視ないれていない項目を監視しました用語「キー」によって監視識別されます。
(4)キーは:あなたは、あなたがキーを取得するために通過しなければならないデータの監視項目を取得したい場合は、キーは、Zabbixのは、キーはしばしば、より一般的であるキーの一部が付属して、あなたはこれらのキーを介してCPU、メモリ、ハードディスクなどにを監視することができます共通の指標、情報を得るために、異なる指標が、これらは内蔵のキー監視要件を満たすことができない場合、あなたはまた、キー、カスタムキーによる適切なアクションをカスタマイズすることができます。
(5)トリガ:トリガが、受信データに監視対象内の特定の項目を評価するための式は、合理的な範囲内である、すなわち、閾値は、受信されたデータ量が閾値、トリガ条件に達しデータの量が再び合理的な範囲に戻り、「問題」に「OK」、から、そのステータスが「問題」変換されたバック「OK」から変更されます。
(6)イベント:イベント状態の変化は、対応するイベントが発生したトリガ、トリガ・イベントの状態から変化が発生し、「トリガ・イベント」と呼ばれ、ZABBIX、トリガ・イベントのイベントに自動検出イベント、自動登録イベントおよび内部イベント。
(7)アクション:アクションは、動作(例えば、通知を送信)および(操作が行わ)条件を含む、予め定義された特定のイベントを処理するための方法を指します。
(8)エスカレーション:アラームの更新は、アラームを送信したり、そのようなアラーム5分の送信など、リモートコマンドのカスタムプログラムを実行、5はすべての伝送劣っていました。
(9)メディア:メディア手段又はチャネル、例えばEメール、Jabberの、またはSMSのように、等、通知を送信します。
(10)通知:通知、選択されたメディアを介してユーザにイベントに関する情報を送ります。
(11)リモートコマンドリモートコマンドホストが特定の条件の下で監視されている場合、事前定義されたコマンドが自動的に実行されてもよいです。
(12)テンプレート:プリセットがセットホストを監視定義クイックエントリのテンプレートは、典型的には、アイテム、トリガー、グラフ、スクリーン、アプリケーション、および低レベルの検出ルールが含まれ、テンプレートは、単一のホストに直接連結することができます。
(13)アプリケーション:アプリケーションセット、アイテムのセット。
(14)ウェブscennario:ウェブシーン、ウェブサイトの可用性または複数のHTTPリクエストを検出します。
(15)フロントエンド:フロントエンド、ZabbixのWebインターフェイス。
三、通信のZabbixのサポート:
(1)エージェント:この方法でエージェントを対応する監視対象、トップピックをサポートしている場合、専用のエージェントの監視を介して、共通マスタ/エージェントモデルは、類似しています。
(2)SSH / Telnetのリモートコントロールプロトコルによって通信します。
(3)SNMPは:簡易ネットワーク管理プロトコルは、SNMPは、SNMPプロトコルは、通常、ルータ上のエージェントをインストールすることはできません、ビーイングは、監視対象を介して通信する。このハードウェアを切り替えるが、ハードウェアは、多くの場合、SNMPプロトコルをサポートするために、SNMPは、プロトコルを実勢より遠い種は、ほとんどのネットワークデバイスは、このプロトコルをサポートし、SNMPプロトコルは、実際に動作するも、仕事のマスタ/エージェントとして理解することができるが、唯一、これらのデバイスにSNMPエージェントの上に構築されています。
(4)IPMI:インテリジェントプラットフォーム管理インターフェース、インテリジェントプラットフォーム管理インターフェース、IPMIインタフェース、電圧、温度、ファンの状態、電力状態として、監視されている物体の物理的特性を監視する、標準的なIPMIハードウェアインターフェースを介して、監視することによって。
(5)JMX:Javaの管理拡張機能、Javaの管理拡張機能、JVM仮想マシンモニタ、より頻繁にこのように使用。
5は、Zabbixは動作モード:
(1)アクティブ・モード:データ収集終了のZabbixエージェントがZabbixのサーバを削減する、アクティブな圧力のZabbixサーバに送信されます。
パッシブモード(2):Zabbixのエージェントがデータを送信しませんが、Zabbixのサーバデータオーバープルするのを待つ、デフォルトではパッシブモードです。
説明:かどうかは、アクティブモードまたはパッシブモード、のためにあるのZabbixエージェントがあり、アクティブモードとパッシブモードが共存することができます
第四に、準備作業:
1、選択肢のZabbixのバージョンます。https://www.zabbix.com/life_cycle_and_release_policy
注:選択することをお勧めしますLTS (長期サポート、長期サポート)のバージョンを
2、リンク:
(1)のZabbixダウンロードします。https://www.zabbix.com/download/
(2)のZabbix 4.0 LTS中国製品のマニュアルします。https://www.zabbix.com/documentation/4.0/zh/manual
3、デモ環境:
IP |
オペレーティングシステム |
ホスト名 |
役割 |
192.168.11.206 |
CentOSの7.6 x86_64版 |
WEB01 | Zabbixデータベース、ZABBIXサーバ、Zabbixのウェブ、ZABBIXエージェント |
192.168.11.207 |
CentOSの7.6 x86_64版 |
WEB02 |
ZABBIXエージェント |
192.168.11.208 |
CentOSの7.6 x86_64版 |
代理 |
ZABBIXプロキシ |
192.168.11.100 |
ウインドウズ10 |
ノード |
ZABBIXエージェント |
図4に示すように、全てのCentOSのノードは、次の操作を実行します。
(1)閉じるのSELinuxとfirewalld
(2)時刻同期設定サーバー
(3)は、ホスト名を設定します
(4)は、hostsファイルを設定します。
#vimの/ etc / hostsファイル
192.168.11.206 WEB01
192.168.11.207 WEB02
192.168.11.208プロキシ
#rpmの-ivh https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpm:(5)はEPELソースを配置し
(6)のZabbix YUMソースに配置しました:
#rpmで-ivh https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm
#rpmの-ql ZABBIX-リリース
#猫を/ dev / null> /etc/yum.repos.d/zabbix.repo
#vimの/etc/yum.repos.d/zabbix.repo
5、ZABBIXサーバ環境LAMPノード構造:
説明:ZABBIX Webはのに依存したLAMP 環境、インストール、WebベースのMySQL ZABBIX (4.0.16 自動的にデフォルトインストールされます)パッケージのhttpd (2.4.6 )、PHP (5.4.16 )、ZABBIX-ウェブ(4.0.16 )、など関連のパッケージは、本明細書で使用される、yumをインストールPHP 7.2 のバージョンを。CentOSの7.7 でMariaDBのバージョンが5.5.64 にアップグレードし、以前のバージョンMariaDB 10.4 輸入版の後てcreate.sql ファイルは"にプロンプトが表示されますときERROR 1118(42000)ATライン1278 :.行TOOサイズ大(> 8126)を変更しますTEXTまたはBLOBの一部の列を助けることができる 。現在の行フォーマットでは、0バイトのBLOBプレフィックスが格納されているインラインです。「だから、Zabbixのデータベース使用してMySQLの5.7を。ここには別のインストールのhttpd 、およびZabbixのデータベースは、ZABBIXサーバ、ZABBIXウェブの中に配備されているZABBIXサーバノード、実際の生産環境は個別にデプロイすることができます。
(1)インストール構成のMySQL 5.7:
、システムがすでにMariaDB存在するかどうかを確認するには:
#のrpm -qa | grep -i mariadb - > mariadb-LIBS-5.5.64-1.el7.x86_64
#yumを-y削除mariadb-LIBS
B、インストールmysql57-コミュニティリリースel7.rpm:
#rpmで-ivh http://repo.mysql.com/mysql57-community-release-el7.rpm
注:インストール後になる/etc/yum.repos.d ビルドディレクトリのmysql-コミュニティsource.repo とmysqlの-community.repoを
Cは、MySQL 5.7関連のソフトウェアパッケージをインストールします。
#yumのリストすべて| grepのmysqlのコミュニティ
#yumを-yインストールのmysql-コミュニティ・クライアントのmysql-コミュニティの共通のmysql-develのコミュニティ-mysqlのコミュニティ-LIBSのmysql-コミュニティ-LIBS-compatのmysqlの - コミュニティサーバーのMySQLコミュニティテスト
Dは、MySQL 5.7初期設定:#mysqldの--initialize --user = mysqlの--datadir =の/ var / libに/ mysqlの
注:初期化は必ずその前に/ var / libに/ mysqlのディレクトリは空であります
E、設定ファイルmy.cnfファイルを変更します。
#mvのな/etc/my.cnf /etc/my.cnf.bak
#vimのな/etc/my.cnf
[mysqldを】
ポート= 3306
ソケット=の/ var / libに/ mysqlの/にmysql.sock
DATA =の/ var / libに/ mysqlの
PIDファイル=の/ var /実行/ mysqldを/ mysqld.pid
ログ・エラー=の/ var /ログ/ mysqld.log
lower_case_table_names = 1
character_set_server = utf8mb4
collation_server = utf8mb4_general_ci
もしinnodb_file_per_table = 1
skip_name_resolve = 1
slow_query_log = 1
slow_query_log_file = mysqlの-slow.log
シンボリックリンク= 0
explicit_defaults_for_timestamp = 1
SERVER_ID = 1
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
log_bin = mysqlのビン
log_bin_index = mysqlの-bin.index
binlog_format =行
F、MySQLを起動します。
#systemctl開始のmysqld
#systemctlステータスのmysqld
#PsのAUX | grepのmysqldを
#のSS -tunlp | grepの-w:3306
#尾-100 /var/log/mysqld.log
グラムは、スタートからの起動を設定します。#mysqldを有効systemctl
時間、ルートを表示@ localhostのユーザーの初期パスワード:#grepのパスワード/var/log/mysqld.log
私、セキュリティの構成ウィザード:#1 mysql_secure_installation
jは、リモートでログインするには、rootユーザーを許可します:
#mysqlの-uroot -p
MySQLの> 123456 『「によって識別される』ユーザーroot@'192.168.11.%を作成します。
MySQLの> *上のすべてを与える* 'root@'192.168.11.%に。
MySQLの>フラッシュ権限;
#mysql -V
(2)インストールと設定PHP 7.2:
取付webtatic-release.rpm:#rpmで-ivh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
B、関連するパッケージは、PHP 7.2をインストール:
#yumのリストすべて| grepのPHP
#yumを-y mod_php72w php72w-CLI php72w共通php72w-develのphp72w-FPM php72w-GD php72w-のLDAP php72w-mbstringのphp72w-mysqlndのphp72w-opcache php72w-XMLをインストール
#PHP -version:C、PHPのバージョンを参照してください
五、ZABBIXサーバノードの展開のZabbixサーバ、ZabbixのWebとのZabbixエージェント:
1、のZabbixサーバの配備:
(1)インストールZABBIXサーバ-mysqlのパッケージ:#yumを-y ZABBIXサーバ・MySQLをインストール
(2)表示のZabbixサーバのバージョン:#zabbix_server -V
(3)データベースとZABBIX「zbxuser'@'192.168.11.%」ユーザを作成し、「zbxuser'@'192.168.11.%」ユーザのリモート管理を許可します。
#mysqlの-uroot -p
MySQLの>データベースZABBIX文字セットUTF8 COLLATE utf8_binを作成します。
mysqlの>「123456」で識別されるユーザzbxuser'@'192.168.11.%」を作成します。
MySQLの> ZABBIXにすべてを与える* 'zbxuser'@'192.168.11.%' に。
MySQLの>フラッシュ権限;
(4)てcreate.sqlファイルを導入し、初期化ZABBIXデータベース(3次のいずれかの方法):
#zcatを/usr/share/doc/zabbix-server-mysql-4.0.16/create.sql.gz | mysqlの-uzbxuser -h192.168.11.206 -p ZABBIX
若しくは
#gzipの-d /usr/share/doc/zabbix-server-mysql-4.0.16/create.sql.gz
MySQLの>使用ZABBIX。
MySQLの>ソース/usr/share/doc/zabbix-server-mysql-4.0.16/create.sql
若しくは
#gzipの-d /usr/share/doc/zabbix-server-mysql-4.0.16/create.sql.gz
#mysqlの-uzbxuser -h192.168.11.206 -p ZABBIX </usr/share/doc/zabbix-server-mysql-4.0.16/create.sql
注:gzipでは、-d 自動的に実行した後に削除create.sql.gzの解凍保持、ファイルてcreate.sql ファイルを
ZABBIXデータベースはテーブルを作成するかどうか(5)をチェックします。
#mysqlの-uzbxuser -h192.168.11.206 -p123456 -e「利用ZABBIX。テーブルを示し;」2>を/ dev / null | トイレ-l
(6)zabbix_server.conf設定ファイルを変更します。
#rpmの-ql ZABBIXサーバ-mysqlの
#CDの/ etc / ZABBIX
#CPのzabbix_server.conf {。} BAK
#vimのzabbix_server.conf
前変更 |
変更されました |
#ListenPortに= 10051 |
ListenPortに= 10051 |
#LOGTYPE =ファイル |
LOGTYPE =ファイル |
ログファイル=は/ var / log / ZABBIX / zabbix_server.log |
デフォルトのままに |
ログファイルサイズ= 0 |
デフォルトのままに |
PidFileオプション=の/ var /実行/ ZABBIX / zabbix_server.pid |
デフォルトのままに |
#DBHOST = localhostを |
DbのःOST = 192.168.11.206 |
DBNAME = ZABBIX |
デフォルトのままに |
DBUSER = ZABBIX |
DBUSER = zbxuser |
#DBPASSWORD = |
DBPASSWORD = 123456 |
#DBSocket = |
DBSocket =の/ var / libに/ mysqlの/にmysql.sock |
#dbportは= |
= 3306 dbportは |
#ListenIP = 127.0.0.1 |
ListenIP = 192.168.11.206 |
AlertScriptsPath =は/ usr / libに/ ZABBIX / alertscripts |
デフォルトのままに |
ExternalScripts =は/ usr / libに/ ZABBIX / externalscripts |
デフォルトのままに |
#FpingLocation =は/ usr / sbinに/ fping |
FpingLocation =は/ usr / sbinに/ fping |
#AllowRoot = 0 |
AllowRoot = 0 |
#ユーザー= ZABBIX |
ユーザー= ZABBIX |
(7)のZabbixサーバを起動するには:
#systemctl開始ZABBIXサーバ
#systemctlステータスZABBIXサーバ
#PsのAUX | grepのzabbix_server
#のSS -tunlp | grepの-w 10051
#尾-100 /var/log/zabbix/zabbix_server.log
(8)カイからのブートを設定するには:#はZABBIXサーバを有効systemctl
2、展開のZabbixのWeb:
(1)インストールZABBIX-ウェブ-mysqlのパッケージ:#yumを-yインストールZABBIX-ウェブ-mysqlの
(2)は、httpd.conf設定ファイルを変更します。
#vimのある/etc/httpd/conf/httpd.conf
前変更 |
変更されました |
#サーバーの名前 www.example.com:80 |
サーバーの名前 192.168.11.206:80 |
(3)はHTTPDを起動します。
#HTTPDを起動systemctl
#systemctl状態のhttpd
# ps aux | grep httpd
# ss -tunlp | grep -w :80
(4)配置开机自启:# systemctl enable httpd
(5)浏览器访问http://192.168.11.206/zabbix #安装zabbix
说明:/etc/httpd/conf.d/zabbix.conf配置文件中已针对PHP 5.4优化,但目前安装的是PHP 7.2,需要修改/etc/php.ini配置文件,Zabbix相关PHP网页全存放在/usr/share/zabbix目录下
# vim /etc/php.ini
修改前 |
修改后 |
post_max_size = 8M |
post_max_size = 16M |
max_execution_time = 30 |
max_execution_time = 300 |
max_input_time = 60 |
max_input_time = 300 |
;date.timezone = |
date.timezone = Asia/Shanghai |
重启httpd:# systemctl restart httpd
刷新网页,必须所有的检查项都为“OK”才能继续:
安装后生成的配置文件:/etc/zabbix/web/zabbix.conf.php
登录Zabbix Web,用户名Admin 密码zabbix
3、Zabbix Web简单配置:
(1)修改Admin用户默认密码:
Administration --> Users --> Admin --> Change password
(2)禁用guest用户:
Administration --> User groups --> 勾选Guests组 --> Disable
Administration --> Users --> guest用户的状态已变为Disabled
(3)修改刷新不支持项的时间间隔:
Administration --> General --> Other --> Refresh unsupported items默认10m修改为30s --> Update
(4)调整每页显示的行数,默认为50行:
Admin--> User --> Rows per page (200)--> Update
(5)开启前端消息声音:
Admin --> Messaging --> Frontend messaging[勾上√,全选] --> Update
4、部署Zabbix Agent:
出现ZBX没有变绿,是因为没有安装Zabbix agent
(1)安装zabbix-agent软件包:# yum -y install zabbix-agent
(2)修改zabbix_agentd.conf配置文件:
# cd /etc/zabbix
# cp zabbix_agentd.conf{,.bak}
# vim zabbix_agentd.conf
修改前 |
修改后 |
PidFile=/var/run/zabbix/zabbix_agentd.pid |
保持默认 |
# LogType=file |
LogType=file |
LogFile=/var/log/zabbix/zabbix_agentd.log |
保持默认 |
LogFileSize=0 |
保持默认 |
# EnableRemoteCommands=0 |
EnableRemoteCommands=1 |
Server=127.0.0.1 |
Server=192.168.11.206 |
# ListenPort=10050 |
ListenPort=10050 |
# ListenIP=0.0.0.0 |
ListenIP=192.168.11.206 |
ServerActive=127.0.0.1 |
ServerActive=192.168.11.206 |
Hostname=Zabbix server |
Hostname=zabbix-server |
# AllowRoot=0 |
AllowRoot=0 |
# User=zabbix |
User=zabbix |
Include=/etc/zabbix/zabbix_agentd.d/*.conf |
保持默认 |
# UnsafeUserParameters=0 |
UnsafeUserParameters=1 |
说明:
Server:使用于被动模式,指定允许哪台Zabbix Server主动拉取当前Zabbix Agent的数据,此IP为Zabbix Server的IP,实现基于IP的访问控制,如果有多个IP,使用逗号分隔。
ServerActive:使用于主动模式,指定Zabbix Agent将信息主动推送至哪台Zabbix Server,如果有多个IP,使用逗号分隔。
(3)启动Zabbix Agent:
# systemctl start zabbix-agent
# systemctl status zabbix-agent
# ps aux | grep zabbix_agent
# ss -tunlp | grep -w 10050
# tail -100 /var/log/zabbix/zabbix_agentd.log
(4)配置开机自启:# systemctl enable zabbix-agent
5、配置Zabbix Web:
Configuration --> Hosts --> Zabbix server --> Update
修改前 |
修改后 |
Host name: Zabbix server |
Host name: zabbix-server |
Visible name: |
Visible name: Zabbix server |
IP address: 127.0.0.1 |
IP address: 192.168.11.206 |
说明:上述Zabbix Web中的Host name值要与该节点的主机名,以及/etc/zabbix/zabbix_agentd.conf配置文件中的Hostname参数值三者相同
备注:zabbix-server节点完成对自身状态的监控;