运维工单系统搭建,机房故障线上提交处理:运维工单系统搭建
机房故障如果还靠电话或微信口头传达,很容易出现责任不清、处理超时、记录缺失的问题。
本文面向零基础运维人员,手把手搭建一套轻量运维工单系统,让机房故障从线上提交、自动分派到处理闭环全部有据可查。
适用场景与前期准备
这套方案适合中小团队自建,不依赖商业 SaaS,数据完全留在自己服务器。
你需要准备一台 Linux 服务器(建议 2 核 4G 起步)、一个域名(可选)、以及基本的 SSH 操作能力。
系统采用开源工单框架,数据库使用 MySQL,Web 服务用 Nginx。
先确认服务器环境:
cat /etc/os-release
uname -m
建议使用 Ubuntu 22.04 或 CentOS 7 以上版本。
如果使用宝塔面板,可以直接在软件商店安装 Nginx、MySQL 和 PHP,但本文以命令行方式为主,便于理解每一步。
部署工单系统核心服务
这里以常见的开源工单系统为例,下载并解压到网站目录:
cd /www/wwwroot
git clone https://github.com/example/ticket-system.git
cd ticket-system
cp .env.example .env
编辑 .env 文件,填写数据库连接信息:
DB_HOST=127.0.0.1
DB_DATABASE=ticket
DB_USERNAME=ticket_user
DB_PASSWORD=你的强密码
APP_URL=http://你的域名或IP
创建数据库并授权:
CREATE DATABASE ticket DEFAULT CHARACTER SET utf8mb4;
CREATE USER 'ticket_user'@'localhost' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON ticket.* TO 'ticket_user'@'localhost';
FLUSH PRIVILEGES;
然后执行安装脚本,初始化表结构和默认管理员:
php artisan migrate --seed
如果提示 php 命令不存在,先安装 PHP CLI:apt install php-cli php-mysql 或 yum install php-cli php-mysql。
配置 Nginx 与故障提交通道
为了让机房人员能通过浏览器提交故障,需要配置 Nginx 反向代理,并开启一个简洁的提交页面。
在宝塔面板中,新建站点后修改配置文件,加入以下 location:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/tmp/php-cgi-74.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
保存后重载 Nginx:nginx -t && nginx -s reload。
访问 http://你的域名/admin,使用默认管理员账号登录,进入“工单分类”添加“机房故障”分类,并设置自动分派规则,例如按机房区域分给对应负责人。
机房故障线上提交与处理闭环
工单系统搭好后,机房人员只需打开提交页面,选择“机房故障”,填写机柜编号、故障现象、紧急程度,上传现场照片,点击提交即可。
系统会自动生成工单编号,并通知对应运维人员。
运维人员登录后台,可以看到待处理工单列表,点击“接单”后状态变为“处理中”,处理完成后填写解决说明并关闭工单。
整个过程都有时间戳和操作人记录,方便后续复盘。
关键判断条件:如果故障影响业务可用性,紧急程度应选“高”,系统会触发短信或邮件通知;
普通硬件告警选“中”,按排班处理即可。
避坑与效果验证
常见问题一:提交后页面报 500 错误。
先查看 storage/logs/laravel.log 中的具体报错,多数是目录权限问题,执行 chown -R www:www /www/wwwroot/ticket-system 后重试。
常见问题二:邮件通知不发送。
检查 .env 中的 MAIL_MAILER 配置,如果使用 SMTP,确认端口和授权码正确,并测试 php artisan tinker 中发送邮件。
常见问题三:工单列表不显示新工单。
检查数据库连接是否正常,以及缓存是否未清理,执行 php artisan cache:clear 和 php artisan config:clear。
验证整套流程是否可用:用普通账号提交一条测试工单,确认管理员能收到通知、能接单、能关闭,并且数据库 tickets 表中有完整记录。
如果全部通过,说明运维工单系统搭建成功,机房故障线上提交处理流程可以正式投入使用。
后续可以根据团队规模调整分派规则和通知方式,建议定期备份数据库,避免工单记录丢失。