Class: LogStash::Modules::KibanaConfig
- Inherits:
-
Object
- Object
- LogStash::Modules::KibanaConfig
- Includes:
- Util::Loggable
- Defined in:
- lib/logstash/modules/kibana_config.rb
Constant Summary collapse
- ALLOWED_DIRECTORIES =
["search", "visualization"]
Instance Attribute Summary collapse
-
#index_name ⇒ Object
readonly
not used when importing via kibana but for BWC with ElastsearchConfig.
Instance Method Summary collapse
- #dashboards ⇒ Object
- #index_pattern ⇒ Object
-
#initialize(modul, settings) ⇒ KibanaConfig
constructor
We name it ‘modul` here because `module` has meaning in Ruby.
- #resources ⇒ Object
Methods included from Util::Loggable
included, #logger, #slow_logger
Constructor Details
#initialize(modul, settings) ⇒ KibanaConfig
We name it ‘modul` here because `module` has meaning in Ruby.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/logstash/modules/kibana_config.rb', line 17 def initialize(modul, settings) @directory = ::File.join(modul.directory, "kibana") @name = modul.module_name @settings = settings @index_name = "kibana" @pattern_name = "#{@name}-*" @kibana_settings = [ KibanaSettings::Setting.new("defaultIndex", @pattern_name) ] end |
Instance Attribute Details
#index_name ⇒ Object (readonly)
not used when importing via kibana but for BWC with ElastsearchConfig
14 15 16 |
# File 'lib/logstash/modules/kibana_config.rb', line 14 def index_name @index_name end |
Instance Method Details
#dashboards ⇒ Object
28 29 30 31 32 33 34 |
# File 'lib/logstash/modules/kibana_config.rb', line 28 def dashboards # there can be more than one dashboard to load filenames = FileReader.read_json(dynamic("dashboard")) filenames.map do |filename| KibanaResource.new(@index_name, "dashboard", dynamic("dashboard", filename)) end end |
#index_pattern ⇒ Object
36 37 38 |
# File 'lib/logstash/modules/kibana_config.rb', line 36 def index_pattern [KibanaResource.new(@index_name, "index-pattern", dynamic("index-pattern"),nil, @pattern_name)] end |
#resources ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/logstash/modules/kibana_config.rb', line 40 def resources list = index_pattern dashboards.each do |board| list << board extract_panels_into(board, list) end list.concat(extract_saved_searches_into(list)) [ KibanaSettings.new("api/kibana/settings", @kibana_settings), KibanaDashboards.new("api/kibana/dashboards/import", list) ] end |