
两个组件启动都正常


dashboard 启动注册登录测试日志
[hadoop@hadoop001 dashboard]$ ./env/bin/python wsgi.py
[warning] no local config file
* Serving Flask app "rrd" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
2020-07-16 16:27:16 INFO: * Running on http://0.0.0.0:8081/ (Press CTRL+C to quit)
2020-07-16 16:27:23 INFO:192.168.232.1 - - [16/Jul/2020 16:27:23] "GET / HTTP/1.1" 302 -
2020-07-16 16:27:23 INFO:192.168.232.1 - - [16/Jul/2020 16:27:23] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:27:25 INFO:192.168.232.1 - - [16/Jul/2020 16:27:25] "GET /auth/register HTTP/1.1" 200 -
2020-07-16 16:27:45 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:27:45 INFO:127.0.0.1 - - [16/Jul/2020 16:27:45] "POST /api/v1/user/create HTTP/1.1" 302 -
2020-07-16 16:27:45 DEBUG:"POST /api/v1/user/create HTTP/1.1" 302 229
2020-07-16 16:27:45 INFO:127.0.0.1 - - [16/Jul/2020 16:27:45] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:27:45 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:27:45 DEBUG:200:<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
Falcon+
</title>
<link href="/static/bootstrap3/css/bootstrap.min.css" rel="stylesheet">
<link href="/static/select2/select2.css" rel="stylesheet">
<link href="/static/layer/skin/layer.css" rel="stylesheet">
<link href="/static/css/select2-bootstrap.css" rel="stylesheet">
<link href="/static/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet"> </link>
<link rel="stylesheet" href="/static/bootstrap-tokenfield/css/bootstrap-tokenfield.min.css">
<link href="/static/css/base.css?v=0.1.0" rel="stylesheet">
<link href="/static/css/g.css" rel="stylesheet">
<style>
body {
font-size:12px;
font-family: 'verdana', 'Microsoft YaHei', 'Consolas', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono';
}
select {font-size:12px;}
input {font-size:12px;}
</style>
<script src="/static/js/jquery.min.js"></script>
<script src="/static/layer/layer.min.js"></script>
<script src="/static/js/g.js"></script>
<script type="text/javascript" src="/static/layer/extend/layer.ext.js"></script>
<script src="/static/js/jquery.query.js"></script>
<script src="/static/bootstrap3/js/bootstrap.min.js"></script>
<script src="/static/js/moment.min.js"></script>
<script src="/static/select2/select2.min.js"></script>
<script src="/static/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js"></script>
<script src="/static/bootstrap-tokenfield/bootstrap-tokenfield.min.js"></script>
<script type="text/javascript" src="/static/js/moment-with-locales.js"></script>
<script>
function readablizeBytes(size) {
if (size <= 100000){
return '' + size;
}
var SizePrefixes = ' KMGTPEZYXWVU';
if(size <= 0) return '0';
var t2 = Math.min(Math.round(Math.log(size)/Math.log(1000)), 12);
return (Math.round(size * 100 / Math.pow(1000, t2)) / 100) +
SizePrefixes.charAt(t2).replace(' ', '') + '';
}
function formatSize(size1, standard) {
var size = parseFloat(size1);
if (standard) {
standard = standard.toLowerCase();
}
if(size<=1){
return size.toFixed(3);
}
var n = 0,
base = standard == 'si' ? 1000 : 1024,
prefixes = ' KMGTPEZY';
if (size >= base) {
n = Math.floor( Math.log(size) / Math.log(base) );
if (n >= prefixes.length) {
return 'N/A';
}
size = ( size / Math.pow(base, n) ).toFixed(3) * 1 + '';
}else{
size = size.toFixed(3)
}
return size + prefixes[n] + ( n && standard == 'iec' ? 'i' : '' ) + '';
}
</script>
<script src="/static/js/uic.js"></script>
<script>
$(function() {
$("#password").keypress(function(e) {
var key = e.which;
if (key == 13) {
login();
}
});
});
</script>
</head>
<body style="height:100%; padding-top: 0px; padding-bottom: 40px; font-size:12px;">
<nav class="navbar navbar-default" role="navigation" style="background-color: #fff;">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
</button>
<a class="navbar-brand" href="/">Falcon+</a>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav navbar-right">
<li ><a href="/">Dashboard</a></li>
<li class="dropdown" >
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Screen<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" style="font-size:12px;">
<li><a href="/screen">screens</a></li>
<li><a href="/screen/add">+screen</a></li>
</ul>
</li>
<li ><a href="/portal/hostgroup">HostGroups</a></li>
<li ><a href="/portal/template">Templates</a></li>
<li ><a href="/portal/expression">Expressions</a></li>
<li ><a href="/portal/nodata">Nodata</a></li>
<li ><a href="/portal/alarm-dash/case">Alarm-Dashboard</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
Sign in<span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" style="font-size:12px;">
<li><a href="/auth/login">Login</a></li>
<li><a href="/auth/register">Sign Up</a></li>
<li><a href="https://github.com/open-falcon/dashboard">fork me on Github</a></li>
</ul>
</li>
</ul>
</div>
</div>
</nav>
<div id="container" class="container-fluid">
<div class="row">
<div class="col-md-12">
<div style="margin: 0 auto; max-width: 400px;">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">
Sign in
</h3>
</div>
<div class="panel-body">
<div class="form-sign" role="form">
<div class="form-group">
<input type="text" placeholder="name" id="name"
class="form-control" required autofocus />
</div>
<div class="form-group">
<input type="password" placeholder="password" id="password"
class="form-control" required />
</div>
<div class="checkbox">
<label>
<input type="checkbox" id="ldap"> ldap account
</label>
</div>
<button class="btn btn-default btn-block" type="button" id="sign"
onclick="login();">Sign in</button>
<div style="margin-top: 10px">
no account? <a href="/auth/register">sign up</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="tooltip" style="position: absolute; border: 1px solid rgb(215, 234, 252);z-index: 999; padding: 2px; opacity: 0.8; top: 511px; left: 362px; display: none; background-color: rgb(215, 234, 252);font-family:sans-serif;color:rgb(26,26,26);"></div>
<div style="display: none;" id="loading-container" class="wrap-loading"><div class="loading2"></div></div>
<div class="modal fade" id="editModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title">批量修改 Graph</h4>
</div>
<div class="modal-body">
<div class="edit-area">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"> 关闭</button>
<button type="button" class="btn btn-primary editModalYes">确认</button>
</div>
</div>
</div>
</div>
<script type="text/template" id="tpl-edit">
<% _.each(charts, function(c) { %>
<form class="form-horizontal" role="form">
<h4 class="title"><%- c.title %></h4>
<span class="id hide"><%- c.id %></span>
<div class="form-group">
<label class="control-label col-md-2" for="hosts">Endpoints</label>
<div class="col-md-8">
<textarea class="form-control endpoints" name="" rows="5"><%- c.endpoints.join("\n") %></textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-2" for="counters">Counters</label>
<div class="col-md-8">
<textarea class="form-control counters" required="" rows="5"><%- c.counters.join("\n") %></textarea>
</div>
</div>
</form>
<% }); %>
</script>
</body>
</html>
2020-07-16 16:27:45 INFO:192.168.232.1 - - [16/Jul/2020 16:27:45] "POST /auth/register HTTP/1.1" 200 -
2020-07-16 16:27:46 INFO:192.168.232.1 - - [16/Jul/2020 16:27:46] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:27:54 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:27:54 INFO:127.0.0.1 - - [16/Jul/2020 16:27:54] "POST /api/v1/user/login HTTP/1.1" 302 -
2020-07-16 16:27:54 DEBUG:"POST /api/v1/user/login HTTP/1.1" 302 229
2020-07-16 16:27:54 INFO:127.0.0.1 - - [16/Jul/2020 16:27:54] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:27:54 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:27:54 INFO:192.168.232.1 - - [16/Jul/2020 16:27:54] "POST /auth/login HTTP/1.1" 200 -
2020-07-16 16:31:08 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:31:08 INFO:127.0.0.1 - - [16/Jul/2020 16:31:08] "POST /api/v1/user/login HTTP/1.1" 302 -
2020-07-16 16:31:08 DEBUG:"POST /api/v1/user/login HTTP/1.1" 302 229
2020-07-16 16:31:08 INFO:127.0.0.1 - - [16/Jul/2020 16:31:08] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:31:08 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:31:08 INFO:192.168.232.1 - - [16/Jul/2020 16:31:08] "POST /auth/login HTTP/1.1" 200 -
2020-07-16 16:31:12 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:31:12 INFO:127.0.0.1 - - [16/Jul/2020 16:31:12] "POST /api/v1/user/login HTTP/1.1" 302 -
2020-07-16 16:31:12 DEBUG:"POST /api/v1/user/login HTTP/1.1" 302 229
2020-07-16 16:31:12 INFO:127.0.0.1 - - [16/Jul/2020 16:31:12] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:31:12 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:31:12 INFO:192.168.232.1 - - [16/Jul/2020 16:31:12] "POST /auth/login HTTP/1.1" 200 -
2020-07-16 16:31:58 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:31:58 INFO:127.0.0.1 - - [16/Jul/2020 16:31:58] "POST /api/v1/user/login HTTP/1.1" 302 -
2020-07-16 16:31:58 DEBUG:"POST /api/v1/user/login HTTP/1.1" 302 229
2020-07-16 16:31:58 INFO:127.0.0.1 - - [16/Jul/2020 16:31:58] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:31:58 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:31:58 INFO:192.168.232.1 - - [16/Jul/2020 16:31:58] "POST /auth/login HTTP/1.1" 200 -
2020-07-16 16:34:53 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:34:53 INFO:127.0.0.1 - - [16/Jul/2020 16:34:53] "POST /api/v1/user/login HTTP/1.1" 302 -
2020-07-16 16:34:53 DEBUG:"POST /api/v1/user/login HTTP/1.1" 302 229
2020-07-16 16:34:53 INFO:127.0.0.1 - - [16/Jul/2020 16:34:53] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:34:53 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:34:53 INFO:192.168.232.1 - - [16/Jul/2020 16:34:53] "POST /auth/login HTTP/1.1" 200 -
2020-07-16 16:34:56 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:34:56 INFO:127.0.0.1 - - [16/Jul/2020 16:34:56] "POST /api/v1/user/login HTTP/1.1" 302 -
2020-07-16 16:34:56 DEBUG:"POST /api/v1/user/login HTTP/1.1" 302 229
2020-07-16 16:34:56 INFO:127.0.0.1 - - [16/Jul/2020 16:34:56] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:34:56 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:34:56 INFO:192.168.232.1 - - [16/Jul/2020 16:34:56] "POST /auth/login HTTP/1.1" 200 -
2020-07-16 16:35:04 INFO:192.168.232.1 - - [16/Jul/2020 16:35:04] "POST /auth/login HTTP/1.1" 200 -
2020-07-16 16:35:07 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:35:07 INFO:127.0.0.1 - - [16/Jul/2020 16:35:07] "POST /api/v1/user/login HTTP/1.1" 302 -
2020-07-16 16:35:07 DEBUG:"POST /api/v1/user/login HTTP/1.1" 302 229
2020-07-16 16:35:07 INFO:127.0.0.1 - - [16/Jul/2020 16:35:07] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:35:07 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:35:07 INFO:192.168.232.1 - - [16/Jul/2020 16:35:07] "POST /auth/login HTTP/1.1" 200 -
2020-07-16 16:35:09 INFO:Starting new HTTP connection (1): 127.0.0.1
2020-07-16 16:35:09 INFO:127.0.0.1 - - [16/Jul/2020 16:35:09] "POST /api/v1/user/login HTTP/1.1" 302 -
2020-07-16 16:35:09 DEBUG:"POST /api/v1/user/login HTTP/1.1" 302 229
2020-07-16 16:35:09 INFO:127.0.0.1 - - [16/Jul/2020 16:35:09] "GET /auth/login HTTP/1.1" 200 -
2020-07-16 16:35:09 DEBUG:"GET /auth/login HTTP/1.1" 200 8858
2020-07-16 16:35:09 INFO:192.168.232.1 - - [16/Jul/2020 16:35:09] "POST /auth/login HTTP/1.1" 200 -