diff --git a/graylog2-web-interface/src/components/authentication/AccessTokenConfig.js b/graylog2-web-interface/src/components/authentication/AccessTokenConfig.js
index 5f220def399b..554e2925a9fc 100644
--- a/graylog2-web-interface/src/components/authentication/AccessTokenConfig.js
+++ b/graylog2-web-interface/src/components/authentication/AccessTokenConfig.js
@@ -1,17 +1,21 @@
import React, { PropTypes } from 'react';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
const AccessTokenConfig = React.createClass({
propTypes: {
config: PropTypes.object,
},
render() {
- return (
-
- Each user can generate access tokens to avoid having to use their main password in insecure scripts.
-
- There currently is no configuration available for access tokens. You can safely disable this authenticator if you do not use access tokens.
- );
+ return (
+
+
+
+ Each user can generate access tokens to avoid having to use their main password in insecure scripts.
+
+ There currently is no configuration available for access tokens. You can safely disable this authenticator if you do not use access tokens.
+
+
+ );
},
});
diff --git a/graylog2-web-interface/src/components/authentication/AuthProvidersConfig.jsx b/graylog2-web-interface/src/components/authentication/AuthProvidersConfig.jsx
index 9c5f9f1ddb7d..99ed263fc039 100644
--- a/graylog2-web-interface/src/components/authentication/AuthProvidersConfig.jsx
+++ b/graylog2-web-interface/src/components/authentication/AuthProvidersConfig.jsx
@@ -1,7 +1,7 @@
import React from 'react';
import { Row, Col, Button, Alert, Table } from 'react-bootstrap';
import BootstrapModalForm from 'components/bootstrap/BootstrapModalForm';
-import { PageHeader, IfPermitted, SortableList } from 'components/common';
+import { DocumentTitle, PageHeader, IfPermitted, SortableList } from 'components/common';
import Routes from 'routing/Routes';
import ObjectUtils from 'util/ObjectUtils';
import naturalSort from 'javascript-natural-sort';
@@ -143,61 +143,63 @@ const AuthProvidersConfig = React.createClass({
render() {
return (
-
-
- The following authentication providers executed in order during login. Disabled providers will be
- skipped. A user is authenticated by the first matching provider, a successful match can cause a Graylog account for
- this user to be created.
-
-
-
-
-
-
-
-
#
-
Provider
-
Description
-
Status
-
-
-
- {this._summary()}
-
-
-
-
-
-
-
-
-
-
Order
-
Use drag and drop to change the execution order of the authentication providers.
-
-
-
Status
-
Change the checkboxes to change the status of an authentication provider.
-
+
+
+
+ The following authentication providers executed in order during login. Disabled providers will be
+ skipped. A user is authenticated by the first matching provider, a successful match can cause a Graylog account for
+ this user to be created.
+
+
+
+
Use drag and drop to change the execution order of the authentication providers.
+
+
+
Status
+
Change the checkboxes to change the status of an authentication provider.
+
+
+
+
Provider
+
Enabled
+
+
+
+ {this._statusForm()}
+
+
+ {this._noActiveRealmWarning()}
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/components/authentication/LegacyLdapConfig.js b/graylog2-web-interface/src/components/authentication/LegacyLdapConfig.js
index 39a7db8f49bd..af21c0ef937d 100644
--- a/graylog2-web-interface/src/components/authentication/LegacyLdapConfig.js
+++ b/graylog2-web-interface/src/components/authentication/LegacyLdapConfig.js
@@ -1,5 +1,5 @@
import React, { PropTypes } from 'react';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
import { Button } from 'react-bootstrap';
import LdapComponent from 'components/ldap/LdapComponent';
@@ -41,16 +41,23 @@ const LegacyLdapConfig = React.createClass({
const toggleButtonText = this.state.showSettings ? 'LDAP Group Mapping' : 'LDAP Settings';
const activeComponent = this.state.showSettings ? : ;
- return (
-
- This page is the only resource you need to set up the Graylog LDAP integration. You can test the connection to your LDAP server and even try to log in with an LDAP account of your choice right away.
- {null}
+ return (
+
-
+
+
+ This page is the only resource you need to set up the Graylog LDAP integration. You can test the
+ connection to your LDAP server and even try to log in with an LDAP account of your choice right away.
+
+ {null}
+
+
+
+
+ {activeComponent}
-
- {activeComponent}
- );
+
+ );
},
});
diff --git a/graylog2-web-interface/src/components/authentication/MongoDbPasswordConfig.jsx b/graylog2-web-interface/src/components/authentication/MongoDbPasswordConfig.jsx
index 0a7749d32989..8f9c0d7e437b 100644
--- a/graylog2-web-interface/src/components/authentication/MongoDbPasswordConfig.jsx
+++ b/graylog2-web-interface/src/components/authentication/MongoDbPasswordConfig.jsx
@@ -1,17 +1,21 @@
import React, { PropTypes } from 'react';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
const MongoDbPasswordConfig = React.createClass({
propTypes: {
config: PropTypes.object,
},
render() {
- return (
-
- This authenticator uses the password stored in MongoDB to grant access to users, it usually runs last, so that other authentication sources have priority.
-
- If you only rely on external authentication systems, such as LDAP or Active Directory, you can disable this authenticator. It currently has no configuration options.
- );
+ return (
+
+
+
+ This authenticator uses the password stored in MongoDB to grant access to users, it usually runs last, so that other authentication sources have priority.
+
+ If you only rely on external authentication systems, such as LDAP or Active Directory, you can disable this authenticator. It currently has no configuration options.
+
+
+ );
},
});
diff --git a/graylog2-web-interface/src/components/authentication/MongoDbSessionConfig.js b/graylog2-web-interface/src/components/authentication/MongoDbSessionConfig.js
index 8852db442da6..48be5b79561a 100644
--- a/graylog2-web-interface/src/components/authentication/MongoDbSessionConfig.js
+++ b/graylog2-web-interface/src/components/authentication/MongoDbSessionConfig.js
@@ -1,17 +1,21 @@
import React, { PropTypes } from 'react';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
const MongoDbSessionConfig = React.createClass({
propTypes: {
config: PropTypes.object,
},
render() {
- return (
-
- This authenticator uses the session supplied from the web interface to grant access to logged in users, it usually runs first.
-
- Since sessions are necessary to let the web interface function it cannot be disabled.
- );
+ return (
+
+
+
+ This authenticator uses the session supplied from the web interface to grant access to logged in users, it usually runs first.
+
+ Since sessions are necessary to let the web interface function it cannot be disabled.
+
+
+ );
},
});
diff --git a/graylog2-web-interface/src/components/authentication/RootUserConfig.js b/graylog2-web-interface/src/components/authentication/RootUserConfig.js
index c02b8c561149..8e492244febf 100644
--- a/graylog2-web-interface/src/components/authentication/RootUserConfig.js
+++ b/graylog2-web-interface/src/components/authentication/RootUserConfig.js
@@ -1,17 +1,21 @@
import React, { PropTypes } from 'react';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
const RootUserConfig = React.createClass({
propTypes: {
config: PropTypes.object,
},
render() {
- return (
-
- This authenticator grants access to the admin user specified in the configuration file.
-
- Currently the admin user authenticator cannot be configured outside of the configuration file. It can also not be disabled at the moment.
- );
+ return (
+
+
+
+ This authenticator grants access to the admin user specified in the configuration file.
+
+ Currently the admin user authenticator cannot be configured outside of the configuration file. It can also not be disabled at the moment.
+
+
+ );
},
});
diff --git a/graylog2-web-interface/src/components/common/DocumentTitle.jsx b/graylog2-web-interface/src/components/common/DocumentTitle.jsx
index 16ecc32edf38..4102584ef7a8 100644
--- a/graylog2-web-interface/src/components/common/DocumentTitle.jsx
+++ b/graylog2-web-interface/src/components/common/DocumentTitle.jsx
@@ -10,16 +10,14 @@ const DocumentTitle = React.createClass({
},
componentDidMount() {
- this.originalTitle = document.title;
document.title = `${document.title} - ${this.props.title}`;
},
componentWillUnmount() {
- document.title = this.originalTitle;
+ document.title = this.defaultTitle;
},
- originalTitle: undefined,
-
+ defaultTitle: 'Graylog',
render() {
return this.props.children;
},
diff --git a/graylog2-web-interface/src/components/gettingstarted/GettingStarted.jsx b/graylog2-web-interface/src/components/gettingstarted/GettingStarted.jsx
index c57ce3bf97e7..a7d342f1d4e2 100644
--- a/graylog2-web-interface/src/components/gettingstarted/GettingStarted.jsx
+++ b/graylog2-web-interface/src/components/gettingstarted/GettingStarted.jsx
@@ -2,7 +2,7 @@ import React, { PropTypes } from 'react';
import { Button, Grid, Row, Col } from 'react-bootstrap';
import Qs from 'qs';
-import {Spinner} from 'components/common';
+import { Spinner } from 'components/common';
import ActionsProvider from 'injection/ActionsProvider';
const GettingStartedActions = ActionsProvider.getActions('GettingStarted');
diff --git a/graylog2-web-interface/src/components/ldap/LdapComponent.jsx b/graylog2-web-interface/src/components/ldap/LdapComponent.jsx
index 52ce3a0049f4..22ae252472d6 100644
--- a/graylog2-web-interface/src/components/ldap/LdapComponent.jsx
+++ b/graylog2-web-interface/src/components/ldap/LdapComponent.jsx
@@ -64,7 +64,7 @@ const HelperText = {
The default Graylog role determines whether a user created via Active Directory can access the entire system, or has limited access.
You can assign additional permissions by{' '}
- mapping Active Directory groups to Graylog roles,{' '}
+ mapping Active Directory groups to Graylog roles,{' '}
or you can assign additional Graylog roles to Active Directory users below.
),
@@ -118,7 +118,7 @@ const HelperText = {
The default Graylog role determines whether a user created via LDAP can access the entire system, or has limited access.
You can assign additional permissions by{' '}
- mapping LDAP groups to Graylog roles,{' '}
+ mapping LDAP groups to Graylog roles,{' '}
or you can assign additional Graylog roles to LDAP users below.
),
diff --git a/graylog2-web-interface/src/components/ldap/LdapGroupsComponent.jsx b/graylog2-web-interface/src/components/ldap/LdapGroupsComponent.jsx
index e1e9a5a7deb4..4874d4bfb3c7 100644
--- a/graylog2-web-interface/src/components/ldap/LdapGroupsComponent.jsx
+++ b/graylog2-web-interface/src/components/ldap/LdapGroupsComponent.jsx
@@ -95,7 +95,7 @@ const LdapGroupsComponent = React.createClass({
return (
);
diff --git a/graylog2-web-interface/src/pages/AlertConditionsPage.jsx b/graylog2-web-interface/src/pages/AlertConditionsPage.jsx
index a28334e41fca..27601c9e35ba 100644
--- a/graylog2-web-interface/src/pages/AlertConditionsPage.jsx
+++ b/graylog2-web-interface/src/pages/AlertConditionsPage.jsx
@@ -4,7 +4,7 @@ import { Button, Col, Row } from 'react-bootstrap';
import { LinkContainer } from 'react-router-bootstrap';
import DocumentationLink from 'components/support/DocumentationLink';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
import { AlertConditionsComponent } from 'components/alertconditions';
import Routes from 'routing/Routes';
@@ -17,30 +17,32 @@ const AlertConditionsPage = React.createClass({
mixins: [Reflux.connect(CurrentUserStore)],
render() {
return (
-
-
-
- Alert conditions define situations that require your attention. Graylog will check those conditions
- periodically and notify you when their statuses change.
-
-
-
- Read more about alerting in the .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Alert conditions define situations that require your attention. Graylog will check those conditions
+ periodically and notify you when their statuses change.
+
+
+
+ Read more about alerting in the .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/AlertNotificationsPage.jsx b/graylog2-web-interface/src/pages/AlertNotificationsPage.jsx
index 8fbc849b7d66..62525724e1f6 100644
--- a/graylog2-web-interface/src/pages/AlertNotificationsPage.jsx
+++ b/graylog2-web-interface/src/pages/AlertNotificationsPage.jsx
@@ -3,7 +3,7 @@ import Reflux from 'reflux';
import { Button, Col, Row } from 'react-bootstrap';
import { LinkContainer } from 'react-router-bootstrap';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
import { AlertNotificationsComponent } from 'components/alertnotifications';
import Routes from 'routing/Routes';
@@ -14,34 +14,36 @@ const AlertNotificationsPage = React.createClass({
mixins: [Reflux.connect(CurrentUserStore)],
render() {
return (
-
-
-
- Notifications let you be aware of changes in your alert conditions status any time. Graylog can send
- notifications directly to you or to other systems you use for that purpose.
-
+
+
+
+
+ Notifications let you be aware of changes in your alert conditions status any time. Graylog can send
+ notifications directly to you or to other systems you use for that purpose.
+
-
- Remember to assign the notifications to use in the alert conditions page.
-
+
+ Remember to assign the notifications to use in the alert conditions page.
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/AlertsPage.jsx b/graylog2-web-interface/src/pages/AlertsPage.jsx
index 76854a130061..e7ef851bab62 100644
--- a/graylog2-web-interface/src/pages/AlertsPage.jsx
+++ b/graylog2-web-interface/src/pages/AlertsPage.jsx
@@ -6,7 +6,7 @@ import { LinkContainer } from 'react-router-bootstrap';
import { AlertsComponent } from 'components/alerts';
import DocumentationLink from 'components/support/DocumentationLink';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
import Routes from 'routing/Routes';
import DocsHelper from 'util/DocsHelper';
@@ -18,34 +18,36 @@ const AlertsPage = React.createClass({
mixins: [Reflux.connect(CurrentUserStore)],
render() {
return (
-
-
-
- Alerts are triggered when conditions you define are satisfied. Graylog will automatically mark alerts as
- resolved once the status of your conditions change.
-
-
-
- Read more about alerting in the .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Alerts are triggered when conditions you define are satisfied. Graylog will automatically mark alerts as
+ resolved once the status of your conditions change.
+
+
+
+ Read more about alerting in the .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ConfigurationsPage.jsx b/graylog2-web-interface/src/pages/ConfigurationsPage.jsx
index e114c14f1ba6..9ed163847ba8 100644
--- a/graylog2-web-interface/src/pages/ConfigurationsPage.jsx
+++ b/graylog2-web-interface/src/pages/ConfigurationsPage.jsx
@@ -1,7 +1,7 @@
import React from 'react';
import Reflux from 'reflux';
import { Row, Col } from 'react-bootstrap';
-import { PageHeader, Spinner } from 'components/common';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import { PluginStore } from 'graylog-web-plugin/plugin';
import StoreProvider from 'injection/StoreProvider';
@@ -117,33 +117,35 @@ const ConfigurationsPage = React.createClass({
const pluginConfigRows = this._pluginConfigRows();
return (
-
-
-
- You can configure system settings for different sub systems on this page.
-
-
-
-
-
+
+ }
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ContentPacksPage.jsx b/graylog2-web-interface/src/pages/ContentPacksPage.jsx
index f7f765a4dc14..94e94bf8fb1f 100644
--- a/graylog2-web-interface/src/pages/ContentPacksPage.jsx
+++ b/graylog2-web-interface/src/pages/ContentPacksPage.jsx
@@ -4,39 +4,40 @@ import { LinkContainer } from 'react-router-bootstrap';
import Routes from 'routing/Routes';
-import PageHeader from 'components/common/PageHeader';
+import { DocumentTitle, PageHeader } from 'components/common';
import ConfigurationBundles from 'components/source-tagging/ConfigurationBundles';
const ContentPacksPage = React.createClass({
render() {
-
return (
-
-
-
- Content packs accelerate the set up process for a specific data source. A content pack can include inputs/extractors, streams, and dashboards.
-
-
-
- Find more content packs in {' '}
- the Graylog Marketplace.
-
-
-
-
-
-
-
-
-
-
-
Select content packs
-
-
-
-
-
-
+
+
+
+
+ Content packs accelerate the set up process for a specific data source. A content pack can include inputs/extractors, streams, and dashboards.
+
+
+
+ Find more content packs in {' '}
+ the Graylog Marketplace.
+
+
+
+
+
+
+
+
+
+
+
Select content packs
+
+
+
+
+
+
+
);
}
});
diff --git a/graylog2-web-interface/src/pages/CreateExtractorsPage.jsx b/graylog2-web-interface/src/pages/CreateExtractorsPage.jsx
index 274245eb23f4..5aacbd6ba673 100644
--- a/graylog2-web-interface/src/pages/CreateExtractorsPage.jsx
+++ b/graylog2-web-interface/src/pages/CreateExtractorsPage.jsx
@@ -1,8 +1,7 @@
import React, {PropTypes} from 'react';
import Reflux from 'reflux';
-import Spinner from 'components/common/Spinner';
-import PageHeader from 'components/common/PageHeader';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import DocumentationLink from 'components/support/DocumentationLink';
import EditExtractor from 'components/extractors/EditExtractor';
@@ -66,24 +65,26 @@ const CreateExtractorsPage = React.createClass({
const exampleMessage = StringUtils.stringify(this.state.exampleMessage.fields[this.state.field]);
return (
-
- New extractor for input {this.state.input.title}}>
-
- Extractors are applied on every message that is received by an input. Use them to extract and transform{' '}
- any text data into fields that allow you easy filtering and analysis later on.
-
+
+
+ New extractor for input {this.state.input.title}}>
+
+ Extractors are applied on every message that is received by an input. Use them to extract and
+ transform any text data into fields that allow you easy filtering and analysis later on.
+
-
- Find more information about extractors in the
- {' '}.
-
-
-
-
+
+ Find more information about extractors in the
+ {' '}.
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/CreateUsersPage.jsx b/graylog2-web-interface/src/pages/CreateUsersPage.jsx
index 5569e649f7e8..9d8a5382470b 100644
--- a/graylog2-web-interface/src/pages/CreateUsersPage.jsx
+++ b/graylog2-web-interface/src/pages/CreateUsersPage.jsx
@@ -8,8 +8,7 @@ import StoreProvider from 'injection/StoreProvider';
const RolesStore = StoreProvider.getStore('Roles');
const UsersStore = StoreProvider.getStore('Users');
-import Spinner from 'components/common/Spinner';
-import PageHeader from 'components/common/PageHeader';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import NewUserForm from 'components/users/NewUserForm';
const CreateUsersPage = React.createClass({
@@ -51,19 +50,21 @@ const CreateUsersPage = React.createClass({
return ;
}
return (
-
-
-
- Use this page to create new Graylog users. The users and their permissions created here are not limited
- to the web interface but valid and required for the REST APIs of your Graylog server nodes, too.
-
-
-
-
-
-
-
-
+
+
+
+
+ Use this page to create new Graylog users. The users and their permissions created here are not limited
+ to the web interface but valid and required for the REST APIs of your Graylog server nodes, too.
+
+
+
+
- Condition {condition.title || 'Untitled'}}>
-
- Define an alert condition and configure the way Graylog will notify you when that condition is satisfied.
-
-
-
- Are the default conditions not flexible enough? You can write your own! Read more about alerting in the{' '}
- .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+ Condition {condition.title || 'Untitled'}}>
+
+ Define an alert condition and configure the way Graylog will notify you when that condition is satisfied.
+
+
+
+ Are the default conditions not flexible enough? You can write your own! Read more about alerting in
+ the{' '}
+ .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/EditExtractorsPage.jsx b/graylog2-web-interface/src/pages/EditExtractorsPage.jsx
index 3f072dcd55d9..aadf356a16c9 100644
--- a/graylog2-web-interface/src/pages/EditExtractorsPage.jsx
+++ b/graylog2-web-interface/src/pages/EditExtractorsPage.jsx
@@ -1,8 +1,7 @@
import React, {PropTypes} from 'react';
import Reflux from 'reflux';
-import Spinner from 'components/common/Spinner';
-import PageHeader from 'components/common/PageHeader';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import DocumentationLink from 'components/support/DocumentationLink';
import EditExtractor from 'components/extractors/EditExtractor';
@@ -65,25 +64,27 @@ const EditExtractorsPage = React.createClass({
}
return (
-
- Edit extractor {this.state.extractor.title} for input {this.state.input.title}}>
-
- Extractors are applied on every message that is received by an input. Use them to extract and transform{' '}
- any text data into fields that allow you easy filtering and analysis later on.
-
+
+
+ Edit extractor {this.state.extractor.title} for input {this.state.input.title}}>
+
+ Extractors are applied on every message that is received by an input. Use them to extract and transform{' '}
+ any text data into fields that allow you easy filtering and analysis later on.
+
-
- Find more information about extractors in the
- {' '}.
-
-
-
-
+
+ Find more information about extractors in the
+ {' '}.
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/EditUsersPage.jsx b/graylog2-web-interface/src/pages/EditUsersPage.jsx
index 34a6e042a932..0c917c24e704 100644
--- a/graylog2-web-interface/src/pages/EditUsersPage.jsx
+++ b/graylog2-web-interface/src/pages/EditUsersPage.jsx
@@ -5,8 +5,7 @@ import StoreProvider from 'injection/StoreProvider';
const UsersStore = StoreProvider.getStore('Users');
const StartpageStore = StoreProvider.getStore('Startpage');
-import PageHeader from 'components/common/PageHeader';
-import Spinner from 'components/common/Spinner';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import UserForm from 'components/users/UserForm';
import UserPreferencesButton from 'components/users/UserPreferencesButton';
@@ -60,18 +59,20 @@ const EditUsersPage = React.createClass({
: null;
return (
-
- Edit user {this.props.params.username}} subpage>
- You can either change the details of a user here or set a new password.
- {null}
-
+
-
-
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ExportContentPackPage.jsx b/graylog2-web-interface/src/pages/ExportContentPackPage.jsx
index 520f5b6fdfc9..c8020a081418 100644
--- a/graylog2-web-interface/src/pages/ExportContentPackPage.jsx
+++ b/graylog2-web-interface/src/pages/ExportContentPackPage.jsx
@@ -18,7 +18,7 @@ import ActionsProvider from 'injection/ActionsProvider';
const InputsActions = ActionsProvider.getActions('Inputs');
const ConfigurationBundlesActions = ActionsProvider.getActions('ConfigurationBundles');
-import PageHeader from 'components/common/PageHeader';
+import { DocumentTitle, PageHeader } from 'components/common';
const ExportContentPackPage = React.createClass({
mixins: [Reflux.connect(InputsStore)],
@@ -142,144 +142,146 @@ const ExportContentPackPage = React.createClass({
},
render() {
return (
-
-
- Export your inputs, outputs, streams and dashboards as a content pack and share it with the community or other setups.
-
+
+
+
+ Export your inputs, outputs, streams and dashboards as a content pack and share it with the community or other setups.
+
-
-
-
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ExportExtractorsPage.jsx b/graylog2-web-interface/src/pages/ExportExtractorsPage.jsx
index dd36d2108875..6b522b45dacf 100644
--- a/graylog2-web-interface/src/pages/ExportExtractorsPage.jsx
+++ b/graylog2-web-interface/src/pages/ExportExtractorsPage.jsx
@@ -1,8 +1,7 @@
import React, {PropTypes} from 'react';
import Reflux from 'reflux';
-import PageHeader from 'components/common/PageHeader';
-import Spinner from 'components/common/Spinner';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import ExportExtractors from 'components/extractors/ExportExtractors';
import ActionsProvider from 'injection/ActionsProvider';
@@ -33,15 +32,17 @@ const ExportExtractorsPage = React.createClass({
}
return (
-
- Export extractors of {this.state.input.title}}>
-
- The extractors of an input can be exported to JSON for importing into other setups
- or sharing in the Graylog Marketplace.
-
-
-
-
+
+
+ Export extractors of {this.state.input.title}}>
+
+ The extractors of an input can be exported to JSON for importing into other setups
+ or sharing in the Graylog Marketplace.
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ExtractorsPage.jsx b/graylog2-web-interface/src/pages/ExtractorsPage.jsx
index 90b97463a62a..fbac89fd5806 100644
--- a/graylog2-web-interface/src/pages/ExtractorsPage.jsx
+++ b/graylog2-web-interface/src/pages/ExtractorsPage.jsx
@@ -5,7 +5,7 @@ import { LinkContainer } from 'react-router-bootstrap';
import PageHeader from 'components/common/PageHeader';
import ExtractorsList from 'components/extractors/ExtractorsList';
-import Spinner from 'components/common/Spinner';
+import { DocumentTitle, Spinner } from 'components/common';
import DocumentationLink from 'components/support/DocumentationLink';
import Routes from 'routing/Routes';
@@ -61,31 +61,33 @@ const ExtractorsPage = React.createClass({
}
return (
-
- Extractors of {this.state.input.title}}>
-
- Extractors are applied on every message that is received by this input. Use them to extract and transform{' '}
- any text data into fields that allow you easy filtering and analysis later on.{' '}
- Example: Extract the HTTP response code from a log message, transform it to a numeric field and attach it{' '}
- as http_response_code to the message.
-
+
+
+ Extractors of {this.state.input.title}}>
+
+ Extractors are applied on every message that is received by this input. Use them to extract and transform{' '}
+ any text data into fields that allow you easy filtering and analysis later on.{' '}
+ Example: Extract the HTTP response code from a log message, transform it to a numeric field and attach it{' '}
+ as http_response_code to the message.
+
-
- Find more information about extractors in the
- {' '}.
-
+
+ Find more information about extractors in the
+ {' '}.
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/GettingStartedPage.jsx b/graylog2-web-interface/src/pages/GettingStartedPage.jsx
index 76ca57f644e1..94257a138d16 100644
--- a/graylog2-web-interface/src/pages/GettingStartedPage.jsx
+++ b/graylog2-web-interface/src/pages/GettingStartedPage.jsx
@@ -1,7 +1,7 @@
import React, {PropTypes} from 'react';
import Reflux from 'reflux';
-import { IfPermitted, Spinner } from 'components/common';
+import { DocumentTitle, IfPermitted, Spinner } from 'components/common';
import GettingStarted from 'components/gettingstarted/GettingStarted';
import UsageStatsOptOut from 'components/usagestats/UsageStatsOptOut';
@@ -29,17 +29,19 @@ const GettingStartedPage = React.createClass({
}
return (
-
-
-
-
-
-
+
+
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/GrokPatternsPage.jsx b/graylog2-web-interface/src/pages/GrokPatternsPage.jsx
index 8d536c273969..3bad70e23013 100644
--- a/graylog2-web-interface/src/pages/GrokPatternsPage.jsx
+++ b/graylog2-web-interface/src/pages/GrokPatternsPage.jsx
@@ -1,10 +1,15 @@
import React from 'react';
import GrokPatterns from 'components/grok-patterns/GrokPatterns';
+import { DocumentTitle } from 'components/common';
const GrokPatternsPage = React.createClass({
render() {
- return ;
+ return (
+
+
+
+ );
},
});
diff --git a/graylog2-web-interface/src/pages/ImportExtractorsPage.jsx b/graylog2-web-interface/src/pages/ImportExtractorsPage.jsx
index 1ee806813416..5345cc807cbd 100644
--- a/graylog2-web-interface/src/pages/ImportExtractorsPage.jsx
+++ b/graylog2-web-interface/src/pages/ImportExtractorsPage.jsx
@@ -1,8 +1,7 @@
import React, {PropTypes} from 'react';
import Reflux from 'reflux';
-import PageHeader from 'components/common/PageHeader';
-import Spinner from 'components/common/Spinner';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import ImportExtractors from 'components/extractors/ImportExtractors';
import ActionsProvider from 'injection/ActionsProvider';
@@ -33,16 +32,18 @@ const ImportExtractorsPage = React.createClass({
}
return (
-
- Import extractors to {this.state.input.title}}>
-
- Exported extractors can be imported to an input. All you need is the JSON export of extractors from any
- other Graylog setup or from the Graylog
- Marketplace.
-
-
-
-
+
+
+ Import extractors to {this.state.input.title}}>
+
+ Exported extractors can be imported to an input. All you need is the JSON export of extractors from any
+ other Graylog setup or from the Graylog
+ Marketplace.
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/IndexerFailuresPage.jsx b/graylog2-web-interface/src/pages/IndexerFailuresPage.jsx
index a47a36f14ab0..b186209e4919 100644
--- a/graylog2-web-interface/src/pages/IndexerFailuresPage.jsx
+++ b/graylog2-web-interface/src/pages/IndexerFailuresPage.jsx
@@ -8,7 +8,7 @@ const IndexerFailuresStore = StoreProvider.getStore('IndexerFailures');
import DocsHelper from 'util/DocsHelper';
-import { Spinner, PageHeader, PaginatedList } from 'components/common';
+import { DocumentTitle, Spinner, PageHeader, PaginatedList } from 'components/common';
import { DocumentationLink } from 'components/support';
import { IndexerFailuresList } from 'components/indexers';
@@ -36,27 +36,29 @@ const IndexerFailuresPage = React.createClass({
return ;
}
return (
-
-
-
- This is a list of message index attempts that failed. A failure means that a message you sent to Graylog was{' '}
- properly processed but writing it to the Elasticsearch cluster failed. Note that the list is capped to a size{' '}
- of 50 MB so it will contain a lot of failure logs but not necessarily all that ever occurred.
-
+
+
+
+
+ This is a list of message index attempts that failed. A failure means that a message you sent to Graylog was{' '}
+ properly processed but writing it to the Elasticsearch cluster failed. Note that the list is capped to a size{' '}
+ of 50 MB so it will contain a lot of failure logs but not necessarily all that ever occurred.
+
-
- Collection containing a total of {numeral(this.state.total).format('0,0')} indexer failures. Read more about
- this topic in the .
-
-
-
-
-
-
-
-
-
-
+
+ Collection containing a total of {numeral(this.state.total).format('0,0')} indexer failures. Read more about
+ this topic in the .
+
+
+
+
- Required LDAP configuration is not set, please check the{' '}
- LDAP configuration settings{' '}
- to enable group mapping.
-
- );
- }
-
- return ;
- },
-
- render() {
- return (
-
-
- Map LDAP groups to Graylog roles
-
-
- LDAP groups with no defined mapping will use the defaults set in your{' '}
- LDAP settings.{' '}
- Read more about it in the .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {this._getContent()}
-
-
-
- );
- },
-});
-
-export default LdapGroupsPage;
diff --git a/graylog2-web-interface/src/pages/LdapPage.jsx b/graylog2-web-interface/src/pages/LdapPage.jsx
deleted file mode 100644
index 91262e2a9917..000000000000
--- a/graylog2-web-interface/src/pages/LdapPage.jsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import React from 'react';
-import { Button, Row, Col } from 'react-bootstrap';
-import { LinkContainer } from 'react-router-bootstrap';
-
-import DocsHelper from 'util/DocsHelper';
-import Routes from 'routing/Routes';
-
-import { IfPermitted, PageHeader } from 'components/common';
-import DocumentationLink from 'components/support/DocumentationLink';
-import LdapComponent from 'components/ldap/LdapComponent';
-
-const LdapPage = React.createClass({
- render() {
- return (
-
-
- This page is the only resource you need to set up the Graylog LDAP integration. You can test the connection to your LDAP server and even try to log in with an LDAP account of your choice right away.
-
- Read more about LDAP configuration in the .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/LoggersPage.jsx b/graylog2-web-interface/src/pages/LoggersPage.jsx
index 846f9303898c..074de378187b 100644
--- a/graylog2-web-interface/src/pages/LoggersPage.jsx
+++ b/graylog2-web-interface/src/pages/LoggersPage.jsx
@@ -1,21 +1,23 @@
import React from 'react';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
import { LoggerOverview } from 'components/loggers';
const LoggersPage = React.createClass({
render() {
return (
-
-
-
- This section controls logging of the Graylog architecture and allows you to change log
- levels on the fly. Note that log levels are reset to their defaults after you restart
- the affected service.
-
-
-
-
+
+
+
+
+ This section controls logging of the Graylog architecture and allows you to change log
+ levels on the fly. Note that log levels are reset to their defaults after you restart
+ the affected service.
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/LoginPage.jsx b/graylog2-web-interface/src/pages/LoginPage.jsx
index 3b932e1ef152..167c80736248 100644
--- a/graylog2-web-interface/src/pages/LoginPage.jsx
+++ b/graylog2-web-interface/src/pages/LoginPage.jsx
@@ -1,6 +1,7 @@
import React from 'react';
import Reflux from 'reflux';
import { Row, Input, ButtonInput, Alert } from 'react-bootstrap';
+import { DocumentTitle } from 'components/common';
import LoadingPage from './LoadingPage';
@@ -72,26 +73,28 @@ const LoginPage = React.createClass({
const alert = this.formatLastError(this.state.lastError);
return (
-
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/NewAlertConditionPage.jsx b/graylog2-web-interface/src/pages/NewAlertConditionPage.jsx
index 8e5dee2e49ed..438284727b6f 100644
--- a/graylog2-web-interface/src/pages/NewAlertConditionPage.jsx
+++ b/graylog2-web-interface/src/pages/NewAlertConditionPage.jsx
@@ -4,7 +4,7 @@ import { Button, Col, Row } from 'react-bootstrap';
import { LinkContainer } from 'react-router-bootstrap';
import DocumentationLink from 'components/support/DocumentationLink';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
import { CreateAlertConditionInput } from 'components/alertconditions';
import Routes from 'routing/Routes';
@@ -17,34 +17,37 @@ const NewAlertConditionPage = React.createClass({
mixins: [Reflux.connect(CurrentUserStore)],
render() {
return (
-
-
-
- Define an alert condition and configure the way Graylog will notify you when that condition is satisfied.
-
-
-
- Are the default conditions not flexible enough? You can write your own! Read more about alerting in the{' '}
- .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Define an alert condition and configure the way Graylog will notify you when that condition is satisfied.
+
+
+
+ Are the default conditions not flexible enough? You can write your own! Read more about alerting in
+ the{' '}
+ .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/NewAlertNotificationPage.jsx b/graylog2-web-interface/src/pages/NewAlertNotificationPage.jsx
index fcbbe82a103b..28ec5685b7d7 100644
--- a/graylog2-web-interface/src/pages/NewAlertNotificationPage.jsx
+++ b/graylog2-web-interface/src/pages/NewAlertNotificationPage.jsx
@@ -3,7 +3,7 @@ import Reflux from 'reflux';
import { Button, Col, Row } from 'react-bootstrap';
import { LinkContainer } from 'react-router-bootstrap';
-import { PageHeader } from 'components/common';
+import { DocumentTitle, PageHeader } from 'components/common';
import { CreateAlertNotificationInput } from 'components/alertnotifications';
import Routes from 'routing/Routes';
@@ -15,33 +15,35 @@ const NewAlertNotificationPage = React.createClass({
mixins: [Reflux.connect(CurrentUserStore)],
render() {
return (
-
-
-
- Create a new notification that you can use to not miss any of your alerts.
-
-
-
- Remember to assign the notifications to use in the alert conditions page.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Create a new notification that you can use to not miss any of your alerts.
+
+
+
+ Remember to assign the notifications to use in the alert conditions page.
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- Graylog nodes accept data via inputs. On this page you can see which inputs are running on this specific node.
-
-
- You can launch and terminate inputs on your cluster here.
-
-
-
-
+
+
+
+ Graylog nodes accept data via inputs. On this page you can see which inputs are running on this specific node.
+
+
+ You can launch and terminate inputs on your cluster here.
+
+
+
+
- We are experiencing problems connecting to the Graylog server running on {URLUtils.qualifyUrl('')}.
- Please verify that the server is healthy and working correctly.
-
-
You will be automatically redirected to the previous page once we can connect to the server.
+ We are experiencing problems connecting to the Graylog server running on {URLUtils.qualifyUrl('')}.
+ Please verify that the server is healthy and working correctly.
+
+
You will be automatically redirected to the previous page once we can connect to the server.
-
-
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ShowAlertPage.jsx b/graylog2-web-interface/src/pages/ShowAlertPage.jsx
index fa6443c580f2..71c35079f640 100644
--- a/graylog2-web-interface/src/pages/ShowAlertPage.jsx
+++ b/graylog2-web-interface/src/pages/ShowAlertPage.jsx
@@ -2,7 +2,7 @@ import React from 'react';
import Reflux from 'reflux';
import { Label } from 'react-bootstrap';
-import { PageHeader, Spinner, Timestamp } from 'components/common';
+import { DocumentTitle, PageHeader, Spinner, Timestamp } from 'components/common';
import { AlertDetails } from 'components/alerts';
import DateTime from 'logic/datetimes/DateTime';
@@ -104,19 +104,22 @@ const ShowAlertPage = React.createClass({
);
return (
-
-
-
- Check the timeline of this alert, including the notifications sent, and messages received during the alert.
-
-
-
- {resolvedState}
-
-
-
-
-
+
+
+
+
+ Check the timeline of this alert, including the notifications sent, and messages received during the
+ alert.
+
+
+
+ {resolvedState}
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ShowDashboardPage.jsx b/graylog2-web-interface/src/pages/ShowDashboardPage.jsx
index fd4fea4d0c42..1205fc045ae5 100644
--- a/graylog2-web-interface/src/pages/ShowDashboardPage.jsx
+++ b/graylog2-web-interface/src/pages/ShowDashboardPage.jsx
@@ -14,7 +14,7 @@ import DocsHelper from 'util/DocsHelper';
import UserNotification from 'util/UserNotification';
import Routes from 'routing/Routes';
-import { GridsterContainer, PageHeader, Spinner, IfPermitted } from 'components/common';
+import { DocumentTitle, GridsterContainer, PageHeader, Spinner, IfPermitted } from 'components/common';
import PermissionsMixin from 'util/PermissionsMixin';
import DocumentationLink from 'components/support/DocumentationLink';
import EditDashboardModalTrigger from 'components/dashboard/EditDashboardModalTrigger';
@@ -230,16 +230,18 @@ const ShowDashboardPage = React.createClass({
);
return (
-
-
- {dashboard.description}
- {supportText}
- {actions}
-
-
- {this.formatDashboard(dashboard)}
-
-
+
+
+
+ {dashboard.description}
+ {supportText}
+ {actions}
+
+
+ {this.formatDashboard(dashboard)}
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ShowMessagePage.jsx b/graylog2-web-interface/src/pages/ShowMessagePage.jsx
index 4bccc0b4f7b9..abb891c30aa9 100644
--- a/graylog2-web-interface/src/pages/ShowMessagePage.jsx
+++ b/graylog2-web-interface/src/pages/ShowMessagePage.jsx
@@ -2,7 +2,7 @@ import React, { PropTypes } from 'react';
import Reflux from 'reflux';
import Immutable from 'immutable';
import MessageShow from 'components/search/MessageShow';
-import Spinner from 'components/common/Spinner';
+import { DocumentTitle, Spinner } from 'components/common';
import ActionsProvider from 'injection/ActionsProvider';
const NodesActions = ActionsProvider.getActions('Nodes');
@@ -54,8 +54,10 @@ const ShowMessagePage = React.createClass({
render() {
if (this._isLoaded()) {
return (
-
+
+
+
);
} else {
return ;
diff --git a/graylog2-web-interface/src/pages/ShowMetricsPage.jsx b/graylog2-web-interface/src/pages/ShowMetricsPage.jsx
index 6cebf5651656..b99bc4b80df3 100644
--- a/graylog2-web-interface/src/pages/ShowMetricsPage.jsx
+++ b/graylog2-web-interface/src/pages/ShowMetricsPage.jsx
@@ -8,7 +8,7 @@ const MetricsStore = StoreProvider.getStore('Metrics');
import ActionsProvider from 'injection/ActionsProvider';
const MetricsActions = ActionsProvider.getActions('Metrics');
-import { PageHeader, Spinner } from 'components/common';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import { MetricsComponent } from 'components/metrics';
const ShowMetricsPage = React.createClass({
@@ -41,17 +41,19 @@ const ShowMetricsPage = React.createClass({
const names = this.state.metricsNames[nodeId];
const filter = this.props.location.query.filter;
return (
-
-
-
- All Graylog nodes provide a set of internal metrics for diagnosis, debugging and monitoring. Note that you can access
- all metrics via JMX, too.
-
- This node is reporting a total of {names.length} metrics.
-
-
-
-
+
+
+
+
+ All Graylog nodes provide a set of internal metrics for diagnosis, debugging and monitoring. Note that you can access
+ all metrics via JMX, too.
+
+ This node is reporting a total of {names.length} metrics.
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ShowNodePage.jsx b/graylog2-web-interface/src/pages/ShowNodePage.jsx
index a8a93b4aa0a7..746416a7c5de 100644
--- a/graylog2-web-interface/src/pages/ShowNodePage.jsx
+++ b/graylog2-web-interface/src/pages/ShowNodePage.jsx
@@ -9,7 +9,7 @@ const InputStatesStore = StoreProvider.getStore('InputStates');
const InputTypesStore = StoreProvider.getStore('InputTypes');
import { NodeMaintenanceDropdown, NodeOverview } from 'components/nodes';
-import { PageErrorOverview, PageHeader, Spinner } from 'components/common';
+import { DocumentTitle, PageErrorOverview, PageHeader, Spinner } from 'components/common';
function nodeFilter(state) {
return state.nodes ? state.nodes[this.props.params.nodeId] : state.nodes;
@@ -68,20 +68,22 @@ const ShowNodePage = React.createClass({
const title = Node {node.short_node_id} / {node.hostname};
return (
-
-
-
- This page shows details of a Graylog server node that is active and reachable in your cluster.
-
-
- {node.is_master ? This is the master node. : This is not the master node.}
-
-
-
-
-
+
+
+
+
+ This page shows details of a Graylog server node that is active and reachable in your cluster.
+
+
+ {node.is_master ? This is the master node. : This is not the master node.}
+
+
+
+
+
- Rules of Stream »{this.state.stream.title}»}>
-
- This screen is dedicated to an easy and comfortable creation and manipulation of stream rules. You can{' '}
- see the effect configured stream rules have on message matching here.
-
-
-
-
-
+
+
+ Rules of Stream »{this.state.stream.title}»}>
+
+ This screen is dedicated to an easy and comfortable creation and manipulation of stream rules. You can{' '}
+ see the effect configured stream rules have on message matching here.
+
+
+
+
+
- Outputs for Stream »{this.state.stream.title}«
-
-
-
- Graylog nodes can forward messages of streams via outputs. Launch or terminate as many outputs as you want here.
- You can also reuse outputs that are already running for other streams.
-
- A global view of all configured outputs is available here.
- You can find output plugins on the Graylog Marketplace.
-
-
-
- Removing an output removes it from this stream but it will still be in the list of available outputs.
- Deleting an output globally will remove it from this and all other streams and terminate it.
- You can see all defined outputs in details at the {' '} global output list.
-
-
-
-
-
-
+
+
+
+
+
+ Outputs for Stream »{this.state.stream.title}«
+
+
+
+ Graylog nodes can forward messages of streams via outputs. Launch or terminate as many outputs as you want here.
+ You can also reuse outputs that are already running for other streams.
+
+ A global view of all configured outputs is available here.
+ You can find output plugins on the Graylog Marketplace.
+
+
+
+ Removing an output removes it from this stream but it will still be in the list of available outputs.
+ Deleting an output globally will remove it from this and all other streams and terminate it.
+ You can see all defined outputs in details at the {' '} global output list.
+
+
+
+
+
+
);
}
});
diff --git a/graylog2-web-interface/src/pages/StreamSearchPage.jsx b/graylog2-web-interface/src/pages/StreamSearchPage.jsx
index 0ddf9ebb53e2..7a93cbe31106 100644
--- a/graylog2-web-interface/src/pages/StreamSearchPage.jsx
+++ b/graylog2-web-interface/src/pages/StreamSearchPage.jsx
@@ -1,6 +1,6 @@
import React, {PropTypes} from 'react';
import SearchPage from './SearchPage';
-import {Spinner} from 'components/common';
+import { DocumentTitle, Spinner } from 'components/common';
import StoreProvider from 'injection/StoreProvider';
const StreamsStore = StoreProvider.getStore('Streams');
@@ -30,7 +30,11 @@ const StreamSearchPage = React.createClass({
return ;
}
- return ;
+ return (
+
+
+
+ );
},
});
diff --git a/graylog2-web-interface/src/pages/StreamsPage.jsx b/graylog2-web-interface/src/pages/StreamsPage.jsx
index 574b70363db3..732980c1042e 100644
--- a/graylog2-web-interface/src/pages/StreamsPage.jsx
+++ b/graylog2-web-interface/src/pages/StreamsPage.jsx
@@ -6,7 +6,7 @@ import CreateStreamButton from 'components/streams/CreateStreamButton';
import StreamComponent from 'components/streams/StreamComponent';
import DocumentationLink from 'components/support/DocumentationLink';
import PageHeader from 'components/common/PageHeader';
-import { IfPermitted, Spinner } from 'components/common';
+import { DocumentTitle, IfPermitted, Spinner } from 'components/common';
import DocsHelper from 'util/DocsHelper';
import UserNotification from 'util/UserNotification';
@@ -43,34 +43,39 @@ const StreamsPage = React.createClass({
}
return (
-
-
- You can route incoming messages into streams by applying rules against them. If a
- message
- matches all rules of a stream it is routed into it. A message can be routed into
- multiple
- streams. You can for example create a stream that contains all SSH logins and configure
- to be alerted whenever there are more logins than usual.
+
+
+
+ You can route incoming messages into streams by applying rules against them. If a
+ message
+ matches all rules of a stream it is routed into it. A message can be routed into
+ multiple
+ streams. You can for example create a stream that contains all SSH logins and configure
+ to be alerted whenever there are more logins than usual.
- Read more about streams in the .
+ Read more about streams in the .
-
- Take a look at the
- {' '}{' '}
- for wall-mounted displays or other integrations.
-
+
+ Take a look at the
+ {' '}{' '}
+ for wall-mounted displays or other integrations.
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/SystemOutputsPage.jsx b/graylog2-web-interface/src/pages/SystemOutputsPage.jsx
index 3c300a6a13b5..7c4e8963bd9b 100644
--- a/graylog2-web-interface/src/pages/SystemOutputsPage.jsx
+++ b/graylog2-web-interface/src/pages/SystemOutputsPage.jsx
@@ -4,27 +4,29 @@ import Reflux from 'reflux';
import StoreProvider from 'injection/StoreProvider';
const CurrentUserStore = StoreProvider.getStore('CurrentUser');
-import PageHeader from 'components/common/PageHeader';
+import { DocumentTitle, PageHeader } from 'components/common';
import OutputsComponent from 'components/outputs/OutputsComponent';
const SystemOutputsPage = React.createClass({
mixins: [Reflux.connect(CurrentUserStore)],
render() {
return (
-
-
-
- Graylog nodes can forward messages via outputs. Launch or terminate as many outputs as you want here
- and then assign them to streams to forward all messages of a stream in real-time.
-
+
+
+
+
+ Graylog nodes can forward messages via outputs. Launch or terminate as many outputs as you want here
+ and then assign them to streams to forward all messages of a stream in real-time.
+
-
- You can find output plugins in the Graylog Marketplace.
-
-
+
+ You can find output plugins in the Graylog Marketplace.
+
+
-
-
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/SystemOverviewPage.jsx b/graylog2-web-interface/src/pages/SystemOverviewPage.jsx
index 1e24242cdde8..fd605c07e8e1 100644
--- a/graylog2-web-interface/src/pages/SystemOverviewPage.jsx
+++ b/graylog2-web-interface/src/pages/SystemOverviewPage.jsx
@@ -1,6 +1,6 @@
import React from 'react';
-import { IfPermitted } from 'components/common';
+import { DocumentTitle, IfPermitted } from 'components/common';
import { IndexerClusterHealth, IndexerFailuresComponent } from 'components/indexers';
import { NotificationsList } from 'components/notifications';
import { SystemJobsComponent } from 'components/systemjobs';
@@ -12,35 +12,37 @@ import { GraylogClusterOverview } from 'components/cluster';
const SystemOverviewPage = React.createClass({
render() {
return (
-
-
-
-
+
+
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/ThreadDumpPage.jsx b/graylog2-web-interface/src/pages/ThreadDumpPage.jsx
index 18b23527ceb1..ec737c8206d5 100644
--- a/graylog2-web-interface/src/pages/ThreadDumpPage.jsx
+++ b/graylog2-web-interface/src/pages/ThreadDumpPage.jsx
@@ -2,7 +2,7 @@ import React, {PropTypes} from 'react';
import Reflux from 'reflux';
import { Row, Col } from 'react-bootstrap';
-import { PageHeader, Spinner } from 'components/common';
+import { DocumentTitle, PageHeader, Spinner } from 'components/common';
import StoreProvider from 'injection/StoreProvider';
const NodesStore = StoreProvider.getStore('Nodes');
@@ -42,14 +42,16 @@ const ThreadDumpPage = React.createClass({
const threadDump = this.state.threadDump ?
{this.state.threadDump}
: ;
return (
-
-
-
-
- {threadDump}
-
-
-
+
+
+
+
+
+ {threadDump}
+
+
+
+
);
},
});
diff --git a/graylog2-web-interface/src/pages/UsersPage.jsx b/graylog2-web-interface/src/pages/UsersPage.jsx
index dc53393b55ad..2eb2b71b26f9 100644
--- a/graylog2-web-interface/src/pages/UsersPage.jsx
+++ b/graylog2-web-interface/src/pages/UsersPage.jsx
@@ -9,32 +9,34 @@ import Routes from 'routing/Routes';
import StoreProvider from 'injection/StoreProvider';
const CurrentUserStore = StoreProvider.getStore('CurrentUser');
-import { IfPermitted, PageHeader } from 'components/common';
+import { DocumentTitle, IfPermitted, PageHeader } from 'components/common';
import UserList from 'components/users/UserList';
const UsersPage = React.createClass({
mixins: [Reflux.connect(CurrentUserStore), PermissionsMixin],
render() {
return (
-
-
- Create as many users as you want next to the default administrator user here. You can also make changes to already existing users.
- {null}
-
-
-
-
-
-
-
-
+
+
+
+ Create as many users as you want next to the default administrator user here. You can also make changes to already existing users.
+ {null}
+
+
+
+
+
+
+
+
-
-