ZABBIX官方文檔:https://www.zabbix.com/downloadzabbix=5.0&os_distribution=centos&os_version=8&db=mysql&ws=apache
LAMP一鍵安裝包:https://lamp.sh/autoinstall.html
運行環境
cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
關閉nftables和selinux
systemctl disable --now firewalld.service
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
zabbix官方源
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
替換為阿里雲zabbix源
sed -i '3c baseurl=http://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/' /etc/yum.repos.d/zabbix.repo
安裝zabbix
dnf -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
安裝Apache和MariaDB並啟動
dnf install -y @httpd @mariadb
systemctl enable --now httpd mariadb
數據庫根用戶添加密碼及安全設置
mysql_secure_installation
步驟如下:
要求你配置VALIDATE PASSWORD component(驗證密碼組件): 輸入y ,回車進入該配置
選擇密碼驗證策略等級, 我這里選擇0 (low),回車
輸入新密碼兩次
確認是否繼續使用提供的密碼?輸入y ,回車
移除匿名用戶? 輸入y ,回車
不允許root遠程登陸? 我這里需要遠程登陸,所以輸入n ,回車
移除test數據庫? 輸入y ,回車
重新載入權限表? 輸入y ,回車
配置遠程登陸
mysql -uroot -p
接着繼續執行mysql語句,將將root用戶的host字段設為'%':
use mysql;
update user set host='%' where user='root';
flush privileges;
exit
關閉MySQL主機查詢dns
MySQL會反向解析遠程連接地址的dns記錄,如果MySQL主機無法連接外網,則dns可能無法解析成功,導致第一次連接MySQL速度很慢,所以在配置中可以關閉該功能。
給/etc/my.cnf文件,添加配置
echo "[mysqld]
skip-name-resolve" >> /etc/my.cnf
重啟服務
systemctl restart mysqld
創建zabbix數據庫
在數據庫主機上運行以下內容。
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
show databases;
create user zabbix@localhost identified by 'password';
flush privileges;
grant all privileges on zabbix.* to zabbix@localhost;
quit;
在 Zabbix 服務器主機上導入初始架構和數據。系統將提示您輸入新創建的密碼。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
為 Zabbix 服務器配置數據庫
編輯文件 /etc/zabbix/zabbix_server.conf
sed -i 's/# DBPassword=/DBPassword=password/' /etc/zabbix/zabbix_server.conf
為 Zabbix 前端配置 PHP
編輯文件 /etc/php-fpm.d/zabbix.conf,添加上海時區
sed -i '$a php_value[date.timezone] = Asia/Shanghai' /etc/php-fpm.d/zabbix.conf
啟動 Zabbix 服務器和代理進程
啟動 Zabbix 服務器和代理進程,使其在系統啟動時啟動。
systemctl restart zabbix-server zabbix-agent httpd php-fpm
systemctl enable zabbix-server zabbix-agent httpd php-fpm
配置 Zabbix 前端
連接到新安裝的 Zabbix 前端:http://server_ip_or_name /zabbix
輸入zabbix數據庫密碼
輸入名稱
默認的用戶是Admin,密碼為zabbix,該用戶是超級用戶,輸入登錄信息后,點擊Sign In按鈕,進行登錄
左下角設置可以切換語言
zabbix監控IO報警實驗
配置——主機群主——創建主機群主——輸入組名
配置——主機——創建主機

監控項

觸發器

圖形

管理——報警媒介類型——創建媒介類型


配置——動作——創建動作——添加觸發器

被監控端:dnf install -y zabbix-agent
監控端:dnf install -y zabbix-get
vim /etc/hosts
192.168.183.186 master
192.168.183.187 node1
被監控端:
cd /etc/zabbix/
mkdir scripts
cd scripts
vim diskfree.sh
df -h / | awk -F ' +|G' 'NR==2{print $6}'
chmod a+x diskfree.sh
vim /etc/zabbix/zabbix_agentd.conf
ListenPort=10050
ServerActive=監控者IP
Server=監控者IP
Hostname=被監控主機名
UserParameter=diskfree,bash /etc/zabbix/scripts/diskfree.sh
systemctl start zabbix-agent.service
監控端:zabbix_get -s 192.168.183.187 -p 10050 -k diskfree
dd if=/dev/zero of=/a.txt bs=1G count=2
安裝MUA軟件:mailx
# dnf install mailx -y
# mail -V
12.5 7/5/10
# mailx -V
12.5 7/5/10
配置公網郵箱信息:
# vim /etc/mail.rc 追加以下內容
set from=18612540627@163.com(郵箱地址)
set smtp=smtp.163.com(smtp服務器)
set smtp-auth-user=18612540627@163.com(用戶名)
set smtp-auth-password=yanqiang20182018(郵箱密碼-這里是授權碼)
set smtp-auth=login
使用mailx發郵件的方式:
方式1:mailx -s "郵件標題" 收件箱Email < 包含正文的文件
方式2:cat 包含正文的文件 | mailx -s "郵件標題" 收件箱Email
方式3:echo "正文內容" | mailx -s "郵件標題" 收件箱Email
方式4:mailx -s "郵件標題" 收件箱Email,回車按CTRL+D發送
手動發送郵件測試:
# mailx -v -s 'hello' '收件人@163.com'
手寫郵件內容 (回車,然后ctrl+d正常結束)
EOT
Resolving host smtp.163.com … done.
Connecting to 123.125.50.135:smtp … connected.
220 163.com Anti-spam GT for Coremail System (163com[20141201])
EHLO localhost
250-mail
250-PIPELINING
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-coremail 1Uxr2xKj7kG0xkI17xGrU7I0s8FY2U3Uj8Cz28x1UUUUU7Ic2I0Y2UFHbOaIUCa0xDrUUUUj
250-STARTTLS
250 8BITMIME
AUTH LOGIN
334 dXNlcm5hbWU6
emhpZ3VvbGl1MTFAMTYzLmNvbQ==
334 UGFzc3dvcmQ6
bHpnODY3MTM1NzM5
235 Authentication successful
MAIL FROM:18612540627@163.com
250 Mail OK
RCPT TO:18612540627@163.com
250 Mail OK
DATA
354 End data with .
.
250 Mail OK queued as smtp5,D9GowAAnNd6vschZY_bxAA–.277S2 1506324911
QUIT
221 Bye
或者,將郵件內容放到一個文件中content.txt
# cat content.txt | mailx -v -s ‘hello’ ‘zhangsan@163.com’
修改zabbix服務端配置文件&編寫腳本:
指定腳本的存儲路徑:
#vim /etc/zabbix/zabbix_server.conf
AlertScriptsPath=/usr/lib/zabbix/alertscripts
編寫郵件腳本:
#cd /usr/lib/zabbix/alertscripts
#vim sendmail.sh
#!/bin/sh
#export.UTF-8
echo "$3" | sed s/'\r'//g | mailx -s "$2" $1
修改權限:
#chmod u+x sendmail.sh && chown zabbix.zabbix sendmail.sh
