Aは、ZABBIX実行アーキテクチャ
Zabbixは溶液を監視分散エンタープライズクラスのオープンソースです。それは、信頼性、安定性、様々なネットワーク・サーバの様々なアプリケーションの状態を監視することができます。例外は柔軟なアラーム政策を通じて、Zabbixの監視を発生した場合、あなたは、configure、電子メール、テキストメッセージ、任意のイベントのためのメカニズムを警告するマイクロ手紙することができます。そして、このすべて、およびZabbixのが提供するWebインターフェイスを介して設定することができ、Webベースのフロントページにも優れたレポーティングやデータの可視化機能を提供します。これらの機能と特徴は、運用・保守担当者は非常に簡単に操作・メンテナンス監視と管理プラットフォームの強力なセットを構築することができますことができます。
次のようにZabbixの運営体制は以下のとおりです。
以上の動作は、図のアーキテクチャからわかるように、いくつかの構成要素が存在する次のようにのZabbixは、であること:
1、のZabbixサーバ
のZabbixのZabbixサーバは、コア構成要素、すべてのコンフィギュレーション情報、メモリコア操作データと統計です。それは、彼らの組織の操作によって、同時に、すべてのコンフィギュレーション、統計データや設定データをクライアントとの情報により送信されたレポートを受信するための主に担当しています。
図2は、Zabbixのデータベースストレージは、
データを格納するのに使用主に、すべてのデータは、Zabbixの構成情報を収集し、データベースに格納されています。あなたはその上のMySQLは、Oracle、SQLiteのとを使用することができます。
3、Zabbixのウェブインタフェース
のZabbixサーバが同一の物理マシン上で実行しているのZabbix GUIインタフェース、通常(必ずしもそうではない)によって提供されます。
4、のZabbixプロキシプロキシサーバ
これは、一般に、分散監視環境で使用される任意の成分、新しいプロキシサーバーは要約とのZabbixのためのZabbixサーバの統一端に送られ、パフォーマンスおよび可用性データを収集することができるです。
図5は、Zabbixのエージェントの監視エージェント
のZabbixエージェントは、積極的に地域のリソースとアプリケーションを監視する監視対象ホスト上に配備、およびZabbixのサーバのZabbixプロキシエンドまたはエンドに送信されたデータの収集を担当しています。
二、監視Zabbixの期間
、いくつかの一般的な用語のシステムを監視Zabbixの中で、以下は簡単な説明です。
1、ホスト(ホスト)は、
ホスト名またはIPで指定することができ、サーバやネットワーク機器を監視します。
図2に示すように、ホストグループ(ホストグループ)
ホストの論理グループ:それが、ホストの同一のホストグループとテンプレート内の任意の直接的な相関関係はないが、ホストおよびテンプレートを含む、一般のユーザーまたはユーザーグループに監視権限を割り当てる際に使用されるホストグループ。
図3に示すように、アイテム(アイテム)監視
示すようなCPU負荷、ディスクスペース監視サーバとして、監視の特定のオブジェクトを、データ項目がコアのZabbix監視対象オブジェクトに対して収集され、「キー」によって各項目を識別するために。
4、引き金(トリガー)が
受信したデータが閾値に「OK」からフリップフロップの状態よりも大きい場合、実際に受信したデータに監視対象オブジェクトが妥当な範囲内にあるか否かを評価するため、閾値発現を監視しています受信したデータが閾値以下であり、遷移が「OK」状態である「問題」。
5、アプリケーションセット(アプリケーション)
監視項目からなるグループの論理的な集合。
図6に示すように、動作(アクション)は
、このような、操作を実行するとき、実行等の周波数を通知の送信先に定義した通りで発生する問題を監視するための処理方法を意味します。
7、アラーム媒体(メディア)の種類は
、電子メール、Jabberの、等のようなSMS通知、経路アラーム通知を送信するための手段を表します。
図8は、鋳型(テンプレート)
基は、1つまたは複数のホストのセットを達成するために適用されてもよいが、通常、アプリケーションのテンプレートセット、監視項目、トリガ、グラフィック、グラフィックの重合、自動検出いくつかのルール、ウェブシーンなどが含まプロジェクト;テンプレートは、ホストに直接リンクすることができます。
テンプレートは、監視の自動化、ZABBIX困難とキー、音量を達成するためにを学んでいる、アイテムは通常、同じ特性をテンプレートに要約されている必要があり、かつ迅速な展開のためのホスト、モニターへのその後の直接参照します監視しました。
第三に、プラットフォームの監視のZabbixの展開
プラットフォームの展開を監視Zabbixのは比較的簡単ですが、前提は準備ができてLNMPまたはLAMP環境である
私は、展開環境LNMP構成の初めからここにあります。
注:私は、ここだけの簡単な監視フレームワークと同じサーバー上にデプロイされるすべてのサービスになり、ZABBIXプロキシとそうにデプロイされていません。
Zabbixの公式リンク:
ZABBIX 4.2の設定ファイル:https://www.zabbix.com/documentation/4.2/manual/it_services
必要なパッケージ:https://pan.baidu.com/s/1UzzoFUuR84U2ccDf1qW2UQ
抽出コード:grhh
1、nginxのを展開
[root@zabbix /]# mkdir /zabbix # 个人习惯,可忽略
[root@zabbix /]# cd zabbix/
[root@zabbix zabbix]# rz # shangchaun上传所需源码包
[root@zabbix zabbix]# tar zxf nginx-1.14.0.tar.gz
[root@zabbix zabbix]# cd nginx-1.14.0/
[root@zabbix nginx-1.14.0]# yum -y install pcre-devel openssl-devel zlib-devel
[root@zabbix zabbix]# cd nginx-1.14.0/
[root@zabbix nginx-1.14.0]# useradd -s /sbin/nologin -M www
[root@zabbix nginx-1.14.0]# ./configure --prefix=/usr/local/nginx --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre=/usr/src/pcre-8.39 --with-zlib=/usr/src/zlib-1.2.8 --with-http_ssl_module --with-http_gzip_static_module --user=www --group=www && make && make install
[root@zabbix /]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@zabbix /]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
location / {
root html;
index index.php index.html index.htm; #添加index.php
}
#注意删除下面段落的注释符号
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf; #修改此行
}
[root@zabbix /]# netstat -anput |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 46551/nginx: master
[root@zabbix /]# cat > /usr/local/nginx/html/index.php << EOF # 创建测试文件
> <?php
> phpinfo();
> ?>
> EOF
2、PHPの展開
[root@zabbix /]# yum -y install libxml2-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel # 安装依赖包
[root@zabbix /]# cd /zabbix/
[root@zabbix zabbix]# tar zxf libmcrypt-2.5.7.tar.gz
[root@zabbix zabbix]# cd libmcrypt-2.5.7/
[root@zabbix libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install # 编译并安装
[root@zabbix libmcrypt-2.5.7]# cd ..
[root@zabbix zabbix]# tar zxf php-5.6.27.tar.gz
[root@zabbix php-5.6.27]# ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-gd --with-iconv --with-libxml-dir=/usr --with-mhash --with-mcrypt=/usr/local/libmcrypt --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl && make && make install
[root@zabbix php-5.6.27]# cp php.ini-production /etc/php.ini
[root@zabbix php-5.6.27]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@zabbix php-5.6.27]# chmod +x /etc/init.d/php-fpm
[root@zabbix php-5.6.27]# chkconfig --add php-fpm
[root@zabbix php-5.6.27]# chkconfig php-fpm on
[root@zabbix php-5.6.27]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix php-5.6.27]# cd /
[root@zabbix /]# sed -i 's/pm.max_children = 5/pm.max_children = 50/g' /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix /]# sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix /]# sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix /]# sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 35/g' /usr/local/php5.6/etc/php-fpm.conf
[root@zabbix /]# service php-fpm start # 启动php
Starting php-fpm done
[root@zabbix /]# netstat -anput | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 60347/php-fpm: mast
クライアントアクセス定義PHPページ:
3、MySQLデータベースのインストールと設定
[root@zabbix ~]# sh mysql.sh # 执行脚本,等待一会出现如下提示表示安装成功
Starting MySQL. SUCCESS!
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@zabbix ~]# mysql -uroot -p123 #登录MySQL
mysql> create database zabbix character set utf8;
mysql> grant all on zabbix.* to zabbix@'localhost' identified by '123.com';
mysql> grant all on zabbix.* to zabbix@'192.168.171.%' identified by '123.com';
mysql> exit
4、サービスの展開ZABBIX
[root@zabbix zabbix]# tar zxf fping-3.12.tar.gz
[root@zabbix zabbix]# tar zxf zabbix-3.2.1.tar.gz
[root@zabbix zabbix]# cd fping-3.12/
[root@zabbix fping-3.12]# ./configure && make && make install
[root@zabbix fping-3.12]# cd ../zabbix-3.2.1/
[root@zabbix zabbix-3.2.1]# useradd -M -s /sbin/nologin zabbix
[root@zabbix zabbix-3.2.1]# chown zabbix:zabbix /usr/local/sbin/fping
[root@zabbix zabbix-3.2.1]# yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel OpenIPMI-devel libssh2-devel
[root@zabbix zabbix-3.2.1]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi && make && make install
#--enable-java:方便后续监控 tomcat 程序所用
#--with-openipmi:用户可以利用 IPMI 监视服务器的物理特征,如温度、电压、风扇工作状态、电源供应等
[root@zabbix zabbix-3.2.1]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
[root@zabbix zabbix-3.2.1]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
#导入zabbix数据到MySQL,注意导入的顺序,如果导入后返回提示信息,可忽略,是因为导入的命令将密码展示在了终端
[root@zabbix zabbix-3.2.1]# pwd
/zabbix/zabbix-3.2.1
[root@zabbix zabbix-3.2.1]# cd database/mysql/
[root@zabbix mysql]# mysql -u zabbix -p123.com -h localhost zabbix < schema.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@zabbix mysql]# mysql -u zabbix -p123.com -h localhost zabbix < images.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@zabbix mysql]# mysql -u zabbix -p123.com -h localhost zabbix < data.sql
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@zabbix mysql]# chown -R zabbix:zabbix /usr/local/zabbix/
5、最適化とZABBIX開始
#修改zabbix配置文件
[root@zabbix /]# sed -i 's/# ListenPort=10051/ListenPort=10051/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix /]# sed -i 's/LogFile=\/tmp\/zabbix_server.log/LogFile=\/usr\/local\/zabbix\/logs\/zabbix_server.log/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix /]# sed -i 's/# PidFile=\/tmp\/zabbix_server.pid/PidFile=\/usr\/local\/zabbix\/logs\/zabbix_server.pid/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix /]# sed -i 's/# DBHost=localhost/DBHost=localhost/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix /]# sed -i 's/# DBPassword=/DBPassword=123.com/g' /usr/local/zabbix/etc/zabbix_server.conf[root@zabbix /]# sed -i 's/# DBSocket=\/tmp\/mysql.sock/DBSocket=\/usr\/local\/mysql\/mysql.sock/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix /]# sed -i 's/# DBPort=3306/DBPort=3306/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix /]# sed -i 's/# FpingLocation=\/usr\/sbin\/fping/FpingLocation=\/usr\/local\/sbin\/fping/g' /usr/local/zabbix/etc/zabbix_server.conf
[root@zabbix /]# sed -i 's/# LogSlowQueries=0/LogSlowQueries=3000/g' /usr/local/zabbix/etc/zabbix_server.conf
#如果数据库名称和数据库用户没有和我创建的一样,那么还需要更改以下两项
#DBName=zabbix #数据库名称
#DBUser=zabbix #登录数据库的用户名
[root@zabbix /]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
[root@zabbix /]# ldconfig # 刷新上面更改的配置
[root@zabbix /]# mkdir /usr/local/zabbix/logs
[root@zabbix /]# chown -R zabbix:zabbix /usr/local/zabbix/
[root@zabbix /]# cd /zabbix/zabbix-3.2.1/misc/init.d/fedora/core
[root@zabbix core]# cp zabbix_agentd /etc/init.d/
[root@zabbix core]# cp zabbix_server /etc/init.d/
[root@zabbix core]# sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g' /etc/init.d/zabbix_server
[root@zabbix core]# sed -i 's/PIDFILE=\/tmp\/$BINARY_NAME.pid/PIDFILE=\/usr\/local\/zabbix\/logs\/$BINARY_NAME.pid/g' /etc/init.d/zabbix_server
[root@zabbix core]# /etc/init.d/zabbix_server start #启动zabbix,也可以执行“zabbix-server”来启动
Reloading systemd: [ OK ]
Starting zabbix_server (via systemctl): [ OK ]
[root@zabbix core]# netstat -anput | grep 10051
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 74199/zabbix_server
[root@zabbix core]# cd /zabbix/zabbix-3.2.1/frontends/
[root@zabbix frontends]# cp -r php/ /usr/local/nginx/html/zabbix
configure ZABBIXに6、クライアントアクセスnginxのプロキシ
アクセスNignxサーバーIP / ZABBIXことができる、それは自動的に次のページにジャンプします:
PHPの設定項目について何かを間違っがある上にその要件を満たしていません。
[root@zabbix /]# sed -i 's/post_max_size = 8M/post_max_size =16M/g' /etc/php.ini
[root@zabbix /]# sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini
[root@zabbix /]# sed -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.ini
[root@zabbix /]# sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/g' /etc/php.ini
[root@zabbix /]# sed -i 's/;always_populate_raw_post_data = -1/always_populate_raw_post_data = -1/g' /etc/php.ini
[root@zabbix /]# service php-fpm restart # 重启服务
Gracefully shutting down php-fpm . done
Starting php-fpm done
そして、エラーが、プロファイルを作成するように求められていない、私たちは手動で設定ファイルをダウンロードして、指定したディレクトリにアップロードし、その後、クリックしてダウンロードしましょう
[root@zabbix /]# ls /usr/local/nginx/html/zabbix/conf/zabbix.conf.php
/usr/local/nginx/html/zabbix/conf/zabbix.conf.php
:Zabbixは(:管理者パスワード:ZABBIXデフォルトのユーザー名)にログインするためのユーザー名とパスワードを入力し
、7中国のゴミ問題のその後のチャートを解決します
[root@zabbix ~]# cd /usr/local/nginx/html/zabbix/fonts/ #切换至该目录
[root@zabbix fonts]# rz
[root@zabbix fonts]# ls
DejaVuSans.ttf simkai.ttf
[root@zabbix fonts]# sed -i 's/DejaVuSans/simkai/g' /usr/local/nginx/html/zabbix/include/defines.inc.php