基于Saltstatck实现页面实时显示tomcat启动日志(17)
一、相关文件
master端:
/srv/salt/tomcat/start.sls #tomcat启动服务state.sls,须要自己创建
/srv/salt/tomcat/log.sls #页面实时显示tomcat启动日志state.sls,须要自己创建
/srv/salt/scripts/checklog.sh #/srv/salt/tomcat/log.sls中用到脚本,须要自己创建
minion端:
/ylhb/log/html #记录tomcat实时启动日志,自己主动生成,无需创建
/ylhb/log/tomcat-nohup/nohup.out #tomcat日志文件
/ylhb/log/num.txt #当前tomcat日志文件行数,自己主动生成,无需创建
二、/srv/salt/tomcat/start.sls文件内容
tomcat_start:
cmd.run:
- name: echo " " > /ylhb/log/html ;wc -l /ylhb/log/tomcat-nohup/nohup.out | awk '{ print $1 }' > /ylhb/log/num.txt;sh /ylhb/product/tomcat/bin/startup.sh
- env:
- LC_ALL: ""
- user: ylhb
三、/srv/salt/tomcat/log.sls文件内容
tomcat_checklog:
cmd.script:
- name: salt://scripts/checklog.sh
- env:
- LC_ALL: ""
- user: ylhb
四、/srv/salt/scripts/checklog.sh文件内容
#!/bin/sh
#
num1=`wc -l /ylhb/log/tomcat-nohup/nohup.out | awk '{ print $1 }'`
num2=`cat /ylhb/log/num.txt`
if [ "$num1" -gt "$num2" ]; then
grep "Server startup in" /ylhb/log/html
if [ "$? " != "0" ];then
echo $num1 > /ylhb/log/num.txt
sed -n `expr $num2 + 1`,`wc -l /ylhb/log/tomcat-nohup/nohup.out | awk '{ print $1 }'`p /ylhb/log/tomcat-nohup/nohup.out >> /ylhb/log/html
else
grep "TotalERROR:" /ylhb/log/html
if [ "$?" != "0" ];then
numerror=`grep -w "Error" /ylhb/log/html | wc -l`
echo -e "\n\nTotalERROR: $numerror" >> /ylhb/log/html
fi
fi
fi
cat /ylhb/log/html
五、功能实现
1.在WEB页面操作启动tomcat服务,调用salt-api接口操作start.sls,同一时候打开新的页面
2.新打开的页面调用salt-api接口操作log.sls,且自己主动刷新页面
如上就可以达到页面实时显示tomcat启动日志功能
基于Saltstatck实现页面实时显示tomcat启动日志(17)的更多相关文章
- 【linux】linux重启tomcat + 实时查看tomcat启动日志
linux重启tomcat命令: http://www.cnblogs.com/plus301/p/6237468.html linux查看toncat实时的启动日志: https://www.cnb ...
- linux下打开、关闭tomcat,实时查看tomcat执行日志
启动:通常是运行sh tomcat/bin/startup.sh 停止:通常是运行sh tomcat/bin/shutdown.sh脚本命令 查看:运行ps -ef |grep tomc ...
- Linux下如何查看tomcat是否启动、查看tomcat启动日志
在Linux系统下,重启Tomcat使用命令的操作! 1.首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh ...
- Linux下如何查看tomcat是否启动、查看tomcat启动日志(转)
在Linux系统下,重启Tomcat使用命令的操作! 1.首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 ./shutdown.sh ...
- Javaweb项目页面实时显示后台处理结果
http://www.cnblogs.com/dong-xu/p/6701271.html 此博文甚好,项目参照博主代码可实现. 前端页面: <%@ page language="ja ...
- python实现websocket服务器,可以在web实时显示远程服务器日志
一.开始的话 使用python简单的实现websocket服务器,可以在浏览器上实时显示远程服务器的日志信息. 之前做了一个web版的发布系统,但没实现在线看日志,每次发布版本后,都需要登录到服务器上 ...
- python websocket网页实时显示远程服务器日志信息
功能:用websocket技术,在运维工具的浏览器上实时显示远程服务器上的日志信息 一般我们在运维工具部署环境的时候,需要实时展现部署过程中的信息,或者在浏览器中实时显示程序日志给开发人员看.你还在用 ...
- python2.7实现websocket服务器,可以在web实时显示远程服务器日志
一.开始的话 使用python实现websocket服务器,可以在浏览器上实时显示远程服务器的日志. 之前写了一个发布系统,每次发布版本后,为了了解发布情况(进度.是否有错误)都会登录到服务器上查看日 ...
- 运维开发:python websocket网页实时显示远程服务器日志信息
功能:用websocket技术,在运维工具的浏览器上实时显示远程服务器上的日志信息 一般我们在运维工具部署环境的时候,需要实时展现部署过程中的信息,或者在浏览器中实时显示程序日志给开发人员看.你还在用 ...
随机推荐
- c/c++相关面试准备笔记1
在c++程序中调用被C编译器编译后的函数,为什么要加extern “C”? C++语言支持函数重载,C语言不支持函数重载.函数被C++编译后在库中的名字与C语言的不同.C++提供了C连接交换指定符号 ...
- nvm: node版本管理工具
安装nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash node 版本切 ...
- hdu 5138(水题)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5138 反着来. #include<iostream> #include<cstdi ...
- vagrant virtualbox VM inaccessible解决办法
vagrant无法访问的提示:Please open VirtualBox and clear out your inaccessible virtual machines or find a way ...
- 二十六个月Android学习工作总结【转】
原文:二十六个月Android学习工作总结 1.客户端的功能逻辑不难,UI界面也不难,但写UI花的时间是写功能逻辑的两倍. 2.写代码前的思考过程非常重要,即使在简单的功能,也需要在本子上把该 ...
- VS2010/2012Web负载测试
原文地址:http://www.cnblogs.com/aarond/archive/2013/04/18/performance.html VS自带的Web负载测试真的很大程度上能和专业的loadr ...
- Linux下多进程服务端客户端模型二(粘包问题与一种解决方法)
一.Linux发送网络消息的过程 (1) 应用程序调用write()将消息发送到内核中 ( 2)内核中的缓存达到了固定长度数据后,一般是SO_SNDBUF,将发送到TCP协议层 (3)IP层从TCP层 ...
- Codeforces Round #267 (Div. 2) B. Fedor and New Game【位运算/给你m+1个数让你判断所给数的二进制形式与第m+1个数不相同的位数是不是小于等于k,是的话就累计起来】
After you had helped George and Alex to move in the dorm, they went to help their friend Fedor play ...
- POJ 3620 Avoid The Lakes【DFS找联通块】
Avoid The Lakes Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6826 Accepted: 3637 D ...
- [Python Cookbook] Pandas: Indexing of DataFrame
Selecting a Row df.loc[index] # if index is a string, add ' '; if index is a number, no ' ' or df.il ...