Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
event-analysis
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
崔义雄
event-analysis
Commits
69f41d0c
Commit
69f41d0c
authored
May 08, 2020
by
Kerwin_Cui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
123
parent
3efa0905
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
534 additions
and
642 deletions
+534
-642
.idea/workspace.xml
.idea/workspace.xml
+215
-117
event_analysis/models.py
event_analysis/models.py
+9
-1
event_analysis/urls.py
event_analysis/urls.py
+3
-0
event_analysis/views.py
event_analysis/views.py
+146
-3
templates/event_analysis/alarm_count.html
templates/event_analysis/alarm_count.html
+30
-5
templates/event_analysis/alarm_edit.html
templates/event_analysis/alarm_edit.html
+87
-392
templates/event_analysis/error_alarm.html
templates/event_analysis/error_alarm.html
+36
-116
templates/event_analysis/eventmanagement_display.html
templates/event_analysis/eventmanagement_display.html
+8
-8
No files found.
.idea/workspace.xml
View file @
69f41d0c
This diff is collapsed.
Click to expand it.
event_analysis/models.py
View file @
69f41d0c
...
@@ -285,6 +285,14 @@ class Error_alarm(models.Model):
...
@@ -285,6 +285,14 @@ class Error_alarm(models.Model):
auto_sysname
=
models
.
CharField
(
null
=
True
,
max_length
=
100
,
verbose_name
=
"自动化系统"
)
auto_sysname
=
models
.
CharField
(
null
=
True
,
max_length
=
100
,
verbose_name
=
"自动化系统"
)
auto_name
=
models
.
CharField
(
null
=
True
,
max_length
=
100
,
verbose_name
=
"自动化名称"
)
auto_name
=
models
.
CharField
(
null
=
True
,
max_length
=
100
,
verbose_name
=
"自动化名称"
)
other_autoname
=
models
.
TextField
(
null
=
True
,
verbose_name
=
"其他自动化信息"
)
other_autoname
=
models
.
TextField
(
null
=
True
,
verbose_name
=
"其他自动化信息"
)
monitor_name
=
models
.
CharField
(
null
=
True
,
max_length
=
100
,
verbose_name
=
"监控名称名称"
)
monitor_name
=
models
.
CharField
(
null
=
True
,
max_length
=
100
,
verbose_name
=
"监控名称"
)
if_icube
=
models
.
CharField
(
null
=
True
,
max_length
=
100
,
verbose_name
=
"是否来自一体化平台"
)
user
=
models
.
CharField
(
null
=
True
,
max_length
=
100
,
verbose_name
=
"处理人"
)
def
toDic
(
self
):
return
dict
([(
attr
,
getattr
(
self
,
attr
))
for
attr
in
[
f
.
name
for
f
in
self
.
_meta
.
fields
]])
class
Meta
:
db_table
=
"tb_error_alarm"
verbose_name
=
'预警信息'
verbose_name_plural
=
verbose_name
\ No newline at end of file
event_analysis/urls.py
View file @
69f41d0c
...
@@ -31,4 +31,7 @@ urlpatterns = [
...
@@ -31,4 +31,7 @@ urlpatterns = [
url
(
r'^searchHostByModule/$'
,
search_host_by_module
),
url
(
r'^searchHostByModule/$'
,
search_host_by_module
),
url
(
r'^alarm_edit/$'
,
alarm_edit
),
url
(
r'^alarm_edit/$'
,
alarm_edit
),
url
(
r'^alarm_count/$'
,
alarm_count
),
url
(
r'^alarm_count/$'
,
alarm_count
),
url
(
r'^create_alarm/$'
,
create_alarm
),
url
(
r'^edit_alarm/$'
,
edit_alarm
),
url
(
r'^search_alarm/$'
,
search_alarm
),
]
]
event_analysis/views.py
View file @
69f41d0c
...
@@ -44,9 +44,9 @@ def condition_search(request):
...
@@ -44,9 +44,9 @@ def condition_search(request):
eventList
=
EventInfo
.
objects
.
all
()
.
order_by
(
'-event_happened_time'
)
eventList
=
EventInfo
.
objects
.
all
()
.
order_by
(
'-event_happened_time'
)
# 用户组
# 用户组
gruop_data
=
requests
.
get
(
'http://192.168.1.246:8001/webapi/relationshipInstances/172?pageNum=1&pageSize=100'
)
#
gruop_data = requests.get('http://192.168.1.246:8001/webapi/relationshipInstances/172?pageNum=1&pageSize=100')
gruop_data
=
gruop_data
.
text
#
gruop_data = gruop_data.text
gruop_data
=
eval
(
gruop_data
)
#
gruop_data = eval(gruop_data)
# 按事件编号查询
# 按事件编号查询
...
@@ -1895,6 +1895,7 @@ def get_cc_module_tree(request):
...
@@ -1895,6 +1895,7 @@ def get_cc_module_tree(request):
"data"
:
{}
"data"
:
{}
})
})
def
search_host_by_module
(
request
):
def
search_host_by_module
(
request
):
"""
"""
通过所属模块查询对应的主机
通过所属模块查询对应的主机
...
@@ -2138,6 +2139,148 @@ def del_label(request):
...
@@ -2138,6 +2139,148 @@ def del_label(request):
}
}
)
)
def
serch_user_group
(
request
):
try
:
gruop_data
=
requests
.
get
(
'http://192.168.1.246:8001/webapi/relationshipInstances/172?pageNum=1&pageSize=100'
)
gruop_data
=
gruop_data
.
text
gruop_data
=
eval
(
gruop_data
)
except
Exception
as
e
:
return
render_json
(
{
"result"
:
False
,
"code"
:
1
,
"message"
:
u"未知错误:
%
s"
%
e
,
"data"
:
{}
}
)
def
create_alarm
(
request
):
try
:
data
=
request
.
body
data
=
eval
(
data
)
alarm_type
=
data
[
'alarm_type'
]
alarm_system
=
data
[
'alarm_system'
]
alarm_time
=
data
[
'alarm_time'
]
recover_time
=
data
[
'recover_time'
]
alarm_summary
=
data
[
'alarm_summary'
]
if_interpose
=
data
[
'if_interpose'
]
solve_process
=
data
[
'solve_process'
]
if_workday
=
data
[
'if_workday'
]
if_auto
=
data
[
'if_auto'
]
auto_sysname
=
data
[
'auto_sysname'
]
auto_name
=
data
[
'auto_name'
]
other_autoname
=
data
[
'other_autoname'
]
monitor_name
=
data
[
'monitor_name'
]
if_icube
=
data
[
'if_icube'
]
time
=
alarm_time
.
replace
(
'T'
,
' '
)
time
=
time
[
0
:
-
5
]
time
=
datetime
.
datetime
.
strptime
(
time
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
time
=
(
time
+
datetime
.
timedelta
(
hours
=
8
))
.
strftime
(
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
time
=
time
.
replace
(
'-'
,
''
)
time
=
time
.
replace
(
' '
,
''
)
time
=
time
.
replace
(
':'
,
''
)
alarm_number
=
'alarm_'
+
time
alarm_time
=
alarm_time
.
replace
(
'T'
,
' '
)
alarm_time
=
alarm_time
[
0
:
-
5
]
alarm_time
=
datetime
.
datetime
.
strptime
(
alarm_time
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
alarm_time
=
(
alarm_time
+
datetime
.
timedelta
(
hours
=
8
))
recover_time
=
recover_time
.
replace
(
'T'
,
' '
)
recover_time
=
recover_time
[
0
:
-
5
]
recover_time
=
datetime
.
datetime
.
strptime
(
recover_time
,
"
%
Y-
%
m-
%
d
%
H:
%
M:
%
S"
)
recover_time
=
(
recover_time
+
datetime
.
timedelta
(
hours
=
8
))
client
=
get_client_by_request
(
request
)
bk_token
=
request
.
COOKIES
.
get
(
'bk_token'
)
client
.
set_bk_api_ver
(
'v2'
)
parse
=
{
'bk_token'
:
bk_token
,
'bk_app_code'
:
APP_ID
,
'bk_app_secret'
:
APP_TOKEN
}
result
=
client
.
bk_login
.
get_user
(
parse
)
login_person
=
result
[
'data'
][
'chname'
]
error_alarm
=
Error_alarm
.
objects
.
create
(
alarm_number
=
alarm_number
,
alarm_summary
=
alarm_summary
,
alarm_level
=
alarm_type
,
alarm_system
=
alarm_system
,
alarm_happen_time
=
alarm_time
,
alarm_recover_time
=
recover_time
,
if_interpose
=
if_interpose
,
solve_process
=
solve_process
,
if_workday
=
if_workday
,
if_auto
=
if_auto
,
auto_sysname
=
auto_sysname
,
auto_name
=
auto_name
,
other_autoname
=
other_autoname
,
monitor_name
=
monitor_name
,
if_icube
=
if_icube
,
user
=
login_person
)
error_alarm
.
save
()
return
render_json
(
{
"result"
:
True
,
"code"
:
0
,
"message"
:
u"预警新建成功!"
,
"data"
:
''
}
)
except
Exception
as
e
:
return
render_json
(
{
"result"
:
False
,
"code"
:
1
,
"message"
:
u"未知错误:
%
s"
%
e
,
"data"
:
{}
}
)
def
edit_alarm
(
request
):
pass
def
search_alarm
(
request
):
try
:
req
=
json
.
loads
(
request
.
body
)
alarm_list
=
Error_alarm
.
objects
.
all
()
.
order_by
(
'-alarm_happen_time'
)
if
request
.
body
==
""
:
current_page
=
1
page_size
=
10
else
:
req
=
json
.
loads
(
request
.
body
)
current_page
=
req
.
get
(
"currentPage"
,
1
)
page_size
=
req
.
get
(
"pageSize"
,
10
)
event_page
=
Paginator
(
alarm_list
,
page_size
)
event_list
=
event_page
.
page
(
current_page
)
.
object_list
result_list
=
[]
for
i
in
alarm_list
:
data
=
{
"alarm_number"
:
i
.
alarm_number
,
'alarm_summary'
:
i
.
alarm_summary
,
'alarm_level'
:
i
.
alarm_level
,
'alarm_system'
:
i
.
alarm_level
,
'user'
:
i
.
user
}
result_list
.
append
(
data
)
return
render_json
(
{
"result"
:
True
,
"message"
:
u"查询数据成功"
,
"code"
:
0
,
"results"
:
{
'results'
:
result_list
,
'count'
:
event_page
.
count
,
'currentPage'
:
current_page
},
}
)
except
Exception
as
e
:
return
render_json
(
{
"result"
:
False
,
"code"
:
1
,
"message"
:
u"未知错误:
%
s"
%
e
,
"data"
:
{}
}
)
# 同步事件
# 同步事件
def
sync
(
request
):
def
sync
(
request
):
now_time
=
int
(
time
.
time
())
now_time
=
int
(
time
.
time
())
...
...
templates/event_analysis/alarm_count.html
View file @
69f41d0c
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
选择用户组:
选择用户组:
<el-select
style=
"width:300px;"
clearable
<el-select
style=
"width:300px;"
clearable
v-model=
"userGroup"
>
v-model=
"userGroup"
>
<el-option
v-for=
"item in
priority
Op"
<el-option
v-for=
"item in
userGroup
Op"
:key=
"item.value"
:key=
"item.value"
:label=
"item.label"
:label=
"item.label"
:value=
"item.label"
>
:value=
"item.label"
>
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
</div>
</div>
</div>
</div>
<div
style=
"height:100%;min-height: 500px;padding:0 15px;"
>
<div
style=
"height:100%;min-height: 500px;padding:0 15px;"
>
<el-table
:data=
"
task
Data"
border
<el-table
:data=
"
AlarmCount
Data"
border
style=
"width: 100%"
v-loading=
"loading"
style=
"width: 100%"
v-loading=
"loading"
element-loading-text=
"拼命加载中"
element-loading-text=
"拼命加载中"
element-loading-spinner=
"el-icon-loading"
element-loading-spinner=
"el-icon-loading"
...
@@ -68,9 +68,18 @@
...
@@ -68,9 +68,18 @@
el
:
"
#alarmCount
"
,
el
:
"
#alarmCount
"
,
data
()
{
data
()
{
return
{
return
{
userGroup
:
[],
userGroupOp
:
[
{
label
:
'
网络
'
,
value
:
'
3
'
,
},
],
userGroup
:
''
,
keyword
:
""
,
keyword
:
""
,
taskData
:
[]
AlarmCountData
:
[],
loading
:
false
,
currentPage
:
1
,
pageSize
:
10
,
}
}
},
},
mounted
()
{
mounted
()
{
...
@@ -78,7 +87,23 @@
...
@@ -78,7 +87,23 @@
},
},
methods
:
{},
methods
:
{
getUserGroup
(){
axios
.
get
(
'
${SITE_URL}search_user_group/
'
).
then
(
res
=>
{
res
=
res
.
data
;
this
.
systemList
=
res
})
},
handleCurrentChange
(
val
)
{
console
.
log
(
"
当前页
"
+
val
);
if
(
this
.
currentPage
!=
val
)
{
this
.
currentPage
=
val
this
.
getTaskList
(()
=>
{
this
.
handleCurPageChange
()
})
}
},
},
})
})
...
...
templates/event_analysis/alarm_edit.html
View file @
69f41d0c
This diff is collapsed.
Click to expand it.
templates/event_analysis/error_alarm.html
View file @
69f41d0c
This diff is collapsed.
Click to expand it.
templates/event_analysis/eventmanagement_display.html
View file @
69f41d0c
...
@@ -358,8 +358,8 @@
...
@@ -358,8 +358,8 @@
}
}
},
},
mounted
()
{
mounted
()
{
this
.
setmainuser
()
this
.
setmainuser
()
;
this
.
getTaskList
()
this
.
getTaskList
()
;
this
.
getLabel
()
this
.
getLabel
()
},
},
...
@@ -374,7 +374,7 @@
...
@@ -374,7 +374,7 @@
//获取任务列表
//获取任务列表
getTaskList
(
fn
)
{
getTaskList
(
fn
)
{
this
.
loading
=
true
this
.
loading
=
true
;
let
vm
=
this
;
let
vm
=
this
;
let
newdata
=
{
let
newdata
=
{
currentPage
:
vm
.
currentPage
,
currentPage
:
vm
.
currentPage
,
...
@@ -382,15 +382,15 @@
...
@@ -382,15 +382,15 @@
data
:
vm
.
formLine
data
:
vm
.
formLine
};
};
axios
.
post
(
'
${SITE_URL}condition_search/
'
,
newdata
).
then
(
res
=>
{
axios
.
post
(
'
${SITE_URL}condition_search/
'
,
newdata
).
then
(
res
=>
{
vm
.
total
=
res
.
results
.
count
vm
.
total
=
res
.
results
.
count
;
vm
.
taskData
=
res
.
results
.
results
vm
.
taskData
=
res
.
results
.
results
;
vm
.
loading
=
false
vm
.
loading
=
false
;
if
(
!!
fn
)
{
if
(
!!
fn
)
{
fn
()
fn
()
}
}
},
err
=>
{
},
err
=>
{
vm
.
loading
=
false
vm
.
loading
=
false
;
vm
.
$message
(
vm
.
$message
(
{
{
type
:
'
error
'
,
type
:
'
error
'
,
...
@@ -435,7 +435,7 @@
...
@@ -435,7 +435,7 @@
},
},
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
this
.
selectData
[
this
.
currentPage
]
=
[]
this
.
selectData
[
this
.
currentPage
]
=
[]
;
selection
.
map
((
item
,
index
)
=>
{
selection
.
map
((
item
,
index
)
=>
{
this
.
selectData
[
this
.
currentPage
].
push
(
item
.
event_number
)
this
.
selectData
[
this
.
currentPage
].
push
(
item
.
event_number
)
})
})
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment