
Prometheus + Grafana 监控平台


配置文件中包含三个配置块:global,rule_files,scrape_configs

启动
systemctl daemon-reload
systemctl enable prometheus.service --now
ss -tlnp | grep :9090
LISTEN 0 128 *:9090 *:* users:(("prometheus",pid=3331,fd=6))
访问 http://192.168.88.1:9090
cd /usr/local/grafana-12.2.1/bin
./grafana-server web
学习
远程传输的scp命令:
scp -r "F:\Study\资料\项目内容\前端打包文件\dist" root@8.155.170.220:/var/www/
scp "F:\Study\资料\项目内容\jdk\openjdk-11.0.0.2_linux-x64.tar.gz" root@47.121.188.153:/export/software/
scp "F:\Study\资料\项目内容\后端打包文件\后端打包文件\zzyl-admin.jar" root@47.121.188.153:/opt/zzyl/backend
基础知识-工单-网络-os-
工单系统:记录,分配,处理工作请求,问题报告,变更申请
工单系统基本流程:提交工单->自动分配->处理反馈->验证关闭
网络通信三要素:
网络通信:不同设备间通过网络链接进行数据传输和交换的过程
协议:定义数据在网络中传输时的规则和格式,常见协议TCP/IP,UDP,HTTPS
IP:唯一标识网络中的每台设备:IPV4,IPV6:
端口:区分同一台设备中的不同程序或者服务,在计算机网络中,一个IP地址可以对应多个服务,每个服务通过不同的端口进行通信,
常见的操作系统

云服务器
云服务器:云主机或者弹性计算服务,是基于云计算技术提供的一种虚拟化服务器,将N多服务器计算机资源
常见的云服务器:aws,阿里云,腾讯云,华为云
linux目录结构



项目
项目部署架构

节点规划:

节点环境初始化:保证三台服务器在同一个可用区中
重新设置主机名:
第一个节点:hostnamectl set-hostname node1.itcast.cn
第二个节点:hostnamectl set-hostname node2.itcast.cn
第三个节点:hostnamectl set-hostname node3.itcast.cn
配置MYSQL服务节点
https://m6on85cty5.feishu.cn/docx/Bp2kdHlWAoFPFfxTQnIcoPSWnr9?from=from_copylink
之后下载MYSQL,配置第一个节点,启动MYSQL的命令如下:
systemctl start mysqld
systemctl enable mysqld
systemctl status mysqld
- 获取MySQL初始root密码 安装 MySQL 后,会生成一个随机的 root 密码, 可以通过MySQL的启动日志来查看
日志放置位置: /var/log/mysqld.log
grep password /var/log/mysqld.log
- 登录MySQL, 设置MySQL安全相关配置
mysql_secure_installation


密码Aa123456@
-设置远程访问的权限信息:
-- 配置远程连接访问的root用户密码【直接执行即可,暂时不需要关心】:
CREATE USER 'root'@'%' IDENTIFIED BY 'Aa123456@';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
执行完成后,可以直接quit退出或者使用ctrl +D 即可退出
- 开放防火墙服务/端口号
-
- 云平台服务器本身就是关闭防火墙的, 无需开放, 如果需要对外网访问, 可以在阿里云安全组配置
- 为什么云服务器默认关闭防火墙?
为了方便用户直接访问服务器上的服务,避免因为拦截规则导致服务已启动但是外部连接不上的问题
但是这样不就导致了可能有大量的攻击到服务器,服务器也能响应嘛?
安全组是云平台的第一道防火墙,所有公网流量都会经过安全组筛选,配置时遵循最小授权原则:
只开放需要的端口,限制访问来源
防火墙设置:
# 开放 3306 端口(TCP协议),并设置为永久生效
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重新加载防火墙规则,使配置生效
firewall-cmd --reload
# 验证规则是否生效(输出 yes 表示已开放)
firewall-cmd --zone=public --query-port=3306/tcp
项目基础数据导入
将项目的SQL脚本上传到服务器中: /opt/zzyl/sql
将SQL文件导入mysql -uroot -pAa123456@ <ry-zzyl.sql
redis服务器部署
https://m6on85cty5.feishu.cn/docx/ASWLdXucToOkAbxZfjLcoxtGnje
阿里云对象储存空间-OSS+项目接入阿里云OSS
更改后端jar包中的📎application-prod.yml文件,将其accessKey改成阿里云中更新的Key
开通百度千帆模型大授权

部署nginx服务节点

https://m6on85cty5.feishu.cn/docx/ZdoFd3WSdoAZOZxQ2T0cLDPRn6f
nginx目录结构介绍
- /etc/nginx/ 目录 【重要】 这是 Nginx 的 主配置目录,存放所有与 Nginx 配置相关的文件。主要包括:
nginx.conf:
Nginx 的主配置文件。这里配置了全局设置、HTTP 服务设置、加载的模块等。
conf.d/:
存放额外配置文件的目录,通常用于配置虚拟主机等。你可以在这里添加 .conf 文件来定义多个站点的配置。
mime.types:
定义了不同文件类型(MIME类型)与扩展名之间的映射,通常 Nginx 会根据这个文件来判断文件的类型。
- /var/www/目录 【重要】
默认情况下,Nginx 的网站文件(例如 HTML、图片等)通常存放在这个目录下
/var/www/html/:这是 Nginx 默认的根目录。你放置的静态文件会从这个目录提供给客户端。默认情况下,index.html 会作为首页展示
- /usr/share/nginx/目录
这个目录通常包含与 Nginx 程序相关的文件
/usr/share/nginx/html/ :
Nginx 默认的网页目录,通常安装时会有一个默认的 index.html 文件,用来验证 Nginx 是否成功安装。
- /var/log/nginx/目录 【重要】
Nginx 会把日志文件存放在这个目录下。日志文件帮助你监控 Nginx 的运行情况,排查问题
access.log:记录所有的客户端请求,包括请求的 URL、响应状态码、请求来源等。
error.log:记录 Nginx 在运行时遇到的错误信息、警告等。
前端服务部署
编辑主配置文件:vim /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
# 在HTTP的目录下, 添加以下三个add_header CORS 配置
# 这几行配置用于设置 跨域资源共享(CORS),它们在 Nginx 中用来允许其他域名访问你的资源。CORS 是一种机制,允许通过浏览器发起跨域 HTTP 请求,常用于 Web 应用与不同域名的 API 交互时,解决浏览器的同源策略限制。
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE";
add_header Access-Control-Allow-Headers "Origin, X-Requested-With, Content-Type, Accept, Authorization";
server {
listen 80;
listen [::]:80;
# 这些配置项与 Nginx 处理客户端请求的请求体大小、请求头缓冲区等相关,主要用于控制 Nginx 在处理上传文件、请求体内容和请求头时的行为
client_max_body_size 60m; # 限制客户端请求体的最大大小。
client_body_buffer_size 512k; # 设置 Nginx 用于缓冲客户端请求体的内存大小。
client_header_buffer_size 2k; # 设置 Nginx 用于缓冲请求头的内存大小。
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
# 处理 静态页面
location / {
root /var/www/dist;
index index.html index.htm;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
try_files $uri $uri/ /index.html;
}
# 处理反向代理
location /prod-api/ {
proxy_pass http://node2 IP私网地址:9000/;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
}
}
vim中删除全部行得命令有:
-----ggdG:gg → 跳到文件开头
dG → 从当前行删除到文件末尾
-----:%d
nginx -s reload
智能客服私有化大模型部署

安装GPU驱动:
第一步: 验证服务器是否安装显卡驱动:lspci | grep -i nvidia
运行以下命令验证驱动是否正确加载:nvidia-smi
找到对应版本:https://developer.nvidia.com/cuda-downloads
wget https://developer.download.nvidia.com/compute/cuda/13.0.2/local_installers/cuda_13.0.2_580.95.05_linux.run
sudo sh cuda_13.0.2_580.95.05_linux.run
- 准备依赖
sudo yum install -y epel-release
sudo yum install -y gcc make kernel-devel kernel-headers dkms
- 下载 CUDA 11.8
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
- 停止图形界面(如果是图形环境)
sudo systemctl isolate multi-user.target
- 运行安装包
sudo sh cuda_11.8.0_520.61.05_linux.run
安装时建议:
- 安装 Driver + Toolkit
- 同意许可协议
- 允许 DKMS 安装
- 配置环境变量
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
- 验证安装
nvidia-smi # 查看显卡和驱动信息
nvcc -V # 查看
因为这个模型基于Python进行开发,所以需要下载anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2024.10-1-Linux-x86_64.sh
启动anaconda:
![]()

运维监控告警

cpu负载过高的情况:
top和htop命令去查看当前的资源负载情况
排查原因

内存爆满
内存爆满,直接云监控去查看当前内存使用情况
使用top或者htop命令查看内存使用情况
还有磁盘网络IO出现的异常的情况

ECS服务器巡检报告


云服务器监控可视化大屏
803

被折叠的 条评论
为什么被折叠?



