CentOS 7.8 搭建 Zabbix代理服務器 Zabbix代理服務器 Zabbix自動發現和自動註冊

Zabbix代理服務器

一:代理概述
mysql

zabbix proxy 能夠代替 zabbix server 收集性能和可用性數據,而後把數據彙報給 zabbix server,而且在必定程度上分擔了zabbix server 的壓力.linux

此外,當全部agents和proxies報告給一個Zabbix server而且全部數據都集中收集時,proxy 收集到數據以後,首先將數據緩存在本地,而後在必定得時間以後傳遞給 zabbix server,這樣就不會由於服務器的任何臨時通訊問題而丟失數據。使用proxy是實現集中式和分佈式監控的最簡單方法。web

zabbix proxy 使用場景:sql

  • 監控遠程區域設備數據庫

  • 監控本地網絡不穩定區域vim

  • 當 zabbix 監控上千設備時,使用它來減輕 server 的壓力centos

  • 簡化分佈式監控的維護緩存

    image.png

  • zabbix proxy 僅僅須要一條 tcp 鏈接到 zabbix server,外網鏈接防火牆上僅僅須要加上一條規則便可。服務器

  • image.png


2、安裝代理服務器Proxy
網絡

安裝環境:

一、系統環境:CentOS Linux release 7.5.1804 (Core) 

二、zabbix版本:zabbix-release-3.4-2.el7.noarch

三、測試環境,關閉了防火牆(生產環境不建議關閉,根據需求設置防火牆)

[root@centos78 ~]# systemctl stop firewlld.service       關閉防火牆

[root@centos78 ~]# systemctl disable firewalld.service  開機禁用防火牆啓動

四、關閉Selinux

[root@centos78 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

[root@centos78 ~]# setenforce 0


安裝數據庫

一、指定下載數據庫版本最好跟zabbix-server一致,編輯安裝包路徑下載路徑:

 [root@centos78 ~]# vim /etc/yum.repos.d/base.repo  (沒有base.repo能夠本身建立)

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.2/centos7-amd64

gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck = 1

二、安裝10.2的mariadb

yum install mariadb-server

三、設置mariadb

[root@centos78 ~]# systemctl start mariadb  啓動

[root@centos78 ~]# systemctl enable mariadb 設置開機啓動

[root@centos78 ~]# systemctl status mariadb   查看啓動狀態


安裝和設置Proxy服務端

一、下載和安裝Zabbix

[root@centos78 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm  (下載Zabbix最新版本)

[root@centos78 ~]# yum install zabbix-proxy-mysql -y

二、建立數據和導入數據

[root@centos78 ~]# mysql

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 8

Server version: 10.2.17-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> create database zabbix_proxy  character set utf8 collate utf8_bin;     建立數據庫zabbix_proxy

Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';  設置zabbix_proxy權限和密碼

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit    退出

Bye

導入數據庫

[root@centos78 ~]# zcat /usr/share/doc/zabbix-proxy-mysql-3.4.14/schema.sql.gz |mysql -uzabbix -pzabbix zabbix_proxy 

配置數據庫用戶和密碼

[root@centos78 ~]# vim /etc/zabbix/zabbix_proxy.conf   修改配置文件,設置密碼

DBPassword=zabbix

[root@centos78 ~]# grep -n '^'[a-Z] /etc/zabbix/zabbix_proxy.conf 查看關鍵配置信息

24:Server=192.168.1.1               這裏是Zabbix服務器的ip地址

42:Hostname=centos78            這裏是proxy自己的主機名

84:LogFile=/var/log/zabbix/zabbix_proxy.log

95:LogFileSize=0

136:PidFile=/var/run/zabbix/zabbix_proxy.pid

146:SocketDir=/var/run/zabbix

166:DBName=zabbix_proxy

181:DBUser=zabbix

190:DBPassword=zabbix

390:SNMPTrapperFile=/var/log/snmptrap/snmptrap.log

466:Timeout=4

508:ExternalScripts=/usr/lib/zabbix/externalscripts

544:LogSlowQueries=3000

啓動zabbix和設置開機啓動

[root@centos78 ~]# systemctl start zabbix-proxy

[root@centos78 ~]# systemctl enable zabbix-proxy

三、配置zabbix_proxy.conf文件

sed -i.ori '190a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf                第190行插入DBPassword,

sed -i 's#Server=127.0.0.1#Server=192.168.1.1#' /etc/zabbix/zabbix_proxy.conf       這個是Zabbix server的IP地址(或主機名),不是Zabbix proxy的ip哦

sed -i 's#Hostname=Zabbix proxy#Hostname=centos78#' /etc/zabbix/zabbix_proxy.conf    這個Zabbix proxy的hostname,惟一的, 區分大小寫的,確保server端知道其名稱!容許的符號: 字母數字, '.', ' ', '_' 和 '-'。最大長度: 64,常常會在這裏出錯。

修改完後重啓服務:

[root@centos78 ~]# systemctl restart zabbix-proxy.service

檢查啓動狀況:

[root@centos78 ~]#  netstat -lntup |grep zabbix

tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2190/zabbix_agentd  

tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      12789/zabbix_proxy  

tcp6       0      0 :::10050                :::*                    LISTEN      2190/zabbix_agentd  

tcp6       0      0 :::10051                :::*                    LISTEN      12789/zabbix_proxy  


3、客戶端主機配置文件指向 proxy

[root@centos78 ~]#vim /etc/zabbix/zabbix_agentd.conf 

Server=192.168.1.78     這裏指向proxy服務器IP,經過代理收集信息。

ServerActive=192.168.1.78

Hostname=centos78


4、服務端web界面:添加agent代理程序

image.png

幾分鐘後檢測到代理服務器:

image.png

再建立一個自動發現規則:

image.png

經過自動發現,就能夠自動經過代理的客戶端添加到自定義分組中,詳細狀況下面教程:


Zabbix自動發現和自動註冊



對於監控服務器愈來愈多的狀況,若是還單獨一個一個添加,那效率也過低,所以就要實現批量添加監控服務器的操做,Zabbix提供兩種批量自動監控的方式:

自動發現:由服務端主動發起,Zabbix Server開啓發現進程,定時掃描局域網中IP服務器、設備。

自動註冊:由客戶端主動發起,客戶端必須安裝並啓動Agentd,不然沒法被自動註冊添加至主機列表。對於使用SNMP的就要採用自動發現了。


1、客戶端配置指定服務器

在zabbix_agentd.conf中指定Zabbix server配置信息,這個在前期批量安裝客戶端的時候,就須要一塊兒批量修改。

Server=192.168.101.78     
ServerActive=192.168.101.78  
HostMetadataItem=system.uname

HostMetadataItem主機元數據

當agent程序向服務器發送自動註冊請求時,會發送其主機名。在某些狀況下,Zabbix服務器的主機名不足以區分發現的主機。主機元數據可將其餘信息從agent發送到服務器。

主機元數據在zabbix_agentd.conf中配置。在配置文件中指定主機元數據有兩種方式:(兩種不能同時用)

HostMetadataItem:
HostMetadataItem=system.uname
system.uname用於獲取包含「Linux」或「Windows」等信息,具體取決於運行agent的主機。
主機元數據示例以下:
Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32
HostMetadata:
可選參數用來定義主機元數據,只有主機自動註冊時纔用到主機元數據。若是沒有定義,該值經過 HostMetadataItem 得到。根據需求設置不一樣模板進行分組:
HostMetadata=Linux或HostMetadata=Windows或HostMetadata=Router或HostMetadata=SMNP



2、自動發現

一、添加自動發現規則

更新間隔:120s-300s,服務器性能很差能夠設置久一點

system.uname:這個是用來匹配的客戶端的.

image.png



二、建立自動發現動做

A、添加linux主機自動發現規則

image.png

操做:添加主機、添加Linux server組、添加模板,其餘本身設置。


image.png


B、添加Windows自動發現規則:

image.png

操做:添加Windows server分組

image.png



三、查看客戶端日記信息:active已經鏈接上

image.png

查看服務端信息:已經自動添加到Windows server和Linux server組中

image.png


3、自動註冊:

由客戶端主動發起,客戶端必須安裝並啓動Agentd,不然沒法被自動註冊添加至主機列表。

一、活動的Zabbix agent能夠自動註冊到服務器進行監控。這種方式無需在服務器上手動配置它們。

二、使用SNMP或者其餘方式監控的,沒法使用自動註冊,只能使用自動發現。

三、配置---動做---自動註冊---建立動做

  • 名稱:Auto Linux server

  • 條件:主機元數據似 Linux

  • 操做:添加主機

  • 操做:添加到主機組:Linux server

  • 操做:連接到模板:Template OS Linux

image.png

相關文章
相關標籤/搜索