Skip to content

OctoMation运维手册

wzdev edited this page Nov 3, 2023 · 42 revisions

容器说明

OctoMation使用容器方式部署运行,每个服务组件对应一个容器。 容器名(服务名)列表:

  • shakespeare-static
  • shakespeare-action
  • shakespeare-rule-mgmt
  • shakespeare-pre
  • shakespeare-executor
  • shakespeare-mgmt
  • shakespeare-zookeeper
  • shakespeare-kafka
  • shakespeare-es
  • shakespeare-mariadb
  • shakespeare-java-exe-python

容器管理

查看容器镜像:

docker images

查看当前所有运行的容器:

docker ps

查看某个容器:

docker ps | grep 容器名

进入容器

docker exec -it 容器名 /bin/bash

服务启停

停止所有服务

docker-compose -f /opt/shakespeare/docker-compose.yml down
docker-compose -f /opt/honeyguide_docker_python/docker-compose.yml down

启动所有服务

docker-compose -f /opt/shakespeare/docker-compose.yml up -d
docker-compose -f /opt/honeyguide_docker_python/docker-compose.yml up -d

启停单个服务

docker-compose -f /opt/shakespeare/docker-compose.yml  stop 容器名
docker-compose -f /opt/shakespeare/docker-compose.yml  start 容器名

日志管理

OctoMation服务日志保存在以下路径

/opt/shakespeare/logs

日志保留时间和大小设置

修改/opt/shakespeare/app.sh文件可进行日志保留参数配置。

1)修改基础服务日志保留天数

#add log save time
export BIN_LOG_SAVE_TIME="1"
#KAFKA_SAVE_TIME是用来存 elasticsearch的日志保留天数的值
export KAFKA_SAVE_TIME="3"
#KAFKA_SAVE_HOUR是用来存kafka zookeeper的日志保留小时数
export KAFKA_SAVE_HOUR="72"
# NGINX_SAVE_TIME用来存nginx和shakespeare的日志保留天数的值
export NGINX_SAVE_TIME="3"
#add log save time end

2)修改服务日志保留天数和大小

##log config begin###
export LOG_MAX_HISTORY=3
export LOG_MAX_FILE_SIZE=100MB
export TOTAL_SIZE_CAP="10GB"
##log config end###

修改完成后,需重启所有服务生效。

容器运行日志查看

docker logs -f  容器名
docker logs -f --tail="100" 容器名                   //只显示最后100行

健康性检查

查看组件运行情况

进入Web管理页面,点击“系统配置——系统状态”,可查看当前各个组件的运行情况:

image

JVM大小调整

为提升系统性能,可根据服务器物理内存大小调整OctoMation各个服务的JVM大小。

以下以调整服务的JVM大小为例

1、修改docker-compose文件(python相关服务的docker-compose文件在/opt/honeyguide_docker_data目录下)

vi /opt/shakespeare/docker-compose.yml

1)记录mgmt服务JVM启动参数修改的变量:S9E_MGMT_JAVA_OPTS

2)根据需求修改mgmt容器的内存限制大小为: 4096M(这个值需要比jvm参数要大一个量级)

image

2、修改mgmt服务JVM的启动参数

1)编辑环境变量app.sh文件,并增加以下环境变量

vi /etc/profile.d/app.sh

##这个变量为上一步从compose文件获取到的,注意加引号

export S9E_MGMT_JAVA_OPTS="-Xms2048m -Xmx2048m -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M"

2)source 环境变量

source /etc/profile.d/app.sh

3)停止mgmt容器

docker-compose -f /opt/shakespeare/docker-compose.yml stop shakespeare-mgmt

4)查看mgmt容器id,并删除

docker ps -a|grep shakespeare-mgmt
docker rm -f dbdeffa99c97

5)启动mgmt容器

docker-compose -f /opt/shakespeare/docker-compose.yml up -d shakespeare-mgmt

6)验证是否生效

docker exec -it shakespeare-mgmt /bin/bash
ps -ef|grep mgmt

image

image

审计日志查看

进入Web管理页面,点击“系统配置——审计日志”,可查看当前系统审计日志,如用户登入登出、配置修改等。 image

OctoMation服务卸载

sh /opt/shakespeare/uninstall.sh

OctoMation默认开放端口说明

协议 端口 监听 用途 备注
TCP 80 0.0.0.0 HTTP访问,自动跳转到HTTPS
TCP 443 0.0.0.0 HTTPS访问
TCP 22 0.0.0.0 SSH访问
TCP 9092 0.0.0.0 kafka方式接入事件
UDP 31514 0.0.0.0 syslog方式接入事件

典型故障与解决方案

重置admin密码

一共分两步。

首先,进入mgmt容器拿运行环境密码:

docker exec -it shakespeare-mgmt /bin/bash
source /etc/profile
v1=$SHAKESPEARE_AE_DB_VP
v2=$SHAKESPEARE_AE_DB_VU
v11=`echo -n $v1 |base64`
echo $v1
# ******
echo $v2
# xxxxxx
echo $v11
# ~~~~~~

exit退出mgmt容器,进入mysql容器,重置密码

docker exec -it shakespeare-mariadb /bin/bash
# docker exec -it hg_db /bin/bash
# 此处v1\v2\v11填写上一步获取到的返回值!!!
v1="******"
v2="xxxxxx"
v11="~~~~~~"
mysql -hmysql.sp.com -u"${v2}" -p"?^^${v11}1w"  shakespeare_ae -e "update user_info set forbidden=0 ,password_error_times=0,password='dd7978182f4eda08fa1b34012e1bdc17' where username='admin' and etype=0;"

exit退出数据库容器。

使用admin/octomation登录系统,并修改为一个复杂安全的密码。