Nagios经check_http监视web申请书server多个tomcat维修
怎么样nagios显示器tomcat,它是一个相对简单的和复杂的事情。简单是因为,只有监控的假设web应用服务器tomcat无论是服务正常进行,很简单。假设你要监视tomcat其他例子,例如连接数jvm内存使用等更复杂,google没有合适的监控脚本;假设你要监视web上述多个应用程序tomcat服务器,并且非常多tomcat服务都是跳转式的。那就须要多做非常多事情。
一般通常都使用tcp tomcatport的方式,只是这有一个bug就是tomcat假死的情况下,tcp port是OK的,可是tomcat里面部署的web应用事实上已经不能正常訪问,这个时候须要使用http方式来监控tomcat的状态。
所以本文就记录了怎样採用http方式来监控一台web服务器上多个tomcat应用服务器。
1在tomcat web服务器上安装nrpe客户端:
Rpm包下载地址为:http://download.csdn.net/detail/mchdba/7493875
1.1。rpm方式安装nrpe客户端
[root@localhost nagios]# ll
总计 768
-rw-r--r-- 1 root root 713389 12-16 12:08 nagios-plugins-1.4.11-1.x86_64.rpm
-rw-r--r-- 1 root root 32706 12-16 12:09 nrpe-2.12-1.x86_64.rpm
-rw-r--r-- 1 root root 18997 12-16 12:08 nrpe-plugin-2.12-1.x86_64.rpm [root@localhost nagios]# rpm -ivh *.rpm --nodeps --force
Preparing... ########################################### [100%]
1:nagios-plugins ########################################### [ 33%]
id: nagios:无此用户
2:nrpe ########################################### [ 67%]
3:nrpe-plugin ########################################### [100%]
[root@cache-1 ~]#
1.2 在配置文件最末尾,加入配置信息以及监控主机服务器ip地址
[root@ localhost nagios]# vim /etc/nagios/nrpe.cfg
# add by tim on 2014-06-11
command[check_users]=/usr/local/nagios/libexec/check_users -w 8 -c 15
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
#command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 50 -c 80
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 750 -c 800
command[check-host-alive]=/usr/local/nagios/libexec/check_ping -H 10.xx.xx.10 -w 3000.0,80% -c 5000.0,100% -p 5
allowed_hosts = 127.0.0.1,10.xx.xxx.xx1
check下命令是否生效:
[root@webserver nrpe-2.15]# /usr/local/nagios/libexec/check_users -w 8 -c 15
USERS OK - 2 users currently logged in |users=2;8;15;0
[root@webserver nrpe-2.15]#
看到已经USERS OK -….命令已经生效。
1.3 启动nrpe报错例如以下:
[root@webserver ~]# service nrpe restart
Shutting down nrpe: [失败]
Starting nrpe: /usr/sbin/nrpe: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
[失败]
[root@webserver ~]#
[root@db-m2-slave-1 nagios_client]# service nrpe start
Starting nrpe: /usr/sbin/nrpe: error while loading shared libraries: libssl.so.6: cannot open shared object file: No such file or directory
[失败]
[root@db-m2-slave-1 nagios_client]#
建立软连接
[root@db-m2-slave-1 nagios_client]# ln -s /usr/lib64/libssl.so /usr/lib64/libssl.so.6
(假设没有libssl.so,就採用别的libssl.so.10来做软连接,ln -s /usr/lib64/libssl.so.10 /usr/lib64/libssl.so.6)
[root@db-m2-slave-1 nagios_client]#
再又一次启动例如以下:
[root@webserver nagios_client]# service nrpe start
Starting nrpe: /usr/sbin/nrpe: error while loading shared libraries: libcrypto.so.6: cannot open shared object file: No such file or directory
[失败]
[root@web-10 ~]# ll /usr/lib64/libcrypto.so
lrwxrwxrwx. 1 root root 18 10月 13 2013 /usr/lib64/libcrypto.so -> libcrypto.so.1.0.0
[root@webserver nagios_client]#
再建软链接:
[root@webserver nagios_client]# ln -s /usr/lib64/libcrypto.so /usr/lib64/libcrypto.so.6
(或者假设没有libcrypto.so,就採用libcrypto.so.10做软连接。 ln -s /usr/lib64/libcrypto.so.10 /usr/lib64/libcrypto.so.6)
[root@webserver nagios_client]# service nrpe start
Starting nrpe: [确定]
[root@webserver nagios_client]#
1.4 检測下nrpe是否正常执行:
去nagios服务器端check下
[root@cache-2 ~]# /usr/local/nagios/libexec/check_nrpe -H 10.xx.xx.10
NRPE v2.12
[root@cache-2 ~]#
看到返回NRPE v2.15表示已经连接成功。
1.5 在web应用下加入检測jsp文件
(1) 建立測试文件
vim ./webapps/nagios_test_0611/nagios_test_0611.jsp
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>nagios test here</title>
</head>
<body>
<center>Now time is: <%=new java.util.Date()%></center>
</body>
</html>
(2) 去check下check_http命令
[root@webserver~]# /usr/local/nagios/libexec/check_http -I 10.xx.xx.10 -p 8300 -u /nagios_test_0611/nagios_test_0611.jsp -e 200
HTTP CRITICAL - Invalid HTTP response received from host on port 8300: HTTP/1.1 404 Not Found
须要重新启动一下tomcat,使新加入的jsp生效能打开,执行例如以下stop start命令:
/usr/local/app/apache-tomcat-6.0.37_8300/bin/shutdown.sh
/usr/local/app/apache-tomcat-6.0.37_8300/bin/startup.sh
再执行check_http命令
[root@webserver~]# /usr/local/nagios/libexec/check_http -I 10.xx.xx.10 -p 8300 -u /nagios_test_0611/nagios_test_0611.jsp -e 200
HTTP OK: Status line output matched "200" - 571 bytes in 0.882 second response time |time=0.882479s;;;0.000000 size=571B;;;0
[root@ webserver ~]#
1.6查看NRPE的监控命令
[root@webserver nrpe-2.15]# cat /etc/nagios/nrpe.cfg |grep -v "^#"|grep -v "^$"
log_facility=daemon
pid_file=/var/run/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios dont_blame_nrpe=0
debug=0
command_timeout=60
connection_timeout=300
command[check_users]=/usr/local/nagios/libexec/check_users -w 8 -c 15
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 750 -c 800
command[check-host-alive]=/usr/local/nagios/libexec/check_ping -H 10.xx.xx.10 -w 3000.0,80% -c 5000.0,100% -p 5
allowed_hosts=127.0.0.1,10.xx.xxx.xx1
[root@webserver nrpe-2.15]#
2。去nagios服务器端加入host等监控信息。
2.1 在hosts.cfg里面加入主机信息
define host{
use linux-server
host_name webserver
alias webserver
address 10.xx.xx.10
check_command check-host-alive
max_check_attempts 5
check_period 24x7
contact_groups ops
notification_interval 60
notification_period 24x7
notification_options d,u,r
}
2.2 在service.cfg里面加入web机器监控的命令信息
# No.007 webserver
# service definition
define service{
host_name webserver
service_description check_load
check_command check_nrpe!check_load
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups opsweb
} define service{
host_name webserver
service_description check-host-alive
check_command check-host-alive
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups opsweb
} define service{
host_name webserver
service_description Check Disk sda1
check_command check_nrpe!check_sda1
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups opsweb
} define service{
host_name webserver
service_description Total Processes
check_command check_nrpe!check_total_procs
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups opsweb
} define service{
host_name webserver
service_description Current Users
check_command check_nrpe!check_users
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups opsweb
} define service{
host_name webserver
service_description Check Zombie Procs
check_command check_nrpe!check_zombie_procs
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups opsweb
} define service{
host_name webserver
service_description Check Tomcat 9300 Status
check_command check_nrpe!check_tomcat_9300_status
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups opsweb
}
2.3 在vim contacts.cfg加入新的opsweb邮件组信息
define contactgroup{
contactgroup_name opsweb
alias pl ops team
members tim,mch,nagiosadmin
}
2.4 加入新的监控tomcat的命令,check_tomcat_9300_status
这里不採用check_tcp!8080port的方式。是由于在实际中tomcat服务假死之后。jsp的网页都是打不开的,可是这个监控port8080都是正常的。不会报警出来。所以採用check_http的方式。新建立一个通用的/nagios_test_0611/nagios_test_0611.jsp文件。来检測这个jsp的訪问情况。例如以下所看到的:
vim commands.cfg
# add by tim on 20140611
define command{
command_name check_tomcat_9300_status
command_line $USER1$/check_http -I $HOSTADDRESS$ -p $PORT$ -u $URL$ -e $N200$ -w $Warning$ -c$Cri$
}
Jsp文件内容例如以下:
[root@webserver webapps]# vim . /nagios_test_0611/nagios_test_0611.jsp
<%@ page language="java" contentType="text/html; charset=gb2312"
pageEncoding="gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>nagios test here</title>
</head>
<body>
<center>Now time is: <%=new java.util.Date()%></center>
</body>
</html>
2.5 在被监控客户端的nrpe.cfg配置文件中面加入tomcatport配置信息:
command[check_tomcat_9300_status]=/usr/local/nagios/libexec/check_http -I 10.xx.xx.10 -p 9444 -u /nagios_test_0611/nagios_test_0611.jsp -e 200 -w 5 -c 10
command[check_tomcat_8300_status]=/usr/local/nagios/libexec/check_http -I 10.xx.xx.10 -p 8300 -u /nagios_test_0611/nagios_test_0611.jsp -e 200 -w 5 -c 10
2.6 測试报错
[root@cache-2 objects]# /usr/local/nagios/libexec/check_nrpe -H 10.xx.xx.10 -c check_load
NRPE: Unable to read output
[root@cache-2 objects]#
已经加入了tomcat930port,如今再加入一个tomcat8300port
去服务器端shell命令行里面check下
/usr/local/nagios/libexec/check_nrpe -H 192.168.15.178 -c check_mysql_myisam_lock
[root@cache-2 etc]# /usr/local/nagios/libexec/check_nrpe -H 10.xx.xx.10 -c check_load
NRPE: Unable to read output
[root@cache-2 etc]#
相同报错,那么可能就是nagios被监控端的问题。
终于检查是nrpe.cfg里面路径有误,源代码安装默认路径是:/usr/local/nagios/libexec/check_http,rpm安装默认路径是:/usr/lib/nagios/plugins/。这里是rpm安装。所以nrpe.cfg配置文件中面用后面rpm的路径/usr/lib/nagios/plugins/,替换下service nrpe restart之后,问题解决。例如以下图所看到的:
3 tomcat多port监控报警
已经加入了tomcat930port。如今再加入一个tomcat8300port
3.1 客户端的nrpe.cfg里面加入配置
[root@webserver root]# vim /etc/nagios/nrpe.cfg
command[check_tomcat_8300_status]=/usr/lib/nagios/plugins/check_http -I 10.xx.xx.10 -p 8300 -u /xx_xx_xx/index.html -e 200 -w 5 -c 10
3.2 nagios服务器端
加入command命令
[root@cache-2 etc]# vim ./objects/commands.cfg
define command{
command_name check_tomcat_8300_status
command_line $USER1$/check_http -I $HOSTADDRESS$ -p $PORT$ -u $URL$ -e $N200$ -w $Warning$ -c$Cri$
}
加入service服务
define service{
host_name webserver
service_description Tomcat_8300_Status
check_command check_nrpe!check_tomcat_8300_status
max_check_attempts 5
normal_check_interval 3
retry_check_interval 2
check_period 24x7
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
contact_groups opsweb
}
3.3 在nagios服务器上check下新加入的命令是否生效
[root@cache-2 etc]# /usr/local/nagios/libexec/check_nrpe -H 10.xx.xx.10 -c check_tomcat_8300_status
HTTP OK HTTP/1.1 200 OK - 611 bytes in 0.003 seconds |time=0.003152s;5.000000;10.000000;0.000000 size=611B;;;0
[root@cache-2 etc]#
看到命令已经生效。
3.4 重新启动nagios服务器,查看结果
[root@cache-2 etc]# service nagios reload
Running configuration check...
Reloading nagios configuration...
done
[root@cache-2 etc]#
重新启动后,过3分钟,新的tomcat8300已经监控起来了,例如以下图所看到的:
为了验证tomcat的监控效果。在web服务器客户端,停掉tomcat的9300port,一会就会收到报警email,也会在nagios页面看到红色报警提示。例如以下所看到的:
这标示2个nagios选项监控的是2个port,一个9300。一个8300;
4 加入新port8200检測-e 200报错问题解决
[root@webserver OCC_MANAGER_Web]# /usr/lib/nagios/plugins/check_http -I 10.xx.xx.10 -p 8200 -u /OCC_REPORT_Web/index.html -e 200 -w 5 -c 10
HTTP CRITICAL - Invalid HTTP response received from host on port 8200
[root@webserver OCC_MANAGER_Web]#
4.1 直接訪问tomcat服务以及indexhtml
http://10.xx.xx.10:8200/OCC_REPORT_Web/index.html是能够訪问的,可是会跳转到
http://www.xxxx.xx/OCC_SSO_Web/login.htm?redirect=http%3A%2F%2F10.xx.xx.10%3A8200%2FOCC_REPORT_Web%2Findex.html的页面。证明web应用都是正常的,仅仅是已经被跳转到别的域名页面而已。
4.2 –v具体分析
这个时候tomcat服务器是正常running的。并且web应用也是正常返回的,仅仅是执行 看到这里大概意思是从8200port获取无效的HTTP响应。由于这条命令最重要的是监控/OCC_REPORT_Web/index.html获取http信息并通过-e 200来推断http正常响应的OK状态,所以去掉报警的-w 5 –c 10參数。去掉-e 200的字符比对信息。看下check的返回信息。
[root@webserver OCC_MANAGER_Web]# /usr/lib/nagios/plugins/check_http -I 10.xx.xx.10 -p 8200 -u /OCC_REPORT_Web/index.html
HTTP OK - HTTP/1.1 302 Found - 0.003 second response time |time=0.003367s;;;0.000000 size=317B;;;0
看到返回的是HTTP/1.1 302 Found 查看Tomcat错误代码知道是产生了新的URL信息
……
301 Moved Permanently 客户请求的文档在其它地方。新的URL在Location头中给出,浏览器应该自己主动地訪问新的URL。
302 Found 相似于301。但新的URL应该被视为暂时性的替代。而不是永久性的。注意,在HTTP1.0中相应的状态信息是“Moved Temporatily”。
……
最后加入-v參数调试看具体的获取信息:
[root@webserver OCC_MANAGER_Web]# /usr/lib/nagios/plugins/check_http -H www.xxxx.com -I 10.xx.xx.10 -p 8200 -u /OCC_REPORT_Web/index.html -v
GET /OCC_REPORT_Web/index.html HTTP/1.0
User-Agent: check_http/v1861 (nagios-plugins 1.4.11)
Connection: close
Host: www.xxxx.com http://10.xx.xx.10:8200/OCC_REPORT_Web/index.html is 323 characters
STATUS: HTTP/1.1 302 Found
**** HEADER ****
Server: Apache-Coyote/1.1
Set-Cookie: ploccSessionId=45CD9C9921A5B89C59FCB2E34FE52734; Path=/
Location: http://www.xxx.com/OCC_SSO_Web/login.htm? redirect=http%3A%2F%2Fwww.xxx.com%2FOCC_REPORT_Web%2Findex.html
Content-Length: 0
Date: Thu, 12 Jun 2014 02:52:45 GMT
Connection: close
**** CONTENT ****
HTTP OK - HTTP/1.1 302 Found - 0.003 second response time |time=0.003268s;;;0.000000 size=323B;;;0
看到页面重定向到域名系统,tomcat服务器是正常执行的。所以302 Found也能够表示tomca服务器正常运转无误,由于架构是用的lvs负载均衡。所以假设动用跳转后的公用域名来推断的话,就不能确定是否是这个主机的tomcat,由于公用域名每次仅仅相应当中一个tomcat服务,由于这里是监控具体的一台web服务器的tomcat,所以去监控302port也是一个不错的办法,这里能够去改动客户端nrpe.cfg里面的8200port的监控命令。改成监控tomcat的302状态值:
Vim /etc/nagios/nrpe.cfg
/usr/lib/nagios/plugins/check_http -I 10.xx.xx.10 -p 8200 -u /OCC_REPORT_Web/index.html -e 302 -w 3 -c 10
报错记录(一): NRPE: Unable to read output
[1402557345] SERVICE ALERT: webserver;Tomcat_6100_OCC_SSO_Service_Status;UNKNOWN;SOFT;3;NRPE: Unable to read output
解决:通常是nrpe路径不正确。
报错记录(二):CHECK_NRPE: Error - Could not complete SSL handshake.
[root@cache-2 etc]# /usr/local/nagios/libexec/check_http -I 10.xx.3.xx -p 8100 -u /tradeAdmin/index.html
HTTP OK: HTTP/1.1 302 Found - 319 bytes in 0.064 second response time |time=0.064033s;;;0.000000 size=319B;;;0
[root@cache-2 etc]#
[root@cache-2 etc]# /usr/local/nagios/libexec/check_nrpe -H 10.xx.3.xx -c check_load
CHECK_NRPE: Error - Could not complete SSL handshake.
[root@cache-2 etc]#
解决:/etc/nagios/nrpe.cfg里面没有加入nagios服务器主机ip地址
Vim /etc/nagios/nrpe.cfg
allowed_hosts=127.0.0.1,10.xx.xxx.xx1
之后重新启动nrpe,service nrpe restart;再去nagios服务器上验证OK:
[root@cache-2 etc]# /usr/local/nagios/libexec/check_nrpe -H 10.xxx.3.xx -c check_load
OK - load average: 0.43, 0.17, 0.06|load1=0.430;15.000;30.000;0; load5=0.170;10.000;25.000;0; load15=0.060;5.000;20.000;0;
[root@cache-2 etc]#
版权声明:本文博主原创文章。博客,未经同意不得转载。
Nagios经check_http监视web申请书server多个tomcat维修的更多相关文章
- NAGIOS(网络监视工具)
Nagios是一款开源的免费网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机,路由器等网络设备,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员 ...
- virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续)
virtualbox搭建ubuntu server nginx+mysql+tomcat web服务器1 (未完待续) 第一次接触到 linux,不知道linux的确很强大,然后用virtualbox ...
- web cache server方案比较:varnish、squid、nginx
linux运维中,web cache server方案的部署是一个很重要的环节,选择也有很多种比如:varnish.squid.nginx.下面就对当下常用的这几个web cache server做一 ...
- Office Web Apps Server 概述
Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...
- [转载]部署Office Web Apps Server并配置其与SharePoint 2013的集成
Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.PowerPoint.Excel 和 OneNote 的基于浏览器的版本.单个 Office Web ...
- 部署Office Web Apps Server并配置其与SharePoint 2013的集成
部署Office Web Apps Server并配置其与SharePoint 2013的集成 Office Web Apps Server 是新的 Office 服务器产品,它提供 Word.P ...
- office web apps server 问题和解决办法
New-OfficeWebAppsFarm –InternalURL "http://owa.zjkhlib.com" –AllowHttp –EditingEnabled 错误1 ...
- Office Web Apps Server
Office Web Apps Server Office Web Apps Server 是一款 Office 服务器产品,可提供针对 Office 文件的基于浏览器的文件查看和编辑服务.Offic ...
- office web apps server安装部署
操作系统:windows 2012 软件下载地址: 链接:https://pan.baidu.com/s/1c3WWFs8 密码:4dcy NDP452-KB2901954-Web.exe(.Net ...
随机推荐
- ResourceManager架构解析
RM作为master管理着所有的集群资源,它会和NM和特定application的AM共同工作 1. NodeManagers NM从RM中获得指令,并管理着单节点上可用资源 2. Applicati ...
- Opencv实现图像的灰度处理,二值化,阀值选择
前几天接触了图像的处理,发现用OPencv处理确实比較方便.毕竟是非常多东西都封装好的.可是要研究里面的东西,还是比較麻烦的,首先,你得知道图片处理的一些知识,比方腐蚀,膨胀,仿射,透射等,还有非常多 ...
- ASP.NET - GridView实现点击编辑列
加载: 点击编辑: 数据库设计: 前端代码: DataKeyNames="ID" 设置点击“编辑”选项的时候,要获取的值,一般获取ID主键,便于修改数据. AutoGenerat ...
- spring mvc 提交数组等复杂类型
使用jquery提交,比如monthIncome的值是一个数组,在Java里用request.getParameterValues("monthIncome");取不到值,要这样才 ...
- Linux I/O 重定向详解及应用实例
Linux I/O 重定向详解及应用实例 简解 > 输出 < 输入 >> 追加 & [> | < | >>]之前:输入输出; ls /dev & ...
- HP-UX查看版本
首先采用uname -a查看服务器类型 $ uname -a HP-UX WEBDB1 B.11.31 U ia64 0749665296 unlimited-user license 服务器的 ...
- C#日期函数使用大全
1 DateTime dt = DateTime.Now; 2 3 dt.ToString();//2005-11-5 13:21:25 4 5 dt.ToFileTime().ToString(); ...
- POJ 3696 神TM数论
鸣谢: http://blog.csdn.net/yhrun/article/details/6908470 http://blog.sina.com.cn/s/blog_6a46cc3f0100tv ...
- AMFPHP1.4与PHP5.3及以上版本号不兼容问题的解决
近期在升级PHP5.4版本号,AMFPHP出现了兼容性问题.解决过程记录例如以下. 1.ereg类相关函数改动为preg相关函数. 2.通过错误日志输出的提示.将全部以静态方式调用的类函数加入stat ...
- GitLab 5.3 升级注意事项
最主要就是需要更新的Git.我的Ubuntu12.04通过apt-get install安装的git版本过低. 所以只能通过源代码安装. 参考下面的步骤: wget git-core.googleco ...