Zabbix 監控系統搭建

2020-09-23 12:01:15

一.實驗環境準備

  • centos7.5 系統伺服器3臺、 一臺作為監控伺服器, 兩臺臺作為被監控節點, 設定好yum源、 防火牆關閉、 各節點時鐘服務同步、
    各節點之間可以通過主機名互相通訊。

二.zabbix的安裝

1.修改主機名

[root@localhost ~]# hostnamectl --static set-hostname zabbix

2.關閉防火牆和Selinux

[root@zabbix ~]#  systemctl stop iptables firewalld
[root@zabbix ~]#  systemctl disable iptables firewalld
[root@zabbix ~]#  sed -ri '/SELINUX=/cSELINUX=disabled' /etc/selinux/config
[root@zabbix ~]#  setenforce 0           # 臨時關閉SELinux
[root@zabbix ~]#  reboot

3.開啟郵件服務

[root@zabbix ~]# systemctl start postfix
[root@zabbix ~]# systemctl enable postfix

4.新增hosts

[root@zabbix ~]# vim /etc/hosts

在這裡插入圖片描述

5.安裝yum倉庫

  • 這個是國外的源,正常下載或者網路不好都會下載失敗幾次,多下幾次,不報錯就下載完成了。
[root@zabbix ~]# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

6.更新yum倉庫

[root@zabbix ~]# yum repolist 

在這裡插入圖片描述

7.安裝zabbix server和agent

[root@zabbix ~]# yum -y install epel-release.noarch
[root@zabbix ~]# yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql 

8.安裝zabbix前端

[root@zabbix ~]# yum -y install centos-release-scl
  • 開啟前端安裝源倉庫設定

[root@zabbix ~]# vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]

enabled=1

  • 安裝 zabbix 前端
[root@zabbix ~]# yum -y install zabbix-web-mysql-scl zabbix-apache-conf-scl

三.安裝設定資料庫

1.建立mariadb.repo

[root@zabbix ~]# vim /etc/yum.repos.d/mariadb.repo

新增以下內容

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

2.yum 安裝最新版本 mariadb

[root@zabbix ~]# yum install -y MariaDB-server MariaDB-clien

3.修改組態檔

找到[mysqld],在下面新增

[root@zabbix ~]# vim /etc/my.cnf.d/server.cnf

[mysqld]
skip_name_resolve = ON
innodb_file_per_table = ON
innodb_buffer_pool_size = 256M
max_connections = 2000
log-bin = master-log

4.重新啟動資料庫服務

[root@zabbix ~]# systemctl restart mariadb
[root@zabbix ~]# mysql_secure_installation  # 初始化mariadb

5.建立資料庫並授權賬號

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;  
MariaDB [(none)]> grant all on zabbix.* to 'zabbix'@'192.168.152.%' identified by '1234.com';	
MariaDB [(none)]> flush privileges; 

6.匯入 Zabbix 服務表

  • 檢視 zabbix-server-mysql 這個包提供了什麼

[root@zabbix ~]# rpm -ql zabbix-server-mysql
/etc/logrotate.d/zabbix-server /etc/zabbix/zabbix_server.conf
/usr/lib/systemd/system/zabbix-server.service
/usr/lib/tmpfiles.d/zabbix-server.conf /usr/lib/zabbix/alertscripts
/usr/lib/zabbix/externalscripts /usr/sbin/zabbix_server_mysql
/usr/share/doc/zabbix-server-mysql-5.0.2
/usr/share/doc/zabbix-server-mysql-5.0.2/AUTHORS
/usr/share/doc/zabbix-server-mysql-5.0.2/COPYING
/usr/share/doc/zabbix-server-mysql-5.0.2/ChangeLog
/usr/share/doc/zabbix-server-mysql-5.0.2/NEWS
/usr/share/doc/zabbix-server-mysql-5.0.2/README
/usr/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz # 生成表的各種指令碼
/usr/share/doc/zabbix-server-mysql-5.0.2/double.sql
/usr/share/man/man8/zabbix_server.8.gz /var/log/zabbix /var/run/zabbix

  • 安裝gzip
[root@zabbix ~]# gzip -d /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql.gz
[root@zabbix ~]# ls
anaconda-ks.cfg

7.匯入資訊(兩種方式)

①進入資料庫

sorce /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql

[root@zabbix ~]# mysql -uzabbix -h192.168.37.111 -p'1234.com' zabbix < /usr/share/doc/zabbix-server-mysql-5.0.2/create.sql

  • 匯入成功

四.設定server端

1.

[root@zabbix ~]# cd /etc/zabbix/
[root@zabbix zabbix]# ls
web  zabbix_agentd.conf  zabbix_agentd.d  zabbix_server.conf
#為了方便我們以後恢復,我們把組態檔備份一下
[root@zabbix zabbix]# cp zabbix_server.conf{,.bak}
[root@zabbix zabbix]# vim zabbix_server.conf
ListenPort=10051            # 預設監聽埠
SourceIP=192.168.37.111     # 發取樣資料請求的 IP
LogType=file
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0    #紀錄檔卷動
DebugLevel=3    #紀錄檔級別
DBHost=192.168.49.170  #本機ip
DBName=zabbix  #資料庫名稱
DBUser=zabbix  #資料庫使用者
DBPassword=123.com  #資料庫密碼
DBPort=3306   #資料庫埠

啟動服務

[root@zabbix zabbix]# systemctl start zabbix-server.service

確認伺服器埠開啟

在這裡插入圖片描述

四.設定web GUI

1.設定php前端

  • php 監聽使用者增加nginx,設定時區
[root@zabbix ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai

2.啟動http服務

[root@qfedu.com ~]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
[root@qfedu.com ~]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

3.瀏覽器存取並進行初始化設定

  • 瀏覽器輸入ip/zabbix存取
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 預設使用者名稱為:Admin ,密碼為:zabbix ,登入後進入儀表盤:
    在這裡插入圖片描述

五.設定agent端

  • 在被監控的主機安裝好agent,設定好 server,並新增到 server 端,將其納入監控系統中。

1.安裝zabbix安裝源

[root@node1 ~]# wget https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
#######yum -y localinstall  zabbix-release-5.0-1.el7.noarch.rpm #本地安裝
[root@node1 ~]# rpm -ivh zabbix-release-5.0-1.el7.noarch.rpm
[root@node1 ~]# yum -y install epel-release.noarch
[root@node1 ~]# yum install zabbix-agent zabbix-sender -y

2.編輯組態檔

  • 先備份一份,以防萬一
[root@node1 ~]# cd /etc/zabbix/
[root@node1 zabbix]# ls
zabbix_agentd.conf  zabbix_agentd.d
[root@node1 zabbix]# cp zabbix_agentd.conf{,.bak}
[root@node1 zabbix]# vim zabbix_agentd.conf

[root@node1 zabbix]# grep -Ev ‘^$|#’ zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid LogType=file
LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 DebugLevel=3
SourceIP=192.168.49.171 Server=192.168.49.170 ListenPort=10050
ListenIP=192.168.49.171 StartAgents=3 ServerActive=192.168.49.170
Hostname=node1 Include=/etc/zabbix/zabbix_agentd.d/*.conf

  • 啟動服務
[root@node1 zabbix]# systemctl start zabbix-agent.service
  • 檢視埠是否開啟
    在這裡插入圖片描述

六.監控過程詳解

1.修改中文版

在這裡插入圖片描述

2.建立主機群組

在這裡插入圖片描述

3.新增主機

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