falcon-plus icon indicating copy to clipboard operation
falcon-plus copied to clipboard

ansible 批量启动agent失败

Open wuhualiang opened this issue 7 years ago • 8 comments

ansible web-cluster -m shell -a "cd /xxx/open-falcon/ && ./open-falcon start agent" 输出正常 2.ansible web-cluster -m shell -a "cd /xxx/open-falcon/ && ./open-falcon check" 输出显示down的状态 直接在web-cluster 上启动 输出显示正常 4.直接在web-cluster 执行 ./open-falcon check 输出显示启动状态 5.ansible web-cluster -m shell -a "cd /xxx/open-falcon/ && ./open-falcon stop" 输出显示全部stop ps: open-falcon 版本v0.2.1 ansible 版本 2.4.2.0

wuhualiang avatar Jan 02 '18 06:01 wuhualiang

ansible web-cluster -m shell -a "cd /xxx/open-falcon/ && ./open-falcon start agent; sleep 1; ps aux |grep falcon |grep agent"

你可以用上面的命令,启动之后,ps一下,看看falcon-agent的进程是否存在。

初步看起来,是ansible在退出当前的会话的时候,给agent发送了terminate信号吧

laiwei avatar Jan 02 '18 11:01 laiwei

ansible没怎么用过,但是saltstack在批量启动agent的时候没有遇到这个问题!

zhulh200868 avatar Jan 02 '18 14:01 zhulh200868

@laiwei 按照你的命令跑了下 是能看到进程的 ,应该是你说的原因
谢啦 ! 怎么规避呢?

wuhualiang avatar Jan 05 '18 11:01 wuhualiang

@wuhualiang 比较low的方法是写一个script(需scp至web-cluster),start_agent.sh内容如下: cd /xxx/open-falcon/ &&nohup ./open-falcon start agent & 通过如下命令: ansible web-cluster -m shell -a "cd cd /xxx/open-falcon/&& sh ./start_agent.sh" sleep 5 ansible web-cluster -m shell -a "ps -ef|grep agent|grep -v grep" 因为ansible在执行远程命令的时候会fork出子线程来运行命令,当有返回结果的时候ansible会正常退出,这时会结束所有fork的子线程。

zhulh200868 avatar Jan 06 '18 06:01 zhulh200868

同楼主的问题,试了各种模块,最后还是妥协用nohup了,命令如下: ansible 172.16.116.111 -m command -a "chdir=/usr/local/open-falcon nohup /usr/local/open-falcon/open-falcon start agent"

xuanouba avatar Jan 18 '18 09:01 xuanouba

@xuanouba 这个可以 用脚本不写nohup 也起不来

wuhualiang avatar Jan 18 '18 10:01 wuhualiang

@wuhualiang 是的,试过用脚本,估计也是上面大神描述的,子线程运行返回结果后,给子线程开启的终端发送了terminate信号导致的。之前也试过用ansible批量重启tomcat,也是命令正常执行了,有正常的返回结果,但到服务器上查看就是没启来。。。

xuanouba avatar Jan 19 '18 09:01 xuanouba

ansible -i hosts all -m shell -a "cd /home/work;setsid ./open-falcon start agent" ansible -i hosts all -m shell -a "cd /home/work;nohup ./open-falcon start agent" 都可以启动

akin520 avatar Oct 31 '18 08:10 akin520