groundworkdevelopment/groundworkGroundwork Monitor Server 8是之前Groundwork 7 JBoss解决方案的微容器移植版本。通过这种新的微容器部署方式,我们正在简化GMS,目标是实现真正的微服务解决方案。我们已移除JOSSO和JBoss。新项目现托管于GitHub。感谢Randy的努力,我们使用git svn从Subversion保留了所有版本历史,于2018年7月7日从以下地址分叉:
[***]。
要开始使用,请按照以下说明操作...
sh[***]
shcd groundwork mvn clean install
安装Postgres - 推荐版本9.6.9或更高
一次性Postgres设置说明见文末
shcd collage/database mvn -P production -DskipTests=false test
shcd collage/database mvn -P test -DskipTests=false test
存放Groundwork配置属性文件的目录
推荐开发环境值:src/main/config
RRDPerfDataWriter写入perfData的目录,也将用于其他必要输出
推荐开发环境值:/tmp
Maven运行时配置
推荐开发环境值:"-server -Xmx512m -Djava.net.preferIPv4Stack=true"
开发者应将这些变量设为环境变量,或作为命令行参数传入Java
服务器端口号,默认8080
服务器地址,默认localhost
Postgres数据库URL
Postgres数据库用户名
Postgres数据库密码
InfluxDB数据库URL
sh> wget [***] > sudo dnf install influxdb-1.6.0.x86_64.rpm > sudo systemctl enable influxdb.service > sudo systemctl start influxdb.service > sudo systemctl status influxdb.service
shbrew update brew install influxdb # 立即启动influxdb并设置开机自启: brew services start influxdb # 或无需后台服务,直接运行: influxd -config /usr/local/etc/influxdb.conf
sh[***] unzip influxdb-1.6.0_windows_amd64.zip # 注:作为服务启动的方法待补充,建议使用Docker运行
sh> influx Connected to http://localhost:8086 version 1.6.0 InfluxDB shell version: 1.6.0 > create database groundwork > create retention policy groundwork_dev on groundwork duration 1w replication 1 default > show databases name: databases name ---- _internal groundwork > quit
sh> influx Connected to http://localhost:8086 version 1.6.0 InfluxDB shell version: 1.6.0 > use groundwork Using database groundwork > show measurements name: measurements name ---- local_load local_memory > select * from local_load name: local_load time Linux Servers Load Load_cr Load_wn hostname ---- ------------- ---- ------- ------- -------- 1532708415000000000 true 5.5 10 5 localhost 1532708417000000000 true 7.6 10 5 localhost 1532708418000000000 true 4 10 5 localhost 1532708475000000000 true 6.3 10 5 localhost 1532708478000000000 true 0.1 10 5 localhost 1532708480000000000 true 5.7 10 5 localhost > quit
sh> sudo dnf install rrdtool
参考文档:[]
下载镜像:[]
下载稳定版:hbase-1.2.6.1-bin.tar.gz
sh> tar xzvf hbase-1.2.6.1-bin.tar.gz > sed -i -e '/^<configuration>/a\ <property>\ <name>hbase.rootdir</name>\ <value>file://'"${PWD}"'/hbase-data</value>\ </property>\ <property>\ <name>hbase.zookeeper.property.dataDir</name>\ <value>'"${PWD}"'/zookeeper-data</value>\ </property>\ <property>\ <name>hbase.unsafe.stream.capability.enforce</name>\ <value>false</value>\ </property>' hbase-1.2.6.1/conf/hbase-site.xml
shhbase-1.2.6.1/bin/start-hbase.sh
sh> telnet localhost 2181 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. stats
shhbase-1.2.6.1/bin/stop-hbase.sh
参考文档:[]
下载:[]
sh> tar -xvzf opentsdb-2.3.1.tar.gz > cd opentsdb-2.3.1 > mkdir build > cp -r third_party build > build.sh > export HBASE_HOME=${HOME}/installs/hbase/hbase-1.2.6.1 > env COMPRESSION=NONE src/create_table.sh > mkdir cache > cp src/opentsdb.conf . > sed -i -e '/^tsd.network.port =/s/= *$/= 4242/' opentsdb.conf > sed -i -e '/^tsd.http.staticroot =/s/= *$/= build\/staticroot/' opentsdb.conf > sed -i -e '/^tsd.http.cachedir =/s/= *$/= cache/' opentsdb.conf > sed -i -e '/^#tsd.core.auto_create_metrics =/s/^#//;s/false/true/' opentsdb.conf > cat >> opentsdb.conf <<EOF # --------- 测试配置 ---------- # 是否允许在查询时从存储中删除数据点,默认false tsd.http.query.allow_delete = true # 是否启用HTTP RPC的传入分块支持,默认false tsd.http.request.enable_chunked = true # 启用分块时支持的最大请求体大小,默认4096 tsd.http.request.max_chunk = *** EOF > mkdir logs > sed -i -e '/<file>/s/\/var\/log\/opentsdb/logs/' src/logback.xml
sh> opentsdb-2.3.1/build/tsdb tsd
shcd collage mvn test -DskipTests=false cd collagefeeder mvn test -DskipTests=false cd collagenet mvn test -DskipTests=false cd collagerest/collagerest-common mvn test -DskipTests=false cd collagerest-server mvn test -DskipTests=false cd security/ldap-aggregator mvn test -DskipTests=false
单元测试无代码覆盖率报告
若测试失败导致数据库不同步,可执行以下命令重置测试数据库:
shcd collage/database mvn -P test -DskipTests=false test
待办:以下测试因缺少nagiostats脚本安装而禁用:
这是较旧的测试套件,代码覆盖率更好,但每次运行需重置数据
sh# 刷新生产数据库(确保gw-server或其他Postgres连接已关闭) cd collage/database mvn -P production -DskipTests=false test # 启动Groundwork服务器 cd gw-server java -DGROUNDWORK_CONFIG=src/main/config -DGROUNDWORK_OUTPUT=/tmp -Djava.net.preferIPv4Stack=true -jar target/gw-server-8.0.0-SNAPSHOT.jar # 填充种子数据并运行套件A集成测试 cd collagerest/collagerest-client mvn install -P integration-test -DskipTests=false
套件A未接入代码覆盖率报告
待办:以下测试因NoMa ActionProperty脚本未移植/打包而禁用:
套件B测试较少,仍在开发中,优势是无需数据设置,会在测试套件启动时尝试删除所有数据,已接入代码覆盖率报告
sh# 启动服务器 cd gw-server java -DGROUNDWORK_CONFIG=src/main/config -DGROUNDWORK_OUTPUT=/tmp -Djava.net.preferIPv4Stack=true -jar target/gw-server-8.0.0-SNAPSHOT.jar # 在另一个终端运行集成测试 cd collagerest/collagerest-client mvn integration-test -P integration
待办:以下测试因缺少nagiostats脚本安装而禁用:
构建完成后:
shcd gw-server java -DGROUNDWORK_CONFIG=src/main/config -DGROUNDWORK_OUTPUT=/tmp -Djava.net.preferIPv4Stack=true -jar target/gw-server-8.0.0-SNAPSHOT.jar
shjava -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -DGROUNDWORK_CONFIG=src/main/config -DGROUNDWORK_OUTPUT=/tmp -Djava.net.preferIPv4Stack=true -jar target/gw-server-8.0.0-SNAPSHOT-shaded.jar
安装Postgres后需执行以下一次性设置:
shsu - postgres psql postgres=# \password postgres postgres=# create user collage with password 'gwrk'; postgres=# CREATE DATABASE gwcollagedb OWNER=collage; postgres=# GRANT ALL PRIVILEGES ON DATABASE gwcollagedb to collage;
可能需要编辑pg_hba.conf以允许数据库连接:
shvi /var/lib/pgsql/data/pg_hba.conf # Linux路径 # 或 vi /usr/local/var/postgres/pg_hba.conf # Mac路径 local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5
重启Postgres(Linux):
shsystemctl restart postgresql.service
重启Postgres(Mac):
shbrew services stop postgresql brew services start postgresql
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务