Git Product home page Git Product logo

ngbdf / redis-manager Goto Github PK

View Code? Open in Web Editor NEW
2.9K 108.0 710.0 116.23 MB

Redis 一站式管理平台,支持集群的监控、安装、管理、告警以及基本的数据操作

License: Apache License 2.0

Shell 0.13% Java 66.58% CSS 0.90% HTML 0.84% JavaScript 3.57% Vue 27.83% Dockerfile 0.15%
redismanager redis-manager redis-monitor redismonitor redis-create redis-slowlog redisquery redis-query rediscluster redis-tool

redis-manager's Issues

query下拉框无法选择

使用redis版本是redis-4.0.10,搭建redis-cluster环境,并且设置了password了,在下拉框选择 时候,没有下拉数据项,无法query。

idea中运行main方法报错

1.git clone下来后,运行main方法,报如下错误:

***************************
APPLICATION FAILED TO START
***************************
Description:
The Bean Validation API is on the classpath but no implementation could be found
Action:
Add an implementation, such as Hibernate Validator, to the classpath

解决方法:
pom中增加依赖:

      <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.3.0.Final</version>
        </dependency>

2.处理完1问题后,启动报如下错误:
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServletRequest
解决方法:
修改springboot版本为 1.5.6 ,并且增加依赖:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>

3.处理完2问题后,启动报如下错误:
com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
解决方法:
在 jdbc url后拼接 &serverTimezone=UTC&useSSL=false ,启动成功

上面这些是我遇到的问题,可能由于环境不同导致。

CPU异常飙高

一、基本信息
操作系统:CentOS Linux release 7.2.1511 (Core)
虚拟机配置:4CPU+8G内存
Cluster State: ok
Cluster Master: 3
Cluster Nodes: 6
Slots Assigned(ok/all): 16384/16384
Redis Version: 5.0.4
Redis Mode: cluster
Type: machine
二、问题描述
使用二进制代码安装的最新版,发现运行几小时不等后,可能出现打满CPU的情况。redis是之前就部署好的,目前猜测可能和界面上点击了一些功能、按钮有关,但页面上没有报错。还请帮分析下,如果找不到原因就没法正常使用啊,这个隐患比较大。
image

CPU异常开始的时间附近,logs/error.log中会有类似下面的报错:
2019-09-30 09:56:48 - [ ERROR ] Unexpected error occurred in scheduled task.
org.springframework.web.socket.sockjs.SockJsTransportFailureException: Failed to write SockJsFrame content='h'; nested exception is java.io.IOException: java.io.IOException: Broken pipe
at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:339)
at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.sendHeartbeat(AbstractSockJsSession.java:255)
at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession$HeartbeatTask.run(AbstractSockJsSession.java:456)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: java.io.IOException: Broken pipe
at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:315)
at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendMessageBlock(WsRemoteEndpointImplBase.java:250)
at org.apache.tomcat.websocket.WsRemoteEndpointImplBase.sendPartialString(WsRemoteEndpointImplBase.java:223)
at org.apache.tomcat.websocket.WsRemoteEndpointBasic.sendText(WsRemoteEndpointBasic.java:49)
at org.springframework.web.socket.adapter.standard.StandardWebSocketSession.sendTextMessage(StandardWebSocketSession.java:203)
at org.springframework.web.socket.adapter.AbstractWebSocketSession.sendMessage(AbstractWebSocketSession.java:101)
at org.springframework.web.socket.sockjs.transport.session.WebSocketServerSockJsSession.writeFrameInternal(WebSocketServerSockJsSession.java:220)
at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:322)
... 10 more
Caused by: java.io.IOException: Broken pipe
at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
at sun.nio.ch.IOUtil.write(IOUtil.java:65)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:134)
at org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)

config bug

查询slave config ,得出来的信息是master config

启动报错,但是web页面可以访问,但是query查询有问题

查询页面的db不是db0..是NaN导致查询响应直接400
参数:
clusterId: "1"
db: "NaN"
key: "a"
响应:
error: "Bad Request"
exception: "org.springframework.http.converter.HttpMessageNotReadableException"
message: "Could not read document: Can not deserialize value of type int from String "NaN": not a valid Integer value↵ at [Source: java.io.PushbackInputStream@57aa452a; line: 1, column: 161] (through reference chain: com.newegg.ec.cache.app.model.RedisQueryParam["db"]); nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not deserialize value of type int from String "NaN": not a valid Integer value↵ at [Source: java.io.PushbackInputStream@57aa452a; line: 1, column: 161] (through reference chain: com.newegg.ec.cache.app.model.RedisQueryParam["db"])"
path: "/cluster/redisQuery"
status: 400
timestamp: 1548924193981

be slave bug

be slave 操作完成以后当前页面未刷新

query按钮bug

image
这个query 第一次点了之后 关闭再打开 就变成这样了 没法再点

支持任意版本的redis tar包

1 考虑直接从 redis 官网 http://download.redis.io/releases/ 直接拉取tar包文件加-O参数
2 根据拉取下来的tar包解压编译后,加入我们需要的脚本,重新打成tar包
要考虑以下几个问题
1很多生产场景不容许访问外网,直接拉取可以做为一个方案,或用户自己上传安装包
2 加个代理配置,先点test看通不通再构建安装包
3 用户选择版本的时候要提示,tar保持的位置

集群安装加入限制

1 提示用户端口最大限制 65535 -10000 redis内部会启动一个用户配置的port + 10000 用于集群通信

console

能增加console页面吗?页面命令行。
Query使用文档不详细。

关于管理Node Manage功能使用

Node Manage
注意:仅通过 Redis Manager 平台创建的集群才能使用 Node Manage 功能

在文档中看到上述描述,我想如果把我导入的redis节点信息添加到对应的数据库表中,是不是也是可以的?谢谢!

创建集群方式

目前只支持Machine方式创建集群吗?
我使用Docker和Humpback都提示can not support
麻烦支持一下,或是我缺了什么组件安装?

support redis 4.x

You can add a password when you add a cluster or create a cluster.

启动问题,

Thu Jan 31 16:39:37 CST 2019 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
java.io.FileNotFoundException: ../redis-manager/src/main/resources/public/core/userApi.js (No such file or directory)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(FileOutputStream.java:270)
at java.io.FileOutputStream.(FileOutputStream.java:213)
at java.io.FileOutputStream.(FileOutputStream.java:101)
at com.newegg.ec.cache.core.userapi.UserApiUtil.writeStringToFile(UserApiUtil.java:181)
at com.newegg.ec.cache.core.userapi.UserApiUtil.autoGeneriesAllApi(UserApiUtil.java:44)
at com.newegg.ec.cache.backend.InitConfig.initUserApi(InitConfig.java:68)
at com.newegg.ec.cache.backend.InitConfig.onApplicationEvent(InitConfig.java:35)
at com.newegg.ec.cache.backend.InitConfig.onApplicationEvent(InitConfig.java:20)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:167)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:383)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:337)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:882)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.finishRefresh(EmbeddedWebApplicationContext.java:144)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:545)
at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)
at com.newegg.ec.cache.Application.main(Application.java:19)
****************** init success ********************

用户密码验证

在user manager页面改用户密码时,没有规则验证。导致重新登陆有问题。

修改admin密码不生效啊

第一次启动是默认的admin/admin,然后stop程序,修改application.yml文件,把密码改了,再重启程序,密码还是之前的admin

Slowlog列表统计时间时区问题

如果在时区是**的机器上启动redismanager,redis部署在时区比如是在美国的机器上,slowlog列表统计出来的时间是**的时间而不是redis的时间

启动无错误但是进程退出了

这是为啥?也不报错,然后自己就退出了。。

启动日志

Jul 30, 2019 3:41:47 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Tomcat
Jul 30, 2019 3:41:47 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.5.11
Jul 30, 2019 3:41:48 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring embedded WebApplicationContext
Jul 30, 2019 3:41:50 PM org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Tomcat
Jul 30, 2019 3:41:50 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesRmiTargets
WARNING: When running on Java 9 you need to add "--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" to the JVM command line arguments to enable RMI Target memory leak detection. Alternatively, you can suppress this warning by disabling RMI Target memory leak detection.

jdk信息

java -version
openjdk version "9-Ubuntu"
OpenJDK Runtime Environment (build 9-Ubuntu+0-9b134-2ubuntu1)
OpenJDK 64-Bit Server VM (build 9-Ubuntu+0-9b134-2ubuntu1, mixed mode)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.