rocky 9.5系统安装zabbix监控实现邮件告警
rocky 9.5系统安装zabbix监控实现邮件告警
前期准备:
服务器数量:2台
服务器系统:rocky 9.5,Ubuntu20.04系统各一台
rocky 9.5:https://dl.rockylinux.org/vault/rocky/9.5/isos/x86_64/
Ubuntu20.04:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/
1.基础配置
关闭防火墙SELinux
systemctl stop firewalld
setenforce 0
2.安装基础软件
tar:解压缩工具
net-tool :网络管理工具
wget:下载工具
cat /etc/os-release #查看rocky版本
yum install vim tar net-tools wget -y
安装lnmp核心软件
l:linux
n:nginx
m:数据库
php:执行web上的各种程序
#更新系统软件包索引
yum install nginx 安装nginx主程序
yum install php php-fpm 安装php
yum install mysql-server 安装数据库
yum install php-mysqlnd 安装数据库扩展程序#一键安装指令
yum install nginx php php-fpm mysql-server php-mysqlnd
验证安装
systemctl status nginx
systemctl status php-fpm # 注意:版本号可能因 Ubuntu 版本不同(如 php7.4-fpm、php8.2-fpm 等)
systemctl status mysqlnd
先安装zabbix官方yum源
rpm -Uvh https://repo.zabbix.com/zabbix/7.2/release/centos/9/noarch/zabbix-release-latest-7.2.el9.noarch.rpm
再安装zabbix相关软件
yum install zabbix-server-mysql -y #-y自动确认参数
yum install zabbix-web-mysql -y
yum install zabbix-nginx-conf -y
yum install zabbix-sql-scripts -y
yum install zabbix-selinux-policy -y
yum install zabbix-agent -y
#一键安装指令
yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-selinux-policy zabbix-agent -y
3.数据库配置
数据库基础环境配置
systemctl start mysqld 启动服务mysql -uroot -p 进入数据库
mysql_secure_installation
创建zabbix的数据库和用户
按zabbix的官方说明,创建数据库,并导入表项
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user 'zabbix'@'%' identified by '123456'; #用户名zabbix,by后面是密码
grant all privileges on zabbix.* to 'zabbix'@'%';
set global log_bin_trust_function_creators = 1; #高权限
quit;
导入zabbix数据库表项
zcat /usr/share/zabbix/sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
接下来要输入密码
最后,将mysql的log_bin_trust_function相关权限设置恢复
mysql -uroot -p密码
mysql -uroot -p
set global log_bin_trust_function_creators = 0; #关闭高权限
quit;
4.nginx配置
配置文件zabbix.conf
cd /etc/nginx/conf.d/
vim zabbix.confvim /etc/nginx/conf.d/zabbix.conf
打开监听端口不一定设置8080
保存退出

启动nginx服务,并检查
systemctl start nginx
netstat -nltp

5.zabbix服务器配置
编辑配置文件
vim /etc/zabbix/zabbix_server.conf
把DBPassword参数设置为我们的密码

启动相关服务,有概率报错
systemctl restart zabbix-server zabbix-agent nginx php-fpm
systemctl enable zabbix-server
systemctl enable zabbix-agent
systemctl enable nginx
systemctl status zabbix-server
systemctl status zabbix-agent
systemctl status nginx
6.登陆zabbix ui界面
作者的访问地址:http://192.168.57.99:8080
作者遇到的问题
如果zabbix-server zabbix-agent nginx php-fpm相关服务都启动了
访问不了
可能是防火墙没关
# 防火墙状态
firewall-cmd --list-all
# 临时关闭防火墙测试
systemctl stop firewalld
# SELinux 状态
getenforce
# 临时禁用 SELinux 测试
setenforce 0
安装中文包
yum install glibc-common glibc-locale-source glibc-langpack-zh -y
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8

显示都OK

用户名:Admin
密码:zabbix


7.添加被监控的服务器
此处添加被监控的是Ubuntu20.04系统
首先安装必要的依赖工具(用于添加 HTTPS 源和处理 GPG 密钥):
sudo apt update
sudo apt install -y wget apt-transport-https
导入 Zabbix 官方 GPG 密钥
wget https://repo.zabbix.com/zabbix-official-repo.key -O- | sudo apt-key add -
添加 Zabbix 官方源,添加源后,更新本地包缓存
sudo sh -c 'echo "deb https://repo.zabbix.com/zabbix/6.0/ubuntu focal main" > /etc/apt/sources.list.d/zabbix.list'
sudo apt update
安装 zabbix agent
sudo apt install -y zabbix-agent
防火墙拦截,在 Agent 主机上开放 10050 端口
# 若使用 ufw 防火墙
sudo ufw allow 10050/tcp# 若使用 firewalld
sudo firewall-cmd --add-port=10050/tcp --permanent
sudo firewall-cmd --reload
配置agent
修改两项参数
Server=192.168.57.99 zabbix服务器的ip地址
Hostname=192.168.57.100 被监控对象ip地址
vim /etc/zabbix/zabbix_agentd.conf


启动agent服务
sudo systemctl start zabbix-agent


等一会

8.告警和邮件告警配置
压力测试,触发告警


CPU达80%以上告警

分配 4GB 内存,持续 120 秒(确保空闲内存足够,避免系统卡顿)
stress --cpu 4 --timeout 120s

邮箱告警配置
安装发邮件的软件,最新版系统是s-nail,非最新版是mailx
yum install s-nail -y
或
yum install mailx -y
修改文件权限
chmod +w s-nail.rc
vim /etc/s-nail.rc
再最后一行添加以下代码,保存退出
set v15-compat
set from="1787xxxxxxxx@163.com"
set mta=smtps://1787xxxxxxxx%40163.com:NPkvdsN5nQ5saKYD@smtp.163.com:465
set smtp-auth=login
测试邮件
echo '邮件内容' | mail -s '邮件主题' xxxxx@189.cn
echo 'zabbix测试' | mail -s '测试主题' 2654583xxxx@qq.com
创建媒介类型

配置如下

拉到最下面——>测试——输入另外一个邮箱——>测试——取消

动作媒介配置




用户配置


被监控的服务器进行压力测试
stress --cpu 4 --timeout 120s
发送邮箱

收件邮箱

