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

bash 复制代码
systemctl stop firewalld
setenforce 0

2.安装基础软件

tar:解压缩工具

net-tool :网络管理工具

wget:下载工具

bash 复制代码
cat /etc/os-release #查看rocky版本
yum install vim tar net-tools wget -y 

安装lnmp核心软件

l:linux

n:nginx

m:数据库

php:执行web上的各种程序

bash 复制代码
#更新系统软件包索引
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

验证安装

bash 复制代码
systemctl status nginx
systemctl status php-fpm  # 注意:版本号可能因 Ubuntu 版本不同(如 php7.4-fpm、php8.2-fpm 等)
systemctl status mysqlnd

先安装zabbix官方yum源

bash 复制代码
rpm -Uvh https://repo.zabbix.com/zabbix/7.2/release/centos/9/noarch/zabbix-release-latest-7.2.el9.noarch.rpm

再安装zabbix相关软件

bash 复制代码
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.数据库配置

数据库基础环境配置

bash 复制代码
systemctl start mysqld  启动服务

mysql -uroot -p  进入数据库
bash 复制代码
mysql_secure_installation

创建zabbix的数据库和用户

bash 复制代码
按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数据库表项

bash 复制代码
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密码

bash 复制代码
mysql -uroot -p
set global log_bin_trust_function_creators = 0; #关闭高权限
quit;

4.nginx配置

配置文件zabbix.conf

bash 复制代码
cd /etc/nginx/conf.d/
vim zabbix.conf

vim /etc/nginx/conf.d/zabbix.conf

打开监听端口不一定设置8080

保存退出

启动nginx服务,并检查

bash 复制代码
systemctl start nginx
netstat -nltp

5.zabbix服务器配置

编辑配置文件

bash 复制代码
vim /etc/zabbix/zabbix_server.conf

把DBPassword参数设置为我们的密码

启动相关服务,有概率报错

bash 复制代码
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相关服务都启动了
访问不了
可能是防火墙没关

bash 复制代码
# 防火墙状态
firewall-cmd --list-all
# 临时关闭防火墙测试
systemctl stop firewalld
# SELinux 状态
getenforce
# 临时禁用 SELinux 测试
setenforce 0

安装中文包

bash 复制代码
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 密钥):

bash 复制代码
sudo apt update
sudo apt install -y wget apt-transport-https

导入 Zabbix 官方 GPG 密钥

bash 复制代码
 wget https://repo.zabbix.com/zabbix-official-repo.key -O- | sudo apt-key add -

添加 Zabbix 官方源,添加源后,更新本地包缓存

bash 复制代码
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

bash 复制代码
sudo apt install -y zabbix-agent

防火墙拦截,在 Agent 主机上开放 10050 端口

bash 复制代码
# 若使用 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地址

bash 复制代码
vim /etc/zabbix/zabbix_agentd.conf

启动agent服务

bash 复制代码
sudo systemctl start zabbix-agent

等一会

8.告警和邮件告警配置

压力测试,触发告警


CPU达80%以上告警

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

bash 复制代码
stress --cpu 4 --timeout 120s

邮箱告警配置

安装发邮件的软件,最新版系统是s-nail,非最新版是mailx

bash 复制代码
yum install s-nail -y 
或
yum install mailx -y 

修改文件权限

bash 复制代码
chmod +w s-nail.rc
vim /etc/s-nail.rc

再最后一行添加以下代码,保存退出

bash 复制代码
set v15-compat
set from="1787xxxxxxxx@163.com"
set mta=smtps://1787xxxxxxxx%40163.com:NPkvdsN5nQ5saKYD@smtp.163.com:465
set smtp-auth=login

测试邮件

bash 复制代码
echo '邮件内容' | mail -s '邮件主题' xxxxx@189.cn
echo 'zabbix测试' | mail -s '测试主题' 2654583xxxx@qq.com

创建媒介类型

配置如下

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

动作媒介配置


用户配置

被监控的服务器进行压力测试

bash 复制代码
stress --cpu 4 --timeout 120s

发送邮箱

收件邮箱

相关推荐
Linux运维技术栈4 小时前
Ubuntu Certbot版本查询失败?Snap安装后报错终极修复指南(通用版)
ubuntu·ssl
HIT_Weston7 小时前
15、【Ubuntu】【VSCode】VSCode 断联问题分析:UID 补充
linux·vscode·ubuntu
碰大点8 小时前
Ubuntu 16.04交叉编译arm-linux-gnueabihf的QT5.6.2
linux·arm开发·qt·ubuntu·arm-linux
AlexMercer101218 小时前
Ubuntu从零开始配置Git
c++·git·ubuntu·gitee
-指短琴长-19 小时前
Docker基础【Ubuntu安装/Windows安装】
windows·ubuntu·docker
超Pro21 小时前
MAC M芯片安装配置VMware+Ubuntu
linux·ubuntu
ssm11221 天前
ubuntu服务器无法识别所有显卡
运维·服务器·ubuntu
ximy13351 天前
AI服务器工作之系统下查看硬件(ubuntu为例)
运维·服务器·ubuntu
至善迎风1 天前
如何让 Ubuntu 服务器在你关机后继续执行命令
linux·服务器·ubuntu·进程