bosun.org@v0.0.0-20210513094433-e25bc3e69a1f/cmd/bosun/web/static/partials/alertstate.html (about)

     1  <div class="panel-heading" ng-class="panelClass(currentStatus)+'-box'" ng-click="toggle()">
     2  	<h4 class="panel-title">
     3  		<a href>
     4  			<span title="This exclamation icon represents that the alert is in an active (non-normal) state." class="fa" ng-class="{'fa-exclamation-circle': state.last.Status && state.last.Status != 'normal'}"></span>
     5  			<span title="This mute icon represents that the alert has been silenced." class="fa" ng-class="{'fa-volume-off': child.Silenced}"></span>
     6  			<span title="This question mark icon represents that the alert is in an unevaluated state. Alerts are unevaluated when a dependency is active." class="fa" ng-class="{'fa-question-circle': state.Unevaluated}"></span>
     7  			<span title="This clock icons represents that the alert is in a delayed close. The alert will be closed if it goes to normal before the deadline, and forced close if the alert is still active by the end of the dealine." class="fa" ng-class="{'fa-clock-o': state.IsPendingClose()}"></span>
     8  			<a ng-href="errorHistory?alert={{encode(state.Alert)}}">
     9  				<span title="This fire icon represents that the alert has an underlying error. Errors come from things like a time series database issue or a malformed query." class="fa" ng-class="{'fa-fire': child.IsError}"></span>
    10  			</a>
    11  			<span ng-show="state.Id">#{{state.Id}}:</span>
    12  			<span ng-bind="child.Subject || child.AlertKey"></span>
    13  			
    14  			<span class="pull-right" ng-show="child.Ago" ts-since="child.Ago"></span>
    15  		</a>
    16  	</h4>
    17  </div>
    18  <div class="panel-body" ng-if="show">
    19  	<div class="row">
    20  		<div class="col-sm-6">
    21  			<div class="row">
    22  				<div class="col-sm-3">
    23  					<p><strong>Alert Key:</strong></p>
    24  				</div>
    25  				<div class="col-sm-9">
    26  					<span ng-bind="zws(name)" />
    27  				</div>
    28  			</div>
    29  			<div class="row">
    30  				<div class="col-sm-3">
    31  					<p><strong>State:</strong></p>
    32  				</div>
    33  				<div class="col-sm-9">
    34  					<span ng-bind="state.last.Status" /> since <span ts-time="state.last.Time"/>
    35  				</div>
    36  			</div>
    37  			<div class="row">
    38  				<div class="col-sm-3">
    39  					<p><strong>Views:</strong></p>
    40  				</div>
    41  				<div class="col-sm-9">
    42  					<a ng-href="/history?key={{encode(name)}}">Full History</a>,
    43  					<a ng-href="{{state.RuleUrl}}">Rule Editor</a>,
    44  					<a ng-href="/expr?expr={{btoa(state.Expr)}}">Expression</a>,
    45  					<a ng-href="/incident?id={{state.Id}}">Incident (#<span ng-bind="state.Id"/>)</a>
    46  				</div>
    47  			</div>
    48  			<div class="row">
    49  				<div class="col-sm-3">
    50  					<p><strong>Previous Incidents ({{ state.PreviousIds ? state.PreviousIds.length : 0 }}):</strong></p>
    51  				</div>
    52  				<div class="col-sm-9">
    53  					<a ng-repeat="id in state.PreviousIds | limitTo:5" ng-href="/incident?id={{encode(id)}}">#{{id}} </a>
    54  					<p ng-hide="state.PreviousIds">None</p>
    55  				</div>
    56  			</div>
    57  		</div>
    58  		<div class="col-sm-6">
    59  			<div class="row">
    60  				<div class="col-sm-3">
    61  					<p><strong>Silence:</strong></p>
    62  				</div>
    63  				<div class="col-sm-9">
    64  					<a class="btn btn-default btn-xs" ng-href="/silence?duration=1h&alert={{state.Alert}}&tags={{encode(state.Tags)}}">1 hour</a>
    65  					<a class="btn btn-default btn-xs" ng-href="/silence?duration=2h&alert={{state.Alert}}&tags={{encode(state.Tags)}}">2 hours</a>
    66  					<a class="btn btn-default btn-xs" ng-href="/silence?duration=6h&alert={{state.Alert}}&tags={{encode(state.Tags)}}">6 hours</a>
    67  					<a class="btn btn-default btn-xs" ng-href="/silence?duration=12h&alert={{state.Alert}}&tags={{encode(state.Tags)}}">12 hours</a>
    68  					<a class="btn btn-default btn-xs" ng-href="/silence?duration=24h&alert={{state.Alert}}&tags={{encode(state.Tags)}}">24 hours</a>
    69  				</div>
    70  			</div>
    71  			<div class="row">
    72  				<div class="col-sm-3">
    73  					<p><strong>Actions:</strong></p>
    74  				</div>
    75  				<div class="col-sm-9">
    76  					<ts-note></ts-note>
    77  					<ts-ack></ts-ack>
    78  					<ts-close></ts-close>
    79  					<ts-force-close></ts-force-close>
    80  					<ts-cancel-close ng-if="state.IsPendingClose()"></ts-cancel-close>
    81  					<ts-forget ng-if="group.Status == 'unknown'"></ts-forget>
    82  					<ts-purge></ts-purge>
    83  				</div>
    84  			</div>
    85  			<div class="row" ng-show="state.LastAction">
    86  				<div class="col-sm-3">
    87  					<p><strong>Last Action:</strong></p>
    88  				</div>
    89  				<div class="col-sm-9">
    90  					{{state.LastAction.Type}}
    91  					<span ng-show="state.LastAction.User">by {{state.LastAction.User}}</span>
    92  					at <span ts-time="state.LastAction.Time"></span>
    93  					<span ng-show="state.LastAction.Message">: {{state.LastAction.Message}}</span>
    94  				</div>
    95  			</div>
    96  		</div>
    97  	</div>
    98  	<div class="row" ng-if="state.Body">
    99  		<div class="col-sm-12">
   100  			<hr/>
   101  		</div>
   102  		<div class="col-sm-12" ng-bind-html="state.Body"></div>
   103  	</div>
   104  </div>