zabbix-プロキシ分散監視サイト

はじめに:既存の要件では、会社には複数のブランチサイトがあります。本社にzabbixサーバーサーバーを構築して、すべてのブランチネットワーク機器のステータスとトラフィックを監視する必要があります。つまり、ブランチにzabbixプロキシサービスをインストールします。ブランチ機器のステータスを制御するために使用します。情報はzabbix-serverに送信され、最終的なサマリーモニタリング効果が得られます。

ここに画像の説明を挿入

1つ、zabbixサーバービルド

詳細については、zabbix3.4のブログcentos7を参照してください。

2、zabbix-プロキシビルド

1.ホスト名とホストを変更します
HOSTNAME=zabbixproxy
hostname $HOSTNAME
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}') $(hostname)">>/etc/hosts
sed -i "s/^HOSTNAME.*$/HOSTNAME=$HOSTNAME/g" /etc/sysconfig/network
2.ミラーソースを追加します
cat>/etc/yum.repos.d/zabbix.repo<<EOF
[zabbix]
name=zabbix
baseurl=http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/
gpgcheck=0
enabled=1
EOF
3.ソフトウェアをインストールします
yum install zabbix-proxy mariadb mariadb-server -y
//可能会出现安装失败,又由于下载速度过慢,可以将rpm包下载到本地安装yum localinstall *.rpm
systemctl enable mariadb
systemctl start mariadb
4.新しいデータベースzabbix_proxyを作成し、新しいアカウントzabbixパスワードzabbixを作成し、zabbix_proxy権限を承認します
# mysql -uroot -p
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
mysql>set password for root@localhost = password('ecpss@123');                       #root密码设置
mysql> quit;
5.データをzabbix_proxyデータベースにインポートします
cd /usr/share/doc/zabbix-proxy-mysql-3.4.15/
zcat schema.sql.gz | mysql -uzabbix -p zabbix_proxy 
//下面输入zabbix账户设置的密码zabbix
6.構成ファイルを変更します
cp -av /etc/zabbix/zabbix_proxy.conf{
    
    ,.bak}
cat>/etc/zabbix/zabbix_proxy.conf<<EOF
Server=a.a.a.a                                 
#zabbix-server的地址a.a.a.a
Hostname=zabbixproxy 					
#主机名称一定要同zabbixserver上面代理的名称一致
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
ConfigFrequency=120  
DataSenderFrequency=60 
StartTrappers=10
StartSNMPTrapper=1 
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4 
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
EOF
mkdir /var/log/snmptrap/
touch /var/log/snmptrap/snmptrap.log
systemctl enable zabbix-proxy
systemctl start zabbix-proxy
7.ログを確認します。このとき、サーバーがプロキシを追加していないため、「サーバーにプロキシデータを送信できません」というエラーが表示されます。
tail -f /var/log/zabbix/zabbix_proxy.log 

3つ目は、zabbixサーバー側にプロキシプロキシを追加する

1.エージェントを作成します

ここに画像の説明を挿入

2.プロキシホスト情報を書き込みます。ここでの名前は、zabbix-proxy構成ファイルのホストと一致している必要があることに注意する必要があります。

アクティブプロキシを使用することをお勧めします。zabbix-proxyはサーバーへのリクエストをアクティブに開始します。これにより、zabbix-serverへのプレッシャーを軽減できます。
ここに画像の説明を挿入

3.約10分待ちます。接続は正常です。

ここに画像の説明を挿入

4.複数のzabbix-proxyプロキシを追加する必要がある場合は、それらのホスト名を区別する必要があります。ここに別のzabbixproxy1を追加します。

ここに画像の説明を挿入

5.テストエージェントの監視

また、zabbix-agentをインストールするホストを探します。このホストはzabbix-proxyネットワークに接続されている必要があります。インストールプロセスについては、冒頭のzabbix-serverブログリンクを参照してください。zabbix-agentのサービスアドレスはzabbix-proxyのアドレスを指していることに注意してください。
ここに画像の説明を挿入

cat /etc/zabbix/zabbix_agentd.conf
#检查一下日志
6.zabbixサーバー側に監視ホストを追加します

ここに画像の説明を挿入
成功の監視
ここに画像の説明を挿入

注:遅延が発生する可能性があります。ログをさらに確認してください。構成を変更した後、サーバー、プロキシ、およびエージェントを再起動することをお勧めします。

添付ファイル:スクリプトで使用できる簡単な構成変更コマンド

[root@zabbixproxy ~]# cat add_serverip.sh
#!/bin/bash
stty erase '^H'
read -t 60 -p "Enter your Server Ip:" serverip
echo "your server is $serverip"
read -t 60 -p "Enter your Server name:" servername
echo "your server Name is $servername"
echo $serverip >/root/serverip.txt
echo $servername >>/root/serverip.txt
bash /root/zabbix_start.sh

[root@zabbixproxy ~]# cat zabbix_start.sh 
#修改网络
HOSTNAME=zabbixproxy
hostname $HOSTNAME
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}') $(hostname)">>/etc/hosts
sed -i "s/^HOSTNAME.*$/HOSTNAME=$HOSTNAME/g" /etc/sysconfig/network

#修改agent配置文件
sed -i 's/^Server=.*$/Server='$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}')'/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/^ServerActive=.*$/ServerActive='$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}')':10051/g' /etc/zabbix/zabbix_agentd.conf
sed -i 's/^Hostname=.*$/Hostname='$(ifconfig ens160|grep inet|awk -F'[ :]' '{print $10}')'/g' /etc/zabbix/zabbix_agentd.conf
systemctl restart zabbix-agent
systemctl enable zabbix-agent

#修改proxy配置文件
sed -i 's/^Server=.*$/Server='$(head -n 1 serverip.txt)'/g' /etc/zabbix/zabbix_proxy.conf
sed -i 's/^Hostname=.*$/Hostname='$(tail -n 1 serverip.txt)'/g' /etc/zabbix/zabbix_proxy.conf
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy

おすすめ

転載: blog.csdn.net/qq_43316775/article/details/110476497