open-falcon / falcon-plus

An open-source and enterprise-level monitoring system.
Apache License 2.0
7.27k stars 1.53k forks source link

falcon做成linux服务以及对mysql,redis等的依赖问题 #941

Open lovepanda603 opened 3 years ago

lovepanda603 commented 3 years ago

下面我放在/etc/init.d/falcon的服务

#! /bin/bash
#chkconfig:2345 61 61
#description:falcon

# Source function library.
. /etc/init.d/functions

cd /home/work/open-falcon/
# See how we were called.
case "$1" in
start)
     ./open-falcon start
     ;;
stop)
     ./open-falcon stop
     ;;
status)
     ./open-falcon check
     ;;
restart|force-reload)
     ./open-falcon stop
     ./open-falcon start
     ./open-falcon check
     rc=$?
     ;;
*)
    echo $"Usage: $0 {start|stop|status|restart|force-reload}"
    exit 2
esac

exit $rc

我的mysql和redis是放在另一台服务器的,但是如果机房停电然后来电后,falcon的服务有可能起不来,自己用两台虚拟机模拟也可以,原因是mysql和redis的启动在falcon之后,falcon又依赖mysql和redis,否则falcon会有几个依赖这些的起不来,请问这种情况是否有什么办法解决呢?或者说falcon有类似于java的连接池之类的机制,让服务先起来等待mysql和redis启动,再正常接收数据,不影响服务先启动,否则服务起不来很不好维护。 当然如果有一些脚本能够对falcon的服务做监控来自动启动也可以,或者守卫之类的。

laiwei commented 3 years ago

@lovepanda603 可以在falcon进程启动之前,check 一下 mysql 和 redis 是否已经成功启动。