天天看點

Zabbix監控之分布式監控zabbix_proxy

Zabbix分布式監控

zabbix proxy 可以代替 zabbix server 檢索用戶端的資料,然後把資料彙報給 zabbix server,并且在一定程度上分擔了zabbix server 的壓力.zabbix proxy 可以非常簡便的實作了集中式、分布式監控。

zabbix proxy 使用場景:

 監控遠端區域裝置

 監控本地網絡不穩定區域

 當 zabbix 監控上千裝置時,使用它來減輕 server 的壓力

 簡化 zabbix 的維護

Zabbix_proxy隻需要一條tcp連結到zabbix_server,隻需要配置一個防火牆規則。zabbix_proxy資料庫必須和server分開,否則資料會被破壞。因為這兩個資料庫的表大部分相同。

Zabbix_proxy收集的所有資料在傳輸到伺服器之前都存儲在本地。然後再一定時間之後傳遞給zabbix_server。這個時間是由proxy配置檔案中參數ProxyLocalBuffer and ProxyOfflineBuffer決定。

Zabbix_proxy是一個資料收集器。它不計算觸發器,處理事件或發送警報。

備注:使用 agent active 模式,一定要記住在 agent 的配置檔案參數 ServerActive 加上 proxy 的 IP 位址。

2.分布式部署

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

<code>(1)安裝zabbix-proxy-mysql和mariadb</code>

<code>[root@linux-node3 ~]</code><code># yum list|grep zabbix-proxy-mysql</code>

<code>[root@linux-node3 ~]</code><code># yum install -y zabbix-proxy-mysql</code>

<code>[root@linux-node3 ~]</code><code># yum install -y mariadb</code>

<code>[root@linux-node3 ~]</code><code># systemctl enable mariadb.service</code>

<code>[root@linux-node3 ~]</code><code># systemctl start mariadb.service</code>

<code>(2)建立zabbix_proxy庫</code>

<code>[root@linux-node3 ~]</code><code># mysql</code>

<code>Welcome to the MariaDB monitor.  Commands end with ; or \g.</code>

<code>Your MariaDB connection </code><code>id</code> <code>is 11579</code>

<code>Server version: 5.5.56-MariaDB MariaDB Server</code>

<code>Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.</code>

<code>Type </code><code>'help;'</code> <code>or </code><code>'\h'</code> <code>for</code> <code>help. Type </code><code>'\c'</code> <code>to </code><code>clear</code> <code>the current input statement.</code>

<code>MariaDB [(none)]&gt; create database zabbix_proxy CHARATER </code><code>set</code> <code>utf8 COLLATE utf8_bin;</code>

<code>MariaDB [(none)]&gt; grant all on zabbix_proxy.* to zabbix@</code><code>'localhost'</code> <code>identified by </code><code>'zabbix'</code><code>;</code>

<code>MariaDB [(none)]&gt; </code><code>exit</code><code>;</code>

<code>Bye</code>

<code>(3)導入資料庫</code>

<code>[root@linux-node3 ~]</code><code># rpm -ql zabbix-proxy-mysql</code>

<code>[root@linux-node3 ~]</code><code># zcat /usr/share/doc/zabbix-proxy-mysql-3.0.8/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy</code>

<code>[root@linux-node3 ~]</code><code># mysql -uzabbix -pzabbix -e "use zabbix_proxy;show tables;"</code>

<code>(4)修改zabbix_proxy配置檔案</code>

<code>[root@linux-node3 ~]</code><code># vim /etc/zabbix/zabbix_proxy.conf</code>

<code>ProxyMode=0    </code><code>#使用主動模式,1為被動模式,預設為主動模式,web前端也配置主動模式</code>

<code>Server=192.168.56.11    </code><code>#填寫zabbix-server的ip位址</code>

<code>ServerPort=10051        </code><code>#zabbix的端口</code>

<code>HostnameItem=system.</code><code>hostname</code>

<code>DBHost=localhost</code>

<code>DBName=zabbix_proxy</code>

<code>DBUser=zabbix</code>

<code>DBPassword=zabbix</code>

<code>Timeout=15</code>

<code>配置檔案中沒有配置的内容如下:(有需要可以配置)</code>

<code># ProxyLocalBuffer=0</code>

<code>#資料保留的時間(小時為機關)</code>

<code># ProxyOfflineBuffer=1</code>

<code>#連不上Server,資料要保留多久(小時為機關,預設1小時)</code>

<code># DataSenderFrequency=1</code>

<code>#資料的發送時間間隔(預設是1秒)</code>

<code># StartPollers=5</code>

<code>#啟動的線程數</code>

<code># StartIPMIPollers=0</code>

<code>#啟動IPMI的線程數</code>

<code>(5)啟動服務并檢查端口</code>

<code>[root@linux-node3 ~]</code><code># systemctl start zabbix-proxy.service</code>

<code>[root@linux-node3 ~]</code><code># netstat -tulnp |grep 10051</code>

<code>(6)建立proxy</code>

<code>"Administration"</code><code>--&gt;</code><code>"Proxies"</code><code>--&gt;</code><code>"Create proxy"</code>

<code>(7)修改agent的配置</code>

<code>[root@linux-node2 ~]</code><code># grep "^[a-Z]" /etc/zabbix/zabbix_agentd.conf </code>

<code>PidFile=</code><code>/var/run/zabbix/zabbix_agentd</code><code>.pid</code>

<code>LogFile=</code><code>/var/log/zabbix/zabbix_agentd</code><code>.log</code>

<code>LogFileSize=0</code>

<code>DebugLevel=5</code>

<code>Server=192.168.56.13        </code><code>#指向zabbix_proxy    </code>

<code>ServerActive=192.168.56.13    </code><code>#指向zabbix_proxy </code>

<code>HostMetadata=web</code>

<code>Include=</code><code>/etc/zabbix/zabbix_agentd</code><code>.d/*.conf</code>

<code>[root@linux-node2 ~]</code><code># systemctl restart zabbix-agent.service</code>

版權聲明:原創作品,謝絕轉載。否則将追究法律責任

本文轉自 IT_外賣小哥  51CTO部落格,原文連結:http://blog.51cto.com/jinlong/2051966