1. 概述编辑
1.1 版本说明
运维平台版本 | 功能变动 |
---|---|
V1.5.5 | - |
V1.5.6 | 运维平台瘦身,取消内置和安装部分冗余运维组件镜像:loki、promtail、sherlock、nacos-server、skywalking_ui |
V1.5.7 | elasticsearch、skywalking_oap组件安装后默认启动 |
V1.11.0 | 新增浏览器版本检测提醒 |
V1.12.0 | 部署成功提示工程地址,方便用户访问 |
1.2 应用场景
FineOps运维平台是帆软软件推出的,为企业提供帆软应用稳定运行和全方位运维管理的解决方案。
帮助用户解决,管理帆软应用(FineReport、FineBI)的过程遇到一些痛点和挑战,详情请参见:运维平台简介
1.3 功能简介
本文介绍,如何部署FineOps运维平台。
本文主要提供给服务器资源较为紧张的客户,如能提供全新服务器用于部署,可参考:快速入门
2. 准备部署环境编辑
2.1 确认服务器配置条件
部署运维平台的服务器应当满足下表条件:
配置 | 要求 |
---|---|
服务器数量 | 建议运维平台独占一台服务器,即部署运维平台的服务器上不部署其他工程或内容,此时可以确保运维的独立性 如不能提供独立服务器,请至少确保该服务器中,空闲物理内存超过32G |
系统版本 | CentOS 7.3~7.9 版本 Ubuntu 18.04.4 及以上版本 redhat 7.6 及以上版本 |
系统内核 | 3.10及以上 最低4核 |
系统架构 | 仅支持 X86_64 |
剩余空闲磁盘 | 1)服务器中存在一个分区剩余可用空间大于 200G ,最低 100G 2)如对接的运维项目较多,请根据需要对接的项目(FR/BI/FDL)数量准备磁盘,服务器中存在一个分区剩余可用空间≥项目数量*50G 注:可使用命令「df -h」查询磁盘空间,必须要有任一分区满足条件,不可将分区容量加和 |
剩余空闲物理内存 | 如运维平台可独占一台服务器,建议剩余空闲物理内存16G以上,最低12G 如不能提供独立服务器,请确保该服务器中,剩余空闲物理内存超过32G |
网络要求 | 后续需要使用FineOps运维平台对接帆软应用(FineReport/FineBI/FineDataLink) 请确保FineOps运维平台所在服务器、帆软应用所在服务器、外接数据库所在服务器、集群组件所在服务器,网络环境内网互通 |
之所以需要上表的配置环境,是因为FineOps运维平台由很多组件构成。每个组件对应的功能和配置如下表所示:
注:下表列出的为组件正常运行的最低配置要求。推荐配置一般为最低配置的两倍,请根据服务器实际情况自行调整。
类型 | 组件 | 组件说明 | CPU使用上限 | 内存使用上限 | 内存配置xmx |
---|---|---|---|---|---|
运维平台相关 | ops | 作用:运维平台容器,对其他容器进行运维 影响:必须启用该组件 | 2Core | - | - |
ops-agent | 作用:每个运维平台配套一个ops_agent,与物理节点绑定,用于管理组件,容器化升级也是由该组件完成 影响:必须启用该组件 | 1Core | - | 1G | |
nginx | 作用:nginx服务的容器,提供负载转发服务,所有服务的入口、使用都从这个入口访问 影响:必须启用该组件 | 1Core | - | - | |
监控告警 | grafana | 作用:用于展示监控仪表板 影响:如不启用该组件,「监控与告警」功能中的仪表板无法查看 | 1Core | 1G | - |
prometheus | 作用:收集exporter的数据,提供给监控仪表板 影响:如不启用该组件,「监控与告警」功能中的仪表板无数据,「监控与告警」功能中的告警规则无法使用 | 1Core | 1G | - | |
alertmanager | 作用:告警容器,用于告警规则,修改、触发等 影响:如不启用该组件,「监控与告警」功能中的告警功能无法使用 | 1Core | 1G | - | |
链路追踪 | elasticsearch | 作用:对运维项目中FineReport、FineBI、外接数据库、业务库和其他外置组件的请求进行采集 影响:如不启用该组件,「链路追踪」功能无法使用 | 1Core | - | 2G |
skywalking_oap | 作用:链路追踪的数据上报和分析整理服务端 影响:如不启用该组件,「链路追踪」功能无法使用 | 1Core | - | 2G | |
指标收集 | node_exporter | 作用:服务器物理节点的exporter,收集物理服务器的各种指标信息,运维平台所在节点安装一个node_exporter 影响:如不启用该组件,「监控与告警」功能中的仪表板无数据 | 0.1Core | 0.1G | - |
nginx_exporter | 作用:nginx服务的exporter,收集nginx的指标信息 影响:如不启用该组件,「监控与告警」功能中的仪表板无数据 | 0.1Core | 0.1G | 0.1G | |
elasticsearch_exporter | 作用:elasticSearch的exporter,收集elasticSearch的指标 影响:如不启用该组件,「监控与告警」功能中的仪表板无数据 | 0.1Core | 0.1G | - | |
registry | 作用:存放docker镜像的仓库 影响:若用户自有仓库,无需启用该组件;若用户无镜像仓库,可启用该组件,作为「镜像管理」的仓库 | 1Core | - | - |
2.2 确认服务器端口可用性
请确认服务器中,FineOps运维平台组件的默认端口是否可用。
请确认默认的映射端口端口是否已被使用,如已被使用,请安排好其他空闲端口,并在3.4节步骤中修改yaml文件。
nginx的映射端口将作为FineOps运维平台访问端口,因此请确认准备使用的nginx映射端口是否开放了防火墙、安全组等,确保可连接。
注1:端口portMapping为{映射端口:容器内端口} ,其中映射端口可改,容器内端口修改无效。
注2:检查端口是否被占用的命令:lsof -i:端口
组件 | 安装默认配置 |
---|---|
ops | 端口:8081 |
ops-agent | 端口:9070 |
nginx | root用户:80 非root用户:8090 |
grafana | 端口:3000 |
prometheus | 端口:9090 |
alertmanager | 端口:9093 |
elasticsearch | 端口:9200 用户:elastic(不支持修改) 密码:elasticadmin |
skywalking_oap | 端口:11800、12800 |
node_exporter | 端口:9100 |
nginx_exporter | 端口:9113 |
elasticsearch_exporter | 端口:9114 |
registry | 端口:5000 |
2.3 确认docker状态
若服务器中未安装docker,请直接跳过本节内容,安装包中自带docker。
若服务器中已安装docker,请确认docker版本和运行状态。部署时会将 Dockerfile和镜像资源放到已有的docker环境下(不会影响已有的其他容器)。
1)确认docker版本:
执行命令:docker version
若安装了docker,则会返回版本。请确保版本在20.10.9及以上。
2)确认docker运行:
执行命令:systemctl status docker
确认docker是running状态
2.4 确认用户权限
推荐使用root用户上传、解压、运行FineKey容器化部署工具。
如需使用非root用户上传解压FineKey容器化部署工具,至少需要拥有目标文件夹上传权限,有执行tar命令的权限
如需使用非root用户运行FineKey容器化部署工具,至少需要拥有执行以下命令的权限:cp、groupadd、gpasswd、systemctl、kill、sysctl
可使用visudo命令修改用户的sudo权限(dev修改为非root用户的)
root ALL=(ALL) ALL
dev ALL=(root)NOPASSWD: /bin/dockerd,/bin/mkdir,/bin/grep,/bin/sh,/usr/bin/wget,/usr/bin/tar,/bin/rm,/bin/ls,/bin/cd,/bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl,/usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown,/usr/bin/echo,/usr/bin/sed
3. 准备FineKey工具编辑
3.1 获取FineKey安装包
点击可跳转至下载页下载安装包:FineOps运维平台下载
有三种类型的安装包,用户可根据服务器环境和自身诉求自行选择:
安装包类型 | 说明 |
---|---|
在线版安装包 | 1)服务器可访问外网,支持下载运维组件镜像,安装包体积小 2)支持从云端下载FineReport/ FineBI项目组件镜像,可通过FineOps可视化部署工程 3)可对接已有FineReport/ FineBI工程 |
纯净版离线安装包 | 1)服务器为内网,内置全部运维组件镜像,安装包体积大 2)未内置FineReport/ FineBI项目组件镜像,无法通过FineOps可视化部署工程 3)用于对接已有FineReport/ FineBI工程 |
全量版离线安装包 | 1)服务器为内网,内置全部运维组件镜像,安装包体积大 2)内置FineReport/ FineBI项目组件镜像,可通过FineOps可视化部署工程 3)可对接已有FineReport/ FineBI工程 |
注:如希望使用在线版安装包,且只希望开放指定外网网址,请确保镜像仓库所在服务器支持访问以下外网地址:
(运维平台自带的镜像仓库与运维平台在同一服务器下)
功能 | 网址 |
---|---|
获取镜像/更新运维平台/更新项目组件 | 域名:registry.cn-hangzhou.aliyuncs.com,端口:443 |
获取更新信息 | 四选一,有一个能联通即可: https://cloud.fanruan.com/config |
3.2 上传FineKey安装包
获得工具包后,需要将它上传到 Linux,上传文件的方法请自行查阅相关资料。
本文示例是将工具包上传到了 CentOS 7.6.1810 的 /home 路径下,如下图所示:
3.3 解压FineKey安装包
1)先使用 cd 命令进入工具包所在文件夹下。
2)根据下载的安装包类型,键入命令进行解压:
安装包类型 | 解压语句 |
---|---|
在线版安装包 | tar -xvf finekey-operation-online.tar |
纯净版离线安装包 | tar zxvf finekey-operation-lite.tar.gz |
全量版离线安装包 | tar zxvf finekey-operation-all.tar.gz |
解压后的文件如下表所示:
文件夹/文件 | 文件说明 | |
---|---|---|
finekey/bin | 运行finekey的可执行文件 | |
finekey/conf | finekey.yaml | 新部署运维平台配置文件 |
finekey.push.yaml | 拉取镜像配置文件 | |
finekey/resources | 资源文件,镜像包放在其中images文件夹中 |
3.4 配置finekey.yaml文件
yaml文件指的是工具解压目录下conf文件夹里的finekey.yaml,该文件是控制后面整个自动部署流程的。
如无个性化或特殊的部署需求,用户可不对yaml文件做任何配置,可以直接在当前宿主机本地部署。
如需更改运维平台相关配置、组件占用端口等,可以打开yaml文件自行配置,yaml文件的配置需要在启动FineKey之前完成。
1)文件内容说明
配置 | 配置项 | 说明 |
---|---|---|
基础配置 | nodes | 值为部署的FineOps运维平台相关配置 包括:ip,port,user,password 如果ssh方式为密钥,则将password配置注释,新增keypath: 密钥绝对路径/密钥文件 |
dataRootPath | 根挂载目录 请确保挂载目录所在分区,磁盘空闲空间≥100G 默认安装目录为~/data,即安装用户所在data目录 | |
repo | 1)全新安装一个registry镜像仓库,可指定仓库端口,默认5000 2)如已有镜像仓库,可输入指定仓库的url、username、password、ssl | |
online | 是否在线安装: false:离线安装 true:在线安装 不建议修改该配置项,该配置项与下载的安装包类型有关,详情请参见3.1节 | |
组件配置 | - | components下,配置的是2.1节列举的待安装的组件 每个组件都可以自定义端口,参数为:portMapping: {访问用的端口: 镜像中固定的端口 } 安装的组件和默认端口如2.2节,请排查端口是否可用,是否开放,并按需修改yaml文件中的端口。 |
2)文件示例
node:
ip: localhost #机器ip
port: 22 #机器ssh端口
user: #节点ssh用户
password: #节点ssh密码
dataRootPath: ~/data
repo:
port: 5000 #待安装的registry仓库端口
#指定已有repo
url: #已有repo的url
username: #已有repo的用户名
password: #已有repo的密码
ssl: true #已有repo是否安全仓库
online: false #在线安装
#组件端口配置
#components:
# nginx:
# portMapping: {80: 8080}
#
# ops:
# portMapping: {8081: 8080}
#
# ops_agent:
# portMapping: {9070: 9070}
#
# grafana:
# portMapping: {3000: 3000}
#
# prometheus:
# portMapping: {9090: 9090}
#
# alertmanager:
# portMapping: {9093: 9093}
#
# nginx_exporter:
# portMapping: {9113: 9113}
#
# skywalking_oap:
# portMapping: {11800: 11800, 12800: 12800}
#
# elasticsearch:
# portMapping: {9200: 9200}
# password: elasticadmin
#
# elasticsearch_exporter:
# portMapping: {9114: 9114}
4. 部署操作编辑
4.1 启动部署
1)使用 cd 命令进入工具解压目录下 bin 文件夹
2)键入如下命令执行自动化部署:
./finekey
注:请严格按照文档所述命令执行,不要自行变更为sudo ./finekey之类的命令。否则可能导致部署失败。
3)整个部署过程需要花费一段时间,请耐心等待,如果部署过程中出现报错,请参考 容器化部署常见问题 ,查看有无对应的解决方案。
4.2 完成部署
当出现 deployment success!bye~ 提示时,表示已经成功部署。
在该行提示中,会展示运维平台的工程地址,可复制,用于下一步访问。如下图所示:
注:地址中的端口,是部署时设置的Nginx组件占用的端口。
若为root用户部署,默认端口为80,运维平台访问地址中可以省略端口,直接用IP访问,访问地址为http://ip/ops/decision
若为非root用户部署,默认端口为8090,访问地址为http://ip:8090/ops/decision
若finekey.yaml文件中,手动修改了Nginx端口,访问地址为http://ip:Nginx端口/ops/decision
4.3 访问工程
部署完成后,服务会自动启动,此时可以在浏览器地址栏输入上一步获取的工程地址,访问FineOps运维平台。
1)选择浏览器
请使用以下版本的浏览器访问运维平台,否则可能导致界面展示异常。
浏览器类型 | 推荐版本 |
---|---|
Chrome | 88以上版本 |
Edge | 88以上版本 |
Safari | 14以上版本 |
Firefox | 78以上版本 |
IE | 不推荐 |
如使用不符合版本要求的浏览器进行访问,部分界面会出现弹窗提醒「检测到当前浏览器版本过低,可能导致部分组件显示异常,建议升级浏览器版本」。
2)访问工程
在浏览器地址栏输入上一节获取的工程地址,访问FineOps运维平台。
例如本文示例,浏览器地址栏键入:http://IP/ops/decision,即可访问运维平台,如下图所示: