精华内容
下载资源
问答
  • 之前一段时间,老左在网友圈抽样进行调查,发现80%以上的站长用户希望网站、服务器实现自动化运维。前几天就有网友希望自己的服务器定期重启。 其实老左经常遇到有网友提到服务器需要定时执行某个任务、以及在...
    之前一段时间,老左在网友圈抽样进行调查,发现80%以上的站长用户希望网站、服务器实现自动化运维。前几天就有网友希望自己的服务器定期重启。
    

    其实老左经常遇到有网友提到服务器需要定时执行某个任务、以及在服务器可能出现问题时候需要自动重启。如果单纯的靠人为的执行效率上肯定不如自动化好。无论我们是个人站长,还是公司企业的专业运维人员,我们在管理和维护网站的时候更为需要实现自动化运维,因为这样不但可以减少我们的工作量和提高工作效率,而且更能快速响应和自动化解决项目服务器的问题。

    这两天,有看到监控宝提供URL回调的功能应用。其实,我们也可以利用监控宝URL回调的功能,检测到宕机报警之后,自动重启Nginx等WEB服务。

    在这篇文章中,老左将会实战演练如何利用监控宝URL回调功能,检测到宕机服务器且进行重新启动Nginx服务,从而恢复网站正常的运转。

    1、准备工作
    A - 我们需要有一个监控宝(jiankongbao.com)账户,如果没有账户则需要新注册一个。

    B - 用户放置URL回调PHP页面的站点目录,我们可以找一个在用/可用的WEB环境站点根目录,也可以自己专门搭建一个,需要当前环境支持SSH2(SSH2安装教程)、以及PHP5.3以上。

    C - 需要监控的站点/服务器,添加到监控宝的监控项目中。

    2、设置URL回调页面和参数获取


    根据上图,我们到自己的监控宝账户中,添加URL回调的页面,这个页面是需要能够访问到的,这里可以根据官方的文档参考制作不同项目的开发脚本。

    3、部署和编辑重启服务器回调脚本
    脚本地址:http://soft.laozuo.org/tools/jiankongbao.zip

    这里老左把脚本也分享出来(感谢P总给予技术支持),这里仅仅是自动重启或者执行SSH命令的范例,对于其他深入的使用则需要我们自己写脚本。


    在文档的jiankongbao.php文件中,参数对应说明,我们需要找到项目的ID、以及当前回调URL的Token,以及我们监控服务器的ROOT信息。
    更为重要的是,在ssh_command是表示在服务器出现问题之后,我们来执行重启Nginx WEB服务,同样的如果我们需要重启数据库也可以这样使用。

    4、监控宝URL回调功能体验
    老左在部署完毕URL回调页面参数之后,针对监控服务器关闭掉Nginx,然后等待监控促发之后手机、邮件告知服务器宕机,然后等待一会可以看到收到恢复且重启Nginx的自动任务。建议购买付费版本,因为从响应速度、监控频率以及功能上会优秀很多。

    总结,通过监控宝URL回调的重新启动WEB服务的功能,我们还可以应用到更为强大的自动运维服务中,这样可以实现无人值守的运维实践。
    展开全文
  • 哨兵服务器的作用就是监控主服务器,实时查看主机状态,确认是否宕机,并且在主服务器宕机时将从服务器升级为主服务器 2.哨兵服务器与Redis集群的关系? 如果你做过Redis集群,你会发现并不需要你手动配置哨兵...

    一、概述与实现

    1.什么是哨兵服务器?

    哨兵服务器的作用就是监控主服务器,实时查看主机状态,确认是否宕机,并且在主服务器宕机时将从服务器升级为主服务器

    2.哨兵服务器与Redis集群的关系?

    如果你做过Redis集群,你会发现并不需要你手动配置哨兵服务器,管理服务器会自动执行脚本将从服务器升级为主服务器,但是实际上它也是通过设置哨兵服务器来完成这个功能的,所以你应该了解服务配置一台哨兵服务器

    3.哨兵服务器的作用

    1)监控master服务器

    2)哨兵服务器检测到master宕机后,将从服务器升级为主服务器

    3)主配置文件为/etc/sentinel.conf

     

     

    二、具体配置

    1.拓扑图

    首先你需要开启主从服务器的主从复制功能

    [搭建Redis主从同步]https://blog.csdn.net/ck784101777/article/details/101381219

     

    2.配置哨兵服务(192.168.4.57)

    1) 安装源码软件redis ,无需做初始化配置。

    1. [root@redis57 redis]# yum -y install gcc
    2. [root@redis57 redis]# tar -zxf redis-4.0.8.tar.gz
    3. [root@redis57 redis]# cd redis-4.0.8/
    4. [root@redis1 redis-4.0.8]# make
    5. [root@redis1 redis-4.0.8]# make install

    2)编辑主配置文件

    默认没有这个文件需要你手动创建

    1. [root@redis57 redis]# vim /etc/sentinel.conf             //创建主配置文件
    2. sentinel monitor server51 192.168.4.51 6351 1          //监视主服务器,1代表1台
    3. bind 0.0.0.0                                                               //哨兵服务地址(表示本机所有网络接口)
    4. sentinel auth-pass server51 123456        //主服务器密码
    5. :wq

    3)启动哨兵服务

    1. [root@redis57 redis]# redis-sentinel /etc/sentinel.conf    //启动哨兵服务
    2. 25371:X 28 Sep 11:16:54.993 # +sdown master redis51 192.168.4.51 6351
    3. 25371:X 28 Sep 11:16:54.993 # +odown master redis51 192.168.4.51 6351 #quorum 1/1
    4. 25371:X 28 Sep 11:16:54.993 # +new-epoch 3
    5. 25371:X 28 Sep 11:16:54.993 # +try-failover master redis51 192.168.4.51 6351
    6. 25371:X 28 Sep 11:16:54.994 # +vote-for-leader be035801d4d48eb63d8420a72796f52fc5cec047 3
    7. ...
    8. 25371:X 28 Sep 11:16:55.287 * +slave slave 192.168.4.51:6351 192.168.4.51 6351 @ redis51 192.168.4.52 6351
    9. 25371:X 28 Sep 11:17:25.316 # +sdown slave 192.168.4.51:6379 192.168.4.51 6379 @ redis51 192.168.4.52 6352

     

    3.测试配置

    1)停止主服务器51的redis服务

    1. [root@redisA ~]#     /etc/init.d/redis_6379 stop
    2. Stopping ...
    3. Waiting for Redis to shutdown ...
    4. Redis stopped
    5. [root@redisA ~]#

    2)在服务器52主机,查看复制信息

    停止主服务器后发现从服务器自动升级为主服务器

    1. [root@redisB ~]# redis-cli -h 192.168.4.52 -p 6352
    2. 192.168.4.52:6352> info replication
    3. # Replication
    4. role:master                                  //角色是master
    5. connected_slaves:0
    6. ……
    7. ……
    展开全文
  • 服务器宕机排查记录

    万次阅读 2016-06-13 09:36:30
    问题症状:服务器内存占用持续增长,性能低下,并发上不去,隔几天宕机 排查思路:分析出内存泄露模块,分析出性能瓶颈,调优JVM 使用工具:jconsole、jprofiler 使用jconsole连接,经过测试得到如下图表,可能...

    问题症状:服务器内存占用持续增长,性能低下,并发上不去,隔几天宕机

    排查思路:分析出内存泄露模块,分析出性能瓶颈,调优JVM

    使用工具:jconsole、jprofiler

    使用jconsole连接,经过测试得到如下图表,可能为JVM配置不当或内存泄露


    通过thread dump发现线程大都阻在HTTPCLIENT获取连接方法上,经分析可能为HTTPCLIENT连接未及时释放

    问题一:HTTPCLIENT连接没有真正释放

    THREAD DUMP日志
    "[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'" id=50 idx=0xbc tid=1596 prio=5 alive, in native, waiting, daemon

    -- Waiting for notification on: org/apache/commons/httpclient/MultiThreadedHttpConnectionManager$ConnectionPool@0x03801D20[fat lock]

    at jrockit/vm/Threads.waitForNotifySignal(JLjava/lang/Object;)Z(Native Method)

    at java/lang/Object.wait(J)V(Native Method)[optimized]

    at org/apache/commons/httpclient/MultiThreadedHttpConnectionManager.doGetConnection(MultiThreadedHttpConnectionManager.java:518)[optimized]

    ^-- Lock released while waiting: org/apache/commons/httpclient/MultiThreadedHttpConnectionManager$ConnectionPool@0x03801D20[fat lock]

    at org/apache/commons/httpclient/MultiThreadedHttpConnectionManager.getConnectionWithTimeout(MultiThreadedHttpConnectionManager.java:416)[optimized]

    at org/apache/commons/httpclient/HttpMethodDirector.executeMethod(HttpMethodDirector.java:153)[optimized]

    at org/apache/commons/httpclient/HttpClient.executeMethod(HttpClient.java:397)[optimized]

    at org/apache/commons/httpclient/HttpClient.executeMethod(HttpClient.java:346)[inlined]

    解决办法:释放连接,为了避免产生大量CLOSE_WAIT,定期关闭空闲连接:
    httpMethod.releaseConnection();
    connectionManager .closeIdleConnections(3000);


    问题二:JVM调优,开启JMX服务,使用JCONSOLE连接
    SUN JDK
    -Xms1024m -Xmx1024m -Xss192k -XX:PermSize=192M -XX:+UseParallelGC -XX:ParallelGCThread=8 -Djava.rmi.server.hostname=172.30.0.232 -Dcom.sun.management.jmxremote.port=7001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

    【调优后】
    服务器经过72小时的压力测试,线程数增加了100个,服务器内存增加了50M,总访问次数291万次,我们判断服务器目前运行正常,今天主要分析了线程数和内存增加的原因。

    从内存占用情况来看,内存最低能释放到170M左右,之前是120M左右,增长了50M左右


    从线程图表上看,有过两次线程增长,且堆栈内存占用都有增加,但是这次的线程数增长和上次不一样,我们的依据是Thread Dump抓包分析、日志分析、console后台分析,上次是由于tmp下文件过多,导致读取本地文件出现IO超时,而导致线程数急剧增长(400个);而这次应该是由于网络问题(ERR日志中有一些Read Time Out异常)而导致某时段内网络出现阻塞,weblogic的线程管理器进行了自动优化,增加一些线程,另外单个HOST最大只能创建100个连接,也与这次线程增长数吻合,线程增长,栈内存增长(20M左右),线程中用到对象实例,堆内存自然增长(50M左右),似乎也合理,依据此我们判断目前服务器运行正常。

    从LoadRunner图表来看,周末网络情况似乎不错,TPS能到16,响应时间也在2S内,比上次图表好看,依然是凌晨的网络比白天的好



    问题三:内存泄露
    通过JMAP命令分析发现jtidy存在内存泄露,经过分析发现时在在异常时没有释放资源
    1371376 164565120 org.w3c.tidy.Node3
    1413005 169560600 org.w3c.tidy.Node
    1437838 172540560 org.w3c.tidy.Node



    问题四:连接数暴涨,分析发现磁盘已满


    问题五:性能瓶颈,通过JPROFILER分析,找出消耗时间最多的方法,进行优化
    分析发现,字符串操作耗时大,XSLT解析XML耗时大,优化,合理使用缓存



    问题六:数据库连接达到上限

    ####<2011-8-25 上午08时21分07秒 CST> <Info> <Console> <RD-DCM-03> <AdminServer> <[ACTIVE] ExecuteThread: '32' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1314231667171> <BEA-240002> <Struts module /core is configured to use com.bea.console.internal.ConsolePageFlowRequestProcessor as the request processor, but the <controller> element does not contain a <set-property> for "controllerClass". Page Flow actions in this module may not be handled correctly.>
    ####<2011-8-25 上午08时21分07秒 CST> <Info> <Console> <RD-DCM-03> <AdminServer> <[ACTIVE] ExecuteThread: '32' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1314231667171> <BEA-240001> <Attempting to instantiate SharedFlowControllers for request /console/core/CoreServerThreadStackDump.do>
    ####<2011-8-25 上午08时21分07秒 CST> <Info> <Console> <RD-DCM-03> <AdminServer> <[ACTIVE] ExecuteThread: '32' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <> <1314231667171> <BEA-240001> <<ConsoleInteraction: User is viewing <com.bea.console.actions.core.server.ThreadStackDumpAction> for <Server> <com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3DAdminServer%2CType%3DServer%22%29>>>
    ####<2011-8-25 上午08时21分17秒 CST> <Info> <Common> <RD-DCM-03> <AdminServer> <[ACTIVE] ExecuteThread: '26' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1314231677484> <BEA-000627> <Reached maximum capacity of pool "dcm", making "0" new resource instances instead of "1".>
    ####<2011-8-25 上午08时21分17秒 CST> <Info> <Common> <RD-DCM-03> <AdminServer> <[ACTIVE] ExecuteThread: '27' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <> <1314231677500> <BEA-000627> <Reached maximum capacity of pool "dcm", making "0" new resource instances instead of "1".>

    JDBC连接池到达极限,设置JDBC Connection Max Capacity


    问题七:其他问题
    使用jps查看java进程id时,显示process informatin unavailable,且jstat无法连接,即无法图形化查看JVM运行情况,对排查问题造成不便,排查发现是管理员帐号中存在"_",最后更换管理员帐号启动脚本,正常
    展开全文
  • Ubuntu服务器宕机排查记录

    千次阅读 2020-03-10 23:40:17
    环境 :ubuntu 问题症状:服务器内存占用持续增长,性能低下,并发上不去,网络无法ping通,无法登录、无法操作,输入操作无响应。也就是说系统宕机了。 宕机原因 : 先查看线上服务日志,再通过...服务器宕机排查记...

    环境 :ubuntu
    问题症状:服务器内存占用持续增长,性能低下,并发上不去,网络无法ping通,无法登录、无法操作,输入操作无响应。也就是说系统宕机了。
    宕机原因 : 先查看线上服务日志,再通过分析Linux系统日志后,报错perf采样太长,可能是I/O中断或者是网络中断时间太长导致。
    在这里插入图片描述
    排查思路:分析出内存泄露模块,分析出性能瓶颈,调优JVM
    系统日志一般在/var/log/下面

       1.查看messages日志,看看有没有CPU温度过高这样的日志。(ubuntu里面是查看kern.log)
    
       2.查看cron 日志
    
       3.查看last 命令:查看最后执行的命令
    
       4.查看boot.log是否有异常
       5.service 
    展开全文
  • 从春运分析服务器宕机原因

    千次阅读 2015-03-12 08:43:32
    服务器宕机致死一般有几种原因,除了前面引发这次北京铁路售票系统提到的设备(硬件)故障外,还有电源故障、软件故障、流量负载过大,遭受黑客攻击等。 致死原因一:电源故障  停电自然会引起 服务器 宕机,...
  • Redis宕机解决方案

    千次阅读 2019-04-03 16:46:17
    多台reids或者是Redis集群,服务器宕机还有办法。 从的redis宕机怎么解决 配置主从复制的时候才配置从的redis, 从的会从主的redis中读取主的redis的操作日志,来达到主从复制。 只要把从的redis重新启动,再和主的...
  • 高并发处理/服务器宕机处理

    万次阅读 2017-04-05 15:54:21
    3. Web/应用服务器分布式文件系统 4. 分布式数据库(数据库主从分布、数据库分割、数据库缓存) 1、HTML静态  其实大家都知道,效率最高、消耗最小的就是纯静态的html页面,所以
  • 多台reids或者是Redis集群,服务器宕机还有办法。 从的redis宕机怎么解决 配置主从复制的时候才配置从的redis, 从的会从主的redis中读取主的redis的操作日志,来达到主从复制。 只要把从的redis重新启动,再和主的...
  • 服务器进行宕机监控,实现邮件(短信)报警。
  • 转自 ... 主要是为了自己学习HeapDump的...EAS服务器内存溢出、宕机解决方案  场景描述:  EAS服务器运行一段时间后,客户端与portal登陆时,出现内存溢出的错误。有时甚至出现服务器直接宕机了,管理控制台也启动不
  • 云上用户遭遇云服务宕机、数据被破坏或丢失的事件时有发生,充分说明了云服务厂商提供的三副本与云快照服务还不能完全满足云上用户数据生命周期保护的需求,很有必要借助现代数据保护全面的策略,来更稳妥地实现用户...
  •  在做服务器负载均衡时候可供选择的负载均衡的算法有很多,包括: 轮循算法(Round Robin)、哈希算法(HASH)、最少连接算法(Least Connection)、响应速度算法(Response Time)、加权法(Weighted )等。其中哈希算法是...
  • redis主从架构宕机问题解决方法

    千次阅读 2019-10-24 18:18:03
    主机宕机 设置端口6379是主机,端口6380是从机,全部都正常启动 验证在6379写入数据,在6380也能得到数据 现在将6379主机停掉,模拟主机宕机 由于主机宕机了,现在就要将6380从机设置为主机,使用slaveof no one...
  • 服务器经常宕机,排查问题思路

    千次阅读 2017-09-24 01:09:00
    服务器宕机排查记录 问题症状  :服务器内存占用持续增长,性能低下,并发上不去,隔几天宕机 排查思路  :分析出内存泄露模块,分析出性能瓶颈,调优JVM 使用工具  :jconsole、jprofiler   ...
  • 为什么要模拟? 主要原因有两个,第一个...有次服务器B宕机了,然后整个服务全都断了。一开始以为是mysql断了,所以只要服务器重启起来,zk重启,应该服务都好了。后来发现就算服务器起来了,mysql能连上,服务还是...
  • 宕机迁移

    千次阅读 2019-08-13 10:20:44
    宕机迁移是阿里云提供的物理机宕机保护用户手段之一,指部署在物理机上云服务器由于底层物理机性能出现异常或者其他原因都会导致物理机宕机时,系统会启动保护性迁移,将其上受影响的云服务器迁移到性能正常的物理机...
  • 1 主机宕机1、 设置端口6379是主机,端口6380是从机,全部都正常启动2、 验证在6379写入数据,在6380也能得到数据3、 现在将6379主机停掉,模拟主机宕机4、 由于主机宕机了,现在就要将6380从机设置为主机,...
  • 第一次宕机时,初始以为是系统内存溢出,于是重启应用服务器,发现应用服务器在启动时报错,错误为无法连接到Oracle数据库。于是连接数据库服务器,打开EM后发现系统报错如图: 提示归档日志写入失败,检查...
  • 谈谈服务器虚拟化解决方案

    万次阅读 2019-06-05 10:45:11
    谈谈服务器虚拟化解决方案 现如今的 x86 服务器的设计存在局限性,每次只能运行一个操作系统和应用,这为 IT 部门带来了挑战。因此,即使是小型数据中心也必须部署大量服务器,而每台服务器的容量利用率只有 5% 到 ...
  • 最近虚拟出来的一台winserver 2012服务器规律性宕机,一开始是每天夜里三点左右宕机,后期变为每二三十分钟宕机宕机后使用vsphere强制关闭电源,得三十分钟左右才能完全关闭。 找了很长时间的原因也没找到到底...
  • Redis 宕机之后 启动失败 启动不了 原因之一 aof 文件出错 以及持久介绍 1. 将现有已经坏损的AOF文件额外拷贝出来一份。 2. 执行"redis-check-aof --fix <filename>"命令来修复坏损的AOF文件。 3. 用修复后的AOF...
  • Redis的KEYS命令引起宕机事件

    千次阅读 2018-09-21 09:31:26
    Redis的KEYS命令引起RDS数据库雪崩,RDS发生两次宕机,造成几百万的资金损失 原文:Redis的KEYS命令引起RDS数据库雪崩,RDS发生两次宕机,造成几百万的资金损失 作者:陈浩翔 本文经授权转载,仅用于学习,版权...
  • Redis宕机数据怎样恢复 Redis 数据都放在内存中。如果机器宕机,内存的数据就不存在。 需要做持久,将内存中的数据保存在磁盘,下一次启动的时候就可以恢复数据到内存中。 redis提供两种将内存数据导出到硬盘实现...
  • 文章目录第一次宕机事故影响原因分析改进方案第二次宕机原因分析改进方案总结Redis开发建议1.冷热数据分离,不要将所有数据全部都放到Redis中2.不同的业务数据要分开存储3.存储的Key一定要设置超时时间4.对于必须要...
  • Redis宕机怎么办?哨兵机制?

    千次阅读 2020-02-15 12:40:57
    宕机宕机是计算机术语,口语里面我们简单的把停掉机器叫做down机,转换为汉字是“宕机”,但很多人都叫做“当机”/“死机”。简单来说就是服务器停止服务。 redis一般在企业中做分布式缓存,可以大大的减小高并发...
  • #最大并发数 server.tomcat.max-threads=1000 #接受和处理的最大连接数 ...#初始时创建的线程数 server.tomcat.min-spare-threads=20 #可以放到处理队列中的请求数 server.tomcat.acceptCount=700 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 65,897
精华内容 26,358
关键字:

服务器宕机的自动化解决