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) build_versioned_directory(modul) @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 |