Puppet Class: wazuh::kibana

Defined in:
manifests/kibana.pp

Overview

Wazuh App Copyright © 2019 Wazuh Inc. (License GPLv2) Setup for Kibana

Parameters:

  • kibana_package (Any) (defaults to: 'kibana')
  • kibana_service (Any) (defaults to: 'kibana')
  • kibana_version (Any) (defaults to: '7.2.0')
  • kibana_app_version (Any) (defaults to: '3.9.4_7.2.0')
  • kibana_elasticsearch_ip (Any) (defaults to: '<YOUR_ELASTICSEARCH_IP>')
  • kibana_elasticsearch_port (Any) (defaults to: '9200')
  • kibana_server_port (Any) (defaults to: '5601')
  • kibana_server_host (Any) (defaults to: '0.0.0.0')
  • kibana_elasticsearch_server_hosts (Any) (defaults to: "http://${kibana_elasticsearch_ip}:${kibana_elasticsearch_port}")


3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'manifests/kibana.pp', line 3

class wazuh::kibana (
  $kibana_package = 'kibana',
  $kibana_service = 'kibana',
  $kibana_version = '7.2.0',
  $kibana_app_version = '3.9.4_7.2.0',

  $kibana_elasticsearch_ip = '<YOUR_ELASTICSEARCH_IP>',
  $kibana_elasticsearch_port = '9200',

  $kibana_server_port = '5601',
  $kibana_server_host = '0.0.0.0',
  $kibana_elasticsearch_server_hosts ="http://${kibana_elasticsearch_ip}:${kibana_elasticsearch_port}",

){

  # install package
  package { 'Installing Kibana...':
    ensure => $kibana_version,
    name   => $kibana_package,
  }

  file { 'Configure kibana.yml':
    owner   => 'kibana',
    path    => '/etc/kibana/kibana.yml',
    group   => 'kibana',
    mode    => '0644',
    notify  => Service[$kibana_service],
    content => template('wazuh/kibana_yml.erb'),
  }

  service { 'kibana':
    ensure => running,
    enable => true,
  }

  exec {'Waiting for elasticsearch...':
    path      => '/usr/bin',
    command   => "curl -s -XGET http://${kibana_elasticsearch_ip}:${kibana_elasticsearch_port}",
    tries     => 100,
    try_sleep => 3,
  }

  exec {'Installing Wazuh App...':
    path    => '/usr/bin',
    command => "sudo -u kibana /usr/share/kibana/bin/kibana-plugin install https://packages.wazuh.com/wazuhapp/wazuhapp-${kibana_app_version}.zip",
    creates => '/usr/share/kibana/plugins/wazuh/package.json',
    notify  => Service[$kibana_service],

  }
    exec {'Enabling and restarting kibana...':
      path    => '/usr/bin:/bin',
      command => 'systemctl daemon-reload && systemctl enable kibana && systemctl restart kibana',

  }

  exec { 'Verify Kibana folders owner':
    path    => '/usr/bin:/bin',
    command => "chown -R kibana:kibana /usr/share/kibana/optimize\
             && chown -R kibana:kibana /usr/share/kibana/plugins",

  }

}