天天看點

@zabbix(5.0)用戶端與服務端部署安裝

文章目錄

  • ​​zabbix(5.0)部署安裝​​
  • ​​一、zabbix用戶端​​
  • ​​二、用戶端部署( zabbix-agent2 安裝 )​​
  • ​​1、機器準備​​
  • ​​2、環境優化(所有機器)​​
  • ​​3、安裝zabbix​​
  • ​​三、zabbix服務端部署​​
  • ​​1、zabbix 5.0版本基本要求​​
  • ​​2、部署安裝插件服務端​​
  • ​​3、部署zabbix資料庫​​
  • ​​4、安裝字元插件(web字元亂碼)​​
  • ​​四、zabbix添加web(自定義key)​​

zabbix(5.0)部署安裝

www.zabbix.com[官網]

一、zabbix用戶端

1)agent2新版本采用golang語言開發的用戶端

2)agent2預設是10050端口,也就是zabbix用戶端的端口

# 舊版本用戶端: zabbix-agent
# 新版本用戶端: zabbix-agent2      

二、用戶端部署( zabbix-agent2 安裝 )

1、機器準備

機器準備 IP 服務名稱 環境準備
zabbix服務端 13.75.120.200 zabbix-server 關閉防火牆和selinux
zabbix用戶端 13.75.120.200 zabbix-agent2 關閉防火牆和selinux
zabbix用戶端 13.75.120.200 zabbix-agent2 關閉防火牆和selinux

2、環境優化(所有機器)

1、時間同步
[root@test ~]# yum -y install ntpdate
[root@test ~]# ntpdate ntp.aliyun.com
#加入定時任務
[root@test ~]# crontab -l 
# 每五分鐘時間同步一次
*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com &> /dev/null


2、時區同步
#設定時區:
timedatectl set-timezone "Asia/Shanghai"
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime



3、關閉防火牆與selinx
#關閉selinux
[root@test ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@test ~]# setenforce 0
[root@test ~]# getenforce 0
Permissive
#關閉防火牆
[root@test ~]# systemctl stop firewalld.service      # 臨時關閉irewalld防火牆
[root@test ~]# systemctl disable firewalld.service   # 加入不讓其開機自啟動      

3、安裝zabbix

1、擷取zabbix官方源
[root@test ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 



2、修改配置源檔案
[root@test ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
[root@test ~]#  yum clean all && yum makecache



3、安裝zabbix-agent2或zabbix-agent
[root@zabbix1 yum.repos.d]# yum install zabbix-agent2 -y




4、安裝并檢視zabbix-agent2配置檔案
[root@test ~]# ls -l /usr/sbin/zabbix_agent2 
-rwxr-xr-x. 1 root root 17721128 Aug 30 17:32 /usr/sbin/zabbix_agent2



5、啟動zabbix-agent2
[root@test ~]# systemctl enable --now zabbix-agent2.service



6、檢查啟動狀态
[root@test ~]# netstat -lntp |grep zabbix
tcp6       0      0 :::10050                :::*                    LISTEN      5312/zabbix_agent2 



7、配置檔案修改
# zabbix-agent2 用戶端配置
[root@test ~]# vim  /etc/zabbix/zabbix_agent2.conf
[root@test ~]# egrep -v '^$|^#' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1              # zabbix-server服務端IP
ServerActive=127.0.0.1        # zabbix-server服務端IP
Hostname=zabbix server        # zabbix server本機位址
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock



8、重新啟動(生效配置檔案)
[root@test ~]# systemctl restart zabbix-agent2.service 
9、檢視服務是否啟動
[root@test ~]# netstat -lntp |grep 10050
tcp6       0      0 :::10050                :::*                    LISTEN      5469/zabbix_agent2      

三、zabbix服務端部署

1、zabbix 5.0版本基本要求

1、zabbix 5.0後 版本後 對php版本至少7.0

2、2G2核

3、zabbix-server服務端安裝

2、部署安裝插件服務端

1、下載下傳epel源
[root@test ~]# yum install epel-release -y


2 、擷取zabbix官方源(安裝過可忽略)
[root@test ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 


3、修改配置源檔案
#更改源位址
[root@test ~]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#清空即生成緩存
[root@test ~]# yum clean all && yum makecache




4、安裝zabbix server和zabbix-agent2(可忽略)
[root@test ~]# yum install zabbix-server-mysql zabbix-agent2 -y



5、安裝software collections便于安裝高版本的php (yum預設php是5.4)
SCL(Software Collections)可以讓同一個作業系統上安裝和使用多個版本的軟體,而不會影響整個系統的安裝包,軟體包會安裝在/opt/rh目錄下。
為了避免系統廣泛沖突,/opt/rh包安裝在目錄中,例如,允許在CentOS7機器上安裝Python3.8,而不會删除或幹擾Python2.7。
/etc/opt/rh軟體包所有的配置檔案都存儲在目錄中相應的目錄中,SCL包提供了定義使用所包含應用程式所需的環境變量shell腳本。
#例如,PATH,LD_LIBRARY_PATH和MANPATH,這些腳本存儲在檔案系統中,作為/opt/rh/package-name/enable
[root@test ~]# yum install centos-release-scl -y



6、修改zabbix前端源 
[root@test ~]# cat /etc/yum.repos.d/zabbix.repo 
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1    #修改為1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591




6、安裝zabbix前端環境(zabbix-mysql、zabbix-apache)
[root@test ~]# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y      

3、部署zabbix資料庫

#安裝zabbix所需要的資料庫
1)、配置MySQL的yum源
[root@test ~]# cat > /etc/yum.repos.d/mysql.repo << EOF
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF


2)、安裝社群版MySQL
[root@test ~]# yum install mysql-community-server


3)、啟動MySQL
#加入開機自啟
[root@test ~]# systemctl enable --now mysqld.service  # MYSQL5.7版本預設密碼在mysqld.log日志裡面
#檢視密碼
[root@test ~]# grep 'password' /var/log/mysqld.log 
2021-07-31T07:54:52.161434Z 1 [Note] A temporary password is generated for root@localhost: !oA1Hy*-HYjK


4)、檢查MySQL運作狀态
[root@test ~]# systemctl status mysqld.service 
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2021-07-29 00:04:02 CST; 8s ago
#初始化資料庫,設定root密碼
[root@test ~]# mysql_secure_installation

# 輸入目前root密碼(直接回車)
# Enter current password for root (enter for none):

# 設定root密碼
# Set root password? [Y/n] y
# New password: 
# Re-enter new password:

# 是否移除匿名使用者
# Remove anonymous users? [Y/n] y

# 是否禁止root遠端登陸
# Disallow root login remotely? [Y/n] n

# 是否移除測試資料庫
# Remove test database and access to it? [Y/n] y

# 是否重新整理授權表
# Reload privilege tables now? [Y/n] y



5)、建立zabbix依賴資料庫
[root@test ~]# mysql -uroot -p'Zabbix@21'
# 1、修改密碼并授權root使用者
mysql> set password=password('Zabbix@21');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> grant all privileges on *.* to root@'%' identified by 'Zabbix@21';
mysql> flush privileges;
mysql> quit



# 2、建立zabbix庫并授權
#資料庫建立
mysql> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
#建立使用者并授權
mysql> grant all privileges on zabbix.* to zabbix@'%' identified by 'Zabbix@21';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges;
mysql> exit




# 3、配置資料庫my.cnf檔案
[root@test ~]# grep '^[^#]' /etc/my.cnf
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8mb4

[mysql]
user="root"
password="Zabbix@21"
default-character-set=utf8mb4


# 8、啟動資料庫
[root@test ~]# systemctl restart mysqld
[root@test ~]# netstat  -lntp |grep mysql
tcp6       0      0 :::3306                 :::*                    LISTEN      1119/mysqld     





# 9、mysql資料庫資料導入
#zabbix-server-mysql資料導入資料庫mysqld
[root@test ~]# cd /usr/share/doc/zabbix-server-mysql-5.0.15
#資料導入(時間可能會慢)
[root@test zabbix-server-mysql-5.0.15]# zcat create.sql.gz | mysql -uroot -p"Zabbix@21" zabbix 
mysql: [Warning] Using a password on the command line interface can be insecure.





# 10、修改zabbix配置檔案(zabbix關聯mysql)
1、修改zabbix_server.conf檔案
[root@test ~]# vim /etc/zabbix/zabbix_server.conf
[root@test ~]# grep -E  '^[^#]' /etc/zabbix/zabbix_server.conf 
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@21
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1


2、修改zabbix.conf檔案(更改所依賴php的時區)
[root@test ~]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
[root@test ~]# grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
php_value[date.timezone] = Asia/Shanghai




# 11、啟動zabbix
#重新開機
[root@test ~]# systemctl restart zabbix-server zabbix-agent2.service httpd rh-php72-php-fpm.service
#加入開機自啟并立即啟動
[root@test ~]# systemctl enable --now zabbix-server zabbix-agent2.service httpd rh-php72-php-fpm.service 



# 12、測試ip通路
192.168.15.10/zabbix 
預設使用者:Admin   
密碼:zabbix      
@zabbix(5.0)用戶端與服務端部署安裝
檢視确認環境是否ok
@zabbix(5.0)用戶端與服務端部署安裝
zabbix關聯資料庫
@zabbix(5.0)用戶端與服務端部署安裝
填寫zabbix-server的資訊(根據實際部署情況填)
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
web安裝成功
@zabbix(5.0)用戶端與服務端部署安裝
登入zabbix web
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
更改web語言
@zabbix(5.0)用戶端與服務端部署安裝
web中文模式
@zabbix(5.0)用戶端與服務端部署安裝
web出現字元亂碼
@zabbix(5.0)用戶端與服務端部署安裝

4、安裝字元插件(web字元亂碼)

1、安裝中文字型
yum -y install wqy-microhei-fonts


2、将下載下傳好的二進制檔案複制到指定路徑下
cp      
web重載(頁面字元已正常顯示)
@zabbix(5.0)用戶端與服務端部署安裝

四、zabbix添加web(自定義key)

自定義監控登入使用者數

需求:限制人數不超過三個,超過三個會發生報警資訊

##### 用戶端執行

# 1、使用需要執行linux指令(此指令可檢視目前登入使用者的個數)
[root@test ~]# who |wc -l
2


# 2、zabbix配置檔案中,配置使用inclued形式來優化配置檔案,進行添加多項配置,如下
[root@test ~]# cat /etc/zabbix/zabbix_agent2.conf | grep -i "^include"
Include=/etc/zabbix/zabbix_agent2.d/*.conf




# 3、添加zabbix_agent2配置檔案,用于自定義key(可手動建立zabbix的配置檔案)
#直接添加配置檔案
[root@test ~]# vim /etc/zabbix/zabbix_agent2.conf
#自定義配置檔案與指定路徑(配置名稱自定義)
[root@test ~]# cd /etc/zabbix/zabbix_agent2.d/
[root@test zabbix_agent2.d]# vim /etc/zabbix/zabbix_agent2.d/userparameter_login.conf
#自定義配置檔案的文法
#Format: UserParameter=<key>,<shell command>
UserParameter=login.user,who|wc -l
#多項監控,更改不同的key值
#UserParameter=login.user1,who|wc -l



# 3、重新開機服務
[root@test ~]# systemctl restart zabbix-agent2.service



# 4、在zabbix服務端指令行進行測試(zabbix-get)
#安裝zabbix-get
 yum install zabbix-get -y 

#測試:
zabbix_get -s "13.75.120.200" -p 10050 -k "login.user"
# 1 代表ok



#### 服務端監控
# 1、zabbix服務端(如下所示)      
建立群組
@zabbix(5.0)用戶端與服務端部署安裝
添加自定義群組
@zabbix(5.0)用戶端與服務端部署安裝
建立模闆
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
建立應用集
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
建立監控項,選擇具體想要監控的内容(自定義item)
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
建立觸發器,自定義建立(監控項觸發報警添加)
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
建立圖形
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
建立主機與模闆相關聯
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝
@zabbix(5.0)用戶端與服務端部署安裝