一次线上redis报障处理过程

原创
2017/01/12 17:24
阅读数 1.9K

昨天下午刚到公司,开发告诉我有个页面打不开。后面经过排查排除代码的问题,开始怀疑是不是redis出问题了,后面尝试着重启了一下redis,结果问题解决了。当时因为redis没有配日志文件,所以。。。

 

等到今天早上又出现同样的问题了,不过依然没有日志,所以后面我在服务器里配置了日志,然后就不停对坐在我对面的开发说:马丹,服务器怎么还不出问题......

 

刚刚(2017-01-12 16:42)终于又出现这个问题了,我本着无比鸡冻的眼神看了眼日志

13718:M 12 Jan 14:21:30.150 # Background saving error
13718:M 12 Jan 14:21:36.064 * 1 changes in 900 seconds. Saving...
13718:M 12 Jan 14:21:36.064 * Background saving started by pid 18396
18396:C 12 Jan 14:21:36.065 # Failed opening .rdb for saving: Permission denied
13718:M 12 Jan 14:21:36.165 # Background saving error
13718:M 12 Jan 14:21:42.078 * 1 changes in 900 seconds. Saving...
13718:M 12 Jan 14:21:42.079 * Background saving started by pid 18398
18398:C 12 Jan 14:21:42.079 # Failed opening .rdb for saving: Permission denied
13718:M 12 Jan 14:21:42.179 # Background saving error
13718:M 12 Jan 14:21:48.092 * 1 changes in 900 seconds. Saving...
13718:M 12 Jan 14:21:48.093 * Background saving started by pid 18399
18399:C 12 Jan 14:21:48.093 # Failed opening .rdb for saving: Permission denied
13718:M 12 Jan 14:21:48.194 # Background saving error
13718:M 12 Jan 14:21:54.006 * 1 changes in 900 seconds. Saving...
13718:M 12 Jan 14:21:54.007 * Background saving started by pid 18400
18400:C 12 Jan 14:21:54.007 # Failed opening .rdb for saving: Permission denied

满屏尽是permission denied。

 

我的猜想:.rdb是数据文件,说明数据文件没有写入权限。但是很奇怪我在redis目录下没有找到.rdb文件。然后我用find在全局查找一次。

[root@iZ2zeib1msf1e5n3hae56mZ ~]# find / -name *.rdb
/tmp/dump.rdb
/root/dump.rdb
/root/.ssh/dump.rdb

这里是不是应该有个疑问?为什么redis的数据目录不在redis目录下面呢?于是上网百度,发现百度上面说的方法都治不了我的痛,着实不靠谱,也就没有测试。

 

后来发现个问题,配置文件下

[root@iZ2zeib1msf1e5n3hae56mZ redis-3.0.7]# sed -n '192p' redis.conf 
dir ./

情况一:

[root@test ~]# redis-server /data/redis-3.0.7/redis.conf &
[root@test ~]# ls
conf.n    dump.rdb  http:

情况二:

[root@iZ2zeib1msf1e5n3hae56mZ redis-3.0.7]# ./src/redis-server /data/redis-3.0.7/redis.conf &
[root@iZ2zeib1msf1e5n3hae56mZ redis-3.0.7]# ls
00-RELEASENOTES  BUGS          COPYING  dump.rdb  Makefile   README      redis.log  runtest-cluster   sentinel.conf  tests
bin              CONTRIBUTING  deps     INSTALL   MANIFESTO  redis.conf  runtest    runtest-sentinel  src            utils

发现有什么问题了吧?哈哈哈哈

展开阅读全文
打赏
1
21 收藏
分享
加载中
被黑了,这台机器可以废弃了
2017/01/25 09:27
回复
举报
IT--小哥博主

引用来自“sudo90”的评论

表示参数路径基本都处理,被黑还是要注意
恩恩 是的 被黑了 还是要及时发现和处理的
2017/01/24 14:10
回复
举报
表示参数路径基本都处理,被黑还是要注意
2017/01/24 14:09
回复
举报

引用来自“IT--小哥”的评论

引用来自“桔子”的评论

被人黑了
之前被黑过 不过后面我都处理了

清理root目录,清理cron,清理etc呗修改的配置,修改默认6379端口,启动用非root用户,配置文件中屏蔽一些命令,非毕业监听127.0.0.1,启用认证。最后防火墙添加策略
2017/01/14 18:55
回复
举报
IT--小哥博主

引用来自“桔子”的评论

被人黑了
之前被黑过 不过后面我都处理了
2017/01/14 11:18
回复
举报
被人黑了
2017/01/14 08:34
回复
举报
IT--小哥博主

引用来自“隔壁老王灬”的评论

楼主你好,这句话是什么用啊??? sed -n '192p' redis.conf
打印redis.conf配置文件的192行
2017/01/13 18:20
回复
举报
楼主你好,这句话是什么用啊??? sed -n '192p' redis.conf
2017/01/13 18:16
回复
举报
IT--小哥博主

引用来自“12叔”的评论

/root/.ssh/dump.rdb 这是被攻击了吧

引用来自“IT--小哥”的评论

你从哪里看出来是被攻击的?

引用来自“12叔”的评论

.ssh 切换redis 保存目录到.ssh 然后写入私钥 然后获取 主机权限 😄
哈哈 之前是有被攻击过 和你说的过程差不多 厉害了
2017/01/13 11:33
回复
举报

引用来自“12叔”的评论

/root/.ssh/dump.rdb 这是被攻击了吧

引用来自“IT--小哥”的评论

你从哪里看出来是被攻击的?
.ssh 切换redis 保存目录到.ssh 然后写入私钥 然后获取 主机权限 😄
2017/01/13 11:30
回复
举报
更多评论
打赏
12 评论
21 收藏
1
分享
返回顶部
顶部