parse results from alerts query

Signed-off-by: Kevin Fitzpatrick <kevin@influxdb.com>
pull/10616/head
Jade McGough 2016-11-03 13:28:10 -07:00 committed by Kevin Fitzpatrick
parent ab08c4750f
commit 1db252643f
2 changed files with 22 additions and 2 deletions

View File

@ -3,7 +3,7 @@ import {proxy} from 'utils/queryUrlGenerator';
export function getAlerts(proxyLink) { export function getAlerts(proxyLink) {
return proxy({ return proxy({
source: proxyLink, source: proxyLink,
query: "select host, value, name, time, level from alerts", query: "select host, value, level, alert_name from alert",
db: "chronograf", db: "chronograf",
}); });
} }

View File

@ -1,6 +1,7 @@
import React, {PropTypes} from 'react'; import React, {PropTypes} from 'react';
import AlertsTable from '../components/AlertsTable'; import AlertsTable from '../components/AlertsTable';
import {getAlerts} from '../apis'; import {getAlerts} from '../apis';
import _ from 'lodash';
// Kevin: because we were getting strange errors saying // Kevin: because we were getting strange errors saying
// "Failed prop type: Required prop `source` was not specified in `AlertsApp`." // "Failed prop type: Required prop `source` was not specified in `AlertsApp`."
@ -27,7 +28,26 @@ const AlertsApp = React.createClass({
componentDidMount() { componentDidMount() {
return getAlerts(this.props.source.links.proxy).then((resp) => { return getAlerts(this.props.source.links.proxy).then((resp) => {
this.setState({alerts: resp.alerts}); const results = [];
const alertSeries = _.get(resp, ['data', 'results', '0', 'series'], []);
const timeIndex = alertSeries[0].columns.findIndex((col) => col === 'time');
const hostIndex = alertSeries[0].columns.findIndex((col) => col === 'host');
const valueIndex = alertSeries[0].columns.findIndex((col) => col === 'value');
const levelIndex = alertSeries[0].columns.findIndex((col) => col === 'level');
const nameIndex = alertSeries[0].columns.findIndex((col) => col === 'alert_name');
alertSeries[0].values.forEach((s) => {
results.push({
time: `${s[timeIndex]}`,
host: s[hostIndex],
value: `${s[valueIndex]}`,
level: s[levelIndex],
name: `${s[nameIndex]}`,
});
});
this.setState({alerts: results});
}); });
}, },