先簡單的介紹一下zabbix分布式的2種實現方式proxy與node的優缺點
proxy:
zabbix proxy 是乙個或多個從監控裝置收集監測資料和傳送到zabbixserver 的程序,屬於代表zabbix server 的執行,所有收集到的資料被暫時存放在**伺服器,之後統一由**伺服器**給zabbix proxy 所屬的伺服器,部署proxy是可選的,但是對於分擔單個zabbix伺服器的負載是非常有益的。如果盡在proxies上收集資料,那麼將減輕伺服器上的程序對cpu資源和磁碟i/o的消耗。
zabbix proxy在沒有本地管理員的情況下,是集中監控遠端區域,分支和網路的理想解決方案。
node:
使用node節點,建立乙個層次結構的分布式監測。每乙個節點是乙個完整的zabbix伺服器,和負責監視它自己的位置,zabbx 支援高達一千個節點的分布式安裝。
使用node節點的好處:
1、在大型的網路中,涉及多個地點建立乙個多層次的監控,在層次結構中的乙個節點報告其主節點。
2、乙個節點可以在本地配置或通過其主節點,它的所有子節點的配置資料的副本。
3、資料收集更多的免疫可能的通訊問題。如果主站和子節點之間的通訊發生故障時,節點可以保持執行狀態。歷史資訊和事件儲存在本地。當通訊又回來了,乙個子節點將有選擇地將資料傳送到主節點。
4、節點可以**乙個單一的zabbix伺服器的工作,監視數千台主機。
5、新節點的連線和拆卸,不影響現有的設定的功能。無需重新啟動所需的任何節點。
所以本文選為以proxy為主是zabbix分布式(同時我的跨機房監控方案也是proxy,好處是安裝配置方便,壞處是如果proxy**有問題,所有監控主機都報警,但可以在配置裡新增乙個檢測來解決)。
環境為
ip 狀態 hostname 軟體版本 系統1.安裝依賴庫192.168.56.101 zabbix agent server 2.0.6 ubuntu server 12.04
192.168.56.102 zabbix server centos 2.0.6 centos 6.2
192.168.56.103 zabbix proxy client1 2.0.6 ubuntu server 12.04
如果是debian或者ubuntu需要安裝
apt-get install mysql-server gcc make libghc6-hsql-mysql-dev libcurl4-openssl-dev libsnmp-dev snmp curl如果是centos或者redhat的需要安裝
yum install install mysql-server mysql-devel gcc make wget net-snmp* curl libcurl2.新增使用者
groupadd zabbix注意:useradd zabbix -g zabbix –s /sbin/nologin
如果是redhat或者centos系統,如果不想使用者登入,可以使用-s /sbin/nologin,如果是debian或者ubuntu系統,可以使用-s /usr/sbin/nologin
4.解壓與安裝
tar zxvf zabbix-2.0.6.tar.gz5.配置資料庫cd zabbix-2.0.6
./configure --prefix=/usr/local/zabbix --enable-proxy --with-mysql --with-net-snmp --with-libcurl
make install
mysql –u root –p6.修改zabbix_proxy.conf檔案create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql -uzabbix -p'zabbix' zabbix < database/mysql/schema.sql
下面是我的修改後的配置
root@client1:/usr/local/zabbix/etc# grep -v "#" zabbix_proxy.conf|sed '/^$/d'7.啟動server=192.168.56.102
hostname=client1
logfile=/tmp/zabbix_proxy.log
dbname=zabbix
dbuser=zabbix
dbpassword=zabbix
dbsocket=/tmp/mysql.sock
proxylocalbuffer=0
proxyofflinebuffer=1
configfrequency=600
datasenderfrequency=10
startpollers=10
startpollersunreachable=1
startpingers=1
cachesize=64m
timeout=10
引數介紹
server=192.168.56.102 #zabbix server的ip位址或者網域名稱
hostname=client1 #proxy主機名,在zabbix web會以這個名字為準
#db 設定檔
dbname=zabbix
dbuser=zabbix
dbpassword=zabbix
dbsocket=/tmp/mysql.sock
proxylocalbuffer=0 #設定為0小時,除非有其他第三方應用和外掛程式需要呼叫
proxyofflinebuffer=1 #proxy或者server無法連線時,保留離線的監控資料的時間,單位小時
configfrequency=600 #server和proxy配置修改同步時間間隔,設定5-10分鐘即可。
datasenderfrequency=10 #資料傳送時間間隔,10-30s;
#網路傳輸質量越好,可以設定間隔時間越短,監控效果也越迅速;
startpollers=10 #開啟多執行緒數,一般不要超過30個;
startpollersunreachable=1 #該執行緒用來單獨監控無法連線的主機,1個即可;
startpingers=1 #fping執行緒數
cachesize=64m #用來儲存監控資料的快取數,根據監控主機數量適當調整;
timeout=10 #超時時間,設定不要超過30s,不然會拖慢其他監控資料抓取時間;
fpinglocation=/usr/sbin/fping #配合****** check icmp檢測使用,如不需要可關閉;
其他配置預設即可;
/usr/local/zabbix/sbin/zabbix_proxy8.去agent節點修改配置檔案
主要修改
server=192.168.56.103其中server為**伺服器的ip,serveractive也為**伺服器的ip與埠serveractive=192.168.56.103:10051
然後重啟服務
ps -ef|grep zabbix|grep -v grep|awk ''|xargs kill -99.web新增proxy節點/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/conf/zabbix_agentd.conf
高階配置-》節點管理-》**節點-》建立節點
填寫proxy的主機名即可,與配置檔案一致:
active - **伺服器將主動連線zabbix伺服器並請求配置資料
被動模式 - zabbix伺服器連線**伺服器
現在我也把**的主機server給新增了,如果不想在這裡新增,可以在系統配置-》主機-》create host,」由**監控」選擇剛新增的proxy
檢視狀態
同時也提醒大家一下,如果使用自動註冊功能,並且在agent裡設定了serveractive的話,就能自動的在server上註冊,但一定要先建立好節點。
分布式之分布式事務
被人問到分布式事務,之前學rabbitmq 的時候學到過rabbitmq 高階的事務,因為沒有用過,所有沒有回答好。這裡總結一下。1.單機版事務。事務的四大特性 acid a.原子性 b.一致性 c.隔離性 d.永續性 單機事務可以通過設定事務的隔離級別 參見spring 的事務隔離級別 2.分布式...
TransactionScope 之分布式配置
本文 transactionscope是個好東西,可以自動管理transaction,即使是對分布式資料庫也可以,但是需要一些配置 摸索了2天。本文的環境為windows 2003 1.對跑 的機器和sql所在的伺服器進行component services的配置 administative too...
java中的分布式應用(一)之分布式介紹
要理解分布式系統,主要需要明白一下2個方面 1.分布式系統一定是由多個節點組成的系統。其中,節點指的是計算機伺服器,而且這些節點一般不是孤立的,而是互通的。2.這些連通的節點上部署了我們的節點,並且相互的操作會有協同。分布式系統對於使用者而言,他們面對的就是乙個伺服器,提供使用者需要的服務而已,而實...