Zabbixの監視ソフトウェアの展開

モニタは、運用・保守のために、目の運転・保守要員として知られていることが重要です。良い監視システムは、時間のダウンタイムを削減、迅速運用・保守要員の問題の根本を見つけるのを助けるとトラブルシューティングのスピードを向上させることができます。したがって、あなたが見るには、運転・保守要員として、最も基本的なスキルの一つであり、共通の監視ソフトウェアの使用をマスターし、見ることができます。

A、Zabbixの概要

1)Zabbixのプロフィール

Zabbixは85%の企業が、ZABBIXのソリューションを監視しない使用について、監視機能、エンタープライズクラスのオープンソースプラットフォームの動作および保守インタフェースを監視し、ネットワークに分散、現在最も広く国内のインターネットユーザーの後にソフトウェアの監視に使用されて提供するWebベースのシステムです。簡単にZabbixの取得、使用、強力かつ無料のオープンソース、管理および設定のZABBIXのしやすさ、に単純なデータのより美しい景色を生成することができ、その自動検出機能を大幅に日常管理の負荷を軽減、データの収集と豊富なAPIインタフェースが可能に柔軟なユーザデータの取得、および分散型システムアーキテクチャは、(プラグイン機能が充電されるの一部)は、任意の企業のニーズを満たすためにZABBIXプラグインアーキテクチャを提供することによって、理論的には、モニタに複数のデバイスをサポートすることができます。

2)優れた監視ソフトウェアの共通の欠点

一般的な監視ツール:Zabbixのは、Nagiosは、サボテンは、このブログの記事は、これら三つの唯一の簡単な紹介で、彼らの長所と短所は次のように:

(1)Zaabix

利点:

  • 1)マルチプラットフォームエンタープライズクラスのオープンソースソフトウェア(RedHatの、CentOSのは、Ubuntu、Debianを使用)を監視分散。
  • 2)簡単なインストールと展開、データ収集統合及びフレキシブルプラグの多様。
  • 3)強力な、複雑なマルチコンディションアラームを実装することができます。
  • 4)機能を描画来る、結果のデータは、より直感的な画像を表示するようにグラフ化することができます。
  • 5)サポートがスクリプトを呼び出し、APIインタフェースをご用意しております。
  • 問題が発生した場合6)自動的に(セットへの薬剤の必要性が権限を実行)、リモートコマンドを実行することができる。
    短所:
  • 1)項目バルク編集は便利ではありません。
  • スクリーニング、そして、より多くのアラームメッセージ、およびカスタムプロジェクトがプロセスをより面倒な設定をする必要がある場合2)システムレベルのアラームセット比較的多く、(あなたは)他人を修正するためのテンプレートをインポートするには、オンラインで行くことができます。
  • あなたがサーバーのセットの平均を見ることができない場合は3)、データ集計関数の二次開発の必要性が欠けています。
  • 4)クライアントプログラムZABBIXエージェントをインストールする必要が。

(2)のNagios

Ngiosは、オープンソース、エンタープライズクラス監視システム、基本的な監視システムCOU、ディスク、ネットワーク、および他のハードウェアパラメータを達成するために、サービスのすべての基本的なタイプであるSMTP、POP3等に加えて、スクリプトをプラグインをインストールして書き込むことにより、監視、ユーザー(ZABBIXより弱い関数)を監視するアプリケーションを実装することができ

利点:

  • 1)サーバ、アプリケーション、およびデバイスのエラーを自動的に自動ログインが転がり、再起動します。
  • 2)柔軟な構成を、あなたが監視モードを介して配信、シェル・スクリプトをカスタマイズすることができます。
  • 3)重複様々なアラーム設定を監視するホストをサポートしています。
  • 操作を邪魔することなく、Nagiosの設定ファイルをリロードする4)コマンド;
    短所:
  • 1)イベント・コンソールの機能が弱く、プラグインの使用を容易にする、乏しいです。
  • 2)処理性能、及び他の指標は、力に流れません。
  • 3)過去のデータが表示されていない、唯一のアラームイベントを見るために、誤動作の原因を追跡することは困難です。
  • 4)構成の複雑さ、時間、労力及びコストの初心者投資が比較的大きいです。

(3)サボテン

この技術の出現にZabbixは排除されている、長い労働時間の把握があり、それはあまり紹介はありませんでしょう!

4)Zabbixの機能

Zabbixは次の機能があります。

  • 1)一般的なビジネス機能は、ソフトウェア(ホストのパフォーマンス監視、ネットワーク機器のパフォーマンスの監視、データベース、FTPおよび他の一般的なプロトコルモニタ、複数のアラームモード、チャート詳細なレポート)を監視するパフォーマンスの監視が含まれています。
  • 2)(自動的に設定したルールが発見サーバに実装することができます)は、ネットワーク機器やサーバーの自動検出をサポートしています。
  • 3))(書き込みスクリプトに必要)動的監視項目を監視体積を達成するための鍵を自動検出(低い発見をサポートします。
  • 4)支持体は、ショーケースには、分散監視ポイントの管理を分散します。
  • 5)スケーラビリティは、サーバは共通インタフェース(API関数)を提供し、改善することができると、書き込みプラグインするには、監視対象のアイテムをカスタマイズすることができる簡単なアラームレベルの設定を、関連するプログラミング・インタフェースに従って実現独自のモニタリング()を開発します。
  • 6)サーバー/プロキシとクライアントモード、柔軟なトリガは、トリガと呼ばれる、非常に柔軟な問題のしきい値を定義することができ、高度にカスタマイズアラーム、送信通知、カスタマイズ可能なアラームのアップグレード、受信者、メディアのタイプ。CPU負荷、メモリの使用状況、ディスク使用状況、ネットワーク状態、ポート監視は、監視ログなどが挙げられます。

4)のZabbixの原理を監視

ZabbixはC / Sによりモード、B / Sモードが示されており、端部ウェブに配置されたデータを収集します。

制御終了:データ収集ホストのSNMP実施形態では、封入剤を介してネットワーク装置によるデータ取得、
サーバ側は:データがデータベースに収集し、SNMPエージェントによって送信され、その後、PHPによって+ nginxの(またはApache)ウェブフロントエンドに表示されます。

組成物5)のZabbix

ZABBIXは、重要な、主に以下のコンポーネントで構成され、具体的な効果は、次のとおりです。

  • ZABBIXサーバ:エージェントのコアコンポーネントを受信するための責任は、その組織が報告書の情報、すべての設定、統計、データ操作を送信します。
  • データベースstrongage:すべての構成情報とデータ収集を格納するための責任を負います。
  • ウェブインタフェース: GUIインタフェースのZABBIXであり、通常のZabbixサーバが同じホスト上で実行しています。
  • プロキシ:、分散環境の監視に使用される任意成分である、データ収集部Serverエージェント、[サーバーに転送され、サーバは、圧力を低減することができます。
  • エージェント:監視対象ホスト(クライアント)上に展開さはなどCPU、メモリ、データベース、などのエンドホストデータを、監視データを収集するための責任があり、その後、プロキシサーバー側または側に送信します。

6)Zabbixは実行中のプロセス

1)エージェントが監視対象ホストにインストールする必要があり、彼女はデータを定期的に収集する責任があるZABBIXサーバ端末に送信され、
データベースにデータを格納する2)ZABBIXサーバ、データを展開し、遠位端を描画するZABBIXウェブ。

データ収集アクティブおよびパッシブモードへのエージェント:
:アクティブリスト項目を監視データ要求サーバエージェントプロアクティブ、そして積極的に内向きサーバー/プロキシに提出を検出した監視;
パッシブ:データを要求するために、サーバーエージェントは、項目を監視し、エージェントリターン取引。

パッシブ:消費性能の比較。
そして、パッシブモード、CPUの負荷としてZABBIXサーバ(またはプロキシ)照会エージェントデータ、およびバックZABBIXエージェントに結果を送信するには、ZABBIXサーバは定期的にエージェントにデータを要求し、このモデルの最大の問題は、それはZABBIXサーバが増加しますですワークロードは、また、デフォルトの動作モードです。
アクティブ:高効率、データが失われることがあります。
アクティブモードではアクティブでないとZABBIXサーバにZABBIXエージェント戻るによって収集されたデータは、介入サービスを提供ZABBIXもはや、アクティブモードを必要と従ってある程度圧力ZABBIXサーバを低減されます。

7)のZabbix監視アーキテクチャ

実際の生産環境では、Zabbixはのような外部要因の大きさを監視し、ネットワークアーキテクチャ環境に応じて3つに分類しました:
ここに画像を挿入説明

(1)サーバ - クライアントアーキテクチャ(直接接続)

サーバ - クライアントアーキテクチャは、ネットワークに適用され、監視マシンとビーイングは、ZABBIXサーバとZABBIX agentd間で直接、交換データを監視対象マシン間のいずれかの代理店なしで、Zabbixのが最も簡単なアーキテクチャでは比較的簡単ですが、以下の機器監視環境;

(2)マスタノード・クライアント・アーキテクチャ(ノードアーキテクチャ)

マスター・ノード・クライアントアーキテクチャは、クロスネットワークのための最も複雑なZabbixの監視アーキテクチャ、交差部屋、より多くの機器や大規模な環境です。各ノードは、サーバー側です。以下は、ノードのプロキシを接続することができ、あなたが直接接続されたクライアントかもしれません。ノードは、独自の設定ファイルとデータベースを持っています。それは行いますモニターの設定情報と同期のマスタデータ項目です。マスターの故障または損傷すると、ノードは、アーキテクチャの整合性を保証することができます。

(3)サーバ、プロキシ・クライアントアーキテクチャ(プロキシアーキテクチャ)

プロキシサーバーで、クライアント間の通信のブリッジは、プロキシ自体は、フロントではありませんが、それだけでは、データを格納しませんが、データがサーバーに送信、その後、保存された一時的agentd送りました。しばしばアーキテクチャとマスターノード・クライアント・アーキテクチャは、ネットワークを介して、部屋を横切っアーキテクチャを監視中規模ネットワークに一般的に適用可能な、構造を比較します。

第二に、ビルド環境LNMP

Zabbix LNMP環境に必要なので、展開を進める必要性を展開して以来。展開詳細設計については、参照することができますLNMPを構築し、次の解釈LNMPコマンドで、もはや詳細な説明ではありません!

1)nginxのインストール

ダウンロードnginxのパッケージ

[root@zabbix ~]# yum -y install pcre-devel openssl-devel zlib-devel 
[root@zabbix ~]# tar zxf nginx-1.14.0.tar.gz && cd nginx-1.14.0
[root@zabbix nginx-1.14.0]# ./configure && make && make install
//由于只是使用nginx提供简单的web页面启动即可!
[root@zabbix ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
//创建符号链接,稍后启动

2)PHPをインストールします。

ダウンロードPHPパッケージを

[root@zabbix ~]#  yum -y install freetype-devel libpng-devel libjpeg-devel libxml2-devel bzip2-devel libcurl-devel
//安装php所需依赖
[root@zabbix ~]#  tar zxf libmcrypt-2.5.7.tar.gz && cd libmcrypt-2.5.7
[root@zabbix libmcrypt-2.5.7]# ./configure --prefix=/usr/local/libmcrypt && make && make install
//安装libmcrypt
[root@zabbix ~]# tar zxf php-5.6.27.tar.gz && cd php-5.6.27
[root@zabbix php-5.6.27]# ./configure --prefix=/usr/local/php5.6 \
 --with-config-file-path=/etc --with-mysql=/usr/local/mysql \
 --with-mysqli=/usr/local/mysql/bin/mysql_config \
 --with-mysql-sock=/usr/local/mysql/mysql.sock \
 --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
//编译安装php
[root@zabbix ~]# cp /root/php-5.6.27/php.ini-production /etc/php.ini
[root@zabbix ~]# cp /root/php-5.6.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@zabbix ~]#  chmod +x /etc/init.d/php-fpm 
[root@zabbix ~]# chkconfig --add php-fpm
[root@zabbix ~]# cd /usr/local/php5.6/etc
[root@zabbix etc]# cp php-fpm.conf.default php-fpm.conf
[root@zabbix etc]# sed -i 's#;pid = run/php-fpm.pid#pid = run/php-fpm.pid#g' php-fpm.conf
[root@zabbix etc]# sed -i 's/listen = 127.0.0.1:9000/listen = 0.0.0.0:9000/g' php-fpm.conf
[root@zabbix etc]# sed -i 's/pm.max_children = 5/pm.max_children = 50/g' php-fpm.conf
[root@zabbix etc]# sed -i 's/pm.start_servers = 2/pm.start_servers = 5/g' php-fpm.conf
[root@zabbix etc]# sed -i 's/pm.min_spare_servers = 1/pm.min_spare_servers = 5/g' php-fpm.conf
[root@zabbix etc]# sed -i 's/pm.max_spare_servers = 3/pm.max_spare_servers = 35/g' php-fpm.conf
[root@zabbix etc]# systemctl start php-fpm  
[root@zabbix etc]# ss -lnt | grep 9000
LISTEN     0      128          *:9000                     *:*          
//保证PHP启动成功

3)PHP nginxの構成で相互接続することができます

[root@zabbix ~]# vim /usr/local/nginx/conf/nginx.conf
        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 ~]# echo -e "<?php\nphpinfo();\n?>" > /usr/local/nginx/html/index.php
[root@zabbix ~]# nginx -t 
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@zabbix ~]# nginx

テストにアクセスします。
Zabbixの監視ソフトウェアの展開

4)インストールのmysqlデータベース

ダウンロードMySQLデータベースソフトウェアは、スクリプトを直接実行することができ、ワンクリックスクリプトのインストールは、MySQLのインストールで提供しています!

[root@zabbix ~]# ls | grep mysql
mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
mysql.sh
[root@zabbix ~]# sh mysql.sh
//安装完成后,数据库用户root的密码为123

私はPHPとMySQLのリンクをテストするためにここにいる、と彼らの建てLNMPに自信を持っていないでしょう!

第三に、インストールのZabbix

ダウンロードZabbixのパッケージ

[root@zabbix ~]# tar zxf fping-3.12.tar.gz  && cd fping-3.12
[root@zabbix fping-3.12]#  ./configure && make && make install
//编译安装fping,使Zabbix支持自动发现功能
[root@zabbix fping-3.12]# groupadd zabbix
[root@zabbix fping-3.12]# useradd zabbix -M -g zabbix
[root@zabbix fping-3.12]# chown zabbix:zabbix /usr/local/sbin/fping
//创建zabbix用户使其可以使用fping命令
[root@zabbix ~]# yum -y  install  net-snmp net-snmp-devel curl-devel OpenIPMI-devel libssh2-devel java-devel
//安装zabbix所需依赖
[root@zabbix ~]# tar zxf zabbix-3.2.1.tar.gz && cd zabbix-3.2.1
[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:使其可以监控设备的硬件信息
[root@zabbix ~]# ln  -s  /usr/local/zabbix/bin/*  /usr/local/bin/ 
[root@zabbix ~]# ln  -s  /usr/local/zabbix/sbin/*  /usr/local/sbin/
//为zabbix常用命令创建符号连接
[root@zabbix ~]# mysql -u root -p123
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to 'zabbix'@'192.168.1.%' identified by '123.com';
//创建zabbix数据库及用户
[root@zabbix ~]# cd /root/zabbix-3.2.1/database/mysql/
[root@zabbix mysql]# mysql -uzabbix -p123.com -h 192.168.1.8 zabbix < schema.sql
[root@zabbix mysql]# mysql -uzabbix -p123.com zabbix -h 192.168.1.8 < images.sql
[root@zabbix mysql]#  mysql -uzabbix -p123.com zabbix -h 192.168.1.8 < data.sql 
//进入相应的目录导入相应的数据库文件
//切记需按照顺序导入,否则可能会出现意外
[root@zabbix mysql]# cd /usr/local/zabbix/etc
[root@zabbix etc]# egrep -v '^#|^$' zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=192.168.1.8
DBName=zabbix
DBUser=zabbix
DBPassword=123.com
DBPort=3306
Timeout=4
FpingLocation=/usr/sbin/fping           //fping(自动发现)文件路径
LogSlowQueries=3000
//以上是修改完成的配置文件
[root@zabbix etc]# find   / -name  libmysqlclient.so
/usr/local/mysql/lib/libmysqlclient.so
[root@zabbix etc]# echo "/usr/local/mysql/lib" >> /etc/ld.so.conf
//添加libmysqlclinet的接口文件路径
[root@zabbix etc]# ldconfig 
//主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。
[root@zabbix etc]# find  /  -name  mysql.sock
/usr/local/mysql/mysql.sock
[root@zabbix etc]# ln  -s /usr/local/mysql/mysql.sock  /tmp/
//添加mysql.sock文件到tmp目录下,否则会在启动时会出现错误
[root@zabbix etc]# cd  /root/zabbix-3.2.1/
[root@zabbix zabbix-3.2.1]# cp  misc/init.d/fedora/core/zabbix_server  /etc/init.d/
[root@zabbix zabbix-3.2.1]# chmod +x /etc/init.d/zabbix_server 
[root@zabbix zabbix-3.2.1]# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g" /etc/rc.d/init.d/zabbix_server
//将zabbix系统脚本中zabbix的安装路径进行更改
[root@zabbix zabbix-3.2.1]# systemctl daemon-reload 
[root@zabbix zabbix-3.2.1]# /etc/init.d/zabbix_server start
Reloading systemd:                                         [  确定  ]
Starting zabbix_server (via systemctl):                    [  确定  ]
[root@zabbix zabbix-3.2.1]# ss -lnt | grep 10051
LISTEN     0      128          *:10051                    *:*          
//添加为系统服务,并启动,确定其端口在监听,默认是10051
//如果启动失败查看/tmp/zabbix_server.log这个日志内容
[root@zabbix ~]# cp -r /root/zabbix-3.2.1/frontends/php/ /usr/local/nginx/html/zabbix
//复制zabbix的网页目录到nginx网页根目录下
[root@zabbix ~]# ps -ef | grep php
//根据查询结果就可以看出运行php程序的用户是nobody
[root@zabbix ~]# chown -R nobody:nobody /usr/local/nginx/html/zabbix/
//所以需要保证运行PHP的用户对这个目录有绝对的权限否则将无法更改数据

クライアントアクセステスト:
Zabbixの監視ソフトウェアの展開
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_input_time = 60/max_input_time = 300/g' /etc/php.ini
[root@zabbix ~]# sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini
[root@zabbix ~]# echo -e "date.timezone = Asia/Shanghai" >> /etc/php.ini
[root@zabbix ~]# echo -e "always_populate_raw_post_data = -1" >> /etc/php.ini
[root@zabbix ~]# systemctl restart php-fpm
//重新启动php,使其加载配置文件

:として、アクセスのWebページに進みます
Zabbixの監視ソフトウェアの展開
Zabbixの監視ソフトウェアの展開
Zabbixの監視ソフトウェアの展開
Zabbixの監視ソフトウェアの展開
Zabbixの監視ソフトウェアの展開
Zabbixの監視ソフトウェアの展開
Zabbixの監視ソフトウェアの展開
Zabbixの監視ソフトウェアの展開
インターフェースが中国となっていることがわかります!

しかし、注意を払うする必要は中国への変更に、以下の方法を使用して文字化け、中国人が文字化けZABBIX!

[root@zabbix ~]# ls | grep SIMKAI.TTF
SIMKAI.TTF
[root@zabbix ~]# sed -i 's/DejaVuSans/simkai.ttf/g' /usr/local/nginx/html/zabbix/include/defines.inc.php
[root@zabbix ~]# mv SIMKAI.TTF /usr/local/nginx/html/zabbix/fonts/simkai.ttf

あなたが仕事の後半には、文字化けの中国の問題が解決しない場合は多くの問題になります!

このブログ記事は、この第一の端に来るには、システムを監視ZABBIX構築する方法について説明します!

----------記事。読書をありがとう------------

おすすめ

転載: blog.51cto.com/14157628/2465083