Ubuntu 24.04部署Zabbix 7.0 Server与钉钉告警配置
•软件实施
Ubuntu 24.04部署Zabbix 7.0 Server与钉钉告警配置
Zabbix是一款开源的企业级监控系统,广泛应用于服务器、网络设备和应用监控。本文将详细介绍在Ubuntu 24.04上部署Zabbix 7.0的完整流程。
环境准备
1. 系统要求
硬件配置
- CPU:2核及以上
- 内存:4GB及以上
- 硬盘:20GB及以上
软件环境
- 操作系统:Ubuntu 24.04 LTS
- 数据库:MySQL 8.0 或 PostgreSQL 14+
- Web服务器:Apache或Nginx
- PHP:8.0+
2. 系统更新
# 更新系统软件包
sudo apt update && sudo apt upgrade -y
# 安装常用工具
sudo apt install -y vim wget curl net-tools
安装Zabbix 7.0
1. 添加Zabbix仓库
# 下载Zabbix仓库配置包
wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-2+ubuntu24.04_all.deb
# 安装仓库配置
sudo dpkg -i zabbix-release_7.0-2+ubuntu24.04_all.deb
# 更新软件包列表
sudo apt update
2. 安装Zabbix Server与前端
# 安装Zabbix Server、前端和Agent
sudo apt install -y zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
3. 安装配置MySQL数据库
# 安装MySQL 8.0
sudo apt install -y mysql-server
# 启动并设置开机自启
sudo systemctl start mysql
sudo systemctl enable mysql
# 安全配置
sudo mysql_secure_installation
4. 创建Zabbix数据库
# 登录MySQL
sudo mysql -u root -p
# 执行以下SQL命令
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
5. 导入初始数据
# 导入Zabbix初始数据库结构
sudo zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
配置Zabbix Server
1. 配置数据库连接
# 编辑Zabbix Server配置文件
sudo vim /etc/zabbix/zabbix_server.conf
修改以下配置:
# 数据库密码
DBPassword=your_strong_password
# 时区(可选)
TimeZone=Asia/Shanghai
2. 配置Nginx与PHP
# 编辑Nginx配置
sudo vim /etc/zabbix/nginx.conf
修改监听配置:
listen 80;
listen [::]:80;
server_name your_zabbix_domain.com; # 修改为你的域名或IP
# 编辑PHP配置
sudo vim /etc/zabbix/php-fpm.conf
修改时区设置:
php_value[date.timezone] = Asia/Shanghai
3. 启动服务
# 启动Zabbix Server和Agent
sudo systemctl restart zabbix-server zabbix-agent nginx php8.3-fpm
# 设置开机自启
sudo systemctl enable zabbix-server zabbix-agent nginx php8.3-fpm
# 检查服务状态
sudo systemctl status zabbix-server zabbix-agent
Web界面安装
1. 访问Zabbix安装向导
在浏览器中访问:http://your_server_ip/zabbix
2. 完成安装步骤
步骤1:欢迎界面
- 点击"Next step"
步骤2:环境检查
- 确认所有检查项都通过
- 点击"Next step"
步骤3:数据库配置
- Database type:MySQL
- Database host:localhost
- Database port:3306
- Database name:zabbix
- User:zabbix
- Password:your_strong_password
- 点击"Next step"
步骤4:Zabbix Server配置
- Name:输入你的Zabbix名称(如:My Monitor)
- 点击"Next step"
步骤5:配置预览
- 检查配置无误
- 点击"Next step"
步骤6:安装完成
- 点击"Finish"
3. 登录Zabbix
- 默认用户名:Admin
- 默认密码:zabbix
- 首次登录后请立即修改密码!
配置监控主机
1. 添加监控主机
操作步骤:
- 进入:Configuration → Hosts
- 点击:Create host
- 填写主机信息:
- Host name:主机名称
- Templates:选择模板(如:Linux by Zabbix agent)
- Host groups:选择主机组(如:Linux servers)
- Interfaces:添加Agent接口
- Type:Agent
- IP address:主机IP
- Port:10050
- 点击:Add
2. 配置Agent(在被监控主机上)
# 在被监控主机上安装Zabbix Agent
sudo apt install -y zabbix-agent
# 编辑配置文件
sudo vim /etc/zabbix/zabbix_agentd.conf
修改以下配置:
# Zabbix Server地址
Server=your_zabbix_server_ip
# 主动检查时的Server地址
ServerActive=your_zabbix_server_ip
# 主机名
Hostname=your_host_name
# 重启Agent
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent
配置钉钉告警
1. 创建钉钉机器人
操作步骤:
- 打开钉钉,进入群聊
- 点击群设置 → 智能群助手
- 点击"添加机器人"
- 选择"自定义"
- 填写机器人信息:
- 机器人名字:Zabbix告警
- 添加方式:通过webhook接入
- 设置安全设置(选择"自定义关键词"):
- 添加关键词:"告警"
- 复制Webhook地址,保存好
2. 创建告警脚本
# 创建告警脚本目录
sudo mkdir -p /usr/lib/zabbix/alertscripts
# 创建钉钉告警脚本
sudo vim /usr/lib/zabbix/alertscripts/dingtalk.sh
添加以下内容:
#!/bin/bash
# 钉钉告警脚本
# 钉钉Webhook地址
WEBHOOK_URL="https://oapi.dingtalk.com/robot/send?access_token=your_access_token_here"
# 消息内容
MESSAGE="$1"
# 发送钉钉消息
curl -s -X POST "${WEBHOOK_URL}" \
-H 'Content-Type: application/json' \
-d "{
\"msgtype\": \"text\",
\"text\": {
\"content\": \"告警\n${MESSAGE}\"
},
\"at\": {
\"isAtAll\": false
}
}"
exit 0
# 添加执行权限
sudo chmod +x /usr/lib/zabbix/alertscripts/dingtalk.sh
# 测试脚本
sudo /usr/lib/zabbix/alertscripts/dingtalk.sh "这是一条测试告警消息"
3. 配置Zabbix告警媒介
操作步骤:
- 进入:Administration → Media types
- 点击:Create media type
- 填写信息:
- Name:DingTalk
- Type:Script
- Script name:dingtalk.sh
- 点击:Add
- 在"Parameters"标签页点击"Add":
- 第一个参数:
{ALERT.MESSAGE}
- 第一个参数:
- 点击:Update
4. 配置用户告警接收
操作步骤:
- 进入:Administration → Users
- 点击Admin用户
- 切换到"Media"标签页
- 点击:Add
- 配置:
- Type:选择"DingTalk"
- Send to:任意(脚本不需要)
- When active:
1-7,00:00-24:00(全天候) - Use if severity:勾选所有级别
- 点击:Add
5. 配置触发器动作
操作步骤:
- 进入:Configuration → Actions
- 点击:Create action
- 在"Action"标签页:
- Name:钉钉告警通知
- Event source:Triggers
- 在"Operations"标签页:
- 点击"New operation"
- Operation type:Send message
- Send to user groups:选择用户组
- Send to users:选择用户
- Send only to:选择"DingTalk"
- 点击:Add
高级配置
1. 配置邮件告警(可选)
# 安装邮件发送工具
sudo apt install -y mailutils postfix
2. 优化数据库性能
# 编辑MySQL配置
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
添加以下优化配置:
[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
query_cache_size = 128M
3. 配置HTTPS(推荐)
# 安装Certbot
sudo apt install -y certbot python3-certbot-nginx
# 获取SSL证书
sudo certbot --nginx -d your_zabbix_domain.com
# 自动续期
sudo certbot renew --dry-run
常见问题排查
问题1:Zabbix Server无法启动
# 查看日志
sudo tail -f /var/log/zabbix/zabbix_server.log
# 检查端口
sudo netstat -tlnp | grep 10051
问题2:Agent无法连接
# 检查防火墙
sudo ufw status
# 开放Zabbix端口
sudo ufw allow 10050/tcp
sudo ufw allow 10051/tcp
问题3:钉钉消息未发送
# 检查脚本权限
ls -la /usr/lib/zabbix/alertscripts/
# 查看Zabbix日志
sudo tail -f /var/log/zabbix/zabbix_server.log
备份与恢复
1. 定期备份数据库
# 创建备份脚本
sudo vim /usr/local/bin/zabbix_backup.sh
#!/bin/bash
BACKUP_DIR="/backup/zabbix"
DATE=$(date +%Y%m%d_%H%M%S)
mkdir -p $BACKUP_DIR
# 备份数据库
mysqldump -uzabbix -p'your_strong_password' zabbix | gzip > $BACKUP_DIR/zabbix_$DATE.sql.gz
# 保留最近7天的备份
find $BACKUP_DIR -name "zabbix_*.sql.gz" -mtime +7 -delete
# 添加执行权限
sudo chmod +x /usr/local/bin/zabbix_backup.sh
# 添加到crontab
sudo crontab -e
添加定时任务:
0 2 * * * /usr/local/bin/zabbix_backup.sh
总结
通过本文的步骤,你已经成功在Ubuntu 24.04上部署了Zabbix 7.0监控系统,并配置了钉钉告警通知。接下来可以根据实际需求添加更多监控主机、配置自定义触发器和监控项,逐步完善你的监控体系。