Zabbix監控系統(基於CentOS7)

2020-10-21 13:00:38

Zabbix監控系統

一、Zabbix介紹

zabbix是一個基於WEB介面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。

zabbix能監視各種網路引數,保證伺服器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。

官方網站:https://www.zabbix.com/

CentOS7設定Zabbix的官方檔案:https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

二、Zabbix部署

2.1環境準備

2.1.1 2臺linux伺服器(均可存取網際網路)

​ 1.伺服器安裝Zabbix-server

​ 2.使用者端安裝Zabbix-agent

2.1.2 確保關閉selinux

vi /etc/sysconfig/selinux
selinux=disabled

在這裡插入圖片描述

2.2開始部署

2.2.1 設定LAMP環境

  • LAMP一鍵安裝包:https://www.lamp.sh/

  • 通過yum方式部署:

    # yum install epel-release -y
    
    # rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    

    設定MariaDB源:(使用中科大映象)

    https://idc.wanyunshuju.com/ma/1196.html

vim /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB
baseurl = https://mirrors.ustc.edu.cn/mariadb/yum/10.4/centos7-amd64
gpgkey=https://mirrors.ustc.edu.cn/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck=1

​ 安裝mariadb、php環境及相關依賴包:

# yum install mariadb-client mariadb-server mariadb-devle httpd php72w-mysql php72w-gd libjpeg* php72w-ladp php72w-odbc php72w-pear php72w-xml php72w-xmlrpc php72w-mbstring php72w-bcmath php72w-mhash php72w-fpm libxml2-devel libevent-devel curl-devel php72w-snmp net-snmp

2.2.2 部署zabbix server

通過Zabbix官方提供的Quick Start檔案來進行部署:https://www.zabbix.com/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache

Step1.選擇你的作業系統版本、資料庫型別以及WEB伺服器的型別

在這裡插入圖片描述

Step2.為您的平臺安裝和設定Zabbix伺服器

a.安裝Zabbix倉庫

# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all

b.安裝Zabbix伺服器和代理

# yum install zabbix-server-mysql zabbix-agent

在這裡插入圖片描述

如果遇到上圖所示的網路不暢,導致rpm包無法正常下載,可以通過瀏覽器或下載工具下載rpm包。下載完成後,將rpm包放在/var/cache/yum/x86_64/7/zabbix/packages資料夾裡,再次執行yum install【rpm包名稱】即可。

在這裡插入圖片描述

利用Xftp工具,將下載好的rpm包拷貝到/var/cache/yum/x86_64/zabbix/packages目錄下

在這裡插入圖片描述

再次執行yum install [rpm包名稱]

在這裡插入圖片描述

c.安裝Zabbix前端

# yum install centos-release-scl

編輯檔案/etc/yum.repos.d/zabbix.repo並啟用zabbix-frontend儲存庫。

[zabbix-frontend]
...
enabled=1
...

在這裡插入圖片描述

安裝Zabbix前端軟體包

# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl

在這裡插入圖片描述

如果遇到上圖所示的網路不暢,導致rpm包無法正常下載,可以通過瀏覽器或下載工具下載rpm包。下載完成後,將rpm包放在/var/cache/yum/x86_64/7/zabbix-frontend/packages資料夾裡,再次執行yum install【rpm包名稱】即可。

在這裡插入圖片描述

再次執行yum命令,發現已經能成功安裝,如下圖所示

在這裡插入圖片描述

如果想要保留下載的rpm包,可以vim /etc/yum.conf,將keepcache置為1.

在這裡插入圖片描述

d.建立初始資料庫

測試資料庫是否運作正常:

mysql -uroot -p
Enter Password:(預設密碼為空),直接回車進入

在這裡插入圖片描述

在資料庫主機上執行以下命令:

# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin; //使用utf8字元集
mysql> create user zabbix@localhost identified by 'password';	   //資料庫密碼設定為password,允許																	zabbix使用者從本地存取資料庫
mysql> grant all privileges on zabbix.* to zabbix@localhost;	   //讓所有屬於zabbix組的使用者擁有數																	    據庫的許可權
mysql> quit;

在Zabbix伺服器主機上,匯入初始架構和資料。系統將提示您輸入新建立的密碼。

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix

在這裡插入圖片描述

e.為Zabbix伺服器設定資料庫

編輯檔案/etc/zabbix/zabbix_server.conf

DBPassword=password

在這裡插入圖片描述

f.為Zabbix前端設定PHP

編輯檔案/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,取消註釋並設定正確的時區。

; php_value[date.timezone] = PRC

在這裡插入圖片描述

g.啟動Zabbix伺服器和代理程序

啟動Zabbix伺服器和代理程序,並使其在系統啟動時啟動。

# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

在這裡插入圖片描述

h.設定Zabbix前端

連線到新安裝的Zabbix前端:http:// server_ip_or_name /zabbix

您應該能看到如下圖所示的歡迎介面:
在這裡插入圖片描述

Step1.檢查先決條件

確保滿足所有軟體先決條件。

在這裡插入圖片描述

前提條件最低值描述
PHP版本7.2.0
PHP memory_limit選項128MB在php.ini中: memory_limit = 128M
PHP post_max_size選項16MB在php.ini中: post_max_size = 16M
PHP upload_max_filesize選項2MB在php.ini中: upload_max_filesize = 2M
PHP max_execution_time選項300秒(允許值為0和-1)在php.ini中: max_execution_time = 300
PHP max_input_time選項300秒(允許值為0和-1)在php.ini中: max_input_time = 300
PHP session.auto_start選項必須禁用在php.ini中: session.auto_start = 0
資料庫支援其中之一:MySQL,Oracle,PostgreSQL。必須安裝以下模組之一: mysql,oci8,pgsql
bcmathphp-bcmath
mbstringphp-mbstring
PHP mbstring.func_overload選項必須禁用在php.ini中: mbstring.func_overload = 0
插座php-net-socket。使用者指令碼支援所必需。
d2.0.28php-gd。PHP GD擴充套件必須支援PNG影象(–with-png-dir),JPEG(-- with-jpeg-dir)影象和FreeType 2(-- with-freetype-dir)。
的libxml2.6.15PHP的XML
xmlwriterphp-xmlwriter
xmlreaderphp-xmlreader
型別php-ctype
會議PHP對談
文字php-gettext 自Zabbix 2.2.1起,PHP gettext擴充套件不是安裝Zabbix的強制要求。如果未安裝gettext,則前端將照常工作,但是翻譯將不可用。

列表中還可能包含可選的先決條件。失敗的可選前提條件以橙色顯示,並且具有警告狀態。如果可選的先決條件失敗,則設定可以繼續。

Step2.設定資料庫連線

輸入用於連線資料庫的詳細資訊。Zabbix資料庫必須已經建立。
在這裡插入圖片描述

Step3.ZABBIX伺服器詳細資訊

輸入Zabbix伺服器詳細資訊。
在這裡插入圖片描述

輸入Zabbix伺服器的名稱是可選的,但是,如果提交了名稱,它將顯示在選單欄和頁面標題中。

Step4.安裝前摘要

檢視設定摘要。
在這裡插入圖片描述

Step5.完成安裝。
在這裡插入圖片描述

Step6.登入

Zabbix前端已經準備好!預設使用者名稱為Admin,密碼為zabbix

img

2.2.3 部署zabbix agent

a.匯入源

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

b.通過yum方式安裝zabbix agent

yum install zabbix-server-mysql zabbix-agent

在這裡插入圖片描述

如果遇到上圖所示的網路不暢,導致rpm包無法正常下載,可以通過瀏覽器或下載工具下載rpm包。下載完成後,將rpm包放在/var/cache/yum/x86_64/7/zabbix/packages資料夾裡,再次執行yum install【rpm包名稱】即可。
在這裡插入圖片描述

c.編輯zabbix組態檔

cd /etc/zabbix/
ls
cp zabbix_agentd.conf zabbix_agentd.conf.bak
vi zabbix_agentd.conf
修改Server=zabbix_server的ip地址
wq儲存退出

d.啟動zabbix-agent

systemctl start zabbix-agent
systemctl status zabbix-agent

e.檢視zabbix埠

netstat -na

f.停止防火牆

systemctl stop firewalld

至此,您的zabbix agent已經設定完畢。

三、Zabbix前端介面

存取Zabbix前端:

http://192.168.13.135/zabbix/

UserName:Admin

Password:zabbix
在這裡插入圖片描述

3.1新增監控主機

在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

如上圖所示,ZBX狀態顯示綠色則表明zabbix-server能正常監控到zabbix-agent主機上的相關資料。

3.2檢視監控效果

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

如上圖所示,ZBX狀態顯示綠色則表明zabbix-server能正常監控到zabbix-agent主機上的相關資料。