Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
H
haikang-client
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
杨立
haikang-client
Commits
91988743
提交
91988743
authored
9月 22, 2021
作者:
wangqiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
wins
上级
5858b2e4
隐藏空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
131 行增加
和
7 行删除
+131
-7
install.bat
apq-pc-client/src/main/scripts/windows/install.bat
+2
-0
service.xml
apq-pc-client/src/main/scripts/windows/service.xml
+3
-3
ApqControlApplication.java
...trol/src/main/java/com/priusis/ApqControlApplication.java
+8
-3
logback.xml
apq-pc-control/src/main/resources/logback.xml
+8
-0
ApqInfoApplication.java
...pc-info/src/main/java/com/priusis/ApqInfoApplication.java
+86
-0
logback.xml
apq-pc-info/src/main/resources/logback.xml
+8
-0
ApqRegisterApplication.java
...ter/src/main/java/com/priusis/ApqRegisterApplication.java
+8
-1
logback.xml
apq-pc-register/src/main/resources/logback.xml
+8
-0
没有找到文件。
apq-pc-client/src/main/scripts/windows/install.bat
浏览文件 @
91988743
...
...
@@ -70,6 +70,8 @@ IF "%JRE_PATH2%" == "" GOTO JAVA_NOT_INSTALLED
@ECHO Java 1.8 found!
@ECHO Installing apq-pc-client ...
%~dp0apq-pc-client.exe install
@ECHO runing apq-pc-client ...
%~dp0apq-pc-client.exe start
@ECHO DONE.
...
...
apq-pc-client/src/main/scripts/windows/service.xml
浏览文件 @
91988743
<service>
<id>
apq-pc-client
</id>
<name>
${project.name}
</name>
<description>
${project.description}
</description>
<name>
apq-pc-client
</name>
<description>
apq-pc-client
</description>
<workingdirectory>
%BASE%\conf
</workingdirectory>
<logpath>
${pkg.winWrapperLogFolder}
</logpath>
<logpath>
logs
</logpath>
<logmode>
rotate
</logmode>
<env
name=
"LOADER_PATH"
value=
"%BASE%\conf"
/>
<executable>
java
</executable>
...
...
apq-pc-control/src/main/java/com/priusis/ApqControlApplication.java
浏览文件 @
91988743
...
...
@@ -15,6 +15,7 @@ import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfi
import
org.springframework.http.ResponseEntity
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.web.client.RestClientException
;
import
org.springframework.web.client.RestTemplate
;
import
java.util.HashMap
;
...
...
@@ -39,8 +40,14 @@ public class ApqControlApplication {
@Scheduled
(
fixedDelay
=
60000L
)
protected
void
controlProgramTask
()
{
log
.
info
(
"硬件监控上报================="
);
// 获取硬件监控配置 params == data
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/controll"
,
MqttRpcDataMessage
.
class
);
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
null
;
try
{
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/controll"
,
MqttRpcDataMessage
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"硬件监控上报异常"
,
e
);
}
if
(
null
!=
forEntity
)
{
MqttRpcDataMessage
body
=
forEntity
.
getBody
();
String
params
=
body
.
getParams
();
...
...
@@ -186,7 +193,5 @@ public class ApqControlApplication {
}
else
{
log
.
info
(
"未获取到获取硬件监控配置"
);
}
}
}
apq-pc-control/src/main/resources/logback.xml
浏览文件 @
91988743
...
...
@@ -5,6 +5,13 @@
<springProperty
scop=
"context"
name=
"CONSOLE_LOG_PATH"
source=
"CONSOLE_LOG_PATH"
defaultValue=
"/apps/logs"
/>
<property
name=
"log.path"
value=
"${CONSOLE_LOG_PATH}/${spring.application.name}"
/>
<!-- Console log output -->
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
${CONSOLE_LOG_PATTERN}
</pattern>
</encoder>
</appender>
<appender
name=
"fileLogAppender"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<file>
${log.path}/info.log
</file>
...
...
@@ -29,6 +36,7 @@
<logger
name=
"com.alibaba.nacos"
level=
"ERROR"
/>
<root
level=
"INFO"
>
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"fileLogAppender"
/>
</root>
...
...
apq-pc-info/src/main/java/com/priusis/ApqInfoApplication.java
浏览文件 @
91988743
package
com
.
priusis
;
import
cn.hutool.core.io.unit.DataSizeUtil
;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.system.oshi.OshiUtil
;
import
com.priusis.vo.MqttRpcDataMessage
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.autoconfigure.SpringBootApplication
;
import
org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
;
import
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.web.client.RestTemplate
;
import
oshi.hardware.NetworkIF
;
import
java.net.InetAddress
;
import
java.net.NetworkInterface
;
import
java.util.Map
;
@Slf4j
@EnableScheduling
@SpringBootApplication
(
exclude
=
{
DataSourceAutoConfiguration
.
class
,
SecurityAutoConfiguration
.
class
})
public
class
ApqInfoApplication
{
@Autowired
private
RestTemplate
restTemplate
;
private
int
runningIndex
=
0
;
public
static
void
main
(
String
[]
args
)
{
SpringApplication
.
run
(
ApqInfoApplication
.
class
,
args
);
}
// 30秒一次上报
@Scheduled
(
fixedDelay
=
30000L
)
protected
void
controlProgramTask
()
{
log
.
info
(
"设备实时数据采集上报================="
);
runningIndex
++;
boolean
isNoneEven
=
runningIndex
%
2
==
0
;
// 获取采集配置,数据上报频率 params == data
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
null
;
try
{
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/info"
,
MqttRpcDataMessage
.
class
);
}
catch
(
Exception
e
)
{
log
.
error
(
"采集数据异常"
,
e
);
}
if
(
null
!=
forEntity
)
{
MqttRpcDataMessage
body
=
forEntity
.
getBody
();
String
params
=
body
.
getParams
();
if
(
StrUtil
.
isNotBlank
(
params
))
{
String
operatingSystem
=
"operatingSystem"
;
String
mac
=
"mac"
;
String
baseboard
=
"baseboard"
;
String
ip
=
"ip"
;
String
cpuModel
=
"cpuModel"
;
String
cpuTemp
=
"cpuTemp"
;
String
memoryCap
=
"memoryCap"
;
String
diskModel
=
"diskModel"
;
String
diskCap
=
"diskCap"
;
try
{
Map
<
String
,
Integer
>
mapParams
=
JSONUtil
.
toBean
(
params
,
Map
.
class
);
// 上报PC实时信息
InetAddress
inetAddress
=
InetAddress
.
getLocalHost
();
NetworkIF
networkIF
=
new
NetworkIF
();
networkIF
.
setNetworkInterface
(
NetworkInterface
.
getByInetAddress
(
inetAddress
));
Map
<
String
,
Object
>
data
=
MapUtil
.<
String
,
Object
>
builder
()
.
put
(
isNeedCollection
(
isNoneEven
,
operatingSystem
,
mapParams
),
operatingSystem
,
OshiUtil
.
getOs
().
toString
())
.
put
(
isNeedCollection
(
isNoneEven
,
mac
,
mapParams
),
mac
,
networkIF
.
getMacaddr
())
.
put
(
isNeedCollection
(
isNoneEven
,
baseboard
,
mapParams
),
baseboard
,
OshiUtil
.
getSystem
().
getBaseboard
().
getManufacturer
()
+
" "
+
OshiUtil
.
getSystem
().
getBaseboard
().
getVersion
())
.
put
(
isNeedCollection
(
isNoneEven
,
ip
,
mapParams
),
ip
,
inetAddress
.
getHostAddress
())
.
put
(
isNeedCollection
(
isNoneEven
,
cpuModel
,
mapParams
),
cpuModel
,
OshiUtil
.
getCpuInfo
(
0
).
getCpuModel
())
.
put
(
isNeedCollection
(
isNoneEven
,
cpuTemp
,
mapParams
),
cpuTemp
,
OshiUtil
.
getSensors
().
getCpuTemperature
())
.
put
(
isNeedCollection
(
isNoneEven
,
memoryCap
,
mapParams
),
memoryCap
,
DataSizeUtil
.
format
(
OshiUtil
.
getMemory
().
getTotal
()))
.
put
(
isNeedCollection
(
isNoneEven
,
diskModel
,
mapParams
),
diskModel
,
OshiUtil
.
getHardware
().
getDiskStores
()[
0
].
getModel
())
.
put
(
isNeedCollection
(
isNoneEven
,
diskCap
,
mapParams
),
diskCap
,
DataSizeUtil
.
format
(
OshiUtil
.
getHardware
().
getDiskStores
()[
0
].
getSize
()))
.
build
();
Map
mapR
=
restTemplate
.
postForObject
(
"http://localhost:8765/uplink/oc-client"
,
data
,
Map
.
class
);
log
.
info
(
"采集数据,上报属性: mapData:{}, ret:{}"
,
data
,
mapR
);
}
catch
(
Exception
e
)
{
log
.
error
(
"采集数据异常"
,
e
);
}
}
else
{
log
.
info
(
"未获取到采集配置,数据上报频率"
);
}
}
else
{
log
.
info
(
"未获取到采集配置,数据上报频率"
);
}
}
private
boolean
isNeedCollection
(
boolean
isNoneEven
,
String
key
,
Map
<
String
,
Integer
>
mapParams
)
{
return
mapParams
.
containsKey
(
key
)
&&
(!
isNoneEven
||
mapParams
.
get
(
key
)
!=
30
);
}
}
apq-pc-info/src/main/resources/logback.xml
浏览文件 @
91988743
...
...
@@ -5,6 +5,13 @@
<springProperty
scop=
"context"
name=
"CONSOLE_LOG_PATH"
source=
"CONSOLE_LOG_PATH"
defaultValue=
"/apps/logs"
/>
<property
name=
"log.path"
value=
"${CONSOLE_LOG_PATH}/${spring.application.name}"
/>
<!-- Console log output -->
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
${CONSOLE_LOG_PATTERN}
</pattern>
</encoder>
</appender>
<appender
name=
"fileLogAppender"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<file>
${log.path}/info.log
</file>
...
...
@@ -29,6 +36,7 @@
<logger
name=
"com.alibaba.nacos"
level=
"ERROR"
/>
<root
level=
"INFO"
>
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"fileLogAppender"
/>
</root>
...
...
apq-pc-register/src/main/java/com/priusis/ApqRegisterApplication.java
浏览文件 @
91988743
...
...
@@ -13,6 +13,7 @@ import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfi
import
org.springframework.http.ResponseEntity
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.web.client.RestClientException
;
import
org.springframework.web.client.RestTemplate
;
import
java.io.BufferedReader
;
...
...
@@ -50,8 +51,14 @@ public class ApqRegisterApplication {
@Scheduled
(
fixedDelay
=
60000L
)
protected
void
registerProgramTask
()
{
log
.
info
(
"软件检测上报================="
);
// 获取软件检测监控配置 params == data
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/register"
,
MqttRpcDataMessage
.
class
);
ResponseEntity
<
MqttRpcDataMessage
>
forEntity
=
null
;
try
{
forEntity
=
restTemplate
.
getForEntity
(
"http://localhost:8765/rpc_cmd/register"
,
MqttRpcDataMessage
.
class
);
}
catch
(
RestClientException
e
)
{
log
.
error
(
"软件检测上报异常"
,
e
);
}
if
(
null
!=
forEntity
)
{
MqttRpcDataMessage
body
=
forEntity
.
getBody
();
String
params
=
body
.
getParams
();
...
...
apq-pc-register/src/main/resources/logback.xml
浏览文件 @
91988743
...
...
@@ -5,6 +5,13 @@
<springProperty
scop=
"context"
name=
"CONSOLE_LOG_PATH"
source=
"CONSOLE_LOG_PATH"
defaultValue=
"/apps/logs"
/>
<property
name=
"log.path"
value=
"${CONSOLE_LOG_PATH}/${spring.application.name}"
/>
<!-- Console log output -->
<appender
name=
"console"
class=
"ch.qos.logback.core.ConsoleAppender"
>
<encoder>
<pattern>
${CONSOLE_LOG_PATTERN}
</pattern>
</encoder>
</appender>
<appender
name=
"fileLogAppender"
class=
"ch.qos.logback.core.rolling.RollingFileAppender"
>
<file>
${log.path}/info.log
</file>
...
...
@@ -29,6 +36,7 @@
<logger
name=
"com.alibaba.nacos"
level=
"ERROR"
/>
<root
level=
"INFO"
>
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"fileLogAppender"
/>
</root>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论