All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.325e2d4b-3994.9339a25260bc873c5645.js.map Maven / Gradle / Ivy

There is a newer version: 6.0.1
Show newest version
{"version":3,"file":"325e2d4b-3994.9339a25260bc873c5645.js","mappings":"0eA0BO,MAAMA,GAAyBC,EAAAA,EAAAA,IACpC,wBACA,IAAMC,IAAAA,cAAiD,CACrDC,KAAM,CAAEC,aAAa,OA+CZC,GAAuBC,EAAAA,EAAAA,IAClC,wBACA,IAAMJ,IAAAA,YAAmB,CACvBK,YAAa,CAACP,GACdQ,qBAAiBC,EACjBC,0BAAsBD,EAEtBE,kBACE,MAAO,CACLH,gBAAiBI,KAAKJ,gBACtBE,qBAAsBE,KAAKF,qBAE9B,EAEDP,KAAKU,GACH,MAAMC,GAAMC,EAAAA,EAAAA,IAAWC,EAAAA,EAAAA,2BAAAA,KAA0CH,GAAYC,KACvEG,GAAUC,EAAAA,EAAAA,IAAM,MAAOJ,GAmB7B,OAjBAG,EAAQE,MACLC,IACCR,KAAKS,QAAQ,CAAEb,gBAAiBY,EAAUV,0BAAsBD,GAAhE,IAEDa,IACC,GAAIA,EAAMC,YAA0C,MAA5BD,EAAMC,WAAWC,OAAgB,CACvD,MAAMC,EAAgBH,EAAMC,WAAWG,MAAQJ,EAAMC,WAAWG,KAAKC,QACjEL,EAAMC,WAAWG,KAAKC,QACtB,wFAEJf,KAAKS,QAAQ,CAAEX,qBAAsBe,GACtC,KAILzB,EAAuBG,KAAKc,QAAQA,GAE7BA,CACR,M,4JC3EL,MAEMW,EAAsC,IAC1C,gBAAC,KAAD,CAAKC,UAAU,WACb,gBAAC,KAAD,CAAKC,GAAI,EAAGC,SAAU,GACpB,uBAAKF,UAAU,cACb,gBAAC,KAAD,CAAOG,QAAQ,SACRC,OAAQ,4BAAM,gBAAC,KAAD,CAAMC,KAAK,yBAAjB,kCACb,uJAEmC,kGAFnC,KAIA,+KA2BV,MAAMC,UAAqBC,EAAAA,UAqBzBC,YAAYC,GACVC,MAAMD,GADW,2BA4BA,KACjB,MAAQ9B,iBAAiB,QAAEgC,IAAc5B,KAAK0B,MAE9C,OAAOE,EAAUC,OAAOC,KAAKF,GAASG,OAAS,IAA/C,IA/BiB,qBAkCN,KACX,MAAM,SAAEC,GAAahC,KAAK0B,MAE1B,OAAQM,CAAR,IAlCAhC,KAAKiC,MAAQ,CACXC,aAASrC,EAEZ,CAEDsC,oBACE,MAAQC,QAAQ,WAAEnC,IAAiBD,KAAK0B,MACxCW,EAAAA,GAAAA,IAAqBpC,GACrBqC,EAAAA,EAAAA,KAAoBrC,GAEpB,MAAMiC,EAAUK,aAAY,KAC1BD,EAAAA,EAAAA,WACAlD,EAAuBG,KAAKU,EAA5B,GA3EmB,KA6ErBD,KAAKwC,SAAS,CAAEN,QAASA,GAC1B,CAEDO,uBACE,MAAM,QAAEP,GAAYlC,KAAKiC,MAErBC,GACFQ,cAAcR,EAEjB,CAcDS,SACE,GAAI3C,KAAK4C,aACP,OAAO,gBAAC,KAAD,MAGT,MAAM,SAAEZ,EAAF,gBAAYpC,EAAZ,qBAA6BE,EAAsBsC,QAAQ,WAAEnC,GAAc4C,cAAgBjB,QAASkB,EAAqBC,cAAeC,IAAgChD,KAAK0B,MAE7KuB,EAAajB,GACjB,gBAAC,KAAD,CAAYkB,MAAQ,cAAalB,EAASkB,QAC9BC,WACE,gBAAC,IAAD,CAAeC,GAAIC,EAAAA,GAAAA,OAAAA,QAAAA,MACjB,gBAAC,KAAD,CAAQjC,QAAQ,QAAhB,wBAGJkC,kBAAmB,CACjBJ,MAAO,4BACPK,KAAMC,EAAAA,EAAAA,MAAAA,aAERC,QACE,gBAAC,KAAD,KACE,gBAAC,IAAD,CAAeL,GAAIC,EAAAA,GAAAA,OAAAA,WAAAA,cAAuCrB,EAAS0B,GAAI,YACrE,gBAAC,KAAD,CAAQtC,QAAQ,QAAhB,mBAEF,gBAAC,KAAD,CAA4BnB,WAAYA,EAAY+B,SAAUA,MAG5E,wKAOJ,GAAIlC,EACF,OACE,4BACGmD,EACD,gBAACjC,EAAD,OAKN,IAAI2C,EACAC,EAEJ,GAAIhE,GAAmBoD,EAA2B,CAChD,MAAMa,EAAgBjE,EAAgBkE,UAEtCH,EACE,4BACE,gBAAC,KAAD,CAAOvC,QAAQ,UAAU2C,MAAO,CAAEC,UAAW,OAC3C,gBAAC,KAAD,CAAM1C,KAAK,OADb,KAC4BtB,KAAKiE,mBADjC,2BAC6E,IAC1EC,IAAQtE,EAAgBuE,OAAOC,QAAQC,OAAO,OAFjD,6DAGgC,yBAAIR,EAAcS,gBAHlD,KAKA,gBAACC,EAAA,EAAD,KACE,gBAAC,KAAD,CAA6BC,OAAQ5E,EAAgB6E,gBAAgBD,WAK3EZ,EACE,gBAAC,KAAD,CAAiBhC,QAAShC,EAAgBgC,QACzBiB,aAAcC,EACd7C,WAAYA,EACZ8C,cAAeC,EACfc,UAAWlE,EAAgBkE,WAE/C,MACCH,EAAc,gBAAC,KAAD,MACdC,EAAkB,gBAAC,KAAD,MAGpB,OACE,gBAAC,KAAD,CAAeV,MAAQ,eAAclB,EAAWA,EAASkB,MAAQ,MAC/D,2BACGD,EAED,gBAAC,KAAD,CAAKhC,UAAU,WACb,gBAAC,KAAD,CAAKC,GAAI,IACP,gBAAC,KAAD,CAAiBc,SAAUA,MAI/B,gBAAC,KAAD,CAAKf,UAAU,WACb,gBAAC,KAAD,CAAKC,GAAI,IACNyC,IAIJC,GAIR,E,EA3JGrC,EAAAA,YACe,CACjBa,OAAQsC,IAAAA,MAAgB,CACtBzE,WAAYyE,IAAAA,SACXC,WACH3C,SAAU0C,IAAAA,OACV9E,gBAAiB8E,IAAAA,OACjB5E,qBAAsB4E,IAAAA,OACtB7B,aAAc6B,IAAAA,S,EARZnD,EAAAA,eAWkB,CACpB3B,qBAAiBC,EACjBC,0BAAsBD,EACtBmC,cAAUnC,EACVgD,aAAc,CACZjB,aAAS/B,EACTkD,mBAAelD,KA6IrB,SAAe+E,EAAAA,EAAAA,IACbC,EAAAA,EAAAA,GAAWtD,GACX,CACEuD,UAAWC,EAAAA,GACXnF,gBAAiBH,EACjBmC,QAASoD,EAAAA,IAEX,QAAC,UAAEF,EAAF,gBAAalF,EAAb,QAA8BgC,GAA/B,QAA8C,CAE5CI,SAAU8C,EAAYA,EAAU9C,cAAWnC,EAE3CD,gBAAiBA,GAAmBA,EAAgBA,gBAEpDE,qBAAsBF,GAAmBA,EAAgBE,qBACzD+C,aAAcjB,EAPhB,G","sources":["webpack://graylog-web-interface/./src/stores/indexers/IndexerOverviewStore.ts","webpack://graylog-web-interface/./src/pages/IndexSetPage.tsx"],"sourcesContent":["/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport Reflux from 'reflux';\n\nimport { qualifyUrl } from 'util/URLUtils';\nimport ApiRoutes from 'routing/ApiRoutes';\nimport fetch from 'logic/rest/FetchProvider';\nimport { singletonStore, singletonActions } from 'logic/singleton';\n\ntype IndexerOverviewActionsType = {\n  list: (indexSetId: string) => Promise,\n}\nexport const IndexerOverviewActions = singletonActions(\n  'core.IndexerOverview',\n  () => Reflux.createActions({\n    list: { asyncResult: true },\n  }),\n);\n\nexport type IndexSummary = {\n  size: {\n    events: number,\n    deleted: number,\n    bytes: number,\n  },\n  range: {\n    index_name: string,\n    begin: string,\n    end: string,\n    calculated_at: string,\n    took_ms: number,\n  },\n  is_deflector: boolean,\n  is_closed: boolean,\n  is_reopened: boolean,\n};\n\nexport type IndexerOverview = {\n  deflector: {\n    current_target: string,\n    is_up: boolean,\n  },\n  indexer_cluster: {\n    health: {\n      status: string,\n      name: string,\n      shards: {\n        active: number,\n        initializing: number,\n        relocating: number,\n        unassigned: number,\n      },\n    },\n  },\n  counts: {\n    [key: string]: number,\n  },\n  indices: {\n    [key: string]: IndexSummary,\n  },\n};\n\nexport const IndexerOverviewStore = singletonStore(\n  'core.IndexerOverview',\n  () => Reflux.createStore({\n    listenables: [IndexerOverviewActions],\n    indexerOverview: undefined,\n    indexerOverviewError: undefined,\n\n    getInitialState() {\n      return {\n        indexerOverview: this.indexerOverview,\n        indexerOverviewError: this.indexerOverviewError,\n      };\n    },\n\n    list(indexSetId: string) {\n      const url = qualifyUrl(ApiRoutes.IndexerOverviewApiResource.list(indexSetId).url);\n      const promise = fetch('GET', url);\n\n      promise.then(\n        (response: IndexerOverview) => {\n          this.trigger({ indexerOverview: response, indexerOverviewError: undefined });\n        },\n        (error) => {\n          if (error.additional && error.additional.status === 503) {\n            const errorMessage = (error.additional.body && error.additional.body.message\n              ? error.additional.body.message\n              : 'Elasticsearch is unavailable. Check your configuration and logs for more information.');\n\n            this.trigger({ indexerOverviewError: errorMessage });\n          }\n        },\n      );\n\n      IndexerOverviewActions.list.promise(promise);\n\n      return promise;\n    },\n  }),\n);\n","/*\n * Copyright (C) 2020 Graylog, Inc.\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the Server Side Public License, version 1,\n * as published by MongoDB, Inc.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * Server Side Public License for more details.\n *\n * You should have received a copy of the Server Side Public License\n * along with this program. If not, see\n * .\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport numeral from 'numeral';\n\nimport HideOnCloud from 'util/conditional/HideOnCloud';\nimport { LinkContainer } from 'components/common/router';\nimport { Alert, Row, Col, Panel, Button, ButtonToolbar } from 'components/bootstrap';\nimport { DocumentTitle, PageHeader, Spinner, Icon } from 'components/common';\nimport { IndicesMaintenanceDropdown, IndicesOverview, IndexSetDetails } from 'components/indices';\nimport { IndexerClusterHealthSummary } from 'components/indexers';\nimport DocsHelper from 'util/DocsHelper';\nimport Routes from 'routing/Routes';\nimport withParams from 'routing/withParams';\nimport connect from 'stores/connect';\nimport type { IndexSet } from 'stores/indices/IndexSetsStore';\nimport type { IndexerOverview } from 'stores/indexers/IndexerOverviewStore';\nimport type { Indices } from 'stores/indices/IndicesStore';\nimport { IndexerOverviewActions, IndexerOverviewStore } from 'stores/indexers/IndexerOverviewStore';\nimport { IndexSetsActions, IndexSetsStore } from 'stores/indices/IndexSetsStore';\nimport { IndicesActions, IndicesStore } from 'stores/indices/IndicesStore';\n\nconst REFRESH_INTERVAL = 2000;\n\nconst ElasticsearchUnavailableInformation = () => (\n  \n    \n      
\n Indices overview unavailable}>\n

\n We could not get the indices overview information. This usually means there was a problem\n connecting to Elasticsearch, and you should ensure Elasticsearch is up and reachable from Graylog.\n

\n

\n Graylog will continue storing your messages in its journal, but you will not be able to search on them\n until Elasticsearch is reachable again.\n

\n
\n
\n \n
\n);\n\ntype Props = {\n params: {\n indexSetId?: string,\n },\n indexSet?: IndexSet,\n indexerOverview?: IndexerOverview,\n indexerOverviewError?: string,\n indexDetails: {\n closedIndices?: Indices,\n indices?: Indices,\n },\n};\n\ntype State = {\n timerId?: NodeJS.Timeout,\n};\n\nclass IndexSetPage extends React.Component {\n static propTypes = {\n params: PropTypes.shape({\n indexSetId: PropTypes.string,\n }).isRequired,\n indexSet: PropTypes.object,\n indexerOverview: PropTypes.object,\n indexerOverviewError: PropTypes.object,\n indexDetails: PropTypes.object,\n };\n\n static defaultProps = {\n indexerOverview: undefined,\n indexerOverviewError: undefined,\n indexSet: undefined,\n indexDetails: {\n indices: undefined,\n closedIndices: undefined,\n },\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n timerId: undefined,\n };\n }\n\n componentDidMount() {\n const { params: { indexSetId } } = this.props;\n IndexSetsActions.get(indexSetId);\n IndicesActions.list(indexSetId);\n\n const timerId = setInterval(() => {\n IndicesActions.multiple();\n IndexerOverviewActions.list(indexSetId);\n }, REFRESH_INTERVAL);\n this.setState({ timerId: timerId });\n }\n\n componentWillUnmount() {\n const { timerId } = this.state;\n\n if (timerId) {\n clearInterval(timerId);\n }\n }\n\n _totalIndexCount = () => {\n const { indexerOverview: { indices } } = this.props;\n\n return indices ? Object.keys(indices).length : null;\n };\n\n _isLoading = () => {\n const { indexSet } = this.props;\n\n return !indexSet;\n };\n\n render() {\n if (this._isLoading()) {\n return ;\n }\n\n const { indexSet, indexerOverview, indexerOverviewError, params: { indexSetId }, indexDetails: { indices: indexDetailsIndices, closedIndices: indexDetailsClosedIndices } } = this.props;\n\n const pageHeader = indexSet && (\n \n \n \n )}\n documentationLink={{\n title: 'Index model documentation',\n path: DocsHelper.PAGES.INDEX_MODEL,\n }}\n actions={(\n \n \n \n \n \n \n )}>\n \n This is an overview of all indices (message stores) in this index set Graylog is currently taking in account\n for searches and analysis.\n \n \n );\n\n if (indexerOverviewError) {\n return (\n \n {pageHeader}\n \n \n );\n }\n\n let indicesInfo;\n let indicesOverview;\n\n if (indexerOverview && indexDetailsClosedIndices) {\n const deflectorInfo = indexerOverview.deflector;\n\n indicesInfo = (\n \n \n  {this._totalIndexCount()} indices with a total of{' '}\n {numeral(indexerOverview.counts.events).format('0,0')} messages under management,\n current write-active index is {deflectorInfo.current_target}.\n \n \n \n \n \n );\n\n indicesOverview = (\n \n );\n } else {\n indicesInfo = ;\n indicesOverview = ;\n }\n\n return (\n \n
\n {pageHeader}\n\n \n \n \n \n \n\n \n \n {indicesInfo}\n \n \n\n {indicesOverview}\n
\n
\n );\n }\n}\n\nexport default connect(\n withParams(IndexSetPage),\n {\n indexSets: IndexSetsStore,\n indexerOverview: IndexerOverviewStore,\n indices: IndicesStore,\n },\n ({ indexSets, indexerOverview, indices }) => ({\n // @ts-ignore\n indexSet: indexSets ? indexSets.indexSet : undefined,\n // @ts-ignore\n indexerOverview: indexerOverview && indexerOverview.indexerOverview,\n // @ts-ignore\n indexerOverviewError: indexerOverview && indexerOverview.indexerOverviewError,\n indexDetails: indices,\n }),\n);\n"],"names":["IndexerOverviewActions","singletonActions","Reflux","list","asyncResult","IndexerOverviewStore","singletonStore","listenables","indexerOverview","undefined","indexerOverviewError","getInitialState","this","indexSetId","url","qualifyUrl","ApiRoutes","promise","fetch","then","response","trigger","error","additional","status","errorMessage","body","message","ElasticsearchUnavailableInformation","className","md","mdOffset","bsStyle","header","name","IndexSetPage","React","constructor","props","super","indices","Object","keys","length","indexSet","state","timerId","componentDidMount","params","IndexSetsActions","IndicesActions","setInterval","setState","componentWillUnmount","clearInterval","render","_isLoading","indexDetails","indexDetailsIndices","closedIndices","indexDetailsClosedIndices","pageHeader","title","topActions","to","Routes","documentationLink","path","DocsHelper","actions","id","indicesInfo","indicesOverview","deflectorInfo","deflector","style","marginTop","_totalIndexCount","numeral","counts","events","format","current_target","HideOnCloud","health","indexer_cluster","PropTypes","isRequired","connect","withParams","indexSets","IndexSetsStore","IndicesStore"],"sourceRoot":""}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy