├── .gitignore ├── roles ├── elk │ ├── tests │ │ ├── inventory │ │ └── test.yml │ ├── vars │ │ └── main.yml │ ├── templates │ │ ├── 02-beats.conf.j2 │ │ ├── 10-local-syslog.conf.j2 │ │ ├── 30-output.conf.j2 │ │ └── nginx_default.j2 │ ├── defaults │ │ └── main.yml │ ├── tasks │ │ ├── kibana.yml │ │ ├── main.yml │ │ ├── es.yml │ │ ├── nginx.yml │ │ ├── logstash.yml │ │ └── common.yml │ ├── README.md │ ├── handlers │ │ └── main.yml │ ├── .travis.yml │ └── meta │ │ └── main.yml ├── filebeat │ ├── tests │ │ ├── inventory │ │ └── test.yml │ ├── vars │ │ └── main.yml │ ├── handlers │ │ └── main.yml │ ├── README.md │ ├── defaults │ │ └── main.yml │ ├── .travis.yml │ ├── templates │ │ └── filebeat.yml.j2 │ ├── tasks │ │ └── main.yml │ └── meta │ │ └── main.yml └── services │ ├── tests │ ├── inventory │ └── test.yml │ ├── vars │ └── main.yml │ ├── handlers │ └── main.yml │ ├── tasks │ ├── nginx.yml │ ├── apache2.yml │ └── main.yml │ ├── defaults │ └── main.yml │ ├── README.md │ ├── .travis.yml │ └── meta │ └── main.yml ├── site.yml ├── hosts ├── playbooks ├── elk.yml └── log-generator.yml ├── ansible.cfg └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | *.retry 2 | -------------------------------------------------------------------------------- /roles/elk/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /roles/filebeat/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /roles/services/tests/inventory: -------------------------------------------------------------------------------- 1 | localhost -------------------------------------------------------------------------------- /roles/elk/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for elk 3 | -------------------------------------------------------------------------------- /roles/filebeat/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for filebeat 3 | -------------------------------------------------------------------------------- /roles/services/vars/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # vars file for services 3 | -------------------------------------------------------------------------------- /roles/services/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for services 3 | -------------------------------------------------------------------------------- /roles/elk/templates/02-beats.conf.j2: -------------------------------------------------------------------------------- 1 | input { 2 | beats { 3 | port => 5044 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /site.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - include: playbooks/elk.yml 4 | - include: playbooks/log-generator.yml 5 | -------------------------------------------------------------------------------- /roles/elk/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - elk -------------------------------------------------------------------------------- /roles/filebeat/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - filebeat -------------------------------------------------------------------------------- /roles/services/tests/test.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - hosts: localhost 3 | remote_user: root 4 | roles: 5 | - services -------------------------------------------------------------------------------- /hosts: -------------------------------------------------------------------------------- 1 | [hosts] 2 | 3 | elk ansible_host= ansible_user=ubuntu 4 | 5 | log-generator ansible_host= ansible_user=ubuntu 6 | -------------------------------------------------------------------------------- /playbooks/elk.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - hosts: elk 4 | gather_facts: false 5 | become: yes 6 | 7 | roles: 8 | - elk 9 | -------------------------------------------------------------------------------- /roles/services/tasks/nginx.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install nginx 4 | apt: 5 | name: nginx 6 | state: present 7 | -------------------------------------------------------------------------------- /roles/services/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for services 3 | 4 | install_services: [] # A list of services to install 5 | -------------------------------------------------------------------------------- /roles/services/tasks/apache2.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install Apache web server 4 | apt: 5 | name: apache2 6 | state: present 7 | -------------------------------------------------------------------------------- /roles/filebeat/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for filebeat 3 | 4 | - name: restart filebeat 5 | service: name=filebeat state=restarted 6 | -------------------------------------------------------------------------------- /roles/elk/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for elk 3 | basic_auth_file_name: htpasswd.users 4 | 5 | username: admin 6 | password: 'changeMe88' 7 | -------------------------------------------------------------------------------- /roles/elk/templates/10-local-syslog.conf.j2: -------------------------------------------------------------------------------- 1 | input { 2 | file { 3 | type => "local-syslog" 4 | path => [ "/var/log/syslog", "/var/log/*.log" ] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | 3 | inventory = ./hosts 4 | 5 | roles_path = ./roles 6 | 7 | private_key_file = ~/.ssh/express42 8 | 9 | host_key_checking = False 10 | -------------------------------------------------------------------------------- /roles/filebeat/README.md: -------------------------------------------------------------------------------- 1 | ### Installs and configures filebeat 2 | 3 | You will need to change this variable: 4 | ``` 5 | logstash_host: 10.10.10.10 # private IP address of the ELK host 6 | ``` 7 | -------------------------------------------------------------------------------- /roles/elk/tasks/kibana.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: install kibana 4 | apt: 5 | name: kibana 6 | state: present 7 | 8 | - name: Start and enable kibana 9 | service: name=kibana state=started enabled=yes 10 | -------------------------------------------------------------------------------- /roles/filebeat/defaults/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # defaults file for filebeat 3 | 4 | logstash_host: # change to the IP address of a host to which we need to send log data 5 | es_host: "{{ logstash_host }}" 6 | 7 | beats_port: 5044 8 | -------------------------------------------------------------------------------- /roles/services/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for services 3 | 4 | - include: "{{ role_path }}/tasks/apache2.yml" 5 | when: "'apache2' in install_services" 6 | - include: "{{ role_path }}/tasks/nginx.yml" 7 | when: "'nginx' in install_services" 8 | -------------------------------------------------------------------------------- /roles/elk/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for elk 3 | 4 | 5 | - include: "{{ role_path }}/tasks/common.yml" 6 | - include: "{{ role_path }}/tasks/es.yml" 7 | - include: "{{ role_path }}/tasks/logstash.yml" 8 | - include: "{{ role_path }}/tasks/kibana.yml" 9 | - include: "{{ role_path }}/tasks/nginx.yml" 10 | -------------------------------------------------------------------------------- /roles/elk/README.md: -------------------------------------------------------------------------------- 1 | ### Installs and configures Elatic Stack 2 | 3 | You'll need to take a look at the **default** variables to see the username and password for basic authentication (possibly change it) 4 | 5 | To access Kibana web interface, simply use your instance's public ip address. 6 | ### Hardware requirements 7 | 8 | * minimum 4GB of memory 9 | -------------------------------------------------------------------------------- /roles/elk/handlers/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # handlers file for elk 3 | 4 | - name: restart elasticsearch 5 | service: name=elasticsearch state=restarted 6 | 7 | - name: restart logstash 8 | service: name=logstash state=restarted 9 | 10 | - name: restart kibana 11 | service: name=kibana state=restarted 12 | 13 | - name: restart nginx 14 | service: name=nginx state=restarted 15 | -------------------------------------------------------------------------------- /roles/services/README.md: -------------------------------------------------------------------------------- 1 | ### Installs the services to test log collection 2 | 3 | You simply need to specify inside **log-generator.yml** playbook waht services you wish to install using ```install_services``` variable: 4 | 5 | Part of **log-generator.yml** playbook: 6 | ``` 7 | vars: 8 | install_services: 9 | - apache2 # uncomment a service to install 10 | # - nginx 11 | ``` 12 | -------------------------------------------------------------------------------- /playbooks/log-generator.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - hosts: log-generator 4 | gather_facts: false 5 | become: yes 6 | 7 | vars: 8 | install_services: 9 | - apache2 # uncomment a service to install 10 | # - nginx 11 | 12 | roles: 13 | - services 14 | # shippers 15 | - filebeat # uncomment a shipper to install 16 | # - rsyslog 17 | # - syslog-ng 18 | # - fluentd 19 | -------------------------------------------------------------------------------- /roles/elk/templates/30-output.conf.j2: -------------------------------------------------------------------------------- 1 | output { 2 | if [type] == "local-syslog" { 3 | elasticsearch { 4 | hosts => "localhost:9200" 5 | index => "logstash-%{+YYYY.MM.dd}" 6 | } 7 | } 8 | 9 | else { 10 | elasticsearch { 11 | hosts => "localhost:9200" 12 | index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 13 | document_type => "%{[@metadata][type]}" 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /roles/elk/tasks/es.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: install elasticsearch 4 | apt: 5 | name: elasticsearch 6 | state: present 7 | 8 | - name: Change bind address 9 | lineinfile: 10 | dest: /etc/elasticsearch/elasticsearch.yml 11 | regexp: "^(#)?network.host" 12 | line: "network.host: 0.0.0.0" 13 | notify: 14 | - restart elasticsearch 15 | 16 | - name: Start and enable elasticsearch 17 | service: name=elasticsearch state=started enabled=yes 18 | -------------------------------------------------------------------------------- /roles/elk/templates/nginx_default.j2: -------------------------------------------------------------------------------- 1 | server { 2 | listen 80; 3 | server_name ""; 4 | 5 | auth_basic "Restricted Access"; 6 | auth_basic_user_file /etc/nginx/{{ basic_auth_file_name }}; 7 | 8 | location / { 9 | proxy_pass http://localhost:5601; 10 | proxy_http_version 1.1; 11 | proxy_set_header Upgrade $http_upgrade; 12 | proxy_set_header Connection 'upgrade'; 13 | proxy_set_header Host $host; 14 | proxy_cache_bypass $http_upgrade; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /roles/elk/tasks/nginx.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Install nginx 4 | apt: 5 | name: "{{ item }}" 6 | state: present 7 | with_items: 8 | - nginx 9 | - python-passlib 10 | 11 | - name: Add a user to a password file 12 | htpasswd: 13 | path: /etc/nginx/{{ basic_auth_file_name }} 14 | name: "{{ username }}" 15 | password: "{{ password }}" 16 | owner: root 17 | group: www-data 18 | mode: 0640 19 | 20 | - name: Configure nginx 21 | template: 22 | src: nginx_default.j2 23 | dest: /etc/nginx/sites-available/default 24 | notify: restart nginx 25 | -------------------------------------------------------------------------------- /roles/elk/tasks/logstash.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: install logstash 4 | apt: 5 | name: logstash 6 | state: present 7 | 8 | - name: Make sure that a logstash user exists 9 | user: name=logstash system=yes groups=adm 10 | 11 | - name: Configure logstash 12 | template: 13 | src: templates/{{item}}.j2 14 | dest: "/etc/logstash/conf.d/{{ item }}" 15 | group: root 16 | owner: root 17 | notify: restart logstash 18 | with_items: 19 | - 02-beats.conf 20 | - 10-local-syslog.conf 21 | - 30-output.conf 22 | 23 | - name: Start and enable logstash 24 | service: name=logstash state=started enabled=yes 25 | -------------------------------------------------------------------------------- /roles/elk/tasks/common.yml: -------------------------------------------------------------------------------- 1 | --- 2 | 3 | - name: Add repository for JDK8 on Ubuntu 14.04 4 | apt_repository: 5 | repo: 'ppa:openjdk-r/ppa' 6 | state: present 7 | 8 | - name: Add repository for elastic stack tools 9 | apt_repository: 10 | repo: deb https://artifacts.elastic.co/packages/5.x/apt stable main 11 | state: present 12 | 13 | - name: Add the key 14 | apt_key: 15 | url: https://packages.elastic.co/GPG-KEY-elasticsearch 16 | state: present 17 | 18 | - name: update cache 19 | apt: 20 | update_cache: yes 21 | 22 | - name: Install the JRE 23 | apt: 24 | name: openjdk-8-jre 25 | state: latest 26 | -------------------------------------------------------------------------------- /roles/elk/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /roles/filebeat/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /roles/services/.travis.yml: -------------------------------------------------------------------------------- 1 | --- 2 | language: python 3 | python: "2.7" 4 | 5 | # Use the new container infrastructure 6 | sudo: false 7 | 8 | # Install ansible 9 | addons: 10 | apt: 11 | packages: 12 | - python-pip 13 | 14 | install: 15 | # Install ansible 16 | - pip install ansible 17 | 18 | # Check ansible version 19 | - ansible --version 20 | 21 | # Create ansible.cfg with correct roles_path 22 | - printf '[defaults]\nroles_path=../' >ansible.cfg 23 | 24 | script: 25 | # Basic role syntax check 26 | - ansible-playbook tests/test.yml -i tests/inventory --syntax-check 27 | 28 | notifications: 29 | webhooks: https://galaxy.ansible.com/api/v1/notifications/ -------------------------------------------------------------------------------- /roles/filebeat/templates/filebeat.yml.j2: -------------------------------------------------------------------------------- 1 | name: "test-shipper" # if empty, the hostname is used 2 | tags: ["web-tier"] # make it easy to group servers, all published events by this host will have this tag 3 | 4 | filebeat.prospectors: 5 | - paths: 6 | - /var/log/apache2/access.log 7 | fields: # Add additional info to the output 8 | apache: true 9 | tags: ["web"] # A list of tags that the Beat includes in the tags field of each published event. Make it easy to select specific events 10 | # exclude_lines: ['HTTP'] # drop any lines that contain with "HTTP". 11 | - paths: 12 | - /var/log/*.log 13 | - /var/log/syslog 14 | scan_frequency: 2 # how often the prospector checks for new files in the specified paths 15 | document_type: syslog # For Elasticsearch output, the value that you specify here is used to set the type field in the output document. Default is log 16 | 17 | output.logstash: 18 | hosts: ["{{ logstash_host }}:{{ beats_port }}"] 19 | -------------------------------------------------------------------------------- /roles/filebeat/tasks/main.yml: -------------------------------------------------------------------------------- 1 | --- 2 | # tasks file for filebeat 3 | 4 | - name: Add repository for 5 | apt_repository: 6 | repo: deb https://artifacts.elastic.co/packages/5.x/apt stable main 7 | state: present 8 | 9 | - name: Add the key 10 | apt_key: 11 | url: https://packages.elastic.co/GPG-KEY-elasticsearch 12 | state: present 13 | 14 | - name: update cache 15 | apt: 16 | update_cache: yes 17 | 18 | - name: Install filebeat 19 | apt: 20 | name: filebeat 21 | state: present 22 | 23 | - name: Upload the index template to ES 24 | command: "curl -XPUT 'http://{{ es_host }}:9200/_template/filebeat' -d@/etc/filebeat/filebeat.template.json" 25 | 26 | 27 | - name: Create configuration file 28 | template: 29 | src: templates/filebeat.yml.j2 30 | dest: /etc/filebeat/filebeat.yml 31 | owner: root 32 | group: root 33 | notify: 34 | - restart filebeat 35 | 36 | - name: Start and enable filebeat 37 | service: name=filebeat state=started enabled=yes 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | _These roles assume that you run ubuntu14.04. I used AWS for my tests_ 2 | 3 | 4 | ### How to use these roles? 5 | 6 | There is a separate role for each service you want to install and play around with. 7 | 8 | Normally, the order of the steps you should take would be like this: 9 | 1. Install Storage and Log Indexer (Elastic Stack, Graylog): 10 | 11 | There is a role and a playbook for each ```storage+indexer``` host: ```elk```, ```graylog```. 12 | 13 | 2. (optional) Install a Message Broker on a separate host: 14 | 15 | There is a role for each Message Brokers to install: ```kafka```, ```redis```. Change ```broker.yml``` playbook to define which one you want to install. 16 | 3. Install some service (nginx, apache2, etc) on a separate host along with a shipper. 17 | 18 | There is a role for each ```log shipper``` and a role for ```services``` which installs services we specify in ```install_services``` variable inside ```log-generator.yml``` playbook. In the same playbook, we specify which _log shipper_ we want to install. Note, that some roles, like ```filebeat```, require a few variables to be set before running, so please see a role's readme file first before running anything. 19 | 20 | 21 | ### Things you have to chagne 22 | 23 | You'll have to change ```ansible.cfg``` file and make sure you have a correct path to the ssh key: 24 | ``` 25 | private_key_file = ~/.ssh/express42 26 | ``` 27 | 28 | Also, change hosts ip addresses inside the ```hosts``` file. 29 | ``` 30 | elk ansible_host= ansible_user=ubuntu 31 | ``` 32 | 33 | List the playbook you want to run in ```site.yml``` file. 34 | 35 | ### How to run? 36 | 37 | You can use a command like the one bellow to run all the playbooks you specified inside ```site.yml```: 38 | ``` 39 | ansible-playbook site.yml 40 | ``` 41 | 42 | to run just one specific playbook, you can use this command: 43 | 44 | ``` 45 | ansible-playbook playbook/ 46 | ``` 47 | -------------------------------------------------------------------------------- /roles/elk/meta/main.yml: -------------------------------------------------------------------------------- 1 | galaxy_info: 2 | author: your name 3 | description: your description 4 | company: your company (optional) 5 | 6 | # If the issue tracker for your role is not on github, uncomment the 7 | # next line and provide a value 8 | # issue_tracker_url: http://example.com/issue/tracker 9 | 10 | # Some suggested licenses: 11 | # - BSD (default) 12 | # - MIT 13 | # - GPLv2 14 | # - GPLv3 15 | # - Apache 16 | # - CC-BY 17 | license: license (GPLv2, CC-BY, etc) 18 | 19 | min_ansible_version: 1.2 20 | 21 | # Optionally specify the branch Galaxy will use when accessing the GitHub 22 | # repo for this role. During role install, if no tags are available, 23 | # Galaxy will use this branch. During import Galaxy will access files on 24 | # this branch. If travis integration is cofigured, only notification for this 25 | # branch will be accepted. Otherwise, in all cases, the repo's default branch 26 | # (usually master) will be used. 27 | #github_branch: 28 | 29 | # 30 | # Below are all platforms currently available. Just uncomment 31 | # the ones that apply to your role. If you don't see your 32 | # platform on this list, let us know and we'll get it added! 33 | # 34 | #platforms: 35 | #- name: OpenBSD 36 | # versions: 37 | # - all 38 | # - 5.6 39 | # - 5.7 40 | # - 5.8 41 | # - 5.9 42 | # - 6.0 43 | #- name: Fedora 44 | # versions: 45 | # - all 46 | # - 16 47 | # - 17 48 | # - 18 49 | # - 19 50 | # - 20 51 | # - 21 52 | # - 22 53 | # - 23 54 | # - 24 55 | # - 25 56 | #- name: DellOS 57 | # versions: 58 | # - all 59 | # - 10 60 | # - 6 61 | # - 9 62 | #- name: MacOSX 63 | # versions: 64 | # - all 65 | # - 10.10 66 | # - 10.11 67 | # - 10.12 68 | # - 10.7 69 | # - 10.8 70 | # - 10.9 71 | #- name: Synology 72 | # versions: 73 | # - all 74 | # - any 75 | #- name: Junos 76 | # versions: 77 | # - all 78 | # - any 79 | #- name: GenericBSD 80 | # versions: 81 | # - all 82 | # - any 83 | #- name: Void Linux 84 | # versions: 85 | # - all 86 | # - any 87 | #- name: GenericLinux 88 | # versions: 89 | # - all 90 | # - any 91 | #- name: NXOS 92 | # versions: 93 | # - all 94 | # - any 95 | #- name: IOS 96 | # versions: 97 | # - all 98 | # - any 99 | #- name: Amazon 100 | # versions: 101 | # - all 102 | # - 2013.03 103 | # - 2013.09 104 | # - 2016.03 105 | # - 2016.09 106 | #- name: ArchLinux 107 | # versions: 108 | # - all 109 | # - any 110 | #- name: FreeBSD 111 | # versions: 112 | # - all 113 | # - 10.0 114 | # - 10.1 115 | # - 10.2 116 | # - 10.3 117 | # - 11.0 118 | # - 8.0 119 | # - 8.1 120 | # - 8.2 121 | # - 8.3 122 | # - 8.4 123 | # - 9.0 124 | # - 9.1 125 | # - 9.1 126 | # - 9.2 127 | # - 9.3 128 | #- name: Ubuntu 129 | # versions: 130 | # - all 131 | # - lucid 132 | # - maverick 133 | # - natty 134 | # - oneiric 135 | # - precise 136 | # - quantal 137 | # - raring 138 | # - saucy 139 | # - trusty 140 | # - utopic 141 | # - vivid 142 | # - wily 143 | # - xenial 144 | # - yakkety 145 | #- name: Debian 146 | # versions: 147 | # - all 148 | # - etch 149 | # - jessie 150 | # - lenny 151 | # - sid 152 | # - squeeze 153 | # - stretch 154 | # - wheezy 155 | #- name: Alpine 156 | # versions: 157 | # - all 158 | # - any 159 | #- name: EL 160 | # versions: 161 | # - all 162 | # - 5 163 | # - 6 164 | # - 7 165 | #- name: Windows 166 | # versions: 167 | # - all 168 | # - 2012R2 169 | #- name: SmartOS 170 | # versions: 171 | # - all 172 | # - any 173 | #- name: opensuse 174 | # versions: 175 | # - all 176 | # - 12.1 177 | # - 12.2 178 | # - 12.3 179 | # - 13.1 180 | # - 13.2 181 | #- name: SLES 182 | # versions: 183 | # - all 184 | # - 10SP3 185 | # - 10SP4 186 | # - 11 187 | # - 11SP1 188 | # - 11SP2 189 | # - 11SP3 190 | # - 11SP4 191 | # - 12 192 | # - 12SP1 193 | #- name: GenericUNIX 194 | # versions: 195 | # - all 196 | # - any 197 | #- name: Solaris 198 | # versions: 199 | # - all 200 | # - 10 201 | # - 11.0 202 | # - 11.1 203 | # - 11.2 204 | # - 11.3 205 | #- name: eos 206 | # versions: 207 | # - all 208 | # - Any 209 | 210 | galaxy_tags: [] 211 | # List tags for your role here, one per line. A tag is 212 | # a keyword that describes and categorizes the role. 213 | # Users find roles by searching for tags. Be sure to 214 | # remove the '[]' above if you add tags to this list. 215 | # 216 | # NOTE: A tag is limited to a single word comprised of 217 | # alphanumeric characters. Maximum 20 tags per role. 218 | 219 | dependencies: [] 220 | # List your role dependencies here, one per line. 221 | # Be sure to remove the '[]' above if you add dependencies 222 | # to this list. -------------------------------------------------------------------------------- /roles/filebeat/meta/main.yml: -------------------------------------------------------------------------------- 1 | galaxy_info: 2 | author: your name 3 | description: your description 4 | company: your company (optional) 5 | 6 | # If the issue tracker for your role is not on github, uncomment the 7 | # next line and provide a value 8 | # issue_tracker_url: http://example.com/issue/tracker 9 | 10 | # Some suggested licenses: 11 | # - BSD (default) 12 | # - MIT 13 | # - GPLv2 14 | # - GPLv3 15 | # - Apache 16 | # - CC-BY 17 | license: license (GPLv2, CC-BY, etc) 18 | 19 | min_ansible_version: 1.2 20 | 21 | # Optionally specify the branch Galaxy will use when accessing the GitHub 22 | # repo for this role. During role install, if no tags are available, 23 | # Galaxy will use this branch. During import Galaxy will access files on 24 | # this branch. If travis integration is cofigured, only notification for this 25 | # branch will be accepted. Otherwise, in all cases, the repo's default branch 26 | # (usually master) will be used. 27 | #github_branch: 28 | 29 | # 30 | # Below are all platforms currently available. Just uncomment 31 | # the ones that apply to your role. If you don't see your 32 | # platform on this list, let us know and we'll get it added! 33 | # 34 | #platforms: 35 | #- name: OpenBSD 36 | # versions: 37 | # - all 38 | # - 5.6 39 | # - 5.7 40 | # - 5.8 41 | # - 5.9 42 | # - 6.0 43 | #- name: Fedora 44 | # versions: 45 | # - all 46 | # - 16 47 | # - 17 48 | # - 18 49 | # - 19 50 | # - 20 51 | # - 21 52 | # - 22 53 | # - 23 54 | # - 24 55 | # - 25 56 | #- name: DellOS 57 | # versions: 58 | # - all 59 | # - 10 60 | # - 6 61 | # - 9 62 | #- name: MacOSX 63 | # versions: 64 | # - all 65 | # - 10.10 66 | # - 10.11 67 | # - 10.12 68 | # - 10.7 69 | # - 10.8 70 | # - 10.9 71 | #- name: Synology 72 | # versions: 73 | # - all 74 | # - any 75 | #- name: Junos 76 | # versions: 77 | # - all 78 | # - any 79 | #- name: GenericBSD 80 | # versions: 81 | # - all 82 | # - any 83 | #- name: Void Linux 84 | # versions: 85 | # - all 86 | # - any 87 | #- name: GenericLinux 88 | # versions: 89 | # - all 90 | # - any 91 | #- name: NXOS 92 | # versions: 93 | # - all 94 | # - any 95 | #- name: IOS 96 | # versions: 97 | # - all 98 | # - any 99 | #- name: Amazon 100 | # versions: 101 | # - all 102 | # - 2013.03 103 | # - 2013.09 104 | # - 2016.03 105 | # - 2016.09 106 | #- name: ArchLinux 107 | # versions: 108 | # - all 109 | # - any 110 | #- name: FreeBSD 111 | # versions: 112 | # - all 113 | # - 10.0 114 | # - 10.1 115 | # - 10.2 116 | # - 10.3 117 | # - 11.0 118 | # - 8.0 119 | # - 8.1 120 | # - 8.2 121 | # - 8.3 122 | # - 8.4 123 | # - 9.0 124 | # - 9.1 125 | # - 9.1 126 | # - 9.2 127 | # - 9.3 128 | #- name: Ubuntu 129 | # versions: 130 | # - all 131 | # - lucid 132 | # - maverick 133 | # - natty 134 | # - oneiric 135 | # - precise 136 | # - quantal 137 | # - raring 138 | # - saucy 139 | # - trusty 140 | # - utopic 141 | # - vivid 142 | # - wily 143 | # - xenial 144 | # - yakkety 145 | #- name: Debian 146 | # versions: 147 | # - all 148 | # - etch 149 | # - jessie 150 | # - lenny 151 | # - sid 152 | # - squeeze 153 | # - stretch 154 | # - wheezy 155 | #- name: Alpine 156 | # versions: 157 | # - all 158 | # - any 159 | #- name: EL 160 | # versions: 161 | # - all 162 | # - 5 163 | # - 6 164 | # - 7 165 | #- name: Windows 166 | # versions: 167 | # - all 168 | # - 2012R2 169 | #- name: SmartOS 170 | # versions: 171 | # - all 172 | # - any 173 | #- name: opensuse 174 | # versions: 175 | # - all 176 | # - 12.1 177 | # - 12.2 178 | # - 12.3 179 | # - 13.1 180 | # - 13.2 181 | #- name: SLES 182 | # versions: 183 | # - all 184 | # - 10SP3 185 | # - 10SP4 186 | # - 11 187 | # - 11SP1 188 | # - 11SP2 189 | # - 11SP3 190 | # - 11SP4 191 | # - 12 192 | # - 12SP1 193 | #- name: GenericUNIX 194 | # versions: 195 | # - all 196 | # - any 197 | #- name: Solaris 198 | # versions: 199 | # - all 200 | # - 10 201 | # - 11.0 202 | # - 11.1 203 | # - 11.2 204 | # - 11.3 205 | #- name: eos 206 | # versions: 207 | # - all 208 | # - Any 209 | 210 | galaxy_tags: [] 211 | # List tags for your role here, one per line. A tag is 212 | # a keyword that describes and categorizes the role. 213 | # Users find roles by searching for tags. Be sure to 214 | # remove the '[]' above if you add tags to this list. 215 | # 216 | # NOTE: A tag is limited to a single word comprised of 217 | # alphanumeric characters. Maximum 20 tags per role. 218 | 219 | dependencies: [] 220 | # List your role dependencies here, one per line. 221 | # Be sure to remove the '[]' above if you add dependencies 222 | # to this list. -------------------------------------------------------------------------------- /roles/services/meta/main.yml: -------------------------------------------------------------------------------- 1 | galaxy_info: 2 | author: your name 3 | description: your description 4 | company: your company (optional) 5 | 6 | # If the issue tracker for your role is not on github, uncomment the 7 | # next line and provide a value 8 | # issue_tracker_url: http://example.com/issue/tracker 9 | 10 | # Some suggested licenses: 11 | # - BSD (default) 12 | # - MIT 13 | # - GPLv2 14 | # - GPLv3 15 | # - Apache 16 | # - CC-BY 17 | license: license (GPLv2, CC-BY, etc) 18 | 19 | min_ansible_version: 1.2 20 | 21 | # Optionally specify the branch Galaxy will use when accessing the GitHub 22 | # repo for this role. During role install, if no tags are available, 23 | # Galaxy will use this branch. During import Galaxy will access files on 24 | # this branch. If travis integration is cofigured, only notification for this 25 | # branch will be accepted. Otherwise, in all cases, the repo's default branch 26 | # (usually master) will be used. 27 | #github_branch: 28 | 29 | # 30 | # Below are all platforms currently available. Just uncomment 31 | # the ones that apply to your role. If you don't see your 32 | # platform on this list, let us know and we'll get it added! 33 | # 34 | #platforms: 35 | #- name: OpenBSD 36 | # versions: 37 | # - all 38 | # - 5.6 39 | # - 5.7 40 | # - 5.8 41 | # - 5.9 42 | # - 6.0 43 | #- name: Fedora 44 | # versions: 45 | # - all 46 | # - 16 47 | # - 17 48 | # - 18 49 | # - 19 50 | # - 20 51 | # - 21 52 | # - 22 53 | # - 23 54 | # - 24 55 | # - 25 56 | #- name: DellOS 57 | # versions: 58 | # - all 59 | # - 10 60 | # - 6 61 | # - 9 62 | #- name: MacOSX 63 | # versions: 64 | # - all 65 | # - 10.10 66 | # - 10.11 67 | # - 10.12 68 | # - 10.7 69 | # - 10.8 70 | # - 10.9 71 | #- name: Synology 72 | # versions: 73 | # - all 74 | # - any 75 | #- name: Junos 76 | # versions: 77 | # - all 78 | # - any 79 | #- name: GenericBSD 80 | # versions: 81 | # - all 82 | # - any 83 | #- name: Void Linux 84 | # versions: 85 | # - all 86 | # - any 87 | #- name: GenericLinux 88 | # versions: 89 | # - all 90 | # - any 91 | #- name: NXOS 92 | # versions: 93 | # - all 94 | # - any 95 | #- name: IOS 96 | # versions: 97 | # - all 98 | # - any 99 | #- name: Amazon 100 | # versions: 101 | # - all 102 | # - 2013.03 103 | # - 2013.09 104 | # - 2016.03 105 | # - 2016.09 106 | #- name: ArchLinux 107 | # versions: 108 | # - all 109 | # - any 110 | #- name: FreeBSD 111 | # versions: 112 | # - all 113 | # - 10.0 114 | # - 10.1 115 | # - 10.2 116 | # - 10.3 117 | # - 11.0 118 | # - 8.0 119 | # - 8.1 120 | # - 8.2 121 | # - 8.3 122 | # - 8.4 123 | # - 9.0 124 | # - 9.1 125 | # - 9.1 126 | # - 9.2 127 | # - 9.3 128 | #- name: Ubuntu 129 | # versions: 130 | # - all 131 | # - lucid 132 | # - maverick 133 | # - natty 134 | # - oneiric 135 | # - precise 136 | # - quantal 137 | # - raring 138 | # - saucy 139 | # - trusty 140 | # - utopic 141 | # - vivid 142 | # - wily 143 | # - xenial 144 | # - yakkety 145 | #- name: Debian 146 | # versions: 147 | # - all 148 | # - etch 149 | # - jessie 150 | # - lenny 151 | # - sid 152 | # - squeeze 153 | # - stretch 154 | # - wheezy 155 | #- name: Alpine 156 | # versions: 157 | # - all 158 | # - any 159 | #- name: EL 160 | # versions: 161 | # - all 162 | # - 5 163 | # - 6 164 | # - 7 165 | #- name: Windows 166 | # versions: 167 | # - all 168 | # - 2012R2 169 | #- name: SmartOS 170 | # versions: 171 | # - all 172 | # - any 173 | #- name: opensuse 174 | # versions: 175 | # - all 176 | # - 12.1 177 | # - 12.2 178 | # - 12.3 179 | # - 13.1 180 | # - 13.2 181 | #- name: SLES 182 | # versions: 183 | # - all 184 | # - 10SP3 185 | # - 10SP4 186 | # - 11 187 | # - 11SP1 188 | # - 11SP2 189 | # - 11SP3 190 | # - 11SP4 191 | # - 12 192 | # - 12SP1 193 | #- name: GenericUNIX 194 | # versions: 195 | # - all 196 | # - any 197 | #- name: Solaris 198 | # versions: 199 | # - all 200 | # - 10 201 | # - 11.0 202 | # - 11.1 203 | # - 11.2 204 | # - 11.3 205 | #- name: eos 206 | # versions: 207 | # - all 208 | # - Any 209 | 210 | galaxy_tags: [] 211 | # List tags for your role here, one per line. A tag is 212 | # a keyword that describes and categorizes the role. 213 | # Users find roles by searching for tags. Be sure to 214 | # remove the '[]' above if you add tags to this list. 215 | # 216 | # NOTE: A tag is limited to a single word comprised of 217 | # alphanumeric characters. Maximum 20 tags per role. 218 | 219 | dependencies: [] 220 | # List your role dependencies here, one per line. 221 | # Be sure to remove the '[]' above if you add dependencies 222 | # to this list. --------------------------------------------------------------------------------