Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ops
/
monitor-service
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Plain Diff
Browse Files
Authored by
simba
9 years ago
Commit
b1176f353cc5d0580c53fb74013cc5dbc445352a
2 parents
4636f814
dcbd7e9e
Merge branch 'master' of
http://git.yoho.cn/ops/monitor-service
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
141 additions
and
4 deletions
monitor-service-common/src/main/java/com/monitor/common/contants/PaginationContants.java
monitor-service-common/src/main/java/com/monitor/common/util/DateFormatUtil.java
monitor-service-influxdb/src/main/java/com/monitor/influxdb/mapper/IJavaApiStaticsMapper.java
monitor-service-influxdb/src/main/java/com/monitor/influxdb/mapper/impl/JavaApiStaticsMapper.java
monitor-service-javaserver/src/main/java/com/monitor/javaserver/ctrl/JavaAppInfoCtrl.java
monitor-service-javaserver/src/main/java/com/monitor/javaserver/service/IJavaApiStatusService.java
monitor-service-javaserver/src/main/java/com/monitor/javaserver/service/impl/JavaAppiStatusServiceImpl.java
monitor-service-common/src/main/java/com/monitor/common/contants/PaginationContants.java
0 → 100644
View file @
b1176f3
package
com
.
monitor
.
common
.
contants
;
/**
* Created by yoho on 2016/5/23.
*/
public
class
PaginationContants
{
public
static
final
int
ALARM_MSG_OFFSET_PERIOD
=
10
;
public
static
final
int
DB_EXCEPTION_OFFSET_PERIOD
=
10
;
public
static
final
int
PAGE_COMMON_OFFSET_PERIOD
=
15
;
public
static
final
int
NGINX_API_ERROR
=
10
;
public
static
final
int
NGINX_SERVICE_ERROR
=
10
;
}
...
...
monitor-service-common/src/main/java/com/monitor/common/util/DateFormatUtil.java
View file @
b1176f3
...
...
@@ -110,4 +110,9 @@ public class DateFormatUtil {
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
YYYYMMDDHHMMSS
);
return
simpleDateFormat
.
format
(
new
Date
(
time
));
}
public
static
String
parseLongToTimeStr
(
long
time
){
SimpleDateFormat
simpleDateFormat
=
new
SimpleDateFormat
(
YYYY_MM_DD_HH_MM_SS
);
return
simpleDateFormat
.
format
(
new
Date
(
time
));
}
}
...
...
monitor-service-influxdb/src/main/java/com/monitor/influxdb/mapper/IJavaApiStaticsMapper.java
View file @
b1176f3
...
...
@@ -18,4 +18,8 @@ public interface IJavaApiStaticsMapper {
public
List
<
JavaApiStaticsModel
>
selectlatestJavaApiStaticsList
(
String
influxDBName
,
List
<
JavaApiStatusReq
>
query
);
public
List
<
JavaApiStaticsModel
>
selectJavaApiStaticHis
(
String
influxDBName
,
int
api_id
,
int
mobj_id
,
String
timeStart
,
String
timeEnd
,
int
limitCount
,
int
offsetCount
);
}
...
...
monitor-service-influxdb/src/main/java/com/monitor/influxdb/mapper/impl/JavaApiStaticsMapper.java
View file @
b1176f3
...
...
@@ -98,8 +98,8 @@ public class JavaApiStaticsMapper implements IJavaApiStaticsMapper {
String
exception
=
(
String
)
series
.
getValues
().
get
(
0
).
get
(
series
.
getColumns
().
indexOf
(
"exception"
));
javaApiStaticsModel
.
setStartTime
(
DateFormatUtil
.
parseLongTo14
(
startTime
));
javaApiStaticsModel
.
setEndTime
(
DateFormatUtil
.
parseLongTo14
(
endTime
));
javaApiStaticsModel
.
setStartTime
(
DateFormatUtil
.
parseLongToTimeStr
(
startTime
));
javaApiStaticsModel
.
setEndTime
(
DateFormatUtil
.
parseLongToTimeStr
(
endTime
));
javaApiStaticsModel
.
setCostTime
((
int
)
costTime
);
...
...
@@ -132,5 +132,49 @@ public class JavaApiStaticsMapper implements IJavaApiStaticsMapper {
return
javaApiStaticsModels
;
}
@Override
public
List
<
JavaApiStaticsModel
>
selectJavaApiStaticHis
(
String
influxDBName
,
int
api_id
,
int
mobj_id
,
String
timeStart
,
String
timeEnd
,
int
limitCount
,
int
offsetCount
)
{
String
sql
=
"select * from "
+
InfluxDBContants
.
YOMO_TB_JAVAAPI
;
sql
+=
" where time >= '"
+
timeStart
+
"' and time<= '"
+
timeEnd
+
"' "
;
if
(
api_id
>
0
)
sql
+=
" and api_id= "
+
api_id
;
if
(
mobj_id
>
0
)
sql
+=
" and mobj_id= "
+
mobj_id
;
sql
+=
" order by time desc LIMIT "
+
limitCount
+
" OFFSET "
+
offsetCount
;
Query
query
=
new
Query
(
sql
,
InfluxDBContants
.
APP_ALARM
);
QueryResult
result
=
inluxDBSingle
.
getInfluxDBByName
(
InfluxDBContants
.
AWS
).
getInfluxDB
().
query
(
query
);
List
<
JavaApiStaticsModel
>
list
=
new
ArrayList
<
JavaApiStaticsModel
>();
QueryResult
.
Result
rel
=
result
.
getResults
().
get
(
0
);
QueryResult
.
Series
series
=
rel
.
getSeries
().
get
(
0
);
int
size
=
series
.
getValues
().
size
();
for
(
int
i
=
0
;
i
<
size
;
i
++)
{
JavaApiStaticsModel
javaApiStaticsModel
=
new
JavaApiStaticsModel
();
Boolean
is_exception
=
(
Boolean
)
series
.
getValues
().
get
(
0
).
get
(
series
.
getColumns
().
indexOf
(
"is_exception"
));
long
startTime
=
Math
.
round
((
Double
)
series
.
getValues
().
get
(
0
).
get
(
series
.
getColumns
().
indexOf
(
"start"
)));
long
endTime
=
Math
.
round
((
Double
)
series
.
getValues
().
get
(
0
).
get
(
series
.
getColumns
().
indexOf
(
"end"
)));
long
costTime
=
(
endTime
-
startTime
);
String
exception
=
(
String
)
series
.
getValues
().
get
(
0
).
get
(
series
.
getColumns
().
indexOf
(
"exception"
));
javaApiStaticsModel
.
setStartTime
(
DateFormatUtil
.
parseLongToTimeStr
(
startTime
));
javaApiStaticsModel
.
setEndTime
(
DateFormatUtil
.
parseLongToTimeStr
(
endTime
));
javaApiStaticsModel
.
setCostTime
((
int
)
costTime
);
if
(
is_exception
==
true
)
{
javaApiStaticsModel
.
setStatus
(
0
);
javaApiStaticsModel
.
setException
(
exception
);
}
else
javaApiStaticsModel
.
setStatus
(
1
);
list
.
add
(
javaApiStaticsModel
);
}
return
list
;
}
}
...
...
monitor-service-javaserver/src/main/java/com/monitor/javaserver/ctrl/JavaAppInfoCtrl.java
View file @
b1176f3
...
...
@@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
java.util.Arrays
;
...
...
@@ -71,5 +72,27 @@ public class JavaAppInfoCtrl {
return
"cost : "
+
(
end
-
start
)
/
1000
+
"s"
;
}
@RequestMapping
(
"/querylatesthis"
)
@ResponseBody
public
BaseResponse
getJavaApiStatusHisLatest
(
@RequestParam
(
required
=
false
,
defaultValue
=
"0"
)
int
api_id
,
@RequestParam
(
required
=
false
,
defaultValue
=
"0"
)
int
mobj_id
)
{
BaseResponse
rep
=
new
BaseResponse
();
try
{
List
<
JavaApiStatusRep
>
javaApiStatusRepList
=
javaApiStatusService
.
getJavaApiStatusHisLatest
(
api_id
,
mobj_id
);
rep
.
setData
(
javaApiStatusRepList
);
}
catch
(
Exception
e
)
{
rep
.
setCode
(
400
);
rep
.
setMessage
(
e
.
getMessage
());
}
return
rep
;
}
@RequestMapping
(
"/queryhis"
)
@ResponseBody
public
BaseResponse
getJavaApiStatusHis
()
{
BaseResponse
rep
=
new
BaseResponse
();
return
rep
;
}
}
...
...
monitor-service-javaserver/src/main/java/com/monitor/javaserver/service/IJavaApiStatusService.java
View file @
b1176f3
...
...
@@ -11,9 +11,12 @@ import java.util.List;
public
interface
IJavaApiStatusService
{
public
JavaApiStatusRep
getJavaApiStatus
(
JavaApiStatusReq
req
)
;
public
List
<
JavaApiStatusRep
>
getJavaApiStatusList
(
List
<
JavaApiStatusReq
>
reqList
)
;
public
JavaApiStatusRep
getJavaApiStatus
(
JavaApiStatusReq
req
);
public
List
<
JavaApiStatusRep
>
getJavaApiStatusList
(
List
<
JavaApiStatusReq
>
reqList
);
public
List
<
JavaApiStatusRep
>
getJavaApiStatusHisLatest
(
int
api_id
,
int
mobj_id
);
public
List
<
JavaApiStatusRep
>
getJavaApiStatusHisByTime
(
int
api_id
,
int
mobj_id
,
long
start
,
long
end
,
int
page
);
}
...
...
monitor-service-javaserver/src/main/java/com/monitor/javaserver/service/impl/JavaAppiStatusServiceImpl.java
View file @
b1176f3
package
com
.
monitor
.
javaserver
.
service
.
impl
;
import
com.monitor.common.contants.PaginationContants
;
import
com.monitor.common.util.DateFormatUtil
;
import
com.monitor.influxdb.mapper.impl.JavaApiStaticsMapper
;
import
com.monitor.javaserver.service.IJavaApiStatusService
;
import
com.monitor.model.domain.JavaApiStaticsModel
;
...
...
@@ -74,5 +76,44 @@ public class JavaAppiStatusServiceImpl implements IJavaApiStatusService {
return
repList
;
}
@Override
public
List
<
JavaApiStatusRep
>
getJavaApiStatusHisLatest
(
int
api_id
,
int
mobj_id
)
{
long
start
=
System
.
currentTimeMillis
();
long
end
=
start
;
start
=
start
-
1000
*
60
*
60
;
//一小时之内
return
this
.
getJavaApiStatusHisByTime
(
api_id
,
mobj_id
,
start
,
end
,
0
);
}
@Override
public
List
<
JavaApiStatusRep
>
getJavaApiStatusHisByTime
(
int
api_id
,
int
mobj_id
,
long
start
,
long
end
,
int
page
)
{
String
startTime
=
DateFormatUtil
.
influxDBTimeFormat
(
start
);
String
endTime
=
DateFormatUtil
.
influxDBTimeFormat
(
end
);
List
<
JavaApiStaticsModel
>
modelList
=
javaApiStaticsMapper
.
selectJavaApiStaticHis
(
null
,
api_id
,
mobj_id
,
startTime
,
endTime
,
PaginationContants
.
PAGE_COMMON_OFFSET_PERIOD
,
page
*
PaginationContants
.
PAGE_COMMON_OFFSET_PERIOD
);
List
<
JavaApiStatusRep
>
repList
=
new
ArrayList
<
JavaApiStatusRep
>();
for
(
JavaApiStaticsModel
req
:
modelList
)
{
JavaApiStatusRep
rep
=
new
JavaApiStatusRep
();
rep
.
setServiceId
(
req
.
getServiceId
());
rep
.
setMObjectId
(
req
.
getMObjectId
());
rep
.
setStatus
(
req
.
getStatus
());
rep
.
setEndTime
(
req
.
getEndTime
());
rep
.
setStartTime
(
req
.
getStartTime
());
rep
.
setCostTime
(
req
.
getCostTime
());
rep
.
setException
(
req
.
getException
());
repList
.
add
(
rep
);
}
return
repList
;
}
}
...
...
Please
register
or
login
to post a comment