作者 钟来

添加内网ip

... ... @@ -52,6 +52,7 @@ public abstract class ThingsModelItemBase<T> implements ThingsModelBase<T>
thingsModelItemBase.setValue(jsonElement.getAsInt());
break;
}
thingsModelItemBase.setSaveView(jsonElement.getAsString());
thingsModelItemBase.conversionThingsModel(thingsModel);
return thingsModelItemBase;
... ...
... ... @@ -4,6 +4,7 @@ import com.zhonglai.luhui.device.analysis.comm.dto.thingsmodels.ThingsModelItemB
import lombok.Data;
import java.math.BigDecimal;
import java.math.RoundingMode;
@Data
public class DecimalModelOutput extends ThingsModelItemBase<BigDecimal>
... ... @@ -57,6 +58,21 @@ public class DecimalModelOutput extends ThingsModelItemBase<BigDecimal>
@Override
public void setSaveView(String value) {
setValue(new BigDecimal(value));
BigDecimal bigDecimalValue = new BigDecimal(value);
if (null != step)
{
int decimalPlaces = getDecimalPlaces(step);
BigDecimal roundedValue = bigDecimalValue.setScale(decimalPlaces, RoundingMode.HALF_UP);
setValue(roundedValue);
}else {
setValue(bigDecimalValue);
}
}
private int getDecimalPlaces(BigDecimal number) {
if (number == null || number.scale() <= 0) {
return 0;
}
return number.stripTrailingZeros().scale();
}
}
... ...
#!/bin/bash
# 定义脚本路径
SCRIPT_PATH="/opt/monitor.sh"
CRON_LOG="/var/log/monitor.log"
# 创建 monitor.sh 文件
(
cat <<EOF
#!/bin/bash
# 定义API的URL
API_URL="https://lh.admin.yu2le.com/api/monitor/server/upload"
# 获取系统性能信息的函数
get_system_performance() {
# 获取CPU使用率
CPU_USAGE=\$(top -bn1 | grep "Cpu(s)" | awk '{print \$2 + \$4}')
# 获取内存使用率
MEMORY_USAGE=\$(free | grep Mem | awk '{print \$3/\$2 * 100.0}')
# 获取磁盘使用率
DISK_USAGE=\$(df -h | grep '^/dev/' | grep -v 'boot' | awk '{print \$5}' | tr -d '%' | paste -sd+ | bc)
# 获取系统连接数
CONNECTION_COUNT=\$(netstat -an | grep ESTABLISHED | wc -l)
# 获取前10进程的内存详情,使用 "fg9527" 分隔符
MEMORY_INFO=\$(ps aux --sort=-rss | head -n 11 | awk 'NR==1 {print "USERfg9527PIDfg9527MEMORY(M)fg9527COMMAND"; next} {cmd=""; for(i=11;i<=NF;i++) cmd=cmd\$i" "; printf "%sfg9527%sfg9527%.2fMfg9527%s\n", \$1, \$2, \$6/1024, cmd}' | tr '\n' ';')
# 获取前10进程的CPU详情,使用 "fg9527" 分隔符
CPU_INFO=\$(ps aux --sort=-%cpu | head -n 11 | awk 'NR==1 {print "USERfg9527PIDfg9527CPU(%)fg9527COMMAND"; next} {cmd=""; for(i=11;i<=NF;i++) cmd=cmd\$i" "; printf "%sfg9527%sfg9527%.2f%%fg9527%s\n", \$1, \$2, \$3, cmd}' | tr '\n' ';')
# 生成 JSON 格式数据,转义双引号
MEMORY_INFO=\$(echo "\$MEMORY_INFO" | sed 's/"/\\"/g')
CPU_INFO=\$(echo "\$CPU_INFO" | sed 's/"/\\"/g')
# 生成 ip
IP=\$(hostname -I | awk '{print \$1}')
# 构建JSON数据
echo "{\"cpu_usage\": \"\${CPU_USAGE}\", \"memory_usage\": \"\${MEMORY_USAGE}\", \"disk_usage\": \"\${DISK_USAGE}\", \"connection_count\": \"\${CONNECTION_COUNT}\", \"memory_info\": \"\${MEMORY_INFO}\", \"cpu_info\": \"\${CPU_INFO}\", \"localip\": \"\${IP}\"}"
}
# 获取当前系统性能数据
DATA=\$(get_system_performance)
echo \$DATA
# 使用curl将数据上传到指定的API
curl -X POST -H "Content-Type: application/json" -d "\$DATA" --insecure "\$API_URL"
EOF
) > $SCRIPT_PATH
# 设置脚本执行权限
chmod +x $SCRIPT_PATH
# 添加定时任务
(crontab -l 2>/dev/null; echo "*/1 * * * * $SCRIPT_PATH >> $CRON_LOG 2>&1") | crontab -
# 确保 cron 服务已启动
systemctl enable cron
systemctl restart cron
$SCRIPT_PATH
echo "Monitor setup completed."
... ...
... ... @@ -54,7 +54,7 @@ import java.util.concurrent.TimeUnit;
* 设备指令监听服务
*/
@Service
@RocketMQMessageListener(consumerGroup = "${rocketmq.consumerGroup}", topic = "${rocketmq.topic}",selectorType = SelectorType.TAG,selectorExpression = "${rocketmq.operationToken}",messageModel = MessageModel.BROADCASTING)
@RocketMQMessageListener(consumerGroup = "deviceCommand", topic = "deviceCommandListen",selectorType = SelectorType.TAG,selectorExpression = "${rocketmq.operationToken}",messageModel = MessageModel.BROADCASTING)
public class DeviceCommandListenService implements RocketMQReplyListener<MessageExt, Message>, RocketMQPushConsumerLifecycleListener {
private static final Logger log = LoggerFactory.getLogger(DeviceCommandListenService.class);
... ...
... ... @@ -26,6 +26,4 @@ mqtt:
rocketmq:
#nameservice服务器地址(多个以英文逗号隔开)
name-server: 47.115.144.179:9876
consumerGroup: lh-http-service-proxy
topic: deviceCommandListen
operationToken: ${random.uuid}
\ No newline at end of file
operationToken: local_lh-http-service-proxy
\ No newline at end of file
... ...
... ... @@ -20,7 +20,7 @@ spring:
mqtt:
#链接地址
# broker: tcp://175.24.61.68:1883
broker: tcp://47.112.163.61:1883
broker: tcp://8.129.82.37:1883
#唯一标识
clientId: ${random.uuid}
topicconfig: "/{{roleid}}/{{username}}/{{clientid}}/{{payloadtype}}/{{topicType}}/{{messageid}}"
... ... @@ -34,7 +34,5 @@ mqtt:
#rocketmq配置信息
rocketmq:
#nameservice服务器地址(多个以英文逗号隔开)
name-server: 47.115.144.179:9876
consumerGroup: ${random.uuid}
topic: deviceCommandListen
name-server: 8.129.224.117:9876
operationToken: local_lh-mqtt-service-listen
\ No newline at end of file
... ...
... ... @@ -22,13 +22,7 @@
<modules>
<module>lh-web-douyin</module>
</modules>
<dependencies>
<dependency>
<groupId>com.zhonglai.luhui</groupId>
<artifactId>lh-web-douyin</artifactId>
<version>${ruoyi.version}</version>
</dependency>
</dependencies>
<description>
web服务
</description>
... ...
... ... @@ -75,7 +75,7 @@
<dependency>
<groupId>com.zhonglai.luhui</groupId>
<artifactId>lh-superweb-jar</artifactId>
<artifactId>lh-web-douyin</artifactId>
</dependency>
</dependencies>
</project>
\ No newline at end of file
... ...
... ... @@ -218,13 +218,6 @@
<version>${ruoyi.version}</version>
</dependency>
<!-- 代码生成模块-->
<dependency>
<groupId>com.zhonglai.luhui</groupId>
<artifactId>ruoyi-generator</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<!-- 模型-->
<dependency>
<groupId>com.zhonglai.luhui</groupId>
... ... @@ -372,7 +365,7 @@
</dependency>
<dependency>
<groupId>com.zhonglai.luhui</groupId>
<artifactId>lh-superweb-jar</artifactId>
<artifactId>lh-web-douyin</artifactId>
<version>${ruoyi.version}</version>
</dependency>
<dependency>
... ...