centos io监控 docker的监控工具

大家好,今天给各位分享centos io监控的一些知识,其中也会对docker的监控工具进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

centos7上安装jenkins

在CentOS 7上安装和配置Jenkins的步骤如下:

首先,确保安装并检查JDK:检查JDK的安装并添加Jenkins的源,如果安装速度慢,可选择国内源。

安装完成后,Jenkins的相关文件和目录包括:

安装目录:/usr/lib/jenkins,WAR包存放于此。

配置文件:编辑/etc/sysconfig/jenkins,可以配置端口和JENKINS_HOME,例如设置JVM参数。

JENKINS_HOME:默认在/var/lib/jenkins,包含目录结构。

日志文件:监控日志文件位置:/var/log/jenkins/jenkins.log。

权限设置:为jenkins用户分配必要的目录读写权限和执行脚本权限。

启动与管理Jenkins:使用systemctl命令启动和停止服务,如遇到问题,如找不到java,需修改init.d/jenkins文件路径。

登录Jenkins:默认端口为8080,初次登录设置初始管理员密码,然后进行插件安装、权限配置等。

为了构建Java项目,还需安装Maven和Git,参考相关笔记安装。

Jenkins的工作空间在${JENKINS_HOME}/workspace,用于存放代码和打包。

遇到插件安装问题时,可以离线安装,从plugins.jenkins.io下载所需插件,上传至Jenkins。

配置邮件通知,设置系统管理员邮件地址,进行测试。

此外,还需配置凭证管理、全局Pipeline Libraries(如果有使用)以及全局变量。安装完成后,可通过查找并删除安装文件进行Jenkins的卸载。

centos怎样编写tomcat宕机自动重新启动

一、设置tomcat定时启动

1,首先将tomcat注册为服务,先打开tomcat的bin目录下service.bat文件,修改下面的值,这是sevvice的注册名称和显示名称,一般可使用默认值。

set SERVICE_NAME=Tomcat7

set PR_DISPLAYNAME=Apache Tomcat

【然后修改jvm大小,搜索到--JvmMs 128--JvmMx 256进行修改,因为做成服务启动,启动的时候就不会用到 catalina.bat,也就不会读取里面的jvm设置了。】(可选,可以不设置)

然后运行cmd命令窗口,cd到tomcat的bin目录下,运行下面的命令

service.bat install运行成功过后,会提示服务已经安装成功。

2,制作重启脚本restart.bat,文件内容如下

net stop Tomcat7 net start Tomcat7

3,利用控制面板里面的“任务计划”设置第2步的脚本运行时间计划

4,如果想删除服务,也很简单,先把服务停掉,然后在cmd窗口运行下面的命令即可,后面那个Tomcat7是服务名。

sc delete Tomcat7

需要注意的是,需要先把服务停掉,才能一次删除成功,或者删除之后再停止服务,就会发现服务已经删除成功了。

二、监听tomcat

只要运行start.bat即可,相关配置在config.properties文件中,默认即可,如果服务名不对应就修改关闭和启动命令的服务名即可:net start【Tomcat7】括号中服务名,然后运行start.bat

下面是具体的监听代码:

首先是监听类TomcatMonitor.java:

[java] view plain copy

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.MalformedURLException;

import java.net.URL;

import java.net.URLConnection;

import java.util.Properties;

/**

*@describe:TomcatMonitor.java

*

*@date 2016-7-4

*@author liuweilong

*/

public class TomcatMonitor implements Runnable{

String start="";//系统命令启动

String stop="";//系统命令关闭

String testHttp="";//测试连接地址

int testIntervalTime=1;//测试连接间隔时间,单位为秒

int waitIntervalTime=2;//等待测试间隔时间,单位为秒

int testTotalCount=5;//测试连接总次数

Thread thread=null;

public TomcatMonitor(){

InputStream in= TomcatMonitor.class.getResourceAsStream("config.properties");

Properties p= new Properties();

try{

p.load(in);

stop=p.getProperty("stop");

start=p.getProperty("start");

testHttp=p.getProperty("testHttp");

testIntervalTime=Integer.parseInt(p.getProperty("testIntervalTime"));

waitIntervalTime=Integer.parseInt(p.getProperty("waitIntervalTime"));

testTotalCount=Integer.parseInt(p.getProperty("testTotalCount"));

} catch(Exception e){

e.printStackTrace();

}

System.out.println("*******************初始化成功!*******************");

thread=new Thread(this);

thread.start();

}

public void run(){

System.out.println("正在监控中...");

int testCount=0;

while(true){

testCount=0;

testCount++;

boolean isrun=test();

System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!"));

while(!isrun){

if(testCount>=testTotalCount)break;

try{

thread.sleep(testIntervalTime*1000);

} catch(InterruptedException e){

e.printStackTrace();

}

testCount++;

System.out.println("正在启动测试连接,尝试连接次数为:"+testCount+",结果为:"+(isrun==false?"失败.":"成功!"));

isrun=test();

}

if(!isrun){

try{

//关闭tomcat服务

Process proc= Runtime.getRuntime().exec(stop);

thread.sleep(5000);

//启动tomcat服务

System.out.println("测试连接失败,正在重启tomcat");

Process p=Runtime.getRuntime().exec(start);

System.out.println("重启tomcat成功");

}catch(Exception e){

e.printStackTrace();

System.out.println("重启tomcat异常,请查看先关错误信息。。。。。");

}

}

try{

thread.sleep(waitIntervalTime*1000);

} catch(InterruptedException e){

e.printStackTrace();

}

isrun=test();

}

}

public boolean test(){

URL url=null;

try{

url= new URL(testHttp);

} catch(MalformedURLException e){

e.printStackTrace();

}

try{

URLConnection urlConn=url.openConnection();

urlConn.setReadTimeout(15000);

BufferedReader reader= new BufferedReader(new InputStreamReader( urlConn.getInputStream()));//实例化输入流,并获取网页代码

String s;

while((s= reader.readLine())!= null){

return true;

}

} catch(Exception e){

return false;

}

return false;

}

public static void main(String[] args) throws Exception{

TomcatMonitor tm=new TomcatMonitor();

}

}

然后是对应的配置文件config.properties:

[plain] view plain copy

#系统命令启动

start=net start Tomcat7

#关闭

stop= net stop Tomcat7

#测试连接总次数

testTotalCount=3

#连接失败时,再次检测时间间隔,单位为秒

testIntervalTime=3

#连接超时时间,即多少秒tomcat没响应视为宕机,单位为秒

connectionTimeout=15

#tomcat启动时间,防止在tomcat尚未启动完成的时候,程序又去检验tomcat状态,造成尚未启动完成又重新启动,单位为秒

tomcatStartTime=600

#测试连接地址

testHttp=

#正常情况下,每次检测间隔时间,单位为秒

waitIntervalTime=30

最后是启动的start.bat:

[plain] view plain copy

java-cp. TomcatMonitor

centos 常用命令

以下是我整理的centos常用命令,方便日后使用时查阅。

您可以通过执行命令 lscpu来查看CPU的详细参数。

查看CPU使用率的方法之一是使用 top命令。

top命令能够显示系统的整体运行状态以及CPU的使用率。

具体来说,%us表示用户空间程序的CPU使用率(未经nice调度);%sy表示系统空间的CPU使用率,主要指内核程序;%ni表示用户空间且经过nice调度的程序的CPU使用率;%id表示空闲CPU;%wa表示CPU在等待IO时的时间;%hi表示CPU处理的硬中断数量;%si表示CPU处理的软中断数量;%st表示被虚拟机窃取的CPU。

需要注意的是,99.0的id值表示空闲CPU,即CPU未使用率,100%-99.0%=1%,即系统的CPU使用率为1%。

另一个常用的命令是 vmstat。

vmstat是Linux/Unix系统中最常见的监控工具之一,它可以在指定的时间间隔内展现服务器的状态值。

该命令的参数包括服务器的CPU使用率、内存使用、虚拟内存交换情况以及IO读写情况。与top命令相比,vmstat可以展示整个机器的CPU、内存和IO的使用情况,而不仅仅是各个进程的CPU使用率和内存使用率。

阅读剩余
THE END