- 博客(81)
- 资源 (7)
- 收藏
- 关注
原创 springboot actuator jvm监控丢失
参考文档:https://www.choupangxia.com/2021/07/27/spring-boot-actuator-metrics-no-jvm-info/随便点击一个地址http://192.168.0.76:8681/lms/actuator/prometheus访问指标,发现JVM相关指标全部丢失。系统接入了监控prometheus和grafana,某天grafana突然发现只有几台机器可以看到指标。从网上查找相关资料,逐一排查,发现可能是组件问题、配置文件或者是依赖的版本问题。
2023-11-03 17:27:30
822
原创 prometheus+nacos服务发现
我们使用prometheus监控机器和应用。之前是静态配置,现在想改成服务发现。软件环境:docker+prometheus+nacos
2022-08-08 17:56:50
4371
4
原创 java计算算术表达式
直接上代码String str = "((1+0.3)*2-1)/2";ScriptEngineManager manager = new ScriptEngineManager();ScriptEngine engine = manager.getEngineByName("javascript");Object d = engine.eval(str);System.out.println(d.toString());执行结果为 0.8我看网上有很多都是利用栈来处理,过于繁琐了。
2022-04-07 16:51:25
1646
原创 prometheus的预警时间和北京时间不一致
prometheus的预警时间和北京时间不一致1、使用linux的date命令查看时间prometheus时间/prometheus $ dateThu Apr 7 08:11:39 UTC 2022真正的时间[root@cloudtest Asia]# date2022年 04月 07日 星期四 16:11:39 CST2、修改预警模板文件,在获取的时间上转换时区在预警模板中使用函数 GetCSTtime 解析时间例如:<font color="#FF0000">开
2022-04-07 16:16:46
3215
原创 docker安装filebeat并推送到redis
1、搜索镜像库filebeatdocker search filebeat2、拉取镜像docker pull prima/filebeat3、创建配置文件mkdir -p /etc/filebeatcd /etc/filebeattouch filebeat.yml设置权限chmod go-w filebeat.yml4、设置filebeat配置文件filebeat.prospectors:- type: log enabled: true harvester_buf
2022-01-20 15:09:33
1044
原创 Layer already exists
背景:docker push的时候报这个错误原因:docker镜像仓库里存在镜像或者删除不干净解决方案:1、安装镜像删除脚本curl https://raw.githubusercontent.com/burnettk/delete-docker-registry-image/master/delete_docker_registry_image.py | sudo tee /usr/local/bin/delete_docker_registry_image >/dev/n
2021-12-28 18:53:29
5817
原创 docker删除none的镜像
报错:[root@cloudtest trade-chat]# docker rmi cdeff43086fdError response from daemon: conflict: unable to delete cdeff43086fd (cannot be forced) - image has dependent child images背景:docker给一个镜像tag了两次,之第一次的镜像tag就变成none了。使用docker rmi 镜像id 命令删除,就报这个错误
2021-12-17 15:52:02
1307
原创 docker启动jar包设置JVM参数报错
报错:Unrecognized option: -server -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xms512m -Xmx1024m -Xmn512m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC -Dtask=trueError: Could not create the Java Virtual Machine.背景:设置JVM参数,然后使用docker file
2021-12-17 14:53:26
2584
原创 ADD failed: file not found in build context or excluded by .dockerignore: stat
报错:ADD failed: file not found in build context or excluded by .dockerignore: stat背景:远程执行脚本文件,报这个错误解决方案:执行脚本前,进入到服务器的指定目录,然后执行脚本
2021-12-15 17:39:35
9680
2
原创 unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/Dockerfile
报错:unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/Dockerfile: no such file or directory背景:ssh到远程服务器执行脚本,报这个错误解决方案:执行脚本前,进入到服务器的指定目录,然后执行脚本...
2021-12-15 17:36:22
7157
原创 mysqldump: Error: Binlogging on server not active
背景:执行如下语句报错:mysqldump.exe -uroot -p --master-data=2 --single-transaction --routines --triggers --events mc_orderdb > aa.sql尝试的方案:1、修改配置文件,添加如下配置#启用二进制日志log-bin=mysql-bin然后重启服务不管用2、...
2021-12-15 17:33:49
1804
1
原创 Using default tag: latest The push refers to repository
报错:Using default tag: latest The push refers to repository [192.168.0.155:5000/trade-gateway] Get "https://192.168.0.155:5000/v2/": http: server gave HTTP response to HTTPS client背景:推送镜像到仓库异常docker push 192.168.0.155:5000/trade-gateway解决方案:
2021-12-15 17:31:09
3689
2
原创 unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/Dockerfile: n
报错:unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/Dockerfile: no such file or directory解决方案:创建镜像的时候指定dockerFile文件docker build -t $moudle_name -f ./Dockerfile .
2021-12-15 17:27:13
9280
1
原创 EasyExcel java.lang.UnsupportedOperationException
导出excel的时候,拼接head和data通常使用Arrays.asList方法,通过观察源码发现asList是重新创建一个ArrayListpublic static <T> List<T> asList(T... a) { return new ArrayList<>(a); }但是这个ArrayList 是内部自定义的List 而非util包下的ArrayListprivate static class ArrayList&
2020-09-11 10:49:24
1203
原创 记录一次线上存储爆满导致程序停机错误
1、现象df -h发现多节点根目录存储爆满;50G平时剩余40G可用,今天只有1.2G可用du -sh * 根目录并未发现大的文件夹。过一会儿之后因为存储爆满,服务宕机。2、解决思路(1)怀疑大文件是隐藏文件(2)百度发现,某些删除的文件依旧存在链接引用,占用实际的存储3、思路1步骤通过命令 du -sh .[!.]* 可以查看linux 系统目录下的所有文件,包含隐藏文件的占用大小结果发现,并没有特别大的文件或者文件夹。4、思路2步骤通过命令 lsof |
2020-07-28 14:59:04
215
原创 记录一次线上 错误启动jar导致执行异常的错误
1、事故现象部署最新的包到正式环境,相同的业务有的操作执行成功,有的操作执行异常,并且执行异常的均找不到日志2、查找问题思路(1)怀疑是部署的jar包不对(2)怀疑多线程异常,错误被吞掉(3)怀疑有其他节点处理了请求3、思路1执行步骤重新用别人的电脑部署了多次最新的jar,发现问题依旧在4、思路2执行步骤将操作的代码放置在多线程之外,做成同步操作,并在所有操作之前执行。5、思路3执行步骤首先检查了注册中心,发现没有多余的节点。然后又仔细检查内网的所有电脑,包括
2020-07-28 11:29:18
300
原创 centos下安装pip
sudo yum -y install epel-releasesudo yum -y install python-pip
2020-07-17 18:10:04
517
原创 @ConfigurationProperties代替@Value
1、配置文件预览application-local.ymlspring: profiles: local2、配置类@Data@Component@ConfigurationProperties(prefix = "spring")public class SpringProperties { private String profiles;}@Data是为了get到值。@Component是注入到上下文中@ConfigurationProperties定义当前类是配置
2020-07-17 16:36:57
1262
原创 JWT能预防XSS 攻击和 CSRF 攻击
web服务中,用户输入用户名密码登入之后,后续访问网站的其他功能就不用再输入用户名和密码了。传统的身份校验机制为cookie-session机制:cookie-session机制用户浏览器访问web网站,输入用户名密码服务器校验用户名密码通过之后,生成sessonid并把sessionid和用户信息映射起来保存在服务器服务器将生成的sessionid返回给用户浏览器,浏览器将sessionid存入cookie此后用户对该网站发起的其他请求都将带上cookie中保存的sessionid服务端把用
2020-07-17 14:55:45
3670
原创 SpringSecurity中的密码加密算法:BCryptPasswordEncoder
BCryptPasswordEncoderspring security中的BCryptPasswordEncoder方法采用SHA-256 +随机盐+密钥对密码进行加密。SHA系列是Hash算法,不是加密算法,使用加密算法意味着可以解密(这个与编码/解码一样),但是采用Hash处理,其过程是不可逆的。1)加密(encode):注册用户时,使用SHA-256+随机盐+密钥把用户输入的密码进行hash处理,得到密码的hash值,然后将其存入数据库中。(2)密码匹配(matches):用户登录时,密码匹配
2020-07-17 13:40:07
46662
8
转载 Spring Cloud配置跨域访问
转载自https://segmentfault.com/a/1190000017188296?utm_source=tag-newest1、在Controller上添加@CrossOrigin注解@CrossOrigin@RestControllerpublic class HandlerScanController { @CrossOrigin(allowCredentials = "true", allowedHeaders = "*", methods = { R
2020-07-08 15:43:53
1218
原创 jackson常用注解
1、@JsonAutoDetect自动检测,(作用在类上)来开启/禁止自动检测。fieldVisibility:字段的可见级别 ANY:任何级别的字段都可以自动识别 NONE:所有字段都不可以自动识别 NON_PRIVATE:非private修饰的字段可以自动识别 PROTECTED_AND_PUBLIC:被protected和public修饰的字段可以被自动识别 PUBLIC_ONLY:只有被public修饰的字段才可以被自动识别 DEFAULT:...
2020-07-07 14:48:11
4948
原创 JsonFormat DateTimeFormat区别
@DateTimeFormat用于前端传给后端的时间格式转换,@JsonFormat用于后端传给前端的时间格式转换@JsonFormat注解的依赖如下:@JsonFormat依赖如下:<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId.
2020-07-07 14:18:07
923
4
原创 @Scheduled并行执行
设置定时任务并行执行@Configurationpublic class ScheduleConfig implements SchedulingConfigurer { @Override public void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) { TaskScheduler taskScheduler = taskScheduler(); schedule
2020-06-30 14:19:31
1464
原创 linux下rpm安装RabbitMQ
即将安装的版本:erlang-18.3-1.el6.x86_64、rabbitmq-server-3.6.6-1.el7.noarch.rpm、socat1.7.3.2-2.el71、下载安装包rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.ascwgethttps://www.rabbitmq.com/releases/erlang/erlang-18.3-1.el6.x86_..
2020-06-27 18:38:12
2726
原创 linux安装redis最新版
1、如果要安装最新的redis,需要安装Remi的软件源yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm[root@192 local]# yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpmLoaded plugins: fastestmirrorremi-release-7.rpm
2020-06-07 11:10:26
1255
原创 The service command supports only basic LSB actions
(1)报错开放端口 /sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT保存的时候报错如下:[root@VM_0_17_centos rabbitmq]# service iptables save The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For
2020-05-10 15:01:58
1697
原创 Requires: erlang >= 20.3 Available: erlang-R16B-03.18.el7.x86_64
(1)错误示例在yum安装rabbitmq的时候报这个错误。yum install rabbitmq-server-3.7.4-1.el7.noarch.rpm Loaded plugins: fastestmirrorExamining rabbitmq-server-3.7.4-1.el7.noarch.rpm: rabbitmq-server-3.7.4-1.el7.noarchMarking rabbitmq-server-3.7.4-1.el7.noarch.rpm to be inst
2020-05-10 12:10:42
3875
原创 cannot open Packages database in /var/lib/rpm
(1)报错示例[root@VM_0_17_centos rabbitmq]# yum install rabbitmq-server-3.7.4-1.el7.noarch.rpm error: rpmdb: BDB0113 Thread/process 27590/140471762446144 failed: BDB1507 Thread died in Berkeley DB libraryerror: db5 error(-30973) from dbenv->failchk: BDB00
2020-05-10 11:25:11
6274
1
原创 Another app is currently holding the yum lock
1、报错示例Another app is currently holding the yum lock; waiting for it to exit... The other application is: yum Memory : 34 M RSS (362 MB VSZ) Started: Sun Dec 23 03:56:09 2018 - 504 day(s) 6:57:32 ago State : Traced/Stopped, pid: 275902
2020-05-10 11:00:28
318
原创 easyExcel引入到boot项目中
一、导出1、引入依赖<dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.2</version></dependency>2、control...
2020-05-08 12:17:00
764
原创 mapStruct引入到boot项目中
1、引入相关依赖和插件<org.mapstruct.version>1.3.1.Final</org.mapstruct.version><dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifac...
2020-05-08 12:15:55
2394
原创 多线程调用静态方法引发线程安全问题
1、现象描述最近使用了一个新的上传文件的工具类,返回的图片和实际的人像不符合,怀疑出现了线程安全问题。2、故障分析通过日志观察发现,工具类返回的数据和实际人像不一致,怀疑工具类在多线程下的使用存在问题,决定分析工具类。3、最终结果最后发现,工具类中的上传文件方法都是静态方法,也引用了全局的静态变量,初始化是通过静态代码块实现的。由于在多线程环境下静态方法访问了静态变量,但是...
2019-12-30 13:11:08
933
原创 redismanager无法访问远程redis
1、现象描述服务器启动了redis-server,服务器的客户端也能正常访问,但是本地访问不通2、原因分析redis的配置文件中对于外部访问有着很多的限制,我们需要修改这些限制。3、检查方案bind 127.0.0.1 此设置会现在外部必须通过此网卡才能访问redis,我们此时应该改为0.0.0.0或者注释掉。protected-mode yes 此处是redis的保护模式...
2019-12-29 18:36:53
286
原创 linux通过tar包安装redis
1、下载安装包,默认安装了wgetwget http://download.redis.io/releases/redis-5.0.3.tar.gz2、解压安装包tar xzf redis-5.0.3.tar.gz3、编译安装包,默认安装了gcc进入到redis安装目录,执行make进行编译4、安装redismake PREFIX=/usr/local/redis in...
2019-12-29 16:19:22
1069
转载 linux 安装maven
1、安装wget命令yum -y install wget2、下载安装包wget http://mirrors.cnnic.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz3、解压安装包tar -zxvf apache-maven-3.5.4-bin.tar.gz4、修改系统配置文件 v...
2019-12-29 16:03:21
130
原创 常用异步编程工具类
1、使用juc报下的CompletableFuture工具类 //没有返回值 CompletableFuture.runAsync(() -> { //dosth }); //带有返回值 CompletableFuture<String> future = Comple...
2019-12-24 17:22:05
271
原创 常用多线程工具类
1、自定义线程池public class ThreadPoolTaskUtils { private static int CAPACITY = 10000; // 线程池核心线程数 public static int CORE_POOL_SIZE = 10; // 线程池最大线程数 private static int MAXIMUM_POOL_...
2019-12-24 17:08:33
1894
原创 oracle 行锁 解锁
SELECT 'ALTER SYSTEM KILL SESSION '''||SESSION_ID|| ', '||SERIAL#|| '''; ' KILL_SESSION FROM V$LOCKED_OBJECT VO, V$SESSION VS, ALL_OBJECTS AOWHERE VO.SESSION_ID = VS.SID AND AO.OBJECT_ID = VO.OBJECT...
2019-12-17 15:45:21
961
Apache_OpenOffice_4.1.5_Linux_x86-64_install-deb_zh-CN.tar.gz
2019-07-22
redis-desktop-manager-0.8.8.384
2019-03-17
物流pda 安卓端
2018-06-22
慢性病人用药管理后台系统源码
2018-06-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人