Zabbix Proxy分散モニタリング
19781 ワード
概要:
Zabbixは分散型モニタリングシステムで、1つの中心点、複数のノードのモードで動作することができ、proxyを使用するとZabbix Serverの圧力を低減することができ、もちろんコストももたらします~
適用範囲:機械室にまたがり、地域にまたがるネットワーク監視システム、信頼できないネットワーク接続を持つ区域を監視することができ、分布式監視のメンテナンスを簡略化し、Zabbix Server圧力を分担する
例:
会社には1つ以上のプロジェクトがあり、異なる地域で大量のサーバーが監視される必要があります.
地域ごとにZabbix Serverを構築することはできないでしょう.このように管理が不便で、資源も浪費します.もし1台のZabbix Serverだけですべての機械を監視するならば、またこの機械の性能が必要です(機械の量が大きくて、1台は基本的に実現できません)
この場合、Proxyを使用して、Zabbix Serverを社内またはどこかに架設し、地域ごとにProxyを1台置いて地域エージェントのデータを収集し、Zabbix Serverに渡すことができます.これは便利ではないでしょうか.
一、Zabbix Proxyアクティブモード(ProxyにパブリックIPがないが、パブリックネットワークにアクセスできる場合に使用可能)
Zabbix Server Zabbix Agent
##今回はProxyのアクティブモードなので、ProxyがZabbix Serverをリクエストします.Zabbix Agentはパッシブモードなので、Zabbix ProxyがZabbix Agentをリクエストします
Zabbix Server:192.168.214.40Zabbix Proxy :192.168.214.10Zabbix Agent :192.168.214.20
1、Zabbix Server(転送ゲート:http://www.cnblogs.com/wangxiaoqiangs/p/5336210.html )
2、Zabbix Proxyをインストールする
#Mysqlをインストールする必要があります(転送ドア:http://www.cnblogs.com/wangxiaoqiangs/p/5336048.html )
ダウンロード先:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
##以上、Zabbix_Proxyはすべて構成済みです
##これはエージェントの構成です
3、Zabbix Agentのインストール
##以上の部分はZabbix Proxy、Zabbix Agentに対してすべて完成して、残りの部分はZabbix ServerのWebインタフェースで完成しました!
> Administration -> Proxies -> Create proxy
Proxy name : my_Proxy#ここに書いてあるのはZabbix ProxyプロファイルのHostnameです.Proxy mode:Active#ここでアクティブモードを選択するには、Zabbix Proxyのプロファイルで定義されているのは0、アクティブモードを書く必要があります.
>Update#は直接Updateで良いので、ホストが事前に追加されている場合は、ここで対応するホストをProxy hostsに加えることができます!本当は同じ
> Configuration -> Hosts -> Create host
Host name : node1_Agent#ここにはZabbix AgentプロファイルのHostnameと書かれています.Visible nameに書かなければなりません.以下のNewグループを通じて1つのグループNewグループをカスタマイズすることができます:Proxy#カスタマイズのグループAgent interfaces:192.168.214.20#AgentホストIP、どのホストを監視して、どのホストのアドレスMonitored by proxyを書きます:my_Proxy#選択前に作成したエージェント
>Templates#2番目のタブで、テンプレートを選択してホスト>Updateにリンク
##これでホストが追加され、my_が使用されます.proxyエージェントモード
##Proxyエージェントのエージェント状態を通過することができます!すべて正常
二、Zabbix Proxyパッシブモード(Zabbix ServerにパブリックIPがないが、パブリックネットワークにアクセスできる場合に使用可能)
Zabbix Server -> Zabbix Proxy -> Zabbix Agent
##今回はProxyのパッシブモードなので、Zabbix Serverがプロxyにモニタ項目を自発的に送信し、Proxyがパッシブにデータを受信し、Zabbix Agentがパッシブモードを使用しているため、Zabbix ProxyからZabbix Agentを要求する
Zabbix Server:192.168.214.40Zabbix Proxy :192.168.214.10Zabbix Agent :192.168.214.20
##環境はやはりこの環境で、以下にいくつかの変動、注意の地方を与えます
1、Zabbix Proxyのプロファイル
##パッシブモードなので、Zabbix ServerのIPを知る必要はありません
2、Zabbixエージェントは元のプロファイルを使用すればよい
3、Zabbix ServerにおけるWebインタフェースにProxyを追加する際の注意
> Administration -> Proxies -> Create proxy
Proxy name : my_Proxy#ここに書いてあるのはZabbix ProxyプロファイルのHostnameです.Proxy mode:Passive#ここでパッシブモードを選択するには、Zabbix Proxyのプロファイルで定義されているのは1で、パッシブモードを書く必要があります.
##残りはそのまま、Proxyのパッシブモードエージェントを完了
##Proxyのマスター、パッシブモードは、エージェントされるエージェントとは関係なく、Zabbixサーバが直接エージェントにアクセスできるかどうかは重要ではありません.Proxyがエージェントにアクセスできる限り、サーバがProxyにアクセスできるようにすればいいのです.
三、もう一つの状況をシミュレートする
Zabbix Server Route Zabbix Proxy -> Zabbix Agent
##この場合:ProxyとAgentは1つのネットワークセグメントにあり、IPが1つしかない.Zabbix Serverはまた別の地域の監視にある.##ここではProxyの異なるモードを指し、無視できる.
例:Zabbix Serverは社内にインストールされており、ProxyとAgentは外省のある機械室にあり、ローカルエリアネットワークにあり、ルーティングによって外網に接続されています.
Zabbix Server:192.168.214.40Zabbix Proxy :172.16.0.10Zabbix Agent :172.16.0.20
Route:192.168.214.30(外):172.16.0.50(内)
1、仮に私はすでにZabbix Serverを会社のパブリックネットワークIPにマッピングしたと仮定して(これはよく実現したでしょう)、私の今のZabbix ServerのIPは192.168.214.40です
2、模擬ルート
#2つのファイアウォールルールを追加
##テスト:比較的愚かな方法でテストできますが、有効な方法でテストできます.Proxyにhttpdをインストールし、curlまたは直接ブラウザで214.30にアクセスして0.10のhttpdにアクセスできるかどうかを確認します.またはnmapでポートをスキャンする
3、Zabbix Proxyプロファイル(ここではパッシブモードを使って、アクティブでもいいですよ)
4、Zabbix Agentプロファイル
5、Zabbix ServerにおけるWebインタフェースの配置
ホストの追加について:
Agent interfaces:172.16.0.2#監視されているホストIP、ポートは、実際には正常に追加されています.
Proxyについて:
Proxy mode:Passive#パッシブモードInterface:192.168.214.30#RouteのパブリックネットワークIPは、このアドレスの要求が実際のProxyホストに転送されたためです.
##OK、ルーティングのこのような両側のLANの環境もProxyで監視の問題を解決しました!
四、ルートはありませんが、Proxyには2つのIPアドレスがあり、Zabbix Serverは直接Agentにアクセスできません.
Zabbix Server Zabbix Proxy -> Zabbix Agent
##このような状況を見てみましょう:ProxyとAgentは同じローカルエリアネットワークにあり、同時にProxy自身はパブリックネットワークIPを持っていてZabbixサーバーと通信することができますが、サーバーは直接Agentにアクセスできません
Zabbix Server:192.168.214.40 Zabbix Proxy:192.168.214.10(外)172.16.0.10(内)Zabbix Agent:172.16.0.2
1、Proxyホストの設定
2、Zabbix Agentプロファイル
3、Zabbix ServerにおけるWebインタフェースの配置
ホストの追加について:
Agent interfaces:172.16.0.2#監視されているホストIP、ポートは、実際には正常に追加されています.
Proxyについて:
Proxy mode:Active#アクティブモード、プロファイル定義(パッシブモードを使用する場合、以下に書くIPはProxyのパブリックネットワークIP)
転載先:https://www.cnblogs.com/wangxiaoqiangs/p/5336630.html
Zabbixは分散型モニタリングシステムで、1つの中心点、複数のノードのモードで動作することができ、proxyを使用するとZabbix Serverの圧力を低減することができ、もちろんコストももたらします~
適用範囲:機械室にまたがり、地域にまたがるネットワーク監視システム、信頼できないネットワーク接続を持つ区域を監視することができ、分布式監視のメンテナンスを簡略化し、Zabbix Server圧力を分担する
例:
会社には1つ以上のプロジェクトがあり、異なる地域で大量のサーバーが監視される必要があります.
地域ごとにZabbix Serverを構築することはできないでしょう.このように管理が不便で、資源も浪費します.もし1台のZabbix Serverだけですべての機械を監視するならば、またこの機械の性能が必要です(機械の量が大きくて、1台は基本的に実現できません)
この場合、Proxyを使用して、Zabbix Serverを社内またはどこかに架設し、地域ごとにProxyを1台置いて地域エージェントのデータを収集し、Zabbix Serverに渡すことができます.これは便利ではないでしょうか.
一、Zabbix Proxyアクティブモード(ProxyにパブリックIPがないが、パブリックネットワークにアクセスできる場合に使用可能)
Zabbix Server Zabbix Agent
##今回はProxyのアクティブモードなので、ProxyがZabbix Serverをリクエストします.Zabbix Agentはパッシブモードなので、Zabbix ProxyがZabbix Agentをリクエストします
Zabbix Server:192.168.214.40Zabbix Proxy :192.168.214.10Zabbix Agent :192.168.214.20
1、Zabbix Server(転送ゲート:http://www.cnblogs.com/wangxiaoqiangs/p/5336210.html )
2、Zabbix Proxyをインストールする
#Mysqlをインストールする必要があります(転送ドア:http://www.cnblogs.com/wangxiaoqiangs/p/5336048.html )
ダウンロード先:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
shell > useradd -r -s /sbin/nologin zabbix # Zabbix
shell > wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
shell > tar zxf zabbix-2.4.5.tar.gz
shell > cd zabbix-2.4.5
shell > ./configure --prefix=/usr/local/zabbix --enable-agent --enable-proxy --with-mysql # --enable-agent ( Proxy )
shell > make install
shell > cp /usr/local/src/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ # Agent
shell > sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#' /etc/init.d/zabbix_agentd # Zabbix
shell > mysql
mysql> create database proxydb character set utf8; #
mysql> grant all on proxydb.* to proxy@localhost identified by 'proxypass'; #
mysql> flush privileges; # , ~
mysql> use proxydb;
mysql> source /usr/local/src/zabbix-2.4.5/database/mysql/schema.sql # ,
shell > grep -vP '^$|#' /usr/local/zabbix/etc/zabbix_proxy.conf # ( , )
ProxyMode=0 # 0 Proxy , :Proxy Zabbix Server ;1
Server=192.168.214.40 # Zabbix Server , Proxy , ( )
ServerPort=10051 # Zabbix Server , Proxy
Hostname=my_proxy # , Agent Hostname ,
LogFile=/tmp/zabbix_proxy.log # Proxy
DBHost=localhost #
DBName=proxydb #
DBUser=proxy #
DBPassword=proxypass #
ConfigFrequency=60 # Proxy Zabbix Server ,
DataSenderFrequency=60 # Proxy Zabbix Server ,
shell > /usr/local/zabbix/sbin/zabbix_proxy # zabbix_proxy
shell > echo "/usr/local/zabbix/sbin/zabbix_proxy" >> /etc/rc.local #
shell > netstat -lnpt | grep zabbix_proxy
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 16073/zabbix_proxy
##以上、Zabbix_Proxyはすべて構成済みです
shell > grep -vP '^$|#' /usr/local/zabbix/etc/zabbix_agentd.conf # Zabbix Proxy Agent
LogFile=/tmp/zabbix_agentd.log # Agent
Server=192.168.214.10 # Zabbix Proxy ( Proxy, Zabbix Server ), , :Agent
Hostname=proxy_agent # , ,
shell > service zabbix_agentd start # Agent
shell > netstat -lnpt | grep zabbix_agentd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 16148/zabbix_agentd
shell > chkconfig --add zabbix_agentd #
shell > chkconfig --level 35 zabbix_agentd on
##これはエージェントの構成です
3、Zabbix Agentのインストール
shell > useradd -r -s /sbin/nologin zabbix # Zabbix
shell > wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz
shell > tar zxf zabbix-2.4.5.tar.gz
shell > cd zabbix-2.4.5
shell > ./configure --prefix=/usr/local/zabbix --enable-agent # Agent
shell > make install
shell > cp /usr/local/src/zabbix-2.4.5/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/ # Agent
shell > sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#' /etc/init.d/zabbix_agentd # Zabbix
shell > grep -vP '^$|#' /usr/local/zabbix/etc/zabbix_agentd.conf # Zabbix Proxy Agent
LogFile=/tmp/zabbix_agentd.log # Agent
Server=192.168.214.10 # Zabbix Proxy ( Proxy, Zabbix Server ), , :Agent
Hostname=node1_agent # , ,
shell > service zabbix_agentd start # Agent
shell > netstat -lnpt | grep zabbix_agentd
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 16148/zabbix_agentd
shell > chkconfig --add zabbix_agentd #
shell > chkconfig --level 35 zabbix_agentd on
shell > iptables -A INPUT -p tcp --dport 10050 -j ACCEPT # Agent , TCP 10050 Server Proxy
shell > service iptables save
##以上の部分はZabbix Proxy、Zabbix Agentに対してすべて完成して、残りの部分はZabbix ServerのWebインタフェースで完成しました!
> Administration -> Proxies -> Create proxy
Proxy name : my_Proxy#ここに書いてあるのはZabbix ProxyプロファイルのHostnameです.Proxy mode:Active#ここでアクティブモードを選択するには、Zabbix Proxyのプロファイルで定義されているのは0、アクティブモードを書く必要があります.
>Update#は直接Updateで良いので、ホストが事前に追加されている場合は、ここで対応するホストをProxy hostsに加えることができます!本当は同じ
> Configuration -> Hosts -> Create host
Host name : node1_Agent#ここにはZabbix AgentプロファイルのHostnameと書かれています.Visible nameに書かなければなりません.以下のNewグループを通じて1つのグループNewグループをカスタマイズすることができます:Proxy#カスタマイズのグループAgent interfaces:192.168.214.20#AgentホストIP、どのホストを監視して、どのホストのアドレスMonitored by proxyを書きます:my_Proxy#選択前に作成したエージェント
>Templates#2番目のタブで、テンプレートを選択してホスト>Updateにリンク
##これでホストが追加され、my_が使用されます.proxyエージェントモード
##Proxyエージェントのエージェント状態を通過することができます!すべて正常
二、Zabbix Proxyパッシブモード(Zabbix ServerにパブリックIPがないが、パブリックネットワークにアクセスできる場合に使用可能)
Zabbix Server -> Zabbix Proxy -> Zabbix Agent
##今回はProxyのパッシブモードなので、Zabbix Serverがプロxyにモニタ項目を自発的に送信し、Proxyがパッシブにデータを受信し、Zabbix Agentがパッシブモードを使用しているため、Zabbix ProxyからZabbix Agentを要求する
Zabbix Server:192.168.214.40Zabbix Proxy :192.168.214.10Zabbix Agent :192.168.214.20
##環境はやはりこの環境で、以下にいくつかの変動、注意の地方を与えます
1、Zabbix Proxyのプロファイル
shell > grep -vP '^$|#' /usr/local/zabbix/etc/zabbix_proxy.conf
ProxyMode=1 # 1 , :Proxy Zabbix Server
Hostname=my_proxy
LogFile=/tmp/zabbix_proxy.log
DBHost=localhost
DBName=proxydb
DBUser=proxy
DBPassword=proxypass
##パッシブモードなので、Zabbix ServerのIPを知る必要はありません
2、Zabbixエージェントは元のプロファイルを使用すればよい
3、Zabbix ServerにおけるWebインタフェースにProxyを追加する際の注意
> Administration -> Proxies -> Create proxy
Proxy name : my_Proxy#ここに書いてあるのはZabbix ProxyプロファイルのHostnameです.Proxy mode:Passive#ここでパッシブモードを選択するには、Zabbix Proxyのプロファイルで定義されているのは1で、パッシブモードを書く必要があります.
##残りはそのまま、Proxyのパッシブモードエージェントを完了
##Proxyのマスター、パッシブモードは、エージェントされるエージェントとは関係なく、Zabbixサーバが直接エージェントにアクセスできるかどうかは重要ではありません.Proxyがエージェントにアクセスできる限り、サーバがProxyにアクセスできるようにすればいいのです.
三、もう一つの状況をシミュレートする
Zabbix Server Route Zabbix Proxy -> Zabbix Agent
##この場合:ProxyとAgentは1つのネットワークセグメントにあり、IPが1つしかない.Zabbix Serverはまた別の地域の監視にある.##ここではProxyの異なるモードを指し、無視できる.
例:Zabbix Serverは社内にインストールされており、ProxyとAgentは外省のある機械室にあり、ローカルエリアネットワークにあり、ルーティングによって外網に接続されています.
Zabbix Server:192.168.214.40Zabbix Proxy :172.16.0.10Zabbix Agent :172.16.0.20
Route:192.168.214.30(外):172.16.0.50(内)
1、仮に私はすでにZabbix Serverを会社のパブリックネットワークIPにマッピングしたと仮定して(これはよく実現したでしょう)、私の今のZabbix ServerのIPは192.168.214.40です
2、模擬ルート
shell > ifconfig eth0:0 172.16.0.50/16 up #
shell > vim /etc/sysctl.conf #
net.ipv4.ip_forward = 1
shell > sysctl -p #
shell > iptables -t nat -A PREROUTING -d 192.168.214.30 -j DNAT --to 172.16.0.10
shell > iptables -t nat -A POSTROUTING -d 172.16.0.10 -j SNAT --to 172.16.0.50
#2つのファイアウォールルールを追加
##テスト:比較的愚かな方法でテストできますが、有効な方法でテストできます.Proxyにhttpdをインストールし、curlまたは直接ブラウザで214.30にアクセスして0.10のhttpdにアクセスできるかどうかを確認します.またはnmapでポートをスキャンする
3、Zabbix Proxyプロファイル(ここではパッシブモードを使って、アクティブでもいいですよ)
shell > grep -vP '^$|#' /usr/local/zabbix/etc/zabbix_proxy.conf
ProxyMode=1 # 1 , :Proxy Zabbix Server
Hostname=my_proxy
LogFile=/tmp/zabbix_proxy.log
DBHost=localhost
DBName=proxydb
DBUser=proxy
DBPassword=proxypass
4、Zabbix Agentプロファイル
shell > grep -vP '^$|#' /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=172.16.0.10 # Zabbix Proxy IP
Hostname=node1_agent
5、Zabbix ServerにおけるWebインタフェースの配置
ホストの追加について:
Agent interfaces:172.16.0.2#監視されているホストIP、ポートは、実際には正常に追加されています.
Proxyについて:
Proxy mode:Passive#パッシブモードInterface:192.168.214.30#RouteのパブリックネットワークIPは、このアドレスの要求が実際のProxyホストに転送されたためです.
##OK、ルーティングのこのような両側のLANの環境もProxyで監視の問題を解決しました!
四、ルートはありませんが、Proxyには2つのIPアドレスがあり、Zabbix Serverは直接Agentにアクセスできません.
Zabbix Server Zabbix Proxy -> Zabbix Agent
##このような状況を見てみましょう:ProxyとAgentは同じローカルエリアネットワークにあり、同時にProxy自身はパブリックネットワークIPを持っていてZabbixサーバーと通信することができますが、サーバーは直接Agentにアクセスできません
Zabbix Server:192.168.214.40 Zabbix Proxy:192.168.214.10(外)172.16.0.10(内)Zabbix Agent:172.16.0.2
1、Proxyホストの設定
shell > grep -vP '^$|#' /usr/local/zabbix/etc/zabbix_proxy.conf ( , )
ProxyMode=0 # 0 Proxy , :Proxy Zabbix Server
Server=192.168.214.40 # Zabbix Server , Proxy , ( )
ServerPort=10051 # Zabbix Server , Proxy
Hostname=my_proxy # , Agent Hostname ,
LogFile=/tmp/zabbix_proxy.log # Proxy
DBHost=localhost #
DBName=proxydb #
DBUser=proxy #
DBPassword=proxypass #
ConfigFrequency=60 # Proxy Zabbix Server ,
DataSenderFrequency=60 # Proxy Zabbix Server ,
shell > route add -net 172.16.0.0/16 gw 172.16.0.10 # , ( !)
2、Zabbix Agentプロファイル
shell > grep -vP '^$|#' /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=172.16.0.10 # Zabbix Proxy IP ( IP , Agent )
Hostname=node1_agent
3、Zabbix ServerにおけるWebインタフェースの配置
ホストの追加について:
Agent interfaces:172.16.0.2#監視されているホストIP、ポートは、実際には正常に追加されています.
Proxyについて:
Proxy mode:Active#アクティブモード、プロファイル定義(パッシブモードを使用する場合、以下に書くIPはProxyのパブリックネットワークIP)
転載先:https://www.cnblogs.com/wangxiaoqiangs/p/5336630.html