diff options
555 files changed, 25768 insertions, 7011 deletions
diff --git a/Vagrantfile b/Vagrantfile index e43bcc2d..0df37f95 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -7,7 +7,8 @@ # you're doing. Vagrant.configure("2") do |config| - config.vm.box = "alxgrh/ubuntu-trusty-x86_64" + config.vm.box = "generic/ubuntu1804" + config.vm.synced_folder ".", "/vagrant", type: "rsync", create: true config.vm.provision :shell, inline: <<SCRIPT sudo apt-add-repository -y ppa:ansible/ansible diff --git a/android.yml b/android.yml new file mode 100644 index 00000000..3caa25bb --- /dev/null +++ b/android.yml @@ -0,0 +1,12 @@ +--- +- hosts: + - android.linaro.org + become: yes + vars_files: + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] + - "{{secrets_dir}}/group_vars/all" + - "{{secrets_dir}}/group_vars/dehydrated" + - "vars/empty.yml" + roles: + - {role: apache-site, src: "apache/{{inventory_hostname}}.conf", config: "{{inventory_hostname}}", tags: [apache]} + - {role: dehydrated, tags: [ssl] } diff --git a/ansible.cfg b/ansible.cfg index bb0ec2b4..591e9ac6 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,5 +1,7 @@ [defaults] inventory = hosts +retry_files_enabled = False +forks = 100 [ssh_connection] ssh_args = -F ./ssh/config diff --git a/atom.yml b/atom.yml new file mode 100644 index 00000000..6e5a600d --- /dev/null +++ b/atom.yml @@ -0,0 +1,10 @@ +--- +- name: Deploy the roles that are common to all Systems managed servers + hosts: all + vars_files: + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] + - "{{secrets_dir}}/group_vars/all" + become: true + + roles: + - {role: atom, when: no_atom is undefined} diff --git a/aus-colo-servers.yml b/aus-colo-servers.yml deleted file mode 100644 index a719d84c..00000000 --- a/aus-colo-servers.yml +++ /dev/null @@ -1,41 +0,0 @@ -# Deploy aus-colo specific roles ---- -- name: Configure firewall/router - hosts: router.aus-colo.linaro.org - become: yes - vars_files: - - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" - roles: - - role: colo-router - -- name: Configure bastion - hosts: aus-colo.linaro.org - become: yes - vars_files: - - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" - - "files/reservations.yml" - roles: - - role: colo-bastion - - {role: pdu-liebert, tags: [colo_users]} - -- name: Configure our x86-1 top-of-rack servers - hosts: - - r1-x86-1.aus-colo.linaro.org - - r2-x86-1.aus-colo.linaro.org - - r3-x86-1.aus-colo.linaro.org - become: yes - vars_files: - - "files/reservations.yml" - roles: - - {role: colo-console-server, tags: [colo_users]} - -- name: Configure rack2 PXE - hosts: - - r2-x86-1.aus-colo.linaro.org - vars_files: - - "{{secrets_dir}}/group_vars/all" - - host_vars/router.aus-colo.linaro.org - become: yes - roles: - - {role: colo-pxe, tags: [pxe]} - - {role: apache-site, src: pxe-kickstart.conf, config: kickstart, tags: [apache] } diff --git a/certbot.yml b/certbot.yml deleted file mode 100644 index 62e149e5..00000000 --- a/certbot.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: Configure certbot - hosts: certbot - become: yes - roles: - - role: certbot diff --git a/docs/README.ansible_best_practices.md b/docs/README.ansible_best_practices.md index 283851cb..775528c4 100644 --- a/docs/README.ansible_best_practices.md +++ b/docs/README.ansible_best_practices.md @@ -23,6 +23,10 @@ file to chain them together. `gerrit` and `bugzilla` roles are an example of using this. +4. When running a command via a handler, you may need to include a task to check that the command was run and if not re-trigger +it. It is possible that if another handler action fails and your handler is only called on a one-time event (ie, a +file is installed) your handler will never be run on a followup. See https://review.linaro.org/c/infrastructure/ansible-playbooks/+/33481 for an example. + 5. Try not to use lineinfile, use file or template instead. Lineinfile generally ends in things breaking. 6. Changed=true. A playbook should *always* run with changed=False, not unless a change has actually happened. If you are getting changed=True everytime the playbook runs, do not submit a review. diff --git a/docs/README.dehydrated.md b/docs/README.dehydrated.md index 6e8708a1..49927f3e 100644 --- a/docs/README.dehydrated.md +++ b/docs/README.dehydrated.md @@ -15,24 +15,14 @@ Example of usage is in host_vars/publishing-ap.linaro.org Ansible Command Line Options ============================ -As a convenience for testing, you may define the var "snakeoil" to any -value and this role will set the following vars to point to the self-signed -certificate on the server: - -- ssl_cert -- ssl_key -- ssl_ca - -And it will not attempt to install dehydrated on the server instance. - -You may also define the var "testing" which will use the LetsEncrypt +You may define the var "testing" which will use the LetsEncrypt staging environment for acquiring the certificates. The staging environment does not have a rate limit on failed requests and should be used until you know that the certificates will deploy correctly to the server. To have dehydrated install certificates from the LetsEncrypt production -environment, make leave "snakeoil" and "testing" undefined. +environment, leave "testing" undefined. domains.txt @@ -62,6 +52,7 @@ Automation ========== Certs are checked/renewed every 12 hours by cron job in /etc/cron.d/dehydrated +with the output sent to /var/log/dehydrated. Certs should renew 30 days from their expiration. Any email alerts received from LetsEncrypt warning that a cert has less than 30 days until expiry should diff --git a/docs/README.jenkins b/docs/README.jenkins new file mode 100644 index 00000000..155bfb71 --- /dev/null +++ b/docs/README.jenkins @@ -0,0 +1,16 @@ +Linaro jenkins instructions +----- + +Steps for adding a new jenkins slave to known_hosts +======= + +1. ssh jenkins-server ssh-keyscan $newip >> ssh/known_hosts +2. ansible-playbook -D -C -K jenkins-master.yml -l ci.linaro.org -t jenkins-master +2.5 if looks good, re-run without "-C" +3. enable known_hosts verification strategy for specific node in jenkins +4. disconnect and re-connect the jenkins slave +5. verify from the slave log that known_hosts verification was used + + + + diff --git a/docs/README.publishing.md b/docs/README.publishing.md new file mode 100644 index 00000000..3dd5881c --- /dev/null +++ b/docs/README.publishing.md @@ -0,0 +1,117 @@ +Overview +======== + +This document is meant to explain the lay out of our publishing servers. + +Previously publishing sites were deployed as a single django application +on a server. The service has slowly been transitioned to run inside +of a docker container in order to allow us to stack multiple sites +on single physical server and to more easily maintain the service. + +In this setup, we generally refer to the host of one or more sites as +a "publishing server". It is assigned a hostname of 'publishing-<region>' +and listed under 'publishing-docker' in the ansible hosts inventory file. +Server wide settings (include docker image name and SSL certificates) +are setup in the publishing server's host_vars file. + +"publishing sites" are instances of LLP running inside of a container +on a publishing server. These generally have their own DNS name +('releases-ie.linaro.org'). The site hostname is assigned to the +group 'publishing-docker-site' in the ansible hosts inventory file. +Site specific settings are made in the site's host_vars file. + +The publishing server runs an apache webserver that maintains a vhost +for each site that it has and will proxy request to the appropriate +container. It is also responsible for hosting any cron jobs that +need to be run and they are stored as: + /etc/cron.d/llp-crontab-<site-hostname> + +Example Deployment +------------------ + +Refer to the ansible playbooks for an example of this deployment +on "publishing-ie.linaro.org" + +publishing-ie.linaro.org - publishing server +releases-ie.linaro.org - LLP site, geo balanced for "releases.linaro.org" +snapshots.linaro.org - LLP site for publishing snapshot builds, used heavily by CI system +testdata.linaro.org - LLP site for test data + + +LLP +=== + +The LLP code based is maintained at: + +https://git.linaro.org/infrastructure/linaro-license-protection.git + +Configuration +------------- + +Configuration is performed in several locations: + +- /srv/linaro-license-protection/settings*.py (inside the container) + +These will be all the django settings that are common to any production publishing site. These +will normally be paths that the application will use. + +- /srv/linaro-license-protection/license-protected-downloads/config.py (inside the container) + +This file contains the INTERNAL_HOSTS set of IP addresses that are exempt from password authentication +to access protected downloads. These will normally be CI systems that need to download protected files. + +- /srv/<site-hostname>/secrets.py (on publishing-server) + +This file contains all of the secrets and unique configuration for the publishing site. This is where things +like the S3 bucket and postgresql credentials are stored. Settings in this file override the defaults from +the settings*.py files inside the docker container. + +Bind Mounts +----------- + +When the container is run, the following mountpoints are created: + +/srv/<site-hostname> on the publishing-server is mounted as /srv inside the container +/srv/linaro-license-protection on the publishing-server is mounted on /srv/linaro-license-protection inside +the container + +The second mount allows us the option to update the code on a publishing server without restarting the +container and potentially disturbing an upload, but doing this should be avoided as updating via Jenkins +and Ansible are preferred. + + +Entrypoint +---------- + +The entrypoint for the docker instance is the docker_run.sh script (/srv/docker_run.sh in the container, +/srv/<site-hostname>/docker_run.sh on the publishing server). + +This script is responsible for starting up LLP on the correct port through gunicorn. + +Note: With the mount of the of linaro-license-protection repo inside the container, it is possible to +load up changes to the code by kill -HUP'ing the gunicorn process without having to restart the container. +This should be avoided, as deploying changes through the review process and Ansible is preferred. + + +Updating Docker Image +===================== + +This software is available in the docker image 'linaro/ci-amd64-llp-alpine'. +The image should be rebuilt monthly as well if there are any triggering changes +to the dockerfile. + +In order to force a new docker image to be built, you should trigger the jenkins job: + +https://ci.linaro.org/job/ci-dockerfile-build/build?delay=0sec + +Image: ci-amd64-llp-alpine +Nodelabel: build-amd64 + + +After a new image is created and uploaded to Docker Hub, you will need to ensure: + +1. The new image is pulled to the server by defining the "docker_upgrade" ansible var: + ansible-playbook [...] -l <server-hostname> -e "docker_upgrade=true" + +2. The containers are restarted to use the new code: + ansible-playbook [...] -l <site-hostname> -e "docker_upgrade=true" diff --git a/docs/README.ssl.md b/docs/README.ssl.md deleted file mode 100644 index ffd452ce..00000000 --- a/docs/README.ssl.md +++ /dev/null @@ -1,134 +0,0 @@ -Quickstart for Bootstrapping Certbot -===================================== - -1. Edit the apache config file and make sure the acme-challenge - code has been added to the port 80 vhost (see "Apache Config" below) - -2. Edit the host_vars for the server and set "certbot_domains" to a list of all hostnames that should have a certificate on the server - -3. Ensure that the 'certbot' role is called before the 'apache-site' role in - the playbook and has the "ssl" tag associated with it - -4. Install the apache configs (use --skip-tags ssl) to allow the acme-challenge - configs - -5. Ensure the acme-challenge exemption is working: - -cat hello > /srv/certbot/.well-known/acme-challenge/foo.txt -curl http://{{hostname}}/.well-known/acme-challenge/foo.txt - -6. Install 'certbot' role by itself (use --tags ssl to create the certs) - -Once the playbook has been successfully bootstrapped on the server, it will -no longer require any special action. - - -Certbot Renewal -=============== - -Part of the certbot install includes a cron job that runs every 12 hours -that calls "certbot renew". If a cert is within 30 days of expiring, it -will automatically renew. If you a see a 20 day or less warning that means -the cron job is failing for some reason. - -After fixing whatever the problem is, you can either run "certbot renew" as -root on the server, or you can simply run the playbook again with "--tags ssl". - - -Overview of all SSL Playbooks -============================= - -Our playbooks currently have five roles dedicated to setting up SSL -certificates on a server. Most of these are obsolete and will be -removed from our roles in the future, so please do not use them -in any new development work. - -- certbot - - This is the currently preferred role for creating and maintaining ssl - certs on a server. It installs the 'certbot' program from the PPA. - This role is meant to be a temporary fix until we can implement an - automated certificate management system. - -- letsencrypt - - Obsoleted by 'certbot'. Do not use. - - This role sets up and maintains a LetsEncrypt certificate for the server - using the obsoleted 'letsencrypt' script provided by the EFF. 'letsencrypt' - has been superceded by 'certbot', and the role is kept around to ease - transition to the 'ssl' role. Packages for 'letsencrypt' are no longer - available for Ubuntu Xenial (16.04) systems. - -- sslcert-bundle - - Obsolete. Do not use. - - This was a previous implementation that used a wildcard certificate from - godaddy for our sites. It is being kept around in order to ease transition - to the 'ssl' role and as the paths to this certificate may be hardcoded - into configuration files for several services (notable apache configs). - -- sslcert - - Obsolete. Do not use. - - There should be nothing left dependent upon this role. - -- ssl-self-signed - - Obsolete. Do not use. - - There should be nothing left dependent upon this role. - - -Details for the 'certbot' role - certbot support -============================================ - -The 'certbot' role will ensure that a cert/key pair for each FQDN -listed in the "certbot_domains" variable for the host is created on -the server. If the extra arg "snakeoil" is set to True, the certs will -be created and symlinked to the snakeoil cert. If it's not defined or -not set to True, the certbot program will be run and will either request -or renew LE certificates for each item in "certbot_domains". - -The command that is run for each domain is: -certbot --apache certonly -d <domain> -e <email> - - -The following host_vars may be set: - - certbot_domains: A list of domains that the cert will be valid for - certbot_email: The email address to use when registering for a cert - -By default, certbot_domains is set to only the hostname of the server. If -you need to add more hostnames, override the list in the host_vars for the -server. - - -Apache Config -============= - -Ensure that the following directives exist in the port 80 vhost on the server: - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> - -Next, make sure that an exemption is made for any redirect or rewrite rules for the /.well-known/acme-challenge/ URL - - * For mod_rewrite, use: - - RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.*$ - - * For a redirect, use: - - RedirectMatch permanent \ - "^/(?!\.well-known/acme-challenge)(.*)" \ - "https://{{hostname}}/$1" - - * For a config with mod_proxy, use: - - ProxyPass /.well-known/acme-challenge/ ! - diff --git a/docs/examples/prometheus_parse_inv.py b/docs/examples/prometheus_parse_inv.py new file mode 100755 index 00000000..efe7c768 --- /dev/null +++ b/docs/examples/prometheus_parse_inv.py @@ -0,0 +1,56 @@ +#!/usr/bin/python3 + +from ansible.inventory.manager import InventoryManager +from ansible.parsing.dataloader import DataLoader +from ansible.vars.manager import VariableManager + +import yaml + +from ipaddress import ip_address +import socket +socket.setdefaulttimeout(3) + +HOSTS_BY_IP = {} + +dl = DataLoader() +im = InventoryManager(loader=dl, sources=['hosts']) +vm = VariableManager(loader=dl, inventory=im) + +for host in im.get_hosts(): + + avars = vm.get_vars(host=host) + + # Check for no_atom, which means this + # host is virtual and its IP is already + # being monitored + no_atom = avars.get("no_atom") or False + if no_atom == True: + print( "skipping %s: no_atom virtual host" % (str(host))) + continue + + ip = avars.get("ansible_host") or None + if ip is None: + try: + ip = socket.gethostbyname(str(host)) + except socket.gaierror as e: + print("skipping %s: %s" % (str(host), e)) + continue + + # skip private IPs + if ip_address(ip).is_private: + print( "skipping %s: private IP %s" % (str(host), ip)) + continue + + if ip not in HOSTS_BY_IP: + HOSTS_BY_IP[ip] = [] + + HOSTS_BY_IP[ip].append(host) + +# dump to prometheus conf file +entries = [] +for ip in HOSTS_BY_IP: + item = {"targets": [ip+":9100"], "labels": {"job":"node","hostname":str(HOSTS_BY_IP[ip].pop())}} + entries.append(item) + +outfile = open("nodes.yaml", "w") +yaml.dump(entries, outfile) diff --git a/docs/maintenance/gerrit.md b/docs/maintenance/gerrit.md new file mode 100644 index 00000000..dee6e089 --- /dev/null +++ b/docs/maintenance/gerrit.md @@ -0,0 +1,84 @@ +This document is intent to outline the steps necessary for upgrading the version of gerrit deployed via our playbooks and to list some common problems that might be encountered during the upgrade. + + +## Overview of the Process + +1. Create a change to upgrade the play in ansible (outline in next section), but + do not merge until upgrade has been deployed. +2. After testing, schedule time for upgrade with the team. +3. Send out maintenance announcements to affected customers letting them know to anticipate downtime. +4. On maintenace day, open an ssh session and become root on the target servers in case manual intervention is needed. +5. Run the upgrade play. +6. Verify the server has been upgraded and is operational. +7. After all servers have been updated, submit the upgrade change. +8. Announce success. + + +## Preparing the Play + +1. Upgrade the 'gerrit_version' in `group_vars/gerrit` +2. Change the setting for 'gerrit_md5sum' +3. If the upgrade is a minor release, also upgrade 'gerrit_plugin_version' +4. Verify that the URLs for external modules on gerrit-forge.org are still valid, change as needed. + + +## Verify the Upgrade + +1. Open browser, make sure that the server is back online and responding with new version number. +2. Verify that you can log in and have administrative access +3. Check to make sure that the last change before the upgrade is present. + +## Possible Problems + +* Playbook dies after `gerrit init` is run, can't get it to execute in subsequent runs + +The playbook does not directly install gerrit on the system. It is instead installed via the `gerrit -init -d /srv/gerrit` on the gerrit.war that is downloaded to /srv/gerrit/gerrit.war. This command will unpack all required files to their correct location in /srv/gerrit, and the upgraded gerrit file will be located at /srv/gerrit/bin/gerrit.war. + +The playbook will only attempt to execute the 'init' command if it has detected the md5sum on the file is different from the md5sum listed in group_vars. If the playbook exits after the 'init' command has been run, you will need to either run it yourself manually or more preferrably delete the /srv/gerrit/gerrit.war file and force ansible to download it again. + + +* Tried to run gerrit manually, but it keeps failing. + +It is most likely a memory issue on the server. You may need to temporarily grant more memory to gerrit in order to allow it to run upgrade scripts or reindex projects. + +This is done by running: java -jar /srv/gerrit/bin/gerrit.war -Xmx<size of mem in MB> [command]. + +We typically run gerrit with no more than half of the memory of the server dedicated to it, but if you are having trouble getting the server to reindex try running the operation with a larger memory setting. + + +* It's still not running. + +Check in /srv/gerrit/logs/error_log to see if you can find a hint. Most of the time it will be due to inconsistent project or change data, which means the install may need to be reindexed. + + +* Upgrading across major versions. + +gerrit does a pretty good job of migrating its internals and self-correcting most problems, but moving to a major version can overwhelm it. If you are making a huge increase in the version and it's failing, you may need to incrementally upgrade gerrit through prior releases. + +2.15.4 -> 2.16.10 +2.16.10 -> 3.0.1 + + +### Sample Email Announcement + +To: linaro-dev@lists.linaro.org, lkft@linaro.org, tcwg@linaro.org +Subject: [Maintenance] - gerrit servers downtime on 06/02/2021 + + +Hello All, + +We will be upgrading all Linaro gerrit servers to version 3.3.1 +this weekend on 06/02/2021 starting around 16:00UTC during a five +hour window. + +The following servers are affected and will be unavailable during +the upgrade window: + + +* android-review.linaro.org +* dev-private-review.linaro.org +* lhg-review.linaro.org +* review.linaro.org + +Start: 06/02/2021 16:00UTC +End: 06/02/2021 21:00UTC @@ -3,16 +3,49 @@ become: yes vars_files: - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml" ] + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] - "{{secrets_dir}}/group_vars/dehydrated" + - ["{{secrets_dir}}/group_vars/ses-proxy"] + roles: - - { role: ssh-ldap, tags: [ssh-ldap] } - - { role: ufw, tags: [firewall] } - - { role: docker-deps, tags: [docker] } - { role: docker-odp-hook, tags: [docker, odp] } - - { role: docker-elk, tags: [docker, elk, seb] } - { role: docker-elasticsearch, tags: [docker, elk, elasticsearch] } - - { role: lava-elk-deps, tags: [docker, elk] } - - { role: docker-grimoirelab, tags: [docker, elk, grimoirelab] } + - { role: docker-logstash, tags: [docker, elk, logstash] } - { role: dehydrated, tags: [ssl] } - - { role: apache-site, src: "elasticsearch/elk.linaro.org.conf", config: "{{inventory_hostname}}", tags: [apache] } - - { role: apache-auth, host_name: "{{inventory_hostname}}", tags: [apache, apache-auth]} + - { role: lava-elk-deps, tags: [docker, elk, lava] } + - { role: postfix, tags: [postfix] } + - { role: docker-elastalert, tags: [docker, elastalert] } +# potential race condition for new install. This requires the +# index .kibitersystems to be setup and the monitoring-systems +# container to be running + - { role: docker-heartbeat, tags: [docker, heartbeat] } + - { role: curator, tags: [curator] } + +- hosts: prometheus + become: yes + vars_files: + - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml" ] + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] + - ["{{secrets_dir}}/group_vars/ses-proxy"] + roles: + - { role: docker-prometheus, tags: [prometheus] } + +- hosts: dashboard_private + vars_files: + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] + # pull this in for access to ldap pw + - ["{{secrets_dir}}/host_vars/elk.linaro.org", "vars/empty.yml"] + become: yes + roles: + - { role: docker-kibiter, tags: [docker, elk, dashboard] } + - { role: apache-site, src: "apache/monitoring-dashboard-private.conf", config: "{{inventory_hostname}}", tags: [apache] } + - { role: elastalert-rules, tags: [elastalert] } + +- hosts: dashboard_public + become: yes + gather_facts: no + roles: + - { role: docker-kibiter, tags: [docker, elk, dashboard] } + - { role: apache-site, src: "apache/monitoring-dashboard-public.conf", config: "{{inventory_hostname}}", tags: [apache] } + - { role: elastalert-rules, tags: [elastalert] } + - { role: heartbeat-monitors, when: hb_monitors is defined, tags: [heartbeat] } diff --git a/filebeat.yml b/filebeat.yml deleted file mode 100644 index a8568d42..00000000 --- a/filebeat.yml +++ /dev/null @@ -1,11 +0,0 @@ -# Deploy filebeat agent for elk ---- -- name: Configure filebeat - hosts: filebeat - gather_facts: no - become: yes - vars: - - logstash_host: elk.linaro.org:5044 - - logstash_cert: logstash-beats.crt - roles: - - role: filebeat diff --git a/files/apache/android-git.linaro.org.conf b/files/apache/android-git.linaro.org.conf index fbab9c57..7f09ed40 100644 --- a/files/apache/android-git.linaro.org.conf +++ b/files/apache/android-git.linaro.org.conf @@ -4,15 +4,15 @@ Mutex default rewrite-map ServerName {{ git_host }} ServerAlias {{ inventory_hostname }} ServerAlias android.git.linaro.org - Alias "/.well-known/acme-challenge" "/srv/certbot/.well-known/acme-challenge" - <Directory /srv/certbot/.well-known/acme-challenge> - Require all granted - </Directory> + + Include /etc/apache2/linaro/letsencrypt.conf AllowEncodedSlashes On RewriteEngine on RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/ RewriteRule ^(.*)$ https://{{ git_host }}$1 [R=301,L] + + Include /etc/apache2/linaro/block-refs.conf </VirtualHost> {% if inventory_hostname == 'android-git-us.linaro.org' %} @@ -25,16 +25,7 @@ Mutex default rewrite-map AllowEncodedSlashes On - SSLEngine On - SSLOptions +StdEnvVars - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} SSLCertificateChainFile {{ssl_ca}} @@ -93,7 +84,7 @@ Mutex default rewrite-map SSLEngine On SSLProxyEngine On SSLOptions +StdEnvVars - SSLProtocol All -SSLv2 -SSLv3 + SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLCompression Off SSLHonorCipherOrder On SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ @@ -111,10 +102,12 @@ Mutex default rewrite-map #RewriteLog ${APACHE_LOG_DIR}/{{ git_host }}-rewrite.log #RewriteLogLevel 0 + Include /etc/apache2/linaro/block-refs.conf + RewriteMap gitdirs prg:{{tools_checkout_dir}}/linaro-git-tools/git-repo-url-rewrite/git-directory-rewritemap.py RewriteRule ^/git-ro/(.*) /git-http/${gitdirs:$1} [P,L] - RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider) [NC] + RewriteCond %{HTTP_USER_AGENT} (googlebot|bingbot|Baiduspider|SemrushBot|PetalBot) [NC] RewriteRule .* - [R=403,L] SetEnvIf User-Agent "Amazon Route 53 Health Check" dontlog diff --git a/files/apache/android-review.linaro.org.conf b/files/apache/android-review.linaro.org.conf index 6ccffedf..340ea3dc 100644 --- a/files/apache/android-review.linaro.org.conf +++ b/files/apache/android-review.linaro.org.conf @@ -48,26 +48,16 @@ ProxyPass / http://127.0.0.1:8080/ nocanon {% endif %} - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + Include /etc/apache2/linaro/letsencrypt.conf </VirtualHost> {% if ssl_cert is defined %} <VirtualHost *:443> ServerName android-review.linaro.org - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} {% if ssl_ca is defined -%} @@ -114,5 +104,8 @@ AllowEncodedSlashes On ProxyPass / http://127.0.0.1:8080/ nocanon + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf </VirtualHost> {% endif %} diff --git a/files/apache/android.linaro.org.conf b/files/apache/android.linaro.org.conf new file mode 100644 index 00000000..9b767020 --- /dev/null +++ b/files/apache/android.linaro.org.conf @@ -0,0 +1,54 @@ +<VirtualHost *:80> + ServerName {{inventory_hostname}} + ServerAdmin webmaster@linaro.org + DocumentRoot /srv/{{inventory_hostname}} + +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} + +{% if ssl_cert is defined %} + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{inventory_hostname}}/$1 + Include /etc/apache2/linaro/letsencrypt.conf +{% endif %} + ErrorLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-error.log + CustomLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-access.log combined +</VirtualHost> + +<IfModule mod_ssl.c> +<VirtualHost *:443> + ServerAdmin webmaster@linaro.org + DocumentRoot /var/www/html + + ErrorLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-error.log + CustomLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-access.log combined + + ServerName {{inventory_hostname}} +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + + WSGIDaemonProcess lkft-report python-home=/android/django_postgres/workspace-python3 python-path=/android/django_postgres/lcr-report + WSGIProcessGroup lkft-report + WSGIScriptAlias / /android/django_postgres/lcr-report/lcr/wsgi.py + <Directory /android/django_postgres/lcr-report/lcr> + <Files wsgi.py> + Require all granted + </Files> + </Directory> + + Alias /static /android/django_postgres/lcr-report/static + <Directory /android/django_postgres/lcr-report/static> + Require all granted + </Directory> +</VirtualHost> +</IfModule> diff --git a/files/apache/dev-private-git.linaro.org.conf b/files/apache/dev-private-git.linaro.org.conf index b87250b3..7c5aeba6 100644 --- a/files/apache/dev-private-git.linaro.org.conf +++ b/files/apache/dev-private-git.linaro.org.conf @@ -11,11 +11,17 @@ LDAPOpCacheTTL 36000 ServerName {{ git_host }} ServerAdmin webmaster@linaro.org + Include /etc/apache2/linaro/headers-http.conf + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{git_host}}/$1" - Alias "/.well-known/acme-challenge" "/srv/certbot/.well-known/acme-challenge" - <Directory /srv/certbot/.well-known/acme-challenge> - Require all granted - </Directory> + Include /etc/apache2/linaro/letsencrypt.conf + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf </VirtualHost> # Support for deprecated *.git.linaro.org subdomains @@ -24,20 +30,20 @@ LDAPOpCacheTTL 36000 ServerAlias zte.git.linaro.org RewriteEngine On + + Include /etc/apache2/linaro/block-refs.conf + RewriteCond %{HTTP_HOST} ^zte.git.linaro.org [nocase] RewriteRule ^(.*) https://zte-git.linaro.org$1 [redirect=301,noescape,last] RewriteRule ^(.*) https://{{ git_host }}$1 [redirect=301,noescape,last] - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" + Include /etc/apache2/linaro/headers-https.conf + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} SSLCACertificateFile {{ssl_ca}} @@ -51,16 +57,7 @@ LDAPOpCacheTTL 36000 ServerAlias acadine-git.linaro.org ServerAdmin webmaster@linaro.org - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} SSLCACertificateFile {{ssl_ca}} @@ -79,7 +76,7 @@ LDAPOpCacheTTL 36000 ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" - Header always set Strict-Transport-Security "max-age=63072000" + Include /etc/apache2/linaro/headers-https.conf Header append Cache-Control "no-transform" <FilesMatch "\.(html|htm)$"> @@ -143,4 +140,5 @@ LDAPOpCacheTTL 36000 Options ExecCGI FollowSymlinks Require all granted </Directory> + </VirtualHost> diff --git a/files/apache/dev-private-review.linaro.org.conf b/files/apache/dev-private-review.linaro.org.conf index fd01e8f2..7011eb1f 100644 --- a/files/apache/dev-private-review.linaro.org.conf +++ b/files/apache/dev-private-review.linaro.org.conf @@ -13,15 +13,17 @@ LDAPOpCacheTTL 36000 {% if ssl_cert is defined -%} RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{gerrit_host}}/$1 - Alias "/.well-known/acme-challenge" "/srv/certbot/.well-known/acme-challenge" - <Directory /srv/certbot/.well-known/acme-challenge> - Require all granted - </Directory> + Include /etc/apache2/linaro/letsencrypt.conf {% else %} CustomLog ${APACHE_LOG_DIR}/{{ gerrit_host }}-access.log combined ErrorLog ${APACHE_LOG_DIR}/{{ gerrit_host }}-error.log LogLevel warn + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + DocumentRoot /srv/gerrit DefineExternalGroup linaro-groups pipe /usr/local/bin/grpcheck.cgi @@ -50,6 +52,9 @@ LDAPOpCacheTTL 36000 AllowEncodedSlashes On ProxyPass / http://127.0.0.1:8080/ nocanon {% endif %} + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf </VirtualHost> {% if ssl_cert is defined %} @@ -58,16 +63,7 @@ LDAPOpCacheTTL 36000 ServerAlias zte-gerrit.linaro.org ServerAdmin webmaster@linaro.org - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} {% if ssl_ca is defined %} @@ -78,6 +74,11 @@ LDAPOpCacheTTL 36000 ErrorLog ${APACHE_LOG_DIR}/{{ gerrit_host }}-error.log LogLevel warn + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + DocumentRoot /srv/gerrit DefineExternalGroup linaro-groups pipe /usr/local/bin/grpcheck.cgi @@ -97,6 +98,13 @@ LDAPOpCacheTTL 36000 </RequireAll> </Location> + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + RewriteCond %{HTTP_COOKIE} !\bGerritAccount\b + RewriteCond %{REQUEST_URI} /c/ + RewriteCond %{REQUEST_URI} !/login + RewriteRule "/c/(.*)$" "/login//c/$1" [R] + ProxyRequests Off ProxyVia Off ProxyPreserveHost On diff --git a/files/apache/docs.ci.trustedfirmware.org.conf b/files/apache/docs.ci.trustedfirmware.org.conf new file mode 100644 index 00000000..ba1d983b --- /dev/null +++ b/files/apache/docs.ci.trustedfirmware.org.conf @@ -0,0 +1,51 @@ +<VirtualHost *:80> + ServerName {{config}} + ServerAdmin webmaster@linaro.org + DocumentRoot /srv/jenkins/docs/{{doc_path}} + +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} + +{% if ssl_cert is defined %} + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{config}}/$1 + Include /etc/apache2/linaro/letsencrypt.conf +{% endif %} + ErrorLog ${APACHE_LOG_DIR}/{{config}}-error.log + CustomLog ${APACHE_LOG_DIR}/{{config}}-access.log combined +</VirtualHost> + +<IfModule mod_ssl.c> +<VirtualHost *:443> + ServerAdmin webmaster@linaro.org + DocumentRoot /srv/jenkins/docs/{{doc_path}} + + <Directory "/srv/jenkins/docs/{{doc_path}}"> + Order allow,deny + Allow from all + Require all granted + </Directory> + + ErrorLog ${APACHE_LOG_DIR}/{{config}}-error.log + CustomLog ${APACHE_LOG_DIR}/{{config}}-access.log combined + + ServerName {{config}} +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + RequestHeader set X-Forwarded-Proto 'https' env=HTTPS + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} +</VirtualHost> +</IfModule> diff --git a/files/apache/gerrit.devboardsforandroid.linaro.org.conf b/files/apache/gerrit.devboardsforandroid.linaro.org.conf new file mode 100644 index 00000000..c33de03a --- /dev/null +++ b/files/apache/gerrit.devboardsforandroid.linaro.org.conf @@ -0,0 +1,106 @@ +<VirtualHost *:80> + ServerName gerrit.devboardsforandroid.linaro.org + {% if ssl_cert is defined %} + + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{hostname}}/$1" + + {% else %} + + DocumentRoot /srv/gerrit + + CustomLog /var/log/apache2/gerrit.devboardsforandroid.linaro.org-access.log combined + ErrorLog /var/log/apache2/gerrit.devboardsforandroid.linaro.org-error.log + + ExpiresActive On + ExpiresDefault "access plus 0 seconds" + + ExpiresByType text/css "access plus 1 week" + ExpiresByType text/javascript "access plus 1 week" + ExpiresByType image/png "access plus 1 month" + ExpiresByType image/jpg "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/x-icon "access plus 1 month" + + Header append Cache-Control "no-transform" + + <FilesMatch "\.(html|htm)$"> + Header add Cache-Control "must-revalidate" + </FilesMatch> + + <FilesMatch "\.(js|css)$"> + Header add Cache-Control "max-age=604800" + <ifModule mod_deflate.c> + SetOutputFilter DEFLATE + </ifModule> + </FilesMatch> + + RequestHeader set X-Forwarded-Scheme http + + ProxyRequests Off + ProxyVia Off + ProxyPreserveHost On + <Proxy *> + Order deny,allow + Allow from all + </Proxy> + + AllowEncodedSlashes On + ProxyPass / http://127.0.0.1:8080/ nocanon + ProxyPass /g/ http://127.0.0.1:8080/r/plugins/gitiles/ retry=0 nocanon Keepalive=On + {% endif %} + + Include /etc/apache2/linaro/letsencrypt.conf +</VirtualHost> + +{% if ssl_cert is defined %} +<VirtualHost *:443> + ServerName gerrit.devboardsforandroid.linaro.org + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + {% if ssl_ca is defined -%} + SSLCACertificateFile {{ssl_ca}} + {%- endif %} + + DocumentRoot /srv/gerrit + + CustomLog /var/log/apache2/gerrit.devboardsforandroid.linaro.org-access.log combined + ErrorLog /var/log/apache2/gerrit.devboardsforandroid.linaro.org-error.log + + ExpiresActive On + ExpiresDefault "access plus 0 seconds" + + ExpiresByType text/css "access plus 1 week" + ExpiresByType text/javascript "access plus 1 week" + ExpiresByType image/png "access plus 1 month" + ExpiresByType image/jpg "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/x-icon "access plus 1 month" + + Header append Cache-Control "no-transform" + + <FilesMatch "\.(html|htm)$"> + Header add Cache-Control "must-revalidate" + </FilesMatch> + + <FilesMatch "\.(js|css)$"> + Header add Cache-Control "max-age=604800" + <ifModule mod_deflate.c> + SetOutputFilter DEFLATE + </ifModule> + </FilesMatch> + + RequestHeader set X-Forwarded-Scheme http + + ProxyRequests Off + ProxyVia Off + ProxyPreserveHost On + <Proxy *> + Order deny,allow + Allow from all + </Proxy> + AllowEncodedSlashes On + ProxyPass / http://127.0.0.1:8080/ nocanon +</VirtualHost> +{% endif %} diff --git a/files/apache/gerrit.forge.aws.linaro.com.conf b/files/apache/gerrit.forge.aws.linaro.com.conf new file mode 100644 index 00000000..a4d4c112 --- /dev/null +++ b/files/apache/gerrit.forge.aws.linaro.com.conf @@ -0,0 +1,75 @@ +<VirtualHost *:80> + ServerName gerrit.forge.aws.linaro.com + ServerAlias {{inventory_hostname}} + + DocumentRoot /srv/gerrit + + CustomLog /var/log/apache2/gerrit.forge.aws.linaro.com-access.log combined + ErrorLog /var/log/apache2/gerrit.forge.aws.linaro.com-error.log + + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + + AllowEncodedSlashes On + RewriteEngine On + RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/ + RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|amazonbot|bingbot|Baidu|Baiduspider|360Spider|360|^MauiBot|^SemrushBot|^MegaIndex|PetalBot) [nocase] + RewriteRule ^(.*)$ - [forbidden,last] + + {% if ssl_cert is defined %} + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{www_host}}/$1" + {% else %} + ProxyRequests Off + ProxyVia Off + ProxyPreserveHost On + <Proxy *> + Order deny,allow + Allow from all + </Proxy> + + ProxyPass / http://127.0.0.1:8080/ nocanon + {% endif %} + Include /etc/apache2/linaro/letsencrypt.conf +</VirtualHost> + +{% if ssl_cert is defined %} +<VirtualHost *:443> + ServerName gerrit.forge.aws.linaro.com + ServerAlias {{inventory_hostname}} + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + {% if ssl_ca is defined %} + SSLCACertificateFile {{ssl_ca}} + {% endif %} + + DocumentRoot /srv/gerrit + + CustomLog /var/log/apache2/gerrit.forge.aws.linaro.com-access.log combined + ErrorLog /var/log/apache2/gerrit.forge.aws.linaro.com-error.log + + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + AllowEncodedSlashes On + RewriteEngine On + RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|amazonbot|bingbot|Baidu|Baiduspider|360Spider|360|SemrushBot|PetalBot) [nocase] + RewriteRule ^(.*)$ - [forbidden,last] + + ProxyRequests Off + ProxyVia Off + ProxyPreserveHost On + <Proxy *> + Order deny,allow + Allow from all + </Proxy> + + ProxyPass / http://127.0.0.1:8080/ nocanon +</VirtualHost> +{% endif %} diff --git a/files/apache/git-mi.linaro.org.conf b/files/apache/git-mi.linaro.org.conf deleted file mode 120000 index f6fbf658..00000000 --- a/files/apache/git-mi.linaro.org.conf +++ /dev/null @@ -1 +0,0 @@ -git.linaro.org.conf
\ No newline at end of file diff --git a/files/apache/git.linaro.org.conf b/files/apache/git.linaro.org.conf index ee0bf9fc..b3fc8429 100644 --- a/files/apache/git.linaro.org.conf +++ b/files/apache/git.linaro.org.conf @@ -6,6 +6,9 @@ ServerTokens Prod ServerName {{ git_host }} ServerAlias {{ inventory_hostname }} ServerAlias git-geo.linaro.org + {% if inventory_hostname == "git-us.linaro.org" -%} + ServerAlias git-us.ctt.linaro.org + {% endif -%} ServerAdmin webmaster@linaro.org CustomLog ${APACHE_LOG_DIR}/{{ git_host }}-access.log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D microseconds" env=!dontlog @@ -23,6 +26,7 @@ ServerTokens Prod ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" + Include /etc/apache2/linaro/headers-http.conf Header append Cache-Control "no-transform" <FilesMatch "\.(html|htm)$"> @@ -60,8 +64,7 @@ ServerTokens Prod AllowEncodedSlashes On - RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|bingbot|Baidu|Baiduspider|360Spider|360|^MauiBot|^SemrushBot|^MegaIndex) [nocase] - RewriteRule ^(.*)$ - [forbidden,last] + Include /etc/apache2/linaro/block-refs.conf RewriteCond %{REQUEST_URI} ^/jmx-console(.*)$ RewriteRule ^/(.*)$ - [forbidden,last] @@ -101,10 +104,7 @@ ServerTokens Prod ScriptAliasMatch "(?x)^/git/(.*/(HEAD | info/refs | objects/info/[^/]+ | git-(upload|receive)-pack))$" {{ apache_root }}/cgit/git-http-backend.cgi - Alias "/.well-known/acme-challenge" "/srv/certbot/.well-known/acme-challenge" - <Directory /srv/certbot/.well-known/acme-challenge> - Require all granted - </Directory> + Include /etc/apache2/linaro/letsencrypt.conf <Directory "{{ repo_root }}"> AllowOverride None @@ -134,19 +134,21 @@ ServerTokens Prod ServerAlias git-geo.linaro.org ServerAdmin webmaster@linaro.org - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" + Include /etc/apache2/linaro/settings-ssl.conf + # special case for the git-us cert: dns challenge causes + # the http challenge to fail if it comes later. Have to roll + # everything into the http challenge host. This is a one-off + # situation, so let's just hardcode it. + {% if inventory_hostname != "git-us.linaro.org" -%} SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} SSLCACertificateFile {{ssl_ca}} + {% else -%} + SSLCertificateFile /etc/dehydrated/certs/git-us.ctt.linaro.org/fullchain.pem + SSLCertificateKeyFile /etc/dehydrated/certs/git-us.ctt.linaro.org/privkey.pem + SSLCACertificateFile /etc/dehydrated/certs/git-us.ctt.linaro.org/fullchain.pem + {% endif %} CustomLog ${APACHE_LOG_DIR}/{{ git_host }}-access.log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D microseconds" env=!dontlog ErrorLog ${APACHE_LOG_DIR}/{{ git_host }}-error.log @@ -163,7 +165,7 @@ ServerTokens Prod ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" - Header always set Strict-Transport-Security "max-age=63072000" + Include /etc/apache2/linaro/headers-https.conf Header append Cache-Control "no-transform" <FilesMatch "\.(html|htm)$"> @@ -200,8 +202,13 @@ ServerTokens Prod #RewriteLog ${APACHE_LOG_DIR}/{{ git_host }}-rewrite.log #RewriteLogLevel 0 - RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|bingbot|Baidu|Baiduspider|360Spider|360) [nocase] - RewriteRule ^(.*)$ - [forbidden,last] + Include /etc/apache2/linaro/block-refs.conf + + RewriteRule ^/landing-teams/working/qualcomm/(.*).git(.*) https://git.codelinaro.org/linaro/qcomlt/$1 [R,L] + + RewriteRule ^/landing-teams/working/qualcomm/(.*) https://git.codelinaro.org/linaro/qcomlt/$1 [R,L] + + RewriteRule ^/landing-teams/working/qualcomm https://git.codelinaro.org/linaro/qcomlt/ [R,L] RewriteCond %{HTTP_USER_AGENT} !git [nocase] RewriteRule ^/gitweb/(.*)$ /$1 [nocase,noescape,redirect=301] diff --git a/files/apache/git.mlplatform.org.conf b/files/apache/git.mlplatform.org.conf new file mode 100644 index 00000000..907a5362 --- /dev/null +++ b/files/apache/git.mlplatform.org.conf @@ -0,0 +1,258 @@ +# Managed by ansible, do not edit. +ServerSignature Off +ServerTokens Prod + +<VirtualHost *:80> + ServerName {{ git_host }} + ServerAlias {{ inventory_hostname }} + ServerAdmin webmaster@linaro.org + + CustomLog ${APACHE_LOG_DIR}/{{ git_host }}-access.log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D microseconds" env=!dontlog + ErrorLog ${APACHE_LOG_DIR}/{{ git_host }}-error.log + + DocumentRoot {{ apache_root }}/cgit + + ExpiresActive On + ExpiresDefault "access plus 0 seconds" + + ExpiresByType text/css "access plus 1 month" + ExpiresByType text/javascript "access plus 1 month" + ExpiresByType image/png "access plus 1 month" + ExpiresByType image/jpg "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/x-icon "access plus 1 month" + + Include /etc/apache2/linaro/headers-http.conf + Header append Cache-Control "no-transform" + + <FilesMatch "\.(html|htm)$"> + Header add Cache-Control "must-revalidate" + SetOutputFilter DEFLATE + + BrowserMatch ^Mozilla/4 gzip-only-text/html + BrowserMatch ^Mozilla/4\.0[678] no-gzip + BrowserMatch \bMSIE !no-gzip !gzip-only-text/html + + Header append Vary User-Agent env=!dont-vary + </FilesMatch> + + <FilesMatch "\.(js|css)$"> + Header add Cache-Control "max-age=5356800" + SetOutputFilter DEFLATE + + BrowserMatch ^Mozilla/4 gzip-only-text/html + BrowserMatch ^Mozilla/4\.0[678] no-gzip + BrowserMatch \bMSIE !no-gzip !gzip-only-text/html + + Header append Vary User-Agent env=!dont-vary + </FilesMatch> + + KeepAlive On + KeepAliveTimeout 10 + MaxKeepAliveRequests 150 + + RewriteEngine On + RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/ + # Following directives removed from Apache 2.4 + # http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging + #RewriteLog ${APACHE_LOG_DIR}/{{ git_host }}-rewrite.log + #RewriteLogLevel 0 + + AllowEncodedSlashes On + + Include /etc/apache2/linaro/block-refs.conf + + RewriteCond %{REQUEST_URI} ^/jmx-console(.*)$ + RewriteRule ^/(.*)$ - [forbidden,last] + RewriteCond %{REQUEST_URI} ^/GponForm(.*)$ + RewriteRule ^/(.*)$ - [forbidden,last] + RewriteCond %{REQUEST_URI} ^/user(.*)$ + RewriteRule ^/(.*)$ - [forbidden,last] + + RewriteCond %{HTTP_USER_AGENT} !git [nocase] + RewriteRule ^/gitweb/(.*)$ /$1 [nocase,noescape,redirect=301] + + RewriteCond %{HTTP_USER_AGENT} git [nocase] + RewriteCond %{REQUEST_URI} !^/git/(.*)$ + RewriteCond %{REQUEST_URI} !^/git-ro/(.*)$ + RewriteCond %{REQUEST_URI} !^/git_pulls/(.*)$ + RewriteCond %{REQUEST_URI} !^/logs/(.*)$ + RewriteRule ^/(.*)$ /git/$1 [nosubreq,nocase,passthrough] + # convert old GitWeb links to work in cgit + # we have things in ci and user bookmarks for gitweb URLs to raw file downloads like: + # curl -L http://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py + RewriteRule ^/(.*)/blob_plain/HEAD:/(.*)$ $1/plain/$2 [R=301] + # Summary + RewriteCond %{REQUEST_URI} /(.+)/summary [OR] + RewriteCond %{query_string} p=(.+);a=summary + RewriteRule ^/.*$ /%1/? [R,L,NE] + + AliasMatch ^/git-ro/(.*) {{ repo_root }}/$1 + AliasMatch ^/git-http/(.*) {{ repo_root }}/$1 + + AliasMatch ^/git-ro/(.*)/clone.bundle$ {{ repo_root }}/$1/clone.bundle + AliasMatch ^/git-http/(.*)/clone.bundle$ {{ repo_root }}/$1/clone.bundle + AliasMatch ^/git/(.*)/clone.bundle$ {{ repo_root }}/$1/clone.bundle + + SetEnvIf User-Agent "Amazon Route 53 Health Check" dontlog + + AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ {{ repo_root }}/$1 + AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ {{ repo_root }}/$1 + Alias /manifest.js.gz {{ repo_root }}/manifest.js.gz + + ScriptAliasMatch "(?x)^/git/(.*/(HEAD | info/refs | objects/info/[^/]+ | git-(upload|receive)-pack))$" {{ apache_root }}/cgit/git-http-backend.cgi + + Include /etc/apache2/linaro/letsencrypt.conf + + <Directory "{{ repo_root }}"> + AllowOverride None + Require all granted + Options +FollowSymLinks -ExecCGI +Indexes + ExpiresActive Off + FileEtag None + Header set Cache-Control "no-cache, no-store, no-transform" + <FilesMatch "\.(bundle)$"> + FileEtag MTime + Header set Cache-Control "no-transform, must-revalidate, max-age=518400" + </FilesMatch> + </Directory> + + Alias /cgit-css "/var/www/cgit/cgit-css/" + ScriptAlias / "{{ apache_root}}/cgit/cgit/" + <Directory "{{ apache_root }}/cgit/"> + AllowOverride None + Options ExecCGI FollowSymlinks + Require all granted + </Directory> +</VirtualHost> + +<VirtualHost *:443> + ServerName {{ git_host }} + ServerAlias {{ inventory_hostname }} + ServerAdmin webmaster@linaro.org + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + + CustomLog ${APACHE_LOG_DIR}/{{ git_host }}-access.log "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D microseconds" env=!dontlog + ErrorLog ${APACHE_LOG_DIR}/{{ git_host }}-error.log + + DocumentRoot {{ apache_root }}/cgit + + ExpiresActive On + ExpiresDefault "access plus 0 seconds" + + ExpiresByType text/css "access plus 1 month" + ExpiresByType text/javascript "access plus 1 month" + ExpiresByType image/png "access plus 1 month" + ExpiresByType image/jpg "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/x-icon "access plus 1 month" + + Include /etc/apache2/linaro/headers-https.conf + Header append Cache-Control "no-transform" + + <FilesMatch "\.(html|htm)$"> + Header add Cache-Control "must-revalidate" + SetOutputFilter DEFLATE + + BrowserMatch ^Mozilla/4 gzip-only-text/html + BrowserMatch ^Mozilla/4\.0[678] no-gzip + BrowserMatch \bMSIE !no-gzip !gzip-only-text/html + + Header append Vary User-Agent env=!dont-vary + </FilesMatch> + + <FilesMatch "\.(js|css)$"> + Header add Cache-Control "max-age=5356800" + SetOutputFilter DEFLATE + + BrowserMatch ^Mozilla/4 gzip-only-text/html + BrowserMatch ^Mozilla/4\.0[678] no-gzip + BrowserMatch \bMSIE !no-gzip !gzip-only-text/html + + Header append Vary User-Agent env=!dont-vary + </FilesMatch> + + KeepAlive On + KeepAliveTimeout 9 + MaxKeepAliveRequests 150 + + AllowEncodedSlashes On + + RewriteEngine On + # Following directives removed from Apache 2.4 + # http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging + #RewriteLog ${APACHE_LOG_DIR}/{{ git_host }}-rewrite.log + #RewriteLogLevel 0 + + Include /etc/apache2/linaro/block-refs.conf + + RewriteCond %{HTTP_USER_AGENT} !git [nocase] + RewriteRule ^/gitweb/(.*)$ /$1 [nocase,noescape,redirect=301] + + RewriteCond %{HTTP_USER_AGENT} git [nocase] + RewriteCond %{REQUEST_URI} !^/git/(.*)$ + RewriteCond %{REQUEST_URI} !^/git-ro/(.*)$ + RewriteRule ^/(.*)$ /git/$1 [nocase,noescape,passthrough] + # convert old GitWeb links to work in cgit + # we have things in ci and user bookmarks for gitweb URLs to raw file downloads like: + # curl -L http://git.linaro.org/ci/publishing-api.git/blob_plain/HEAD:/linaro-cp.py + RewriteRule ^/(.*)/blob_plain/HEAD:/(.*)$ $1/plain/$2 [R=301] + # Summary + RewriteCond %{REQUEST_URI} /(.+)/summary [OR] + RewriteCond %{query_string} p=(.+);a=summary + RewriteRule ^/.*$ /%1/? [R,L,NE] + + AliasMatch ^/git-ro/(.*) {{ repo_root }}/$1 + AliasMatch ^/git-http/(.*) {{ repo_root }}/$1 + + AliasMatch ^/git-ro/(.*)/clone.bundle$ {{ repo_root }}/$1/clone.bundle + AliasMatch ^/git-http/(.*)/clone.bundle$ {{ repo_root }}/$1/clone.bundle + AliasMatch ^/git/(.*)/clone.bundle$ {{ repo_root }}/$1/clone.bundle + Alias /manifest.js.gz {{ repo_root }}/manifest.js.gz + + SetEnvIf User-Agent "Amazon Route 53 Health Check" dontlog + + AliasMatch ^/git/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ {{ repo_root }}/$1 + AliasMatch ^/git/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ {{ repo_root }}/$1 + + ScriptAliasMatch "(?x)^/git/(.*/(HEAD | info/refs | objects/info/[^/]+ | git-(upload|receive)-pack))$" {{ apache_root }}/cgit/git-http-backend.cgi + + Alias /logs "/var/www/logs" + <Directory "/var/www/logs/"> + AllowOverride None + Require all granted + Options -FollowSymLinks -ExecCGI +Indexes + </Directory> + + Alias /git_pulls "/var/www/git_pulls" + <Directory "/var/www/git_pulls/"> + AllowOverride None + Require all granted + Options -FollowSymLinks -ExecCGI +Indexes + </Directory> + + <Directory "{{ repo_root }}/"> + AllowOverride None + Require all granted + Options +FollowSymLinks -ExecCGI +Indexes + ExpiresActive Off + FileEtag None + Header set Cache-Control "no-cache, no-store, no-transform" + <FilesMatch "\.(bundle)$"> + FileEtag MTime + Header set Cache-Control "no-transform, must-revalidate, max-age=518400" + </FilesMatch> + </Directory> + + Alias /cgit-css "/var/www/cgit/cgit-css/" + ScriptAlias / "{{ apache_root}}/cgit/cgit/" + <Directory "{{ apache_root }}/cgit/"> + AllowOverride None + Options ExecCGI FollowSymlinks + Require all granted + </Directory> +</VirtualHost> diff --git a/files/apache/git.trustedfirmware.org.conf b/files/apache/git.trustedfirmware.org.conf index 0ac7e2af..b0ebb8d4 100644 --- a/files/apache/git.trustedfirmware.org.conf +++ b/files/apache/git.trustedfirmware.org.conf @@ -22,6 +22,7 @@ ServerTokens Prod ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" + Include /etc/apache2/linaro/headers-http.conf Header append Cache-Control "no-transform" <FilesMatch "\.(html|htm)$"> @@ -51,18 +52,16 @@ ServerTokens Prod MaxKeepAliveRequests 150 RewriteEngine On - # Following directives removed from Apache 2.4 - # http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging - #RewriteLog ${APACHE_LOG_DIR}/git.trustedfirmware.org-rewrite.log - #RewriteLogLevel 0 AllowEncodedSlashes On - RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|bingbot|Baidu|Baiduspider|360Spider|360) [nocase] + RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|bingbot|Baidu|Baiduspider|360Spider|360|PetalBot|SemrushBot) [nocase] RewriteRule ^(.*)$ - [forbidden,last] RewriteRule "^/tf-a\/(.*)" "/TF-A/$1" [redirect=301] + RewriteRule "^/trusted-firmware-m(.*)" "/TF-M/trusted-firmware-m$1" [redirect=301] + RewriteCond %{HTTP_USER_AGENT} !git [nocase] RewriteRule ^/gitweb/(.*)$ /$1 [nocase,noescape,redirect=301] @@ -95,10 +94,7 @@ ServerTokens Prod ScriptAliasMatch "(?x)^/git/(.*/(HEAD | info/refs | objects/info/[^/]+ | git-(upload|receive)-pack))$" /var/www/cgit/git-http-backend.cgi - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> + Include /etc/apache2/linaro/letsencrypt.conf <Directory "/srv/repositories"> AllowOverride None @@ -126,16 +122,7 @@ ServerTokens Prod ServerName git.trustedfirmware.org ServerAlias git.trustedfirmware.org - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} SSLCACertificateFile {{ssl_ca}} @@ -155,7 +142,7 @@ ServerTokens Prod ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" - Header always set Strict-Transport-Security "max-age=63072000" + Include /etc/apache2/linaro/headers-https.conf Header append Cache-Control "no-transform" <FilesMatch "\.(html|htm)$"> @@ -187,16 +174,14 @@ ServerTokens Prod AllowEncodedSlashes On RewriteEngine On - # Following directives removed from Apache 2.4 - # http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging - #RewriteLog ${APACHE_LOG_DIR}/git.trustedfirmware.org-rewrite.log - #RewriteLogLevel 0 - RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|bingbot|Baidu|Baiduspider|360Spider|360) [nocase] + RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|bingbot|Baidu|Baiduspider|360Spider|360|PetalBot|SemrushBot) [nocase] RewriteRule ^(.*)$ - [forbidden,last] RewriteRule "^/tf-a\/(.*)" "/TF-A/$1" [redirect=301] + RewriteRule "^/trusted-firmware-m(.*)" "/TF-M/trusted-firmware-m$1" [redirect=301] + RewriteCond %{HTTP_USER_AGENT} !git [nocase] RewriteRule ^/gitweb/(.*)$ /$1 [nocase,noescape,redirect=301] diff --git a/files/apache/grafana.linaro.org.conf b/files/apache/grafana.linaro.org.conf new file mode 100644 index 00000000..9653a310 --- /dev/null +++ b/files/apache/grafana.linaro.org.conf @@ -0,0 +1,53 @@ +<VirtualHost *:80> + ServerName {{inventory_hostname}} + ServerAdmin webmaster@linaro.org + DocumentRoot /srv/{{inventory_hostname}} + +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} + +{% if ssl_cert is defined %} + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{inventory_hostname}}/$1 + Include /etc/apache2/linaro/letsencrypt.conf +{% endif %} + ErrorLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-error.log + CustomLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-access.log combined + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf +</VirtualHost> + +<IfModule mod_ssl.c> +<VirtualHost *:443> + ServerAdmin webmaster@linaro.org + DocumentRoot /srv/{{inventory_hostname}} + + ErrorLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-error.log + CustomLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-access.log combined + + ServerName {{inventory_hostname}} +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + RequestHeader set X-Forwarded-Proto 'https' env=HTTPS + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} + ProxyPass "/" "http://{{grafana_container_name}}:{{grafana_port}}/" disablereuse=on + ProxyPassReverse "/" "https://{{grafana_container_name}}/" +</VirtualHost> +</IfModule> diff --git a/files/apache/lhg-review.linaro.org.conf b/files/apache/lhg-review.linaro.org.conf deleted file mode 100644 index 422270fa..00000000 --- a/files/apache/lhg-review.linaro.org.conf +++ /dev/null @@ -1,109 +0,0 @@ -# Managed by ansible, do not edit. -ServerSignature Off -ServerTokens Prod - -LDAPCacheEntries 2048 -LDAPCacheTTL 36000 -LDAPOpCacheEntries 1024 -LDAPOpCacheTTL 36000 - -<VirtualHost *:80> - ServerName {{ gerrit_host }} - ServerAdmin webmaster@linaro.org - - {% if ssl_cert is defined -%} - RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{gerrit_host}}/$1" - {%- else %} - CustomLog ${APACHE_LOG_DIR}/{{ gerrit_host }}-access.log combined - ErrorLog ${APACHE_LOG_DIR}/{{ gerrit_host }}-error.log - LogLevel warn - - DocumentRoot /srv/gerrit - - DefineExternalGroup linaro-groups pipe /usr/local/bin/grpcheck.cgi - <Location "/"> - - AuthType Basic - AuthName "{{ host_site_name }}" - AuthBasicProvider ldap - AuthLDAPUrl "ldaps://login.linaro.org/ou=accounts,dc=linaro,dc=org?mail,uid?sub" - AuthLDAPBindDN "{{ apache_ldap_bind }}" - AuthLDAPBindPassword {{ apache_ldap_bind_pwd }} - AuthLDAPRemoteUserAttribute uid - GroupExternal linaro-groups - <RequireAll> - Require valid-user - Require external-group {{ security_groups }} - </RequireAll> - </Location> - - ProxyRequests Off - ProxyVia Off - ProxyPreserveHost On - <Proxy *> - Require all granted - </Proxy> - AllowEncodedSlashes On - ProxyPass / http://127.0.0.1:8081/ nocanon - {% endif %} - - Alias "/.well-known/acme-challenge" "/srv/certbot/.well-known/acme-challenge" - <Directory /srv/certbot/.well-known/acme-challenge> - Require all granted - </Directory> -</VirtualHost> - -{% if ssl_cert is defined %} -<VirtualHost *:443> - ServerName {{ gerrit_host }} - ServerAdmin webmaster@linaro.org - - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - - SSLCertificateFile {{ssl_cert}} - SSLCertificateKeyFile {{ssl_key}} - {% if ssl_ca is defined -%} - SSLCACertificateFile {{ssl_ca}} - {%- endif %} - - CustomLog ${APACHE_LOG_DIR}/{{ gerrit_host }}-access.log combined - ErrorLog ${APACHE_LOG_DIR}/{{ gerrit_host }}-error.log - LogLevel warn - - DocumentRoot /srv/gerrit - - DefineExternalGroup linaro-groups pipe /usr/local/bin/grpcheck.cgi - <Location "/"> - - AuthType Basic - AuthName "{{ host_site_name }}" - AuthBasicProvider ldap - AuthLDAPUrl "ldaps://login.linaro.org/ou=accounts,dc=linaro,dc=org?mail,uid?sub" - AuthLDAPBindDN "{{ apache_ldap_bind }}" - AuthLDAPBindPassword {{ apache_ldap_bind_pwd }} - AuthLDAPRemoteUserAttribute uid - GroupExternal linaro-groups - <RequireAll> - Require valid-user - Require external-group {{ security_groups }} - </RequireAll> - </Location> - - ProxyRequests Off - ProxyVia Off - ProxyPreserveHost On - <Proxy *> - Require all granted - </Proxy> - AllowEncodedSlashes On - ProxyPass / http://127.0.0.1:8081/ nocanon -</VirtualHost> -{% endif %} diff --git a/files/apache/mi.linaro.org.conf b/files/apache/mi.linaro.org.conf deleted file mode 100644 index e6e57706..00000000 --- a/files/apache/mi.linaro.org.conf +++ /dev/null @@ -1,39 +0,0 @@ -<VirtualHost *:80> - ServerName {{inventory_hostname}} - ServerAlias {{inventory_hostname}} - - RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{hostname}}/$1" - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> - -</VirtualHost> - -<VirtualHost *:443> - ServerName {{inventory_hostname}} - ServerAlias {{inventory_hostname}} - - SSLEngine On - - SSLCertificateFile /etc/letsencrypt/live/{{gerrit_host}}/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/{{gerrit_host}}/privkey.pem - SSLCACertificateFile /etc/letsencrypt/live/{{gerrit_host}}/fullchain.pem - - DocumentRoot /srv/gerrit - - CustomLog /var/log/apache2/{{inventory_hostname}}-access.log combined - ErrorLog /var/log/apache2/{{inventory_hostname}}-error.log - - ProxyRequests Off - ProxyVia Off - ProxyPreserveHost On - <Proxy *> - Order deny,allow - Allow from all - </Proxy> - - AllowEncodedSlashes On - ProxyPass / http://127.0.0.1:8080/ nocanon -</VirtualHost> diff --git a/files/apache/review.linaro.org.conf b/files/apache/review.linaro.org.conf index 864b34b1..cd726387 100644 --- a/files/apache/review.linaro.org.conf +++ b/files/apache/review.linaro.org.conf @@ -2,15 +2,27 @@ ServerName review.linaro.org ServerAlias {{inventory_hostname}} - {% if ssl_cert is defined %} - RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{www_host}}/$1" - {% else %} - - DocumentRoot /srv/gerrit + DocumentRoot /srv/gerrit CustomLog /var/log/apache2/review.linaro.org-access.log combined ErrorLog /var/log/apache2/review.linaro.org-error.log + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + + AllowEncodedSlashes On + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/ + RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|amazonbot|bingbot|Baidu|Baiduspider|360Spider|360|^MauiBot|^SemrushBot|^MegaIndex|PetalBot) [nocase] + RewriteRule ^(.*)$ - [forbidden,last] + + {% if ssl_cert is defined %} + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{www_host}}/$1" + {% else %} ProxyRequests Off ProxyVia Off ProxyPreserveHost On @@ -19,36 +31,39 @@ Allow from all </Proxy> - AllowEncodedSlashes On ProxyPass / http://127.0.0.1:8080/ nocanon - {% endif %} - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> - + Include /etc/apache2/linaro/letsencrypt.conf </VirtualHost> {% if ssl_cert is defined %} - <VirtualHost *:443> ServerName review.linaro.org ServerAlias {{inventory_hostname}} - SSLEngine On + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} {% if ssl_ca is defined %} SSLCACertificateFile {{ssl_ca}} {% endif %} - DocumentRoot /srv/gerrit + DocumentRoot /srv/gerrit CustomLog /var/log/apache2/review.linaro.org-access.log combined ErrorLog /var/log/apache2/review.linaro.org-error.log + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + AllowEncodedSlashes On + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|amazonbot|bingbot|Baidu|Baiduspider|360Spider|360|SemrushBot|PetalBot) [nocase] + RewriteRule ^(.*)$ - [forbidden,last] + ProxyRequests Off ProxyVia Off ProxyPreserveHost On @@ -57,8 +72,6 @@ Allow from all </Proxy> - AllowEncodedSlashes On ProxyPass / http://127.0.0.1:8080/ nocanon </VirtualHost> - {% endif %} diff --git a/files/apache/review.mlplatform.org.conf b/files/apache/review.mlplatform.org.conf new file mode 100644 index 00000000..c1ec499f --- /dev/null +++ b/files/apache/review.mlplatform.org.conf @@ -0,0 +1,53 @@ +<VirtualHost *:80> + ServerName {{inventory_hostname}} + ServerAlias {{inventory_hostname}} + + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{inventory_hostname}}/$1" + + RewriteEngine On + AllowEncodedSlashes On + Include /etc/apache2/linaro/block-refs.conf + + Include /etc/apache2/linaro/letsencrypt.conf +</VirtualHost> + +<VirtualHost *:443> + ServerName {{inventory_hostname}} + ServerAlias {{inventory_hostname}} + + Include /etc/apache2/linaro/settings-ssl.conf + + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + + DocumentRoot /srv/gerrit + + CustomLog /var/log/apache2/{{inventory_hostname}}-access.log combined + ErrorLog /var/log/apache2/{{inventory_hostname}}-error.log + + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + RewriteEngine On + AllowEncodedSlashes On + Include /etc/apache2/linaro/block-refs.conf + + ProxyRequests Off + ProxyVia Off + ProxyPreserveHost On + <Proxy *> + Order deny,allow + Allow from all + </Proxy> + + AllowEncodedSlashes On + ProxyPass / http://127.0.0.1:8080/ nocanon +</VirtualHost> diff --git a/files/apache/review.trustedfirmware.org.conf b/files/apache/review.trustedfirmware.org.conf index 5f63d700..b4b5f546 100644 --- a/files/apache/review.trustedfirmware.org.conf +++ b/files/apache/review.trustedfirmware.org.conf @@ -2,38 +2,48 @@ ServerName {{inventory_hostname}} ServerAlias {{inventory_hostname}} - RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{hostname}}/$1" - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{hostname}}/$1" + Include /etc/apache2/linaro/letsencrypt.conf + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf </VirtualHost> <VirtualHost *:443> ServerName {{inventory_hostname}} ServerAlias {{inventory_hostname}} - SSLEngine On - SSLCertificateFile {{ssl_cert}} - SSLCertificateKeyFile {{ssl_key}} - SSLCACertificateFile {{ssl_ca}} + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} DocumentRoot /srv/gerrit - CustomLog /var/log/apache2/{{inventory_hostname}}.linaro.org-access.log combined - ErrorLog /var/log/apache2/{{inventory_hostname}}.linaro.org-error.log + CustomLog /var/log/apache2/{{inventory_hostname}}.linaro.org-access.log combined + ErrorLog /var/log/apache2/{{inventory_hostname}}.linaro.org-error.log - ProxyRequests Off - ProxyVia Off - ProxyPreserveHost On - <Proxy *> - Order deny,allow - Allow from all - </Proxy> + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + RewriteEngine on + Include /etc/apache2/linaro/block-refs.conf + RewriteRule "^/c/trusted-firmware-m(.*)" "/c/TF-M/trusted-firmware-m$1" [redirect=301] + + ProxyRequests Off + ProxyVia Off + ProxyPreserveHost On + <Proxy *> + Order deny,allow + Allow from all + </Proxy> AllowEncodedSlashes On - ProxyPass / http://127.0.0.1:8080/ nocanon + ProxyPass / http://127.0.0.1:8080/ nocanon </VirtualHost> - diff --git a/files/apache/snapshots.linaro.org.conf b/files/apache/snapshots.linaro.org.conf new file mode 100644 index 00000000..cf24465b --- /dev/null +++ b/files/apache/snapshots.linaro.org.conf @@ -0,0 +1,111 @@ +<VirtualHost *:80> + Alias /static/ /srv/{{ inventory_hostname }}/{{ repo_name }}/license_protected_downloads/static/ + DocumentRoot /srv/{{ inventory_hostname }}/www + ServerName {{ inventory_hostname }} +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + ServerAdmin webmaster@linaro.org + + CustomLog /var/log/apache2/{{ inventory_hostname }}-access.log combined env=!dontlog + ErrorLog /var/log/apache2/{{ inventory_hostname }}-error.log + + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + # Admin access should be always over SSL + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + RewriteRule ^(/admin.*) https://{{ inventory_hostname }}$1 [redirect=301,noescape,last] + RewriteRule ^(/login.*) https://{{ inventory_hostname }}$1 [redirect=301,noescape,last] + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} + + Include /etc/apache2/linaro/letsencrypt.conf + + <Directory /srv/{{ inventory_hostname }}/{{ repo_name }}/license_protected_downloads/static> + Require all granted + </Directory> + + <Directory /srv/{{ inventory_hostname }}/www> + Require all granted + </Directory> + + SetEnv SITE_NAME "{{ sitename }}" + SetEnv HOST_NAME "{{ inventory_hostname }}" + WSGIScriptAlias / /srv/{{ inventory_hostname }}/{{ repo_name }}/wsgi_production.py + + <Directory /srv/{{ inventory_hostname }}/{{ repo_name }}> + <Files wsgi_production.py> + Require all granted + </Files> + </Directory> + + <Directory /> + IndexOptions NameWidth=* +SuppressDescription + Options +Indexes +FollowSymLinks + IndexIgnore favicon.ico HEADER.html + AllowOverride FileInfo Indexes + Require all granted + </Directory> +</VirtualHost> + +<VirtualHost *:443> + Alias /static/ /srv/{{ inventory_hostname }}/{{ repo_name }}/license_protected_downloads/static/ + DocumentRoot /srv/{{ inventory_hostname }}/www + ServerName {{ inventory_hostname }} +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + ServerAdmin webmaster@linaro.org + CustomLog /var/log/apache2/{{ inventory_hostname }}-access.log combined env=!dontlog + ErrorLog /var/log/apache2/{{ inventory_hostname }}-error.log + + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + + Include /etc/apache2/linaro/headers-https.conf + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ ssl_cert }} + SSLCertificateKeyFile {{ ssl_key }} + SSLCertificateChainFile {{ ssl_ca }} + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} + + <Directory /srv/{{ inventory_hostname }}/{{ repo_name }}/license_protected_downloads/static> + Require all granted + </Directory> + + <Directory /srv/{{ inventory_hostname }}/www> + Require all granted + </Directory> + + SetEnv SITE_NAME "{{ sitename }}" + SetEnv HOST_NAME "{{ inventory_hostname }}" + WSGIScriptAlias / /srv/{{ inventory_hostname }}/{{ repo_name }}/wsgi_production.py + + <Directory /srv/{{ inventory_hostname }}/{{ repo_name }}> + <Files wsgi_production.py> + Require all granted + </Files> + </Directory> + + <Directory /> + IndexOptions NameWidth=* +SuppressDescription + Options +Indexes +FollowSymLinks + IndexIgnore favicon.ico HEADER.html + AllowOverride FileInfo Indexes + Require all granted + </Directory> +</VirtualHost> diff --git a/files/apache/source.devboardsforandroid.linaro.org.conf b/files/apache/source.devboardsforandroid.linaro.org.conf new file mode 100644 index 00000000..53335e15 --- /dev/null +++ b/files/apache/source.devboardsforandroid.linaro.org.conf @@ -0,0 +1,69 @@ +<VirtualHost *:80> + ServerName source.devboardsforandroid.linaro.org + + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://source.devboardsforandroid.linaro.org/$1" + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + + + Include /etc/apache2/linaro/letsencrypt.conf +</VirtualHost> + +<VirtualHost *:443> + ServerName source.devboardsforandroid.linaro.org + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile /etc/dehydrated/certs/source.devboardsforandroid.linaro.org/fullchain.pem + SSLCertificateKeyFile /etc/dehydrated/certs/source.devboardsforandroid.linaro.org/privkey.pem + SSLCACertificateFile /etc/dehydrated/certs/source.devboardsforandroid.linaro.org/fullchain.pem + DocumentRoot /srv/gerrit + + CustomLog /var/log/apache2/source.devboardsforandroid.linaro.org-access.log combined + ErrorLog /var/log/apache2/source.devboardsforandroid.linaro.org-error.log + + ExpiresActive On + ExpiresDefault "access plus 0 seconds" + + ExpiresByType text/css "access plus 1 week" + ExpiresByType text/javascript "access plus 1 week" + ExpiresByType image/png "access plus 1 month" + ExpiresByType image/jpg "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/x-icon "access plus 1 month" + + Header append Cache-Control "no-transform" + + <FilesMatch "\.(html|htm)$"> + Header add Cache-Control "must-revalidate" + </FilesMatch> + + <FilesMatch "\.(js|css)$"> + Header add Cache-Control "max-age=604800" + <ifModule mod_deflate.c> + SetOutputFilter DEFLATE + </ifModule> + </FilesMatch> + + RequestHeader set X-Forwarded-Scheme http + + ProxyRequests Off + ProxyVia Off + ProxyPreserveHost On + <Proxy *> + Order deny,allow + Allow from all + </Proxy> + + AllowEncodedSlashes On + + # Just like AOSP, keep URL navigation simple by using / instead of /plugins/gitiles + ProxyPassMatch .*git-upload-pack.* http://127.0.0.1:8080/ retry=0 nocanon Keepalive=On + ProxyPassMatch .*/info/refs.* http://127.0.0.1:8080/ retry=0 nocanon Keepalive=On + + ProxyPass / http://127.0.0.1:8080/plugins/gitiles/ retry=0 nocanon Keepalive=On + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + RewriteRule ^/plugins/gitiles(.+)$ https://source.devboardsforandroid.linaro.org$1 [L,R=301,NE] +</VirtualHost> diff --git a/files/apache/testdata.lava.morello-project.org.conf b/files/apache/testdata.lava.morello-project.org.conf new file mode 100644 index 00000000..f160fdeb --- /dev/null +++ b/files/apache/testdata.lava.morello-project.org.conf @@ -0,0 +1,18 @@ +<VirtualHost 172.17.0.1:80> + ServerName testdata.lava.morello-project.org + ServerAdmin webmaster@linaro.org + DocumentRoot /srv/testdata + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + + <Directory "/srv/testdata"> + Order allow,deny + Allow from all + Require all granted + </Directory> + + ErrorLog ${APACHE_LOG_DIR}/testdata.lava.morello-project.org-error.log + CustomLog ${APACHE_LOG_DIR}/testdata.lava.morello-project.org-access.log combined +</VirtualHost> + diff --git a/files/apache/vhost-obs.conf b/files/apache/vhost-obs.conf new file mode 100644 index 00000000..41598459 --- /dev/null +++ b/files/apache/vhost-obs.conf @@ -0,0 +1,55 @@ +<VirtualHost *:80> + ServerName obs.linaro.org + ServerAlias obs.linaro.org + + DocumentRoot /srv/obs.linaro.org + + FileETag None + <IfModule mod_headers.c> + Header unset ETag + Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" + Header set Pragma "no-cache" + Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT" + </IfModule> + + RewriteEngine on + Include /etc/apache2/linaro/letsencrypt.conf + Include /etc/apache2/linaro/block-refs.conf + + <Directory "/srv/obs.linaro.org"> + AllowOverride None + Require all granted + DirectoryIndex None + Options +FollowSymLinks -ExecCGI +Indexes + </Directory> +</VirtualHost> + +<VirtualHost *:443> + ServerName obs.linaro.org + ServerAlias obs.linaro.org + + DocumentRoot /srv/obs.linaro.org + + FileETag None + <IfModule mod_headers.c> + Header unset ETag + Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" + Header set Pragma "no-cache" + Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT" + </IfModule> + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + + RewriteEngine On + Include /etc/apache2/linaro/block-refs.conf + + <Directory "/srv/obs.linaro.org"> + AllowOverride None + Require all granted + DirectoryIndex None + Options +FollowSymLinks -ExecCGI +Indexes + </Directory> +</VirtualHost> diff --git a/roles/jenkins-master-deps/templates/backup.sh.j2 b/files/duplicity/ci.linaro.org.backup index ec4722d3..ec4722d3 100755 --- a/roles/jenkins-master-deps/templates/backup.sh.j2 +++ b/files/duplicity/ci.linaro.org.backup diff --git a/files/duplicity/ci.trustedfirmware.org.backup b/files/duplicity/ci.trustedfirmware.org.backup new file mode 100755 index 00000000..cac35c3b --- /dev/null +++ b/files/duplicity/ci.trustedfirmware.org.backup @@ -0,0 +1,79 @@ +#!/bin/bash +# +# Full backups are made on the 1st day of each month or with the 'full' option. +# Incremental backups are made on any other days. +# +# USAGE: backup.sh [full] +# + +# get day of the month +DATE=`date +%d` + +export AWS_ACCESS_KEY_ID={{backup_access_id}} +export AWS_SECRET_ACCESS_KEY={{backup_key}} +S3_OPT="--s3-use-new-style --s3-use-ia --s3-use-multiprocessing" + +# directories to backup (but . for /) +BDIRS="{{jenkins_master_data_volume}}" +BAC="s3://s3.us-east-1.amazonaws.com/trustedfirmware-backups" +TDIR="{{hostname}}" +LOGDIR='/var/log/duplicity' + +# Setting the pass phrase to encrypt the backup files. Will use symmetrical keys in this case. +PASSPHRASE='{{backup_gpg}}' +export PASSPHRASE + +# encryption algorithm for gpg, disable for default (CAST5) +# see available ones via 'gpg --version' +ALGO=AES + +############################## + +if [ $ALGO ]; then + GPGOPT="--gpg-options '--cipher-algo $ALGO'" +fi + +# Check to see if we're at the first of the month. +# If we are on the 1st day of the month, then run +# a full backup. If not, then run an incremental +# backup. + +if [ $DATE = 01 ] || [ "$1" = 'full' ]; then + TYPE='full' +else + TYPE='incremental' +fi + +for DIR in $BDIRS +do + if [ $DIR = '.' ]; then + EXCLUDELIST='/usr/local/etc/duplicity-exclude.conf' + else + EXCLUDELIST="/usr/local/etc/duplicity-exclude-$DIR.conf" + fi + + if [ -f $EXCLUDELIST ]; then + EXCLUDE="--exclude-filelist $EXCLUDELIST" + else + EXCLUDE='' + fi + + # first remove everything older than 2 months + if [ $DIR = '.' ]; then + CMD="duplicity remove-older-than 2M -v5 --force $S3_OPT $BAC/$TDIR >> $LOGDIR/system.log" + else + CMD="duplicity remove-older-than 2M -v5 --force $S3_OPT $BAC/$TDIR >> $LOGDIR/$DIR.log" + fi + eval $CMD + + # do a backup + if [ $DIR = '.' ]; then + CMD="duplicity $TYPE -v5 $GPGOPT $S3_OPT $EXCLUDE / $BAC/$TDIR >> $LOGDIR/system.log" + else + CMD="duplicity $TYPE -v5 $GPGOPT $S3_OPT $EXCLUDE /$DIR $BAC/$TDIR >> $LOGDIR/$DIR.log" + fi + eval $CMD + +done + +exit 0 diff --git a/files/duplicity/mbedtls.trustedfirmware.org.backup b/files/duplicity/mbedtls.trustedfirmware.org.backup new file mode 100755 index 00000000..cac35c3b --- /dev/null +++ b/files/duplicity/mbedtls.trustedfirmware.org.backup @@ -0,0 +1,79 @@ +#!/bin/bash +# +# Full backups are made on the 1st day of each month or with the 'full' option. +# Incremental backups are made on any other days. +# +# USAGE: backup.sh [full] +# + +# get day of the month +DATE=`date +%d` + +export AWS_ACCESS_KEY_ID={{backup_access_id}} +export AWS_SECRET_ACCESS_KEY={{backup_key}} +S3_OPT="--s3-use-new-style --s3-use-ia --s3-use-multiprocessing" + +# directories to backup (but . for /) +BDIRS="{{jenkins_master_data_volume}}" +BAC="s3://s3.us-east-1.amazonaws.com/trustedfirmware-backups" +TDIR="{{hostname}}" +LOGDIR='/var/log/duplicity' + +# Setting the pass phrase to encrypt the backup files. Will use symmetrical keys in this case. +PASSPHRASE='{{backup_gpg}}' +export PASSPHRASE + +# encryption algorithm for gpg, disable for default (CAST5) +# see available ones via 'gpg --version' +ALGO=AES + +############################## + +if [ $ALGO ]; then + GPGOPT="--gpg-options '--cipher-algo $ALGO'" +fi + +# Check to see if we're at the first of the month. +# If we are on the 1st day of the month, then run +# a full backup. If not, then run an incremental +# backup. + +if [ $DATE = 01 ] || [ "$1" = 'full' ]; then + TYPE='full' +else + TYPE='incremental' +fi + +for DIR in $BDIRS +do + if [ $DIR = '.' ]; then + EXCLUDELIST='/usr/local/etc/duplicity-exclude.conf' + else + EXCLUDELIST="/usr/local/etc/duplicity-exclude-$DIR.conf" + fi + + if [ -f $EXCLUDELIST ]; then + EXCLUDE="--exclude-filelist $EXCLUDELIST" + else + EXCLUDE='' + fi + + # first remove everything older than 2 months + if [ $DIR = '.' ]; then + CMD="duplicity remove-older-than 2M -v5 --force $S3_OPT $BAC/$TDIR >> $LOGDIR/system.log" + else + CMD="duplicity remove-older-than 2M -v5 --force $S3_OPT $BAC/$TDIR >> $LOGDIR/$DIR.log" + fi + eval $CMD + + # do a backup + if [ $DIR = '.' ]; then + CMD="duplicity $TYPE -v5 $GPGOPT $S3_OPT $EXCLUDE / $BAC/$TDIR >> $LOGDIR/system.log" + else + CMD="duplicity $TYPE -v5 $GPGOPT $S3_OPT $EXCLUDE /$DIR $BAC/$TDIR >> $LOGDIR/$DIR.log" + fi + eval $CMD + +done + +exit 0 diff --git a/files/duplicity/review.trustedfirmware.org.backup b/files/duplicity/review.trustedfirmware.org.backup new file mode 100755 index 00000000..5676eb2c --- /dev/null +++ b/files/duplicity/review.trustedfirmware.org.backup @@ -0,0 +1,79 @@ +#!/bin/bash +# +# Full backups are made on the 1st day of each month or with the 'full' option. +# Incremental backups are made on any other days. +# +# USAGE: backup.sh [full] +# + +# get day of the month +DATE=`date +%d` + +export AWS_ACCESS_KEY_ID={{backup_access_id}} +export AWS_SECRET_ACCESS_KEY={{backup_key}} +S3_OPT="--s3-use-new-style --s3-use-ia --s3-use-multiprocessing" + +# directories to backup (but . for /) +BDIRS="/srv" +BAC="s3://s3.us-east-1.amazonaws.com/trustedfirmware-backups" +TDIR="{{hostname}}" +LOGDIR='/var/log/duplicity' + +# Setting the pass phrase to encrypt the backup files. Will use symmetrical keys in this case. +PASSPHRASE='{{backup_gpg}}' +export PASSPHRASE + +# encryption algorithm for gpg, disable for default (CAST5) +# see available ones via 'gpg --version' +ALGO=AES + +############################## + +if [ $ALGO ]; then + GPGOPT="--gpg-options '--cipher-algo $ALGO'" +fi + +# Check to see if we're at the first of the month. +# If we are on the 1st day of the month, then run +# a full backup. If not, then run an incremental +# backup. + +if [ $DATE = 01 ] || [ "$1" = 'full' ]; then + TYPE='full' +else + TYPE='incremental' +fi + +for DIR in $BDIRS +do + if [ $DIR = '.' ]; then + EXCLUDELIST='/usr/local/etc/duplicity-exclude.conf' + else + EXCLUDELIST="/usr/local/etc/duplicity-exclude-$DIR.conf" + fi + + if [ -f $EXCLUDELIST ]; then + EXCLUDE="--exclude-filelist $EXCLUDELIST" + else + EXCLUDE='' + fi + + # first remove everything older than 2 months + if [ $DIR = '.' ]; then + CMD="duplicity remove-older-than 2M -v5 --force $S3_OPT $BAC/$TDIR >> $LOGDIR/system.log" + else + CMD="duplicity remove-older-than 2M -v5 --force $S3_OPT $BAC/$TDIR >> $LOGDIR/$DIR.log" + fi + eval $CMD + + # do a backup + if [ $DIR = '.' ]; then + CMD="duplicity $TYPE -v5 $GPGOPT $S3_OPT $EXCLUDE / $BAC/$TDIR >> $LOGDIR/system.log" + else + CMD="duplicity $TYPE -v5 $GPGOPT $S3_OPT $EXCLUDE /$DIR $BAC/$TDIR >> $LOGDIR/$DIR.log" + fi + eval $CMD + +done + +exit 0 diff --git a/files/elasticsearch/elk.linaro.org.conf b/files/elasticsearch/elk.linaro.org.conf deleted file mode 100644 index e523d2cc..00000000 --- a/files/elasticsearch/elk.linaro.org.conf +++ /dev/null @@ -1,49 +0,0 @@ -<VirtualHost *:80> - CustomLog /var/log/apache2/{{inventory_hostname}}.access.log combined - ErrorLog /var/log/apache2/{{inventory_hostname}}.error.log - Redirect permanent / https://{{inventory_hostname}} -</VirtualHost> - -<VirtualHost _default_:443> - ServerName {{inventory_hostname}} - ErrorLog /var/log/apache2/{{inventory_hostname}}-error.log - CustomLog /var/log/apache2/{{inventory_hostname}}-access.log combined - - ProxyPass / http://localhost:{{docker_port_kibana}}/ - ProxyPassReverse / http://localhost:{{docker_port_kibana}}/ - - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - - SSLCertificateFile {{ssl_cert}} - SSLCertificateKeyFile {{ssl_key}} - SSLCACertificateFile {{ssl_ca_cert}} - - <Location "/"> - AuthType Basic - AuthName "{{ inventory_hostname }}" - AuthBasicProvider ldap - - AuthLDAPUrl "{{ apache_ldap_url }}" - AuthLDAPBindDN "{{ apache_ldap_bind }}" - AuthLDAPBindPassword {{ apache_ldap_bind_pwd }} - AuthLDAPRemoteUserAttribute uid - - <RequireAll> - Require valid-user - <RequireAny> - Require ldap-group cn=employees,ou=mailing,ou=groups,dc=linaro,dc=org - Require ldap-group cn=assignees,ou=mailing,ou=groups,dc=linaro,dc=org - </RequireAny> - </RequireAll> - </Location> - -</VirtualHost> - diff --git a/files/elasticsearch/templates/default.json b/files/elasticsearch/templates/default.json deleted file mode 100644 index 1e02e7bd..00000000 --- a/files/elasticsearch/templates/default.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "template": "*", - "settings": { - "index.refresh_interval": "5s", - "index.routing.allocation.require.box_type": "hot" - } -} diff --git a/files/elasticsearch/templates/logstash.json b/files/elasticsearch/templates/logstash.json deleted file mode 100644 index c8e60349..00000000 --- a/files/elasticsearch/templates/logstash.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "template": "logstash-*", - "settings": { - "index.refresh_interval": "5s", - "index.routing.allocation.require.box_type": "hot" - }, - "mappings": { - "_default_": { - "_all": { - "enabled": true, - "omit_norms": true - }, - "dynamic_templates": [ - { - "message_field": { - "match": "message", - "match_mapping_type": "string", - "mapping": { - "type": "string", - "index": "analyzed", - "omit_norms": true - } - } - }, - { - "string_fields": { - "match": "*", - "match_mapping_type": "string", - "mapping": { - "type": "string", - "index": "analyzed", - "omit_norms": true, - "fields": { - "raw": { - "type": "string", - "index": "not_analyzed", - "ignore_above": 256 - } - } - } - } - } - ], - "properties": { - "@version": { - "type": "string", - "index": "not_analyzed" - }, - "geoip": { - "type": "object", - "dynamic": true, - "properties": { - "location": { - "type": "geo_point" - } - } - } - } - } - } -}
\ No newline at end of file diff --git a/files/fossology/fossology.linaro.org.conf b/files/fossology/fossology.linaro.org.conf deleted file mode 100644 index 6dd53eeb..00000000 --- a/files/fossology/fossology.linaro.org.conf +++ /dev/null @@ -1,46 +0,0 @@ -<VirtualHost *:80> - ServerAdmin webmaster@localhost - ServerName {{inventory_hostname}} - <Proxy "*"> - Allow from all - </Proxy> - ProxyPreserveHost on - ProxyPass /.well-known/acme-challenge/ ! - ProxyPass / http://localhost:{{docker_port}}/ - - RewriteEngine on - ReWriteCond %{SERVER_PORT} !^443$ - RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.*$ - RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> -</VirtualHost> - -<VirtualHost *:443> - ServerAdmin webmaster@localhost - ServerName {{inventory_hostname}} - <Proxy "*"> - Allow from all - </Proxy> - - # Compatibility redirect for ci.linaro.org -# RewriteEngine on -# RewriteRule ^/repo/(.*) https://%{HTTP_HOST}/$1 [redirect,noescape,last] - <LocationMatch "^/$"> - Redirect permanent "/" "/repo/" -</LocationMatch> - - AllowEncodedSlashes NoDecode - ProxyPreserveHost off - # Note: Jenkins and Apache URL prefixes must match - ProxyPass / http://localhost:{{docker_port}}/ nocanon - ProxyPassReverse / http://localhost:{{docker_port}}/ - - SSLEngine on - SSLCertificateFile {{ssl_cert}} - SSLCertificateKeyFile {{ssl_key}} -</VirtualHost> - diff --git a/files/gerrit/android-review.linaro.org b/files/gerrit/android-review.linaro.org index 8a1bc9b8..b7a4e4d0 100644 --- a/files/gerrit/android-review.linaro.org +++ b/files/gerrit/android-review.linaro.org @@ -5,13 +5,9 @@ basePath = /srv/repositories canonicalWebUrl = http://android-review.linaro.org/ serverId = {{gerrit_config_server_id}} -[database] - type = postgresql - hostname = localhost - database = reviewdb - username = gerrit2 [auth] type = LDAP + gitBasicAuthPolicy = HTTP #openIdSsoUrl = https://login.linaro.org:8443/openidserver/op #logOutUrl = https://login.linaro.org:8443/openidserver/logoff.action # type = OpenID @@ -43,8 +39,11 @@ {% endif %} [container] user = git - javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre - heapLimit = 10240m + javaHome = /usr/lib/jvm/java-11-openjdk-amd64/jre + heapLimit = {{ gerrit_mem }} + javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance" + javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance" + [sshd] listenAddress = *:29418 idleTimeout = 5m @@ -53,8 +52,8 @@ [cache] directory = cache [cache "projects"] - memoryLimit = 2048 - diskLimit = 4096 + memoryLimit = 8192 + diskLimit = 10240 [download] scheme = http scheme = ssh @@ -74,3 +73,5 @@ autoMigrate = true [change] allowDrafts = true +[receive] + enableSignedPush = false diff --git a/files/gerrit/dev-private-review.linaro.org b/files/gerrit/dev-private-review.linaro.org index 55406c17..dc9af801 100644 --- a/files/gerrit/dev-private-review.linaro.org +++ b/files/gerrit/dev-private-review.linaro.org @@ -2,11 +2,6 @@ basePath = /srv/repositories canonicalWebUrl = https://dev-private-review.linaro.org/ serverId = {{gerrit_config_server_id}} -[database] - type = postgresql - hostname = localhost - database = reviewdb - username = private-git [auth] type = HTTP_LDAP logoutUrl = https://login.linaro.org @@ -38,7 +33,10 @@ [container] user = private-git javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre - heapLimit = 3000m + heapLimit = {{ gerrit_mem }} + javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance" + javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance" + [sshd] listenAddress = *:29418 idleTimeout = 5 min @@ -50,7 +48,7 @@ listenUrl = proxy-https://*:8080/ [cache] directory = cache -[cache "web_session"] +[cache "web_sessions"] maxAge = 2 weeks [cache "ldap_groups"] maxAge = 2 weeks @@ -79,3 +77,8 @@ autoMigrate = true [change] allowDrafts = true +[receive] + enableSignedPush = true +[database] + type = h2 + database = /srv/gerrit/db/ReviewDB diff --git a/files/gerrit/gerrit.devboardsforandroid.linaro.org b/files/gerrit/gerrit.devboardsforandroid.linaro.org new file mode 100644 index 00000000..64683ae4 --- /dev/null +++ b/files/gerrit/gerrit.devboardsforandroid.linaro.org @@ -0,0 +1,65 @@ +[core] + streamFileThreshold = 512m + packedGitLimit = 2000m +[gerrit] + basePath = /srv/repositories + canonicalWebUrl = https://gerrit.devboardsforandroid.linaro.org/ + serverId = 8f6f209b-eb1a-4cbf-aa44-c8bc30e9bfda +[auth] + type = OAUTH + loginUrl = /login + loginText = Sign-in with GitHub + registerPageUrl = "/#/register" + gitBasicAuthPolicy = HTTP +# cookiePath = / +[oauth] + allowEditFullName = true + allowRegisterNewEmail = true +[plugin "gerrit-oauth-provider-github-oauth"] + client-id = bfe5b324c057fe64896c + fix-legacy-user-id = false +[sendemail] + smtpServer = localhost + expiryDays = 15 + replyToAddress = review@gerrit.devboardsforandroid.linaro.org +{% if gerrit_config_dovecot_user is defined and gerrit_config_dovecot_password is defined %} +[receiveemail] + protocol = IMAP + host = localhost + username = review +{% endif %} +[container] + user = git + javaHome = /usr/lib/jvm/java-11-openjdk-amd64/jre + heapLimit = {{ gerrit_mem }} + javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance" + javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance" + +[sshd] + listenAddress = *:29418 + idleTimeout = 5m +[httpd] + listenUrl = proxy-https://127.0.0.1:8080/ +[cache] + directory = cache +[cache "projects"] + memoryLimit = 4096 + diskLimit = 10240 +[download] + scheme = https + scheme = ssh + scheme = anon_http + scheme = repo_download +[theme] + selectionColor = FFFEAE +[user] + name = Linaro Dev Boards for Android Code Review + email = review@gerrit.devboardsforandroid.linaro.org +[index] + type = LUCENE +[noteDb "changes"] + autoMigrate = true +[change] + allowDrafts = true +[receive] + enableSignedPush = false diff --git a/files/gerrit/gerrit.forge.aws.linaro.com b/files/gerrit/gerrit.forge.aws.linaro.com new file mode 100644 index 00000000..537d1148 --- /dev/null +++ b/files/gerrit/gerrit.forge.aws.linaro.com @@ -0,0 +1,90 @@ +[core] + streamFileThreshold = 512m + packedGitLimit = 3500m +[gerrit] + basePath = /srv/repositories + canonicalWebUrl = https://{{www_host}}/ + serverId = {{gerrit_config_server_id}} +[ldap] + server = ldap://login.linaro.org + username = cn=rhodecode,ou=binders,dc=linaro,dc=org + accountBase = ou=accounts,dc=linaro,dc=org + groupBase = ou=security,ou=groups,dc=linaro,dc=org + referral = follow + accountPattern = (mail=${username}) + accountSshUserName = uid + accountEmailAddress = mail + accountFullName = displayName + groupScope = subtree + groupMemberPattern = (|(memberUid=${uid})(gidNumber=${gidNumber})) +[auth] + type = LDAP + gitBasicAuthPolicy = HTTP +[sendemail] + enable = True + smtpServer = localhost + expiryDays = 15 + includeDiff = true + maximumDiffSize = 512k + replyToAddress = gerrit@forge.linaro.com + from = "Forge Code Review <gerrit@forge.linaro.com>" +[container] + user = git + javaHome = /usr/lib/jvm/java-11-openjdk-amd64 + heapLimit = {{ gerrit_mem }} + javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance" + javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance" +#[receiveemail] +# protocol = IMAP +# host = imap.gmail.com +# username = "" +# port = 993 +# password = "" +[sshd] + listenAddress = *:29418 + idleTimeout = 5m + loginGraceTime = 1 min + batchThreads = 4 + maxAuthTries = 4 + backend = NIO2 +[httpd] + listenUrl = proxy-https://127.0.0.1:8080/ +[cache] + directory = cache +[cache "web_sessions"] + maxAge = 1 month +[cache "ldap_groups"] + maxAge = 2 weeks +[download] + scheme = ssh + scheme = anon_http +[gitweb] + type = cgit + url = https://git.linaro.org/ + revision = "/${project}.git/commit/?id=${commit}" + # 2.10.6 Doesn't show revision link above if this is activated + #linkDrafts = false +[theme] + selectionColor = FFFEAE +[user] + name = Linaro Forge Code Review + email = gerrit@forge.linaro.com +[site] + enableDeprecatedQuery = false +[commitmessage] + maxSubjectLength = 70 + maxLineLength = 80 + rejectTooLong = false + +# https://code.google.com/p/gerrit/issues/detail?id=2296#c2 +[receive] + checkReferencedObjectsAreReachable = false + enableSignedPush = false +[index] + type = LUCENE +[repository "*"] + defaultSubmitType = REBASE_IF_NECESSARY +[noteDb "changes"] + autoMigrate = true +[change] + allowDrafts = true diff --git a/files/gerrit/gitiles_gerrit.devboardsforandroid.linaro.org b/files/gerrit/gitiles_gerrit.devboardsforandroid.linaro.org new file mode 100644 index 00000000..e64e46d9 --- /dev/null +++ b/files/gerrit/gitiles_gerrit.devboardsforandroid.linaro.org @@ -0,0 +1,7 @@ +[gerrit] + cloneUrlType = http + linkname = gitiles + target = _self + baseGitUrl = https://source.devboardsforandroid.linaro.org/ +[markdown] + namedanchor = true diff --git a/files/gerrit/lhg-review.linaro.org b/files/gerrit/lhg-review.linaro.org deleted file mode 100644 index 6008c984..00000000 --- a/files/gerrit/lhg-review.linaro.org +++ /dev/null @@ -1,86 +0,0 @@ -[gerrit] - basePath = /srv/repositories - canonicalWebUrl = https://lhg-review.linaro.org/ - serverId = {{gerrit_config_server_id}} -[database] - type = postgresql - hostname = localhost - database = reviewdb - username = lhg -[auth] - type = HTTP_LDAP - logoutUrl = https://login.linaro.org - cookieSecure = true -[ldap] - server = ldaps://login.linaro.org - username = cn=rhodecode,ou=binders,dc=linaro,dc=org - accountBase = ou=accounts,dc=linaro,dc=org - groupBase = ou=security,ou=groups,dc=linaro,dc=org - referral = follow - accountPattern = (mail=${username}) - accountSshUserName = uid - accountEmailAddress = mail - accountFullName = displayName - groupScope = subtree - groupMemberPattern = (|(memberUid=${uid})(gidNumber=${gidNumber})) -[sendemail] - smtpServer = localhost - expiryDays = 15 - includeDiff = true - maximumDiffSize = 512k - replyToAddress = review@lhg-review.linaro.org -{% if gerrit_config_dovecot_user is defined and gerrit_config_dovecot_password is defined %} -[receiveemail] - protocol = IMAP - host = localhost - username = {{ gerrit_config_dovecot_user }} -{% endif %} -[container] - user = git - javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre - heapLimit = 4000m -[sshd] - listenAddress = *:29418 - idleTimeout = 5 min - backend = NIO2 - loginGraceTime = 1 min - batchThreads = 4 - maxAuthTries = 4 -[httpd] - listenUrl = proxy-https://*:8081/ -[cache] - directory = cache -[cache "web_session"] - maxAge = 2 weeks -[cache "ldap_groups"] - maxAge = 2 hours -[commentlink "bugzilla"] - match = "(bug\\s+#?)(\\d+)" - link = https://bugs.linaro.org/show_bug.cgi?id=$2 -[download] - scheme = ssh -[theme] - selectionColor = FFFEAE -[user] - name = Linaro Private Code Review - email = review@lhg-review.linaro.org -[core] - packedGitLimit = 1000m - streamFileThreshold = 512m -[gitweb] - type = gitweb - cgi = /usr/lib/cgi-bin/gitweb.cgi - revision = "?p=${project}.git;a=commitdiff;h=${commit}" - linkDrafts = false -[site] - enableDeprecatedQuery = false -[commitmessage] - maxSubjectLength = 70 - maxLineLength = 80 - rejectTooLong = false -[index] - type = LUCENE -[noteDb "changes"] - autoMigrate = true -[change] - allowDrafts = true diff --git a/files/gerrit/review.linaro.org b/files/gerrit/review.linaro.org index c52e56d6..a914427c 100644 --- a/files/gerrit/review.linaro.org +++ b/files/gerrit/review.linaro.org @@ -6,7 +6,7 @@ canonicalWebUrl = https://{{www_host}}/ serverId = {{gerrit_config_server_id}} [ldap] - server = ldaps://login.linaro.org + server = ldap://login.linaro.org username = cn=rhodecode,ou=binders,dc=linaro,dc=org accountBase = ou=accounts,dc=linaro,dc=org groupBase = ou=security,ou=groups,dc=linaro,dc=org @@ -17,13 +17,9 @@ accountFullName = displayName groupScope = subtree groupMemberPattern = (|(memberUid=${uid})(gidNumber=${gidNumber})) -[database] - type = postgresql - hostname = localhost - database = reviewdb - username = git [auth] type = LDAP + gitBasicAuthPolicy = HTTP #openIdSsoUrl = https://login.linaro.org:8443/openidserver/op #logOutUrl = https://login.linaro.org:8443/openidserver/logoff.action [sendemail] @@ -41,7 +37,9 @@ [container] user = git javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre - heapLimit = 14000m + heapLimit = {{ gerrit_mem }} + javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance" + javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance" [sshd] listenAddress = *:29418 idleTimeout = 5m @@ -84,6 +82,7 @@ # https://code.google.com/p/gerrit/issues/detail?id=2296#c2 [receive] checkReferencedObjectsAreReachable = false + enableSignedPush = false [index] type = LUCENE [repository "*"] diff --git a/files/gerrit/review.mlplatform.org b/files/gerrit/review.mlplatform.org index 793ff841..46657f1d 100644 --- a/files/gerrit/review.mlplatform.org +++ b/files/gerrit/review.mlplatform.org @@ -4,17 +4,14 @@ [gerrit] basePath = /srv/repositories canonicalWebUrl = https://{{www_host}}/ -[database] - type = postgresql - hostname = localhost - database = reviewdb - username = git + serverId = {{gerrit_config_server_id}} [auth] type = OAUTH loginUrl = /login loginText = Sign-in with GitHub registerPageUrl = "/#/register" - gitBasicAuthPolicy = HTTP + gitBasicAuthPolicy = HTTP + contributorAgreements = true [oauth] allowEditFullName = true allowRegisterNewEmail = true @@ -26,8 +23,11 @@ maximumDiffSize = 512k [container] user = git - javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre - heapLimit = 14000m + javaHome = /usr/lib/jvm/java-11-openjdk-amd64/bin + heapLimit = {{ gerrit_mem }} + javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance" + javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance" + [sshd] listenAddress = *:29418 idleTimeout = 5m @@ -63,6 +63,7 @@ # https://code.google.com/p/gerrit/issues/detail?id=2296#c2 [receive] checkReferencedObjectsAreReachable = false + enableSignedPush = false [index] type = LUCENE [repository "*"] diff --git a/files/gerrit/review.trustedfirmware.org b/files/gerrit/review.trustedfirmware.org index 06000f4b..4e215ad3 100644 --- a/files/gerrit/review.trustedfirmware.org +++ b/files/gerrit/review.trustedfirmware.org @@ -4,11 +4,7 @@ [gerrit] basePath = /srv/repositories canonicalWebUrl = https://{{www_host}}/ -[database] - type = postgresql - hostname = localhost - database = reviewdb - username = git + serverId = {{gerrit_config_server_id}} [auth] type = OAUTH loginUrl = /login @@ -27,7 +23,9 @@ [container] user = git javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre - heapLimit = 14000m + heapLimit = {{ gerrit_mem }} + javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance" + javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance" [sshd] listenAddress = *:29418 idleTimeout = 5m @@ -63,10 +61,19 @@ # https://code.google.com/p/gerrit/issues/detail?id=2296#c2 [receive] checkReferencedObjectsAreReachable = false + enableSignedPush = false [index] type = LUCENE [repository "*"] defaultSubmitType = REBASE_IF_NECESSARY +[experiments] + enabled = UiFeature__mention_users [plugin "gerrit-oauth-provider-github-oauth"] client-id = 1bdcda52ecaa25e3e63b fix-legacy-user-id = false +[plugin "audit-sl4j"] + format: CSV + logName: audit.log +[plugin "verify-status"] + dbType = h2 + database = /srv/gerrit/db/CiDB diff --git a/files/gitlab/aarch64-09.toml b/files/gitlab/aarch64-09.toml new file mode 100644 index 00000000..26fbe2ca --- /dev/null +++ b/files/gitlab/aarch64-09.toml @@ -0,0 +1,69 @@ +concurrent = 10 +check_interval = 0 + +[session_server] + session_timeout = 1800 + +[[runners]] + name = "linaro {{ inventory_hostname }}" + url = "{{ gitlab_runner_url['linaro'] }}" + token = "{{ gitlab_auth_token['linaro'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 10 + [runners.custom_build_dir] + [runners.cache] + [runners.cache.s3] + [runners.cache.gcs] + [runners.cache.azure] + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/var/run/docker.sock:/var/run/docker.sock"] + shm_size = 0 +[[runners]] + name = "linaroltd {{ inventory_hostname }}" + url = "{{ gitlab_runner_url['linaroltd'] }}" + token = "{{ gitlab_auth_token['linaroltd'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 10 + [runners.custom_build_dir] + [runners.cache] + [runners.cache.s3] + [runners.cache.gcs] + [runners.cache.azure] + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/var/run/docker.sock:/var/run/docker.sock"] + shm_size = 0 +[[runners]] + name = "lava {{ inventory_hostname }}" + url = "{{ gitlab_runner_url['lava'] }}" + token = "{{ gitlab_auth_token['lava'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 10 + [runners.custom_build_dir] + [runners.cache] + [runners.cache.s3] + [runners.cache.gcs] + [runners.cache.azure] + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/var/run/docker.sock:/var/run/docker.sock"] + shm_size = 0 diff --git a/files/gitlab/deployments.ctt.linaro.org.toml b/files/gitlab/deployments.ctt.linaro.org.toml new file mode 100644 index 00000000..f5ab7fc5 --- /dev/null +++ b/files/gitlab/deployments.ctt.linaro.org.toml @@ -0,0 +1,27 @@ +concurrent = 30 +check_interval = 0 + +[session_server] + session_timeout = 1800 + +[[runners]] + name = "{{ inventory_hostname }}" + url = "{{ gitlab_runner_url["original"] }}" + token = "{{ gitlab_auth_token['original'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 30 + [runners.custom_build_dir] + [runners.cache] + [runners.cache.s3] + [runners.cache.gcs] + [runners.cache.azure] + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/var/run/docker.sock:/var/run/docker.sock"] + shm_size = 0 diff --git a/files/gitlab/gitlab-runner-manager.lkft.org.toml b/files/gitlab/gitlab-runner-manager.lkft.org.toml new file mode 100644 index 00000000..9753fae2 --- /dev/null +++ b/files/gitlab/gitlab-runner-manager.lkft.org.toml @@ -0,0 +1,202 @@ +concurrent = 600 +check_interval = 0 +listen_address = "0.0.0.0:9252" + +[session_server] + session_timeout = 1800 + +[[runners]] + name = "{{ inventory_hostname }}" + url = "{{ gitlab_runner_url['original'] }}" + token = "{{ gitlab_auth_token['original'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 10000 + limit = 500 # This runner can execute up to xx jobs (created machines) + [runners.cache] + Type = "s3" + Shared = true + [runners.cache.s3] + ServerAddress = "s3.amazonaws.com" + BucketName = "lkft-runner-cache" + BucketLocation = "us-east-1" + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + # default to 'always'. If this is set to + # a list and a docker pull fails, it will + # try the next policy in the list until + # either success or out of list items. + pull_policy = ["always","always"] + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 20 # Each machine can handle up to xx jobs in a row (after this it will be removed) + MachineDriver = "amazonec2" + MachineName = "gitlab-docker-machine-%s" + MachineOptions = [ + "amazonec2-ami=ami-0d73480446600f555", + "amazonec2-region=us-east-1", + "amazonec2-vpc-id=vpc-0088d6761c7eeb5ef", + "amazonec2-subnet-id=subnet-07a5d0ad76657ca12", + "amazonec2-zone=a", + "amazonec2-use-private-address=true", + "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true", + "amazonec2-iam-instance-profile=gitlab_runner_instance_profile", + "amazonec2-instance-type=t2.medium", + "amazonec2-root-size=10", + ] + +[[runners]] + name = "{{ inventory_hostname }} large" + url = "{{ gitlab_runner_url['large'] }}" + token = "{{ gitlab_auth_token['large'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 10000 + limit = 6 # This runner can execute up to xx jobs (created machines) + [runners.cache] + Type = "s3" + Shared = true + [runners.cache.s3] + ServerAddress = "s3.amazonaws.com" + BucketName = "lkft-runner-cache" + BucketLocation = "us-east-1" + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 2 # Each machine can handle up to xx jobs in a row (after this it will be removed) + MachineDriver = "amazonec2" + MachineName = "gitlab-docker-machine-%s" + MachineOptions = [ + "amazonec2-ami=ami-0d73480446600f555", + "amazonec2-region=us-east-1", + "amazonec2-vpc-id=vpc-0088d6761c7eeb5ef", + "amazonec2-subnet-id=subnet-0e76da657a939857f", + "amazonec2-zone=a", + "amazonec2-iam-instance-profile=gitlab_runner_instance_profile", + "amazonec2-use-private-address=true", + "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true", + "amazonec2-instance-type=m5.2xlarge", + "amazonec2-root-size=100", + ] + +[[runners]] + name = "codelinaro {{ inventory_hostname }}" + url = "{{ gitlab_runner_url['codelinaro'] }}" + token = "{{ gitlab_auth_token['codelinaro'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 10000 + limit = 600 # This runner can execute up to xx jobs (created machines) + [runners.cache] + Type = "s3" + Shared = true + [runners.cache.s3] + ServerAddress = "s3.amazonaws.com" + BucketName = "lkft-runner-cache" + BucketLocation = "us-east-1" + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 20 # Each machine can handle up to xx jobs in a row (after this it will be removed) + MachineDriver = "amazonec2" + MachineName = "gitlab-docker-machine-%s" + MachineOptions = [ + "amazonec2-region=us-east-1", + "amazonec2-vpc-id=vpc-0088d6761c7eeb5ef", + "amazonec2-subnet-id=subnet-0e76da657a939857f", + "amazonec2-zone=a", + "amazonec2-use-private-address=true", + "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true", + "amazonec2-iam-instance-profile=gitlab_runner_instance_profile", + "amazonec2-instance-type=t2.medium", + "amazonec2-root-size=10", + ] + +[[runners]] + name = "codelinaro {{ inventory_hostname }}" + url = "{{ gitlab_runner_url['codelinaro-staging'] }}" + token = "{{ gitlab_auth_token['codelinaro-staging'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 10000 + limit = 600 # This runner can execute up to xx jobs (created machines) + [runners.cache] + Type = "s3" + Shared = true + [runners.cache.s3] + ServerAddress = "s3.amazonaws.com" + BucketName = "lkft-runner-cache" + BucketLocation = "us-east-1" + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 20 # Each machine can handle up to xx jobs in a row (after this it will be removed) + MachineDriver = "amazonec2" + MachineName = "gitlab-docker-machine-%s" + MachineOptions = [ + "amazonec2-region=us-east-1", + "amazonec2-vpc-id=vpc-0088d6761c7eeb5ef", + "amazonec2-subnet-id=subnet-0e76da657a939857f", + "amazonec2-zone=a", + "amazonec2-use-private-address=true", + "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true", + "amazonec2-iam-instance-profile=gitlab_runner_instance_profile", + "amazonec2-instance-type=t2.medium", + "amazonec2-root-size=10", + ] + diff --git a/files/gitlab/gitlab-runner-manager.morello-project.org.toml b/files/gitlab/gitlab-runner-manager.morello-project.org.toml new file mode 100644 index 00000000..a2989619 --- /dev/null +++ b/files/gitlab/gitlab-runner-manager.morello-project.org.toml @@ -0,0 +1,101 @@ +concurrent = 40 +check_interval = 0 + +[session_server] + session_timeout = 1800 + +[[runners]] + name = "{{ inventory_hostname }}" + url = "{{ gitlab_runner_url['original'] }}" + token = "{{ gitlab_auth_token['original'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 20 + [runners.cache] + Type = "s3" + Shared = true + [runners.cache.s3] + ServerAddress = "s3.amazonaws.com" + BucketName = "morello-runner-cache" + BucketLocation = "us-east-1" + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 20 + MachineDriver = "amazonec2" + MachineName = "gitlab-docker-machine-%s" + MachineOptions = [ + "amazonec2-ami=ami-0d73480446600f555", + "amazonec2-region=us-east-1", + "amazonec2-vpc-id=vpc-08436079fcdde3c9e", + "amazonec2-subnet-id=subnet-00ac0107fe7f09e32", + "amazonec2-zone=a", + "amazonec2-use-private-address=true", + "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true", + "amazonec2-instance-type=c5.9xlarge", + "amazonec2-root-size=600", + "amazonec2-userdata=/etc/gitlab-runner/userdata/start.sh", + ] + +[[runners]] + name = "{{ inventory_hostname }} arm64" + url = "{{ gitlab_runner_url['arm64'] }}" + token = "{{ gitlab_auth_token['arm64'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 15 + [runners.cache] + Type = "s3" + Shared = true + [runners.cache.s3] + ServerAddress = "s3.amazonaws.com" + BucketName = "morello-runner-cache" + BucketLocation = "us-east-1" + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 5 + MachineDriver = "amazonec2" + MachineName = "gitlab-docker-machine-%s" + MachineOptions = [ + "amazonec2-region=us-east-1", + "amazonec2-vpc-id=vpc-08436079fcdde3c9e", + "amazonec2-subnet-id=subnet-00ac0107fe7f09e32", + "amazonec2-ami=ami-05c5fea40f596a84c", + "amazonec2-zone=a", + "amazonec2-use-private-address=true", + "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true", + "amazonec2-instance-type=c6g.8xlarge", + "amazonec2-root-size=600", + "amazonec2-userdata=/etc/gitlab-runner/userdata/start.sh", + ] diff --git a/files/gitlab/gitlab-runner-manager.ovss.linaro.org.toml b/files/gitlab/gitlab-runner-manager.ovss.linaro.org.toml new file mode 100644 index 00000000..8ce3755f --- /dev/null +++ b/files/gitlab/gitlab-runner-manager.ovss.linaro.org.toml @@ -0,0 +1,49 @@ +concurrent = 10 +check_interval = 0 +listen_address = "0.0.0.0:9252" + +[session_server] + session_timeout = 1800 + +[[runners]] + name = "{{ inventory_hostname }}" + url = "{{ gitlab_runner_url["original"] }}" + token = "{{ gitlab_auth_token['original'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 10000 + limit = 30 # This runner can execute up to xx jobs (created machines) + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 20 # Each machine can handle up to xx jobs in a row (after this it will be removed) + MachineDriver = "google" + MachineName = "gitlab-docker-machine-%s" + MachineOptions = [ + "google-project=ovss-project", + "google-zone=us-east1-b", + "google-machine-type=e2-standard-8", + "google-machine-image=https://www.googleapis.com/compute/v1/projects/ubuntu-os-cloud/global/images/ubuntu-2004-focal-v20220419", + "google-tags=docker-machines,gitlab-runner-manager", + "google-disk-size=20", + "google-preemptible=false", + "google-use-internal-ip=false", + "google-use-internal-ip-only=false", + "google-network=gitlab-runner-manager", + "google-subnetwork=gitlab-runner-manager", + "google-skip-firewall-create=false" + ] diff --git a/files/gitlab/gitlab-runner.morello-project.org.toml b/files/gitlab/gitlab-runner.morello-project.org.toml new file mode 100644 index 00000000..666922f6 --- /dev/null +++ b/files/gitlab/gitlab-runner.morello-project.org.toml @@ -0,0 +1,27 @@ +concurrent = 30 +check_interval = 0 + +[session_server] + session_timeout = 1800 + +[[runners]] + name = "arm64 {{ inventory_hostname }}" + url = "{{ gitlab_runner_url["original"] }}" + token = "{{ gitlab_auth_token['original'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 30 + [runners.custom_build_dir] + [runners.cache] + [runners.cache.s3] + [runners.cache.gcs] + [runners.cache.azure] + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = false + volumes = ["/var/run/docker.sock:/var/run/docker.sock"] + shm_size = 0 diff --git a/files/gitlab/runner-cassini.ctt.linaro.org.toml b/files/gitlab/runner-cassini.ctt.linaro.org.toml new file mode 100644 index 00000000..71498644 --- /dev/null +++ b/files/gitlab/runner-cassini.ctt.linaro.org.toml @@ -0,0 +1,101 @@ +concurrent = 40 +check_interval = 0 + +[session_server] + session_timeout = 1800 + +[[runners]] + name = "{{ inventory_hostname }} x86_64" + url = "{{ gitlab_runner_url['original'] }}" + token = "{{ gitlab_auth_token['original'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 20 + [runners.cache] + Type = "s3" + Shared = true + [runners.cache.s3] + ServerAddress = "s3.amazonaws.com" + BucketName = "cassini-runner-cache" + BucketLocation = "us-east-1" + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 20 + MachineDriver = "amazonec2" + MachineName = "glr-docker-machine-%s" + MachineOptions = [ + "amazonec2-ami=ami-0b5df848226550db1", + "amazonec2-region=us-east-1", + "amazonec2-vpc-id=vpc-0be4500b0fd868261", + "amazonec2-subnet-id=subnet-0f7c5f814e449ee9e", + "amazonec2-zone=a", + "amazonec2-use-private-address=true", + "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true", + "amazonec2-instance-type=t3.large", + "amazonec2-root-size=600", + "amazonec2-userdata=/etc/gitlab-runner/userdata/start.sh", + ] + +[[runners]] + name = "{{ inventory_hostname }} arm64" + url = "{{ gitlab_runner_url['arm64'] }}" + token = "{{ gitlab_auth_token['arm64'] }}" + executor = "{{ gitlab_executor }}" + output_limit = 32768 + limit = 30 + [runners.cache] + Type = "s3" + Shared = true + [runners.cache.s3] + ServerAddress = "s3.amazonaws.com" + BucketName = "cassini-runner-cache" + BucketLocation = "us-east-1" + [runners.docker] + tls_verify = false + image = "alpine:latest" + privileged = true + cap_add = ["SYS_PTRACE"] + security_opt = ["seccomp:unconfined"] + disable_entrypoint_overwrite = false + oom_kill_disable = false + disable_cache = true + shm_size = 0 + [runners.docker.sysctls] + "net.ipv6.conf.lo.disable_ipv6" = "0" + [runners.machine] + IdleCount = 0 + IdleTime = 600 + OffPeakTimezone = "Europe/London" + OffPeakIdleCount = 0 + OffPeakIdleTime = 600 + MaxBuilds = 10 + MachineDriver = "amazonec2" + MachineName = "glr-docker-machine-%s" + MachineOptions = [ + "amazonec2-region=us-east-1", + "amazonec2-vpc-id=vpc-0be4500b0fd868261", + "amazonec2-subnet-id=subnet-0f7c5f814e449ee9e", + "amazonec2-ami=ami-09b435c65f97ace2e", + "amazonec2-zone=a", + "amazonec2-use-private-address=true", + "amazonec2-tags=runner-manager-name,gitlab-aws-autoscaler,gitlab,true,gitlab-runner-autoscale,true", + "amazonec2-instance-type=t4g.large", + "amazonec2-root-size=600", + "amazonec2-userdata=/etc/gitlab-runner/userdata/start.sh", + ] diff --git a/files/jenkins/ci.linaro.org.conf b/files/jenkins/ci.linaro.org.conf index 9dd9c7d5..4827705b 100644 --- a/files/jenkins/ci.linaro.org.conf +++ b/files/jenkins/ci.linaro.org.conf @@ -8,15 +8,17 @@ ProxyPass /.well-known/acme-challenge/ ! ProxyPass / http://localhost:{{jenkins_master_port}}/ + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + RewriteEngine on ReWriteCond %{SERVER_PORT} !^443$ RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.*$ RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L] - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> + Include /etc/apache2/linaro/letsencrypt.conf </VirtualHost> <VirtualHost *:443> @@ -37,7 +39,12 @@ ProxyPass / http://localhost:{{jenkins_master_port}}/ nocanon ProxyPassReverse / http://localhost:{{jenkins_master_port}}/ - SSLEngine on + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} </VirtualHost> diff --git a/files/jenkins/ci.linaro.org.ssh b/files/jenkins/ci.linaro.org.ssh new file mode 100644 index 00000000..9a22adfd --- /dev/null +++ b/files/jenkins/ci.linaro.org.ssh @@ -0,0 +1,28 @@ +# Managed by ansible! + +HashKnownHosts no + +Host linaro-private.git.linaro.org + User linaro-big-little-switcher-bot + IdentityFile ~/.ssh/linaro-big-little-switcher-bot_rsa + +Host git.linaro.org + User linaro-big-little-switcher-bot + IdentityFile ~/.ssh/linaro-big-little-switcher-bot_rsa + +Host staging.review.linaro.org + Port 29418 + User lava-bot + IdentityFile ~/.ssh/lava-bot_rsa + +Host review.linaro.org + Port 29418 + User lava-bot + IdentityFile ~/.ssh/lava-bot_rsa + +Host dev-private-git.linaro.org + User git +Host dev-private-review.linaro.org + User git + + diff --git a/files/lava-remote-worker/env b/files/lava-remote-worker/env new file mode 100644 index 00000000..d70883ad --- /dev/null +++ b/files/lava-remote-worker/env @@ -0,0 +1,22 @@ +DC_SERVER_IMAGE=lavasoftware/lava-server:latest +DC_DISPATCHER_IMAGE=lavasoftware/lava-dispatcher:latest +DC_DISPATCHER_HOSTNAME={{ lava_dispatcher_hostname }} +DC_LAVA_SERVER_HOSTNAME=https://{{ lava_server_hostname }} +DC_LAVA_MASTER_HOSTNAME={{ lava_server_hostname }} +DC_LAVA_LOGS_HOSTNAME={{ lava_server_hostname }} +DC_TOKEN={{ lava_dispatcher_token }} +DC_LAVA_ADMIN_USERNAME= +DC_LAVA_ADMIN_PASSWORD= +http_proxy= +https_proxy= +ftp_proxy= + +KC_IMAGE=registry.gitlab.com/linaro/kisscache:latest +KC_POSTGRES_IMAGE=postgres:11.2-alpine +KC_REDIS_IMAGE=redis:latest +KC_FRONT_PORT=8001 +# TODO probably make these configurable one day... +KC_WEB_SCALE=3 +GUNICORN_WORKERS=8 +GUNICORN_THREADS=10 +CELERY_CONCURRENCY=30 diff --git a/files/lava-remote-worker/token b/files/lava-remote-worker/token new file mode 100644 index 00000000..72f961a1 --- /dev/null +++ b/files/lava-remote-worker/token @@ -0,0 +1 @@ +{{ lava_dispatcher_token }} diff --git a/files/patchwork/apache.conf b/files/patchwork/apache.conf index 3d49d9ed..69758f56 100644 --- a/files/patchwork/apache.conf +++ b/files/patchwork/apache.conf @@ -18,10 +18,7 @@ Require all granted </Directory> - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> + Include /etc/apache2/linaro/letsencrypt.conf WSGIScriptAlias / "{{install_base}}/{{hostname}}/wsgi.py" <Directory "{{install_base}}/{{hostname}}"> @@ -34,10 +31,10 @@ ErrorLog /var/log/apache2/{{hostname}}-error.log CustomLog /var/log/apache2/{{hostname}}-acess.log combined - SSLEngine On + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} - SSLCACertificateFile {{ssl_ca_cert}} + SSLCACertificateFile {{ssl_ca}} DocumentRoot "{{install_base}}/{{hostname}}/project/htdocs" diff --git a/files/phabricator/apache.conf b/files/phabricator/apache.conf index 07782134..c39f7345 100644 --- a/files/phabricator/apache.conf +++ b/files/phabricator/apache.conf @@ -1,20 +1,28 @@ <VirtualHost *:80> ServerName {{inventory_hostname}} + Include /etc/apache2/linaro/headers-http.conf + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + RedirectMatch permanent \ "^/(?!\.well-known/acme-challenge)(.*)" \ "https://{{inventory_hostname}}/$1" - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> + Include /etc/apache2/linaro/letsencrypt.conf </VirtualHost> <VirtualHost *:443> ServerName {{inventory_hostname}} - SSLEngine On + Include /etc/apache2/linaro/headers-https.conf + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} {% if ssl_ca is defined %} diff --git a/files/phabricator/issues.trustedfirmware.org-apache.conf b/files/phabricator/issues.trustedfirmware.org-apache.conf index 59892a21..4ed84698 100644 --- a/files/phabricator/issues.trustedfirmware.org-apache.conf +++ b/files/phabricator/issues.trustedfirmware.org-apache.conf @@ -1,21 +1,29 @@ <VirtualHost *:80> ServerName issues.trustedfirmware.org + Include /etc/apache2/linaro/headers-http.conf + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + RewriteEngine On RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/.*$ RewriteCond %{HTTP_HOST} ^issues\.trustedfirmware\.org$ [NC] RewriteRule ^ https://developer.trustedfirmware.org%{REQUEST_URI} [L,R=301] - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> + Include /etc/apache2/linaro/letsencrypt.conf </VirtualHost> <VirtualHost *:443> ServerName issues.trustedfirmware.org - SSLEngine On + Include /etc/apache2/linaro/headers-https.conf + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} {% if ssl_ca is defined %} diff --git a/files/prometheus/grafana.linaro.org/nodes.yaml b/files/prometheus/grafana.linaro.org/nodes.yaml new file mode 100644 index 00000000..a18aeac0 --- /dev/null +++ b/files/prometheus/grafana.linaro.org/nodes.yaml @@ -0,0 +1,295 @@ +- labels: + hostname: git-us.linaro.org + job: node + targets: + - 54.152.253.35:9100 +- labels: + hostname: android-git-us.linaro.org + job: node + targets: + - 3.87.163.235:9100 +- labels: + hostname: dev-private-git.linaro.org + job: node + targets: + - 3.223.170.243:9100 +- labels: + hostname: git.trustedfirmware.org + job: node + targets: + - 51.159.18.17:9100 +- labels: + hostname: patches.linaro.org + job: node + targets: + - 3.231.0.93:9100 +- labels: + hostname: flexnet.trustedfirmware.org + job: node + targets: + - 51.159.23.171:9100 +- labels: + hostname: flexnet-aws.trustedfirmware.org + job: node + targets: + - 3.227.200.112:9100 +- labels: + hostname: publishing-ie.linaro.org + job: node + targets: + - 52.215.200.125:9100 +- labels: + hostname: buildkite.ctt.linaro.org + job: node + targets: + - 44.213.158.5:9100 +- labels: + hostname: qcom-proxy.linaro.org + job: node + targets: + - 54.183.104.175:9100 +- labels: + hostname: qcom-hackbox.linaro.org + job: node + targets: + - 136.243.177.220:9100 +- labels: + hostname: android.linaro.org + job: node + targets: + - 54.228.108.119:9100 +- labels: + hostname: lava.morello-project.org + job: node + targets: + - 54.88.117.5:9100 +- labels: + hostname: obs.linaro.org + job: node + targets: + - 50.16.54.112:9100 +- labels: + hostname: developer.trustedfirmware.org + job: node + targets: + - 54.158.53.90:9100 +- labels: + hostname: developer.mlplatform.org + job: node + targets: + - 3.89.121.127:9100 +- labels: + hostname: staging-issues.trustedfirmware.org + job: node + targets: + - 54.81.0.7:9100 +- labels: + hostname: aarch64-09 + job: node + targets: + - 139.178.84.115:9100 +- labels: + hostname: ses-proxy.ctt.linaro.org + job: node + targets: + - 52.206.111.78:9100 +- labels: + hostname: gitlab-runner-manager.morello-project.org + job: node + targets: + - 52.2.82.179:9100 +- labels: + hostname: gitlab-runner.morello-project.org + job: node + targets: + - 54.204.82.153:9100 +- labels: + hostname: gitlab-runner-manager.lkft.org + job: node + targets: + - 52.70.137.192:9100 +- labels: + hostname: gitlab-runner-manager.ovss.linaro.org + job: node + targets: + - 35.211.168.99:9100 +- labels: + hostname: deployments.ctt.linaro.org + job: node + targets: + - 35.173.160.211:9100 +- labels: + hostname: runner-cassini.ctt.linaro.org + job: node + targets: + - 35.174.135.224:9100 +- labels: + hostname: bugs.linaro.org + job: node + targets: + - 52.54.108.1:9100 +- labels: + hostname: bugs.96boards.org + job: node + targets: + - 100.25.199.127:9100 +- labels: + hostname: git-ie.linaro.org + job: node + targets: + - 99.81.133.34:9100 +- labels: + hostname: git-ap.linaro.org + job: node + targets: + - 18.136.253.116:9100 +- labels: + hostname: git.morello-project.org + job: node + targets: + - 174.129.105.184:9100 +- labels: + hostname: gerrit.devboardsforandroid.linaro.org + job: node + targets: + - 34.193.93.224:9100 +- labels: + hostname: x86-11 + job: node + targets: + - 88.99.28.12:9100 +- labels: + hostname: x86-12 + job: node + targets: + - 88.99.28.38:9100 +- labels: + hostname: x86-14 + job: node + targets: + - 88.99.149.141:9100 +- labels: + hostname: x86-15 + job: node + targets: + - 95.216.16.165:9100 +- labels: + hostname: ci.linaro.org + job: node + targets: + - 88.99.136.175:9100 +- labels: + hostname: grafana.linaro.org + job: node + targets: + - 18.204.18.151:9100 +- labels: + hostname: git.mlplatform.org + job: node + targets: + - 54.162.62.73:9100 +- labels: + hostname: ci.trustedfirmware.org + job: node + targets: + - 195.154.87.69:9100 +- labels: + hostname: ci.staging.trustedfirmware.org + job: node + targets: + - 3.225.239.230:9100 +- labels: + hostname: mbedtls.trustedfirmware.org + job: node + targets: + - 3.125.233.239:9100 +- labels: + hostname: snapshots.linaro.org + job: node + targets: + - 34.252.32.115:9100 +- labels: + hostname: staging-git.morello-project.org + job: node + targets: + - 34.200.228.165:9100 +- labels: + hostname: aosp-x86-09 + job: node + targets: + - 49.12.133.85:9100 +- labels: + hostname: aosp-x86-10 + job: node + targets: + - 168.119.145.200:9100 +- labels: + hostname: aosp-x86-13 + job: node + targets: + - 95.217.145.175:9100 +- labels: + hostname: x86-07 + job: node + targets: + - 188.40.92.79:9100 +- labels: + hostname: x86-08 + job: node + targets: + - 188.40.49.144:9100 +- labels: + hostname: x86-09 + job: node + targets: + - 148.251.184.94:9100 +- labels: + hostname: x86-10 + job: node + targets: + - 138.201.52.83:9100 +- labels: + hostname: x86-13 + job: node + targets: + - 88.99.59.232:9100 +- labels: + hostname: x86-16 + job: node + targets: + - 62.210.124.13:9100 +- labels: + hostname: x86-TF-01 + job: node + targets: + - 51.159.1.37:9100 +- labels: + hostname: x86-TF-02 + job: node + targets: + - 51.159.20.54:9100 +- labels: + hostname: x86-TF-03 + job: node + targets: + - 51.159.22.224:9100 +- labels: + hostname: x86-TF-04 + job: node + targets: + - 51.159.20.12:9100 +- labels: + hostname: x86-TF-05 + job: node + targets: + - 51.159.20.18:9100 +- labels: + hostname: android-git-ap.linaro.org + job: node + targets: + - 52.76.3.58:9100 +- labels: + hostname: android-git-ie.linaro.org + job: node + targets: + - 52.50.27.47:9100 diff --git a/files/prometheus/grafana.linaro.org/prometheus.yml b/files/prometheus/grafana.linaro.org/prometheus.yml new file mode 100644 index 00000000..ecffbff2 --- /dev/null +++ b/files/prometheus/grafana.linaro.org/prometheus.yml @@ -0,0 +1,141 @@ +# my global config +global: + scrape_interval: 15s + evaluation_interval: 15s + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + # - alertmanager:9093 + # TODO + # - should setup a "systems-slack" rule + # - also optionally post to SNS with the linaro-systems-errors email added + # also, we aren't running a standlone alertmanager on this server currently + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + - "rules/node_alerts.yaml" + - "rules/node_rules.yaml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. + + # Systems Nodes -------------------------------- + # + # auto generated list of nodes from the ansible playbook. See: + # doc/examples/prometheus_parse_inv.py + # + # Note that at some point it might be easier to use tech native SD + # (ie, ec2, scaleway-baremetal, scaleway-instance, hetzner) and then + # track lab with a manually created list of nodes. + - job_name: 'node' + scrape_interval: 60s + scrape_timeout: 30s + file_sd_configs: + - files: + - 'nodes.yaml' + basic_auth: + username: {{ prometheus_scrape_user }} + password: {{ prometheus_scrape_password }} + + # Jenkins Servers -------------------------------- + - job_name: "linaro-jenkins" + scrape_interval: 120s + scrape_timeout: 10s + metrics_path: "/prometheus/" + scheme: https + tls_config: + insecure_skip_verify: true + static_configs: + - targets: ["ci.linaro.org"] + + - job_name: "tf-jenkins" + scrape_interval: 120s + scrape_timeout: 10s + metrics_path: "/prometheus/" + scheme: https + tls_config: + insecure_skip_verify: true + static_configs: + - targets: ["ci.trustedfirmware.org"] + + - job_name: "tf-jenkins-staging" + scrape_interval: 120s + scrape_timeout: 10s + metrics_path: "/prometheus/" + scheme: https + tls_config: + insecure_skip_verify: true + static_configs: + - targets: ["ci.staging.trustedfirmware.org"] + + - job_name: "tf-jenkins-mbedtls" + scrape_interval: 120s + scrape_timeout: 10s + metrics_path: "/prometheus/" + scheme: https + tls_config: + insecure_skip_verify: true + static_configs: + - targets: ["mbedtls.trustedfirmware.org"] + + # LAVA servers ------------------------------- + # + # This is messy due to the fact that we're querying the same + # target, but different metric paths for each lava server. + - job_name: 'lava-linaro' + scrape_interval: 300s + scrape_timeout: 60s + metrics_path: /deployments/monitoring/lava_exporter/validation.linaro.org.prom + scheme: https + static_configs: + - targets: ['linaroltd.gitlab.io'] + + - job_name: 'lava-lkft' + scrape_interval: 300s + scrape_timeout: 60s + metrics_path: /deployments/monitoring/lava_exporter/lkft.validation.linaro.org.prom + scheme: https + static_configs: + - targets: ['linaroltd.gitlab.io'] + + - job_name: 'lava-pmwg' + scrape_interval: 300s + scrape_timeout: 60s + metrics_path: /deployments/monitoring/lava_exporter/pmwg.validation.linaro.org.prom + scheme: https + static_configs: + - targets: ['linaroltd.gitlab.io'] + + - job_name: 'lava-ledge' + scrape_interval: 300s + scrape_timeout: 60s + metrics_path: /deployments/monitoring/lava_exporter/ledge.validation.linaro.org.prom + scheme: https + static_configs: + - targets: ['linaroltd.gitlab.io'] + + - job_name: 'lava-tf' + scrape_interval: 300s + scrape_timeout: 60s + metrics_path: /deployments/monitoring/lava_exporter/tf.validation.linaro.org.prom + scheme: https + static_configs: + - targets: ['linaroltd.gitlab.io'] + + - job_name: 'lava-morello' + scrape_interval: 300s + scrape_timeout: 60s + metrics_path: /deployments/monitoring/lava_exporter/lava.morello-project.org.prom + scheme: https + static_configs: + - targets: ['linaroltd.gitlab.io'] + + # Use a similar pattern to support other file service discovery entries here. + # We should make job_name == department to help keep track of who owns what. + diff --git a/files/publishing/default-publishing-ie.linaro.org.conf b/files/publishing/default-publishing-ie.linaro.org.conf new file mode 100644 index 00000000..98692a5d --- /dev/null +++ b/files/publishing/default-publishing-ie.linaro.org.conf @@ -0,0 +1,24 @@ +<VirtualHost *:80> + ServerName publishing-ie.ctt.linaro.org + ServerAlias publishing-ie.ctt.linaro.org + + RewriteEngine on + RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.*$ + RewriteRule /.* http://releases.linaro.org/ [redirect=301,last] + Include /etc/apache2/linaro/letsencrypt.conf + +</VirtualHost> + +<VirtualHost *:443> + ServerName publishing-ie.ctt.linaro.org + ServerAlias publishing-ie.ctt.linaro.org + + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + + RewriteEngine on + RewriteRule /.* https://releases.linaro.org/ [redirect=301,last] +</VirtualHost> diff --git a/files/publishing/default-snapshots.linaro.org.conf b/files/publishing/default-snapshots.linaro.org.conf new file mode 100644 index 00000000..c9f5e4b7 --- /dev/null +++ b/files/publishing/default-snapshots.linaro.org.conf @@ -0,0 +1,24 @@ +<VirtualHost *:80> + ServerName snapshots.ctt.linaro.org + ServerAlias snapshots.ctt.linaro.org + + RewriteEngine on + RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.*$ + RewriteRule /.* http://snapshots.linaro.org/ [redirect=301,last] + Include /etc/apache2/linaro/letsencrypt.conf + +</VirtualHost> + +<VirtualHost *:443> + ServerName snapshots.ctt.linaro.org + ServerAlias snapshots.ctt.linaro.org + + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + + RewriteEngine on + RewriteRule /.* https://snapshots.linaro.org/ [redirect=301,last] +</VirtualHost> diff --git a/files/publishing/docker-proxy.conf b/files/publishing/docker-proxy.conf new file mode 100644 index 00000000..3ac28351 --- /dev/null +++ b/files/publishing/docker-proxy.conf @@ -0,0 +1,77 @@ +<VirtualHost *:80> + ServerAdmin webmaster@linaro.org + DocumentRoot /srv/{{inventory_hostname}} + + # Disable caching on this server as the app uses AWS signed URLS with + # the timestamp for the expiry embedded in the url + FileETag None + <IfModule mod_headers.c> + Header unset ETag + Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" + Header set Pragma "no-cache" + Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT" + </IfModule> + + ErrorLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-error.log + CustomLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-access.log combined + + ServerName {{inventory_hostname}} +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + + # Admin access should be always over SSL + RewriteEngine On + RewriteRule ^(/admin.*) https://releases.linaro.org$1 [redirect=301,noescape,last] + RewriteRule ^(/login.*) https://releases.linaro.org$1 [redirect=301,noescape,last] + + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} + ProxyPass /.well-known/acme-challenge/ ! + ProxyPass "/" "http://{{inventory_hostname}}:{{llp_port}}/" disablereuse=on + ProxyPassReverse "/" "http://{{inventory_hostname}}" + + Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" + <Directory "/srv/certbot/.well-known/acme-challenge/"> + Require all granted + </Directory> +</VirtualHost> + +<IfModule mod_ssl.c> +<VirtualHost *:443> + ServerAdmin webmaster@linaro.org + DocumentRoot /srv/{{inventory_hostname}} + + # Disable caching on this server as the app uses AWS signed URLS with + # the timestamp for the expiry embedded in the url + FileETag None + <IfModule mod_headers.c> + Header unset ETag + Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" + Header set Pragma "no-cache" + Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT" + </IfModule> + + ErrorLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-error.log + CustomLog ${APACHE_LOG_DIR}/{{inventory_hostname}}-access.log combined + + ServerName {{inventory_hostname}} +{% if apache_aliases is defined %} + ServerAlias {{apache_aliases|join(' ')}} +{% endif %} + + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + + RequestHeader set X-Forwarded-Proto 'https' env=HTTPS + +{% if apache_redirects is defined %} + {{apache_redirects}} +{% endif %} + ProxyPass "/" "http://{{inventory_hostname}}:{{llp_port}}/" disablereuse=on + ProxyPassReverse "/" "https://{{inventory_hostname}}/" +</VirtualHost> +</IfModule> diff --git a/files/publishing/llp-apache-96boards.conf b/files/publishing/llp-apache-96boards.conf index 00ed978f..016b51da 100644 --- a/files/publishing/llp-apache-96boards.conf +++ b/files/publishing/llp-apache-96boards.conf @@ -2,37 +2,34 @@ ServerName builds.96boards.org ServerAlias builds.96boards.org + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + RewriteEngine on RedirectMatch "^/$" "http://releases.linaro.org/96boards" - RedirectMatch "^/snapshots(.*)" "https://snapshots.linaro.org/96boards/$1" - RedirectMatch "^/releases(.*)" "https://releases.linaro.org/96boards/$1" - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/"> - Require all granted - </Directory> - + RedirectMatch "^/snapshots(.*)" "http://snapshots.linaro.org/96boards$1" + RedirectMatch "^/releases(.*)" "http://releases.linaro.org/96boards$1" + Include /etc/apache2/linaro/letsencrypt.conf </VirtualHost> <VirtualHost *:443> ServerName builds.96boards.org ServerAlias builds.96boards.org - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" + Header set Cache-Control private + <FilesMatch ".(jpg|jpeg|png|gif|ico)$"> + Header set Cache-Control "max-age=86400, public" + </FilesMatch> + + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} - SSLCertificateChainFile {{ssl_ca_cert}} + SSLCACertificateFile {{ssl_ca}} - RewriteEngine on - RedirectMatch "^/$" "http://releases.linaro.org/96boards" - RedirectMatch "^/snapshots(.*)" "https://snapshots.linaro.org/96boards/$1" - RedirectMatch "^/releases(.*)" "https://releases.linaro.org/96boards/$1" + RewriteEngine on + RedirectMatch "^/$" "https://releases.linaro.org/96boards" + RedirectMatch "^/snapshots(.*)" "https://snapshots.linaro.org/96boards$1" + RedirectMatch "^/releases(.*)" "https://releases.linaro.org/96boards$1" </VirtualHost> diff --git a/files/publishing/llp-apache-obs.conf b/files/publishing/llp-apache-obs.conf new file mode 100644 index 00000000..bb350378 --- /dev/null +++ b/files/publishing/llp-apache-obs.conf @@ -0,0 +1,39 @@ +<VirtualHost *:80> + ServerName obs.linaro.org + ServerAlias obs.linaro.org + + FileETag None + <IfModule mod_headers.c> + Header unset ETag + Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" + Header set Pragma "no-cache" + Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT" + </IfModule> + + RewriteEngine on + RedirectMatch "^/$" "http://releases.linaro.org/obs/" + RedirectMatch "^/(.*)" "http://releases.linaro.org/obs/$1" + Include /etc/apache2/linaro/letsencrypt.conf +</VirtualHost> + +<VirtualHost *:443> + ServerName obs.linaro.org + ServerAlias obs.linaro.org + + FileETag None + <IfModule mod_headers.c> + Header unset ETag + Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate" + Header set Pragma "no-cache" + Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT" + </IfModule> + + Include /etc/apache2/linaro/settings-ssl.conf + SSLCertificateFile {{ssl_cert}} + SSLCertificateKeyFile {{ssl_key}} + SSLCACertificateFile {{ssl_ca}} + + RewriteEngine on + RedirectMatch "^/$" "https://releases.linaro.org/obs/" + RedirectMatch "^/(.*)" "https://releases.linaro.org/obs/$1" +</VirtualHost> diff --git a/files/publishing/llp-apache-testdata-validation.conf b/files/publishing/llp-apache-testdata-validation.conf deleted file mode 100644 index 17d92d00..00000000 --- a/files/publishing/llp-apache-testdata-validation.conf +++ /dev/null @@ -1,10 +0,0 @@ -<VirtualHost *:80> - ServerName testdata.validation.linaro.org - ServerAlias testdata.validation.linaro.org - - RewriteEngine on - RewriteCond %{HTTP_HOST} ^testdata\.validation\.linaro\.org - RewriteRule ^(.*)$ http://testdata.linaro.org/$1 - -</VirtualHost> - diff --git a/files/publishing/llp-apache.conf b/files/publishing/llp-apache.conf deleted file mode 100644 index c8a6d45b..00000000 --- a/files/publishing/llp-apache.conf +++ /dev/null @@ -1,139 +0,0 @@ -<VirtualHost *:80> - Alias /static/ {{django_app_root}}/static/ - DocumentRoot /srv/{{ hostname }}/www - ServerName {{ publishing_host }} - ServerAlias {{ hostname }} - ServerAdmin webmaster@linaro.org - CustomLog /var/log/apache2/{{ hostname }}-access.log combined env=!dontlog - ErrorLog /var/log/apache2/{{ hostname }}-error.log - - # Admin access should be always over SSL - RewriteEngine On - RewriteRule ^(/admin.*) https://{{hostname}}$1 [redirect=301,noescape,last] - -{% if hostname == 'releases-us.linaro.org' %} - RedirectMatch "/components/toolchain/binaries/gcc-8(.*)" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" - RedirectMatch "/components/toolchain/gcc-linaro/gcc-8(.*)" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" -{% endif %} - - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/"> - Require all granted - </Directory> - - <Directory {{django_app_root}}/static> - <IfVersion < 2.3 > - Order allow,deny - Allow from all - </IfVersion> - <IfVersion >= 2.3> - Require all granted - </IfVersion> - </Directory> - - <Directory /srv/{{ hostname }}/www> - Order deny,allow - Allow from all - </Directory> - - XSendFile on - XSendFilePath /srv/{{ hostname }}/www - - SetEnv SITE_NAME "{{ sitename }}" - SetEnv HOST_NAME "{{ hostname }}" - WSGIScriptAlias / {{django_app_root}}/wsgi_production.py - - SetEnvIf User-Agent "Amazon Route 53 Health Check" dontlog - - <Directory {{django_app_root}}> - <Files wsgi_production.py> - <IfVersion < 2.3 > - Order allow,deny - Allow from all - </IfVersion> - <IfVersion >= 2.3> - Require all granted - </IfVersion> - </Files> - </Directory> - - <Directory /> - IndexOptions NameWidth=* +SuppressDescription - Options +Indexes +FollowSymLinks - IndexIgnore favicon.ico HEADER.html - AllowOverride FileInfo Indexes - </Directory> - -</VirtualHost> - -<VirtualHost *:443> - Alias /static/ {{django_app_root}}/static/ - DocumentRoot /srv/{{ hostname }}/www - ServerName {{ publishing_host }} - ServerAlias {{ hostname }} - ServerAdmin webmaster@linaro.org - CustomLog /var/log/apache2/{{ hostname }}-access.log combined env=!dontlog - ErrorLog /var/log/apache2/{{ hostname }}-error.log - - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - SSLCertificateFile {{ssl_cert}} - SSLCertificateKeyFile {{ssl_key}} - SSLCertificateChainFile {{ssl_ca_cert}} - -{% if hostname == 'releases-us.linaro.org' %} - RedirectMatch "/components/toolchain/binaries/gcc-8(.*)" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" - RedirectMatch "/components/toolchain/gcc-linaro/gcc-8(.*)" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" -{% endif %} - - <Directory {{django_app_root}}/static> - <IfVersion < 2.3 > - Order allow,deny - Allow from all - </IfVersion> - <IfVersion >= 2.3> - Require all granted - </IfVersion> - </Directory> - - <Directory /srv/{{ hostname }}/www> - Order deny,allow - Allow from all - </Directory> - - XSendFile on - XSendFilePath /srv/{{ hostname }}/www - - SetEnv SITE_NAME "{{ sitename }}" - SetEnv HOST_NAME "{{ hostname }}" - WSGIScriptAlias / {{django_app_root}}/wsgi_production.py - - SetEnvIf User-Agent "Amazon Route 53 Health Check" dontlog - - <Directory {{django_app_root}}> - <Files wsgi_production.py> - <IfVersion < 2.3 > - Order allow,deny - Allow from all - </IfVersion> - <IfVersion >= 2.3> - Require all granted - </IfVersion> - </Files> - </Directory> - - <Directory /> - IndexOptions NameWidth=* +SuppressDescription - Options +Indexes +FollowSymLinks - IndexIgnore favicon.ico HEADER.html - AllowOverride FileInfo Indexes - </Directory> - -</VirtualHost> diff --git a/files/publishing/llp-docker-apache.conf b/files/publishing/llp-docker-apache.conf deleted file mode 100644 index 9103143c..00000000 --- a/files/publishing/llp-docker-apache.conf +++ /dev/null @@ -1,33 +0,0 @@ -<VirtualHost *:80> - ServerName {{config}} - ServerAlias {{config}} - ServerAdmin {{email}} - CustomLog /var/log/apache2/{{config}}-access.log combined env=!dontlog - ErrorLog /var/log/apache2/{{config}}-error.log - - ProxyPass / http://localhost:808{{PORT}}/ - ProxyPassReverse / http://localhost:808{{PORT}}/ - - SetEnvIf User-Agent "Amazon Route 53 Health Check" dontlog - - -</VirtualHost> - -<VirtualHost *:443> - ServerName {{config}} - ServerAlias {{config}} - ServerAdmin {{email}} - CustomLog /var/log/apache2/{{config}}-access.log combined env=!dontlog - ErrorLog /var/log/apache2/{{config}}-error.log - - SSLEngine on - SSLCertificateFile /etc/letsencrypt/live/{{config}}/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/{{config}}/privkey.pem - - ProxyPass / http://localhost:808{{PORT}}/ - ProxyPassReverse / http://localhost:808{{PORT}}/ - - SetEnvIf User-Agent "Amazon Route 53 Health Check" dontlog - - -</VirtualHost> diff --git a/files/pxe-kickstart.conf b/files/pxe-kickstart.conf deleted file mode 100644 index c5986771..00000000 --- a/files/pxe-kickstart.conf +++ /dev/null @@ -1,14 +0,0 @@ -<VirtualHost *:80> - ServerAdmin webmaster@localhost - DocumentRoot /data/ - - ErrorLog ${APACHE_LOG_DIR}/error.log - CustomLog ${APACHE_LOG_DIR}/access.log combined - - ScriptAlias "/cgi-bin/" "/data/cgi-bin/" - <Directory "/data"> - Options +Indexes +FollowSymLinks - AllowOverride AuthConfig - Require all granted - </Directory> -</VirtualHost> diff --git a/files/reservations.yml b/files/reservations.yml deleted file mode 100644 index 3ed18f55..00000000 --- a/files/reservations.yml +++ /dev/null @@ -1,71 +0,0 @@ -reservations: - - hosts: [r1-a1, r1-a2, r1-a3] - users: [ben.copeland] - - - hosts: [r1-a5, r1-a9] # containers and vms - users: [ben.copeland] - tags: [ldap] - - - hosts: [r2-a3] - users: [ben.copeland] - - - hosts: [r1-a30, r1-a32, r1-a34, r1-a35, r1-a36, r1-a37, r2-a1, r2-a30, r2-a32, r2-a34] # devcloud - users: [ben.copeland] - tags: [ldap, devcloud] - - - hosts: [r1-a20, r1-a21, r1-a22, r2-a26, r2-a27, r2-a28] # for LLVM - users: [ben.copeland, renato.golin, diana.picus, maxim.kuvyrkov] - - - hosts: [r1-a6] - users: [ben.copeland, tobias.grosser] - - - hosts: [r3-m1] # serial connection to moonshot - users: [ben.copeland] - - - hosts: [r1-a8, r2-a15, r2-a16, r2-a17, r2-a18, r2-a19, r2-a20] - users: [fathi.boudra, ben.copeland] - tags: [ldap] - - - hosts: [r2-a11, r2-a21] - users: [ben.copeland, itaru.kitayama] - - - hosts: [r1-a7, r1-a12] - users: [ben.copeland, victor.chong, bernie.ogden, charles.baylis, christophe.lyon, kugan.vivekanandarajah, omair.javaid, renato.golin, robert.savoye, ryan.arnold, venkataramanan.kumar, yvan.roux, michael.collison, maxim.kuvyrkov, wang.deqiang, jim.wilson, prathamesh.kulkarni, yao.qi, adhemerval.zanella] - - - hosts: [r1-a13] - users: [daniel.stewart, ben.copeland] - - hosts: [r1-a19] - users: [ganesh.raju, ben.copeland] - - - hosts: [r1-a10] - users: [tianon.gravi, ben.copeland] - - - hosts: [r2-a7] - users: [ricardo.salveti] - - - hosts: [r2-a8, r2-a12] - users: [antonio.terceiro] - - - hosts: [r2-a22, r2-a23, r1-a18] # mongo DB - users: [zakhar.kleyman, ernie.hershey, andrew.morrow, brian.mccarthy, ben.copeland] - - - hosts: [r1-a17] - users: [ben.copeland, zhangfei.gao] - - - hosts: [r2-a13] - users: [ben.copeland, anders.roxell] - - - hosts: [r2-a14] - users: [ben.copeland, richard.henwood] - - - hosts: [r2-a24, r2-a9, r2-a2] - users: [andy.doan, ben.copeland, tyler.baker, ricardo.salveti] - - - hosts: [r2-a10, r1-a11, r1-a14, r1-a17] - users: [ben.copeland, eric.vanhensberg, renato.golin] - - - hosts: [r2-a25] - users: [ben.copeland, brad.fitzpatrick] - - - hosts: [r2-a6] - users: [ben.copeland, dan.rue] diff --git a/files/weblogs.linaro.org.conf b/files/weblogs.linaro.org.conf deleted file mode 100644 index f3068181..00000000 --- a/files/weblogs.linaro.org.conf +++ /dev/null @@ -1,56 +0,0 @@ -<VirtualHost *:80> - ServerAdmin its@linaro.org - CustomLog /var/log/apache2/{{inventory_hostname}}.access.log combined - ErrorLog /var/log/apache2/{{inventory_hostname}}.error.log - Redirect / https://{{inventory_hostname}}/restricted -</VirtualHost> - -<VirtualHost *:443> - ServerName {{inventory_hostname}} - ServerAdmin its@linaro.org - - CustomLog /var/log/apache2/{{inventory_hostname}}.access.log combined - ErrorLog /var/log/apache2/{{inventory_hostname}}.error.log - LogLevel warn - - DocumentRoot {{install_base}}/{{inventory_hostname}} - - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLOptions +StdEnvVars - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - - SSLCertificateFile {{ssl_cert}} - SSLCertificateKeyFile {{ssl_key}} - SSLCACertificateFile {{ssl_ca_cert}} - - <Directory "{{install_base}}/{{inventory_hostname}}"> - Require all granted - Options Indexes FollowSymLinks - IndexIgnore /errors - </Directory> - - <Location "/restricted"> - - AuthType Basic - AuthName "{{ inventory_hostname }}" - AuthBasicProvider ldap - - AuthLDAPUrl "{{ apache_ldap_url }}" - AuthLDAPBindDN "{{ apache_ldap_bind }}" - AuthLDAPBindPassword {{ apache_ldap_bind_pwd }} - AuthLDAPRemoteUserAttribute uid - - <RequireAll> - Require valid-user - <RequireAny> - Require ldap-group cn=linaro-login-users,ou=mailing,ou=groups,dc=linaro,dc=org - </RequireAny> - </RequireAll> - </Location> -</VirtualHost> diff --git a/fossology.yml b/fossology.yml deleted file mode 100644 index 3f11c70c..00000000 --- a/fossology.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- -- name: Deploy fossology - hosts: fossology - become: yes - vars_files: - - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" - - "{{secrets_dir}}/group_vars/all" - roles: - - {role: ssh-ldap, tags: [ssh-ldap]} - - {role: postfix, tags: [postfix]} - - {role: docker-deps, tags: [docker-deps]} - - {role: docker-fossology, tags: [docker]} - - {role: certbot, tags: [certbot]} - - {role: apache-site, src: "fossology/fossology.linaro.org.conf", config: "fossology.linaro.org", tags: [apache]} diff --git a/gerrit-mirror.yml b/gerrit-mirror.yml deleted file mode 100644 index 257850b1..00000000 --- a/gerrit-mirror.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- hosts: - - gerrit-mirror - become: yes - gather_facts: no - vars_files: - - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] - roles: - - mirroring-gerrit @@ -9,6 +9,6 @@ - {role: apache-site, src: "apache/{{gerrit_host}}.conf", config: "{{gerrit_host}}", tags: [apache, website-conf] } - {role: apache-auth, host_name: "{{gerrit_host}}", when: server_access == "private", tags: [apache-auth, website-conf]} - {role: git-deps} - - {role: postgres, tags: [gerrit]} - - {role: dovecot-imapd, tags: [imapd]} + - {role: dovecot-imapd, when: skip_dovecot is undefined, tags: [imapd]} + - {role: duplicity, tags: [duplicity], when: inventory_hostname == "review.trustedfirmware.org"} - {role: gerrit, tags: [gerrit]} @@ -13,3 +13,11 @@ - {role: gitolite, when: hosttype == 'git-main', tags: [gitolite]} - {role: cgit, tags: [cgit]} - {role: grokmirror, when: grokmirror_slave or grokmirror_master, tags: [grokmirror]} + +- hosts: + - gerrit_mirror + become: yes + vars_files: + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] + roles: + - {role: mirroring-gerrit, tags: [gerrit-mirror]} diff --git a/gitlab.yml b/gitlab.yml new file mode 100644 index 00000000..6d893dd8 --- /dev/null +++ b/gitlab.yml @@ -0,0 +1,23 @@ +--- +- hosts: + - gitlab + become: yes + vars_files: + - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml"] + - ["{{secrets_dir}}/host_vars/{{ inventory_hostname }}", "vars/empty.yml"] + - ["{{secrets_dir}}/group_vars/ses-proxy"] + + roles: + - {role: docker-gitlab, tags: [gitlab]} + - {role: postfix, tags: [postfix]} + - {role: dovecot-imapd, tags: [imapd], when enable_incoming_mail is defined} + +- hosts: + - gitlab_runner + become: yes + vars_files: + - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml"] + - ["{{secrets_dir}}/host_vars/{{ inventory_hostname }}", "vars/empty.yml"] + roles: + - {role: docker-deps, tags: [docker]} + - {role: gitlab-runner, tags: [gitlab-runner]} diff --git a/grafana.yml b/grafana.yml new file mode 100644 index 00000000..29550d8a --- /dev/null +++ b/grafana.yml @@ -0,0 +1,18 @@ +--- +- hosts: + - grafana + become: yes + vars_files: + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] + - "{{secrets_dir}}/group_vars/all" + - ["{{secrets_dir}}/group_vars/dehydrated", "vars/empty.yml"] + - ["{{secrets_dir}}/group_vars/ses-proxy", "vars/empty.yml"] + - "vars/empty.yml" + roles: + - {role: postgres10, tags: [postgres]} + - {role: postfix, tags: [postfix]} + - {role: apache-auth, host_name: "{{inventory_hostname}}", when: server_access == "private", tags: [apache]} + - {role: apache-site, src: "apache/{{inventory_hostname}}.conf", config: "{{inventory_hostname}}", tags: [apache]} + - {role: dehydrated, tags: [ssl]} + - {role: docker-grafana, tags: [docker,grafana]} + - {role: docker-prometheus, tags: [docker,prometheus]} diff --git a/group_vars/all b/group_vars/all index caa73418..fbfe8990 100644 --- a/group_vars/all +++ b/group_vars/all @@ -1,5 +1,8 @@ +--- # These are global variables, applying to every play +ansible_python_interpreter: auto secrets_dir: secrets +secrets_dir_external: secrets_external install_base: /srv tools_checkout_dir: "{{install_base}}" server_access: public @@ -15,3 +18,26 @@ MANAGED_HEADER: Managed by Ansible - do not change! apache_root: /var/www linaro_git_server: git.linaro.org git_user: git + +# ansible_hostname is collected as a fact when ansible runs on a server, where as inventory_hostname +# is the name by which the server was referred to at the time of invocation. Checks to see if we're +# running on the main host or a vhost. Requires facts to have been gathered. +aliased_host: "{{ (False if (inventory_hostname | regex_search('^'+ansible_hostname)) else True)|bool }}" + +#beats config +logstash_host: elk.linaro.org:5044 +logstash_cert: logstash-beats.crt +monitoring_team: systems + +# ssh-admin +admin_user: ubuntu + +prometheus_scrape_user: prometheus +# passwd in secrets +# since we're using password, let's drop ip restriction +# so we don't lose monitoring on IP change of prom server +prometheus_scrape_ips: + - 0.0.0.0/0 + +# convenience var to see if either docker_compose_host or docker_host set for this server +is_docker_host: "{{ (docker_host is defined and docker_host is true) or (docker_compose_host is defined and docker_compose_host is true) }}" diff --git a/group_vars/android-git b/group_vars/android_git index 1c2f0dfc..1c2f0dfc 100644 --- a/group_vars/android-git +++ b/group_vars/android_git diff --git a/group_vars/apache-auth b/group_vars/apache_auth index f14f3aeb..f14f3aeb 100644 --- a/group_vars/apache-auth +++ b/group_vars/apache_auth diff --git a/group_vars/apache_redirects b/group_vars/apache_redirects new file mode 100644 index 00000000..6bdc8b53 --- /dev/null +++ b/group_vars/apache_redirects @@ -0,0 +1 @@ +no_atom: yes diff --git a/group_vars/aus-colo b/group_vars/aus-colo deleted file mode 100644 index 99430455..00000000 --- a/group_vars/aus-colo +++ /dev/null @@ -1,8 +0,0 @@ -login_groups: - - systems - - aus-colo - - users - -#SSH LDAP -# override the default -ssh_ldap_cache_url: http://10.10.0.1/ldap-files.tgz diff --git a/group_vars/fossology b/group_vars/fossology index 178a4765..07d6a2ca 100644 --- a/group_vars/fossology +++ b/group_vars/fossology @@ -2,12 +2,19 @@ hostname: "{{inventory_hostname}}" apache_user: www-data apache_modules: - - ssl - proxy - proxy_http - rewrite -ssl_cert: /etc/letsencrypt/live/{{hostname}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{hostname}}/privkey.pem + +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - "{{inventory_hostname}}" +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + {{inventory_hostname}} # Docker login_groups: diff --git a/group_vars/gerrit b/group_vars/gerrit index 03fc1bca..864cdc31 100644 --- a/group_vars/gerrit +++ b/group_vars/gerrit @@ -1,8 +1,8 @@ --- -gerrit_plugin_version: 2.15 # Adjust only major version, so 2.12, 2.13 etc. +gerrit_plugin_version: 3.8 # Adjust only major version, so 2.12, 2.13 etc. gerrit_managed: no -gerrit_version: 2.15.6 -gerrit_checksum: md5:f39130e7e335de76c76cd5b13caaab50 +gerrit_version: 3.8.1 +gerrit_checksum: md5:79a1831604ae601ed310ca6a9c66899e gerrit_download_link: https://gerrit-releases.storage.googleapis.com/gerrit-{{gerrit_version}}.war gerrit_root: /srv/gerrit gerrit_config_server_id: "{{ansible_machine_id| default(ansible_date_time.iso8601_micro|to_uuid)}}" @@ -15,7 +15,11 @@ gerrit_included_plugins: - reviewnotes - singleusergroup +apache_modules: + - proxy + - proxy_http + tools_checkout_dir: /srv -db_name: reviewdb www_host: "{{inventory_hostname}}" repo_root: /srv/repositories +postfix_allow_inbound: true diff --git a/group_vars/gerrit_mirror b/group_vars/gerrit_mirror new file mode 100644 index 00000000..8978deae --- /dev/null +++ b/group_vars/gerrit_mirror @@ -0,0 +1,4 @@ +--- +mirror_clone_cronspec: "0 10,22 * * *" +mirror_fetch_cronspec: "0 2,14 * * *" +mirror_push_cronspec: "0 6,18 * * *" diff --git a/group_vars/git b/group_vars/git index e5c3284f..1c862fb7 100644 --- a/group_vars/git +++ b/group_vars/git @@ -3,14 +3,28 @@ host_site_name: Linaro Git Hosting host_site_desc: Git repositories hosted by Linaro has_gerrit: true repo_root: "{{install_base}}/repositories" +docker_compose_host: true + +login_groups: + - systems + - git + - its + - it-support-bot + +local_user_group: "ubuntu ctt-debug" + +sudo_groups: + - systems + - its + - ctt-debug git_host: git.linaro.org gerrit_root: /srv/gerrit -gitolite_help_url: https://wiki.linaro.org/Platform/Systems/Git +gitolite_help_url: https://linaro.atlassian.net/wiki/spaces/SYS/pages/22529841469/Public+Git+Server gitolite_rev: 731d5521bb9d5294cf75aa6b8e4e18b135a49f3f -gitolite_admin_name: paul.sokolovsky +gitolite_admin_name: systems-bot # grokmirror options grokmirror_slave: false diff --git a/group_vars/gitlab b/group_vars/gitlab new file mode 100644 index 00000000..f90ac172 --- /dev/null +++ b/group_vars/gitlab @@ -0,0 +1,2 @@ +--- +docker_host: true diff --git a/group_vars/gitlab_runner b/group_vars/gitlab_runner new file mode 100644 index 00000000..f90ac172 --- /dev/null +++ b/group_vars/gitlab_runner @@ -0,0 +1,2 @@ +--- +docker_host: true diff --git a/group_vars/grafana b/group_vars/grafana new file mode 100644 index 00000000..8fc30f18 --- /dev/null +++ b/group_vars/grafana @@ -0,0 +1,6 @@ +--- +grafana_image_name: grafana/grafana +grafana_container_name: grafana +grafana_port: 3000 + +docker_compose_host: true diff --git a/group_vars/jenkins_master b/group_vars/jenkins_master index 171b7582..f4195183 100644 --- a/group_vars/jenkins_master +++ b/group_vars/jenkins_master @@ -2,12 +2,20 @@ hostname: "{{inventory_hostname}}" apache_user: www-data apache_modules: - - ssl - proxy - proxy_http - rewrite -ssl_cert: /etc/letsencrypt/live/{{hostname}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{hostname}}/privkey.pem + +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - "{{inventory_hostname}}" +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + {{inventory_hostname}} + # Firewall @@ -16,11 +24,18 @@ ufw_open_ports: - 80 - 443 - 3128 - - 2222 - - 2020 # tcwg-ssh-proxy - - 50000 + +ufw_open_docker_ports: + - "0.0.0.0/0:2020"# tcwg-ssh-proxy + - "0.0.0.0/0:2222" + - "0.0.0.0/0:2223" + - "0.0.0.0/0:2376" + - "0.0.0.0/0:8080" + - "0.0.0.0/0:50000" # Docker +docker_host: true + jenkins_master_image: 'linaro/ci-x86_64-jenkins-master-debian:lts' jenkins_master_container_name: 'jenkins' jenkins_master_data_container_name: 'jenkins_data' @@ -31,6 +46,8 @@ jenkins_master_slaves_port: '2233' jenkins_master_sshd_port: '2222' jenkins_jnlp_port: '50000' +jenkins_java_opts: "-server -Xmx8192m -XX:+AlwaysPreTouch -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/jenkins/heapdump.log -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -XX:MaxMetaspaceExpansion=64M -Djenkins.model.Jenkins.logStartupPerformance=true -Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000" + login_groups: - systems - team-builds-and-baselines @@ -39,7 +56,9 @@ sudo_groups: - systems - users +nfs_client_group: "jenkins_slaves_hetzner" nfs_exports: - name: "buildslave" path: "/var/data/nfs" options: "(rw,sync,no_subtree_check,no_root_squash)" + cleanup: "find /var/data/nfs/oe -not -path /var/data/nfs/oe/downloads -atime +40 -delete" diff --git a/group_vars/jenkins_slaves b/group_vars/jenkins_slaves index eb4fb5c5..a17b792f 100644 --- a/group_vars/jenkins_slaves +++ b/group_vars/jenkins_slaves @@ -3,6 +3,7 @@ login_groups: - team-builds-and-baselines - buildslave - ssh_access_jenkins_slaves + - ubuntu sudo_groups: - systems @@ -12,9 +13,10 @@ docker_group_user: - ben.copeland - fathi.boudra - kelley.spoon - - riku.voipio - buildslave +docker_host: yes + docker_engine_opts: - "-H tcp://0.0.0.0:2375" - "-H unix:///var/run/docker.sock" @@ -27,3 +29,9 @@ docker_engine_opts: ufw_open_ports: - 22 + +ufw_open_docker_ports: + - "any:22" # allow jenkins to ssh into docker containers + +jenkins_ip: 88.99.136.175 +jenkins_ip_staging: 127.0.0.1 # blank diff --git a/group_vars/jenkins_slaves_hetzner b/group_vars/jenkins_slaves_hetzner index 50a7e59b..1d270553 100644 --- a/group_vars/jenkins_slaves_hetzner +++ b/group_vars/jenkins_slaves_hetzner @@ -1,5 +1,7 @@ nfs_client_mount: - path: /home/buildslave/srv/oe src: 88.99.136.175:/var/data/nfs/oe + fstype: nfs opts: rw,noatime,vers=4.2,hard,intr state: mounted +docker_host: true diff --git a/group_vars/jenkins_slaves_online b/group_vars/jenkins_slaves_online new file mode 100644 index 00000000..f90ac172 --- /dev/null +++ b/group_vars/jenkins_slaves_online @@ -0,0 +1,2 @@ +--- +docker_host: true diff --git a/group_vars/jenkins_slaves_simple b/group_vars/jenkins_slaves_simple index ce73c756..49187be8 100644 --- a/group_vars/jenkins_slaves_simple +++ b/group_vars/jenkins_slaves_simple @@ -1,6 +1,8 @@ docker_group_user: - ci-admin +docker_compose_host: true + docker_engine_opts: - "-H tcp://0.0.0.0:2375" - "-H unix:///var/run/docker.sock" diff --git a/group_vars/jenkins_tf_master b/group_vars/jenkins_tf_master deleted file mode 100644 index ab052705..00000000 --- a/group_vars/jenkins_tf_master +++ /dev/null @@ -1,31 +0,0 @@ -# Apache -hostname: "{{inventory_hostname}}" -apache_user: www-data -apache_modules: - - ssl - - proxy - - proxy_http - - rewrite -ssl_cert: /etc/dehydrated/certs/{{hostname}}/fullchain.pem -ssl_key: /etc/dehydrated/certs/{{hostname}}/privkey.pem -ssl_ca: "{{ssl_cert}}" - -# Docker -jenkins_master_image: 'trustedfirmware/jenkins-master:latest' -jenkins_master_container_name: 'jenkins' -jenkins_master_data_container_name: 'jenkins_data' -jenkins_master_data_volume: '/srv/jenkins' - -jenkins_master_port: '8080' -jenkins_master_slaves_port: '2233' -jenkins_master_sshd_port: '2222' -jenkins_jnlp_port: '50000' - -login_groups: - - systems - - team-builds-and-baselines - -sudo_groups: - - systems - - users - diff --git a/group_vars/patchwork b/group_vars/patchwork index 79cf2086..bba82b80 100644 --- a/group_vars/patchwork +++ b/group_vars/patchwork @@ -4,14 +4,20 @@ db_password: patchwork hostname: "{{inventory_hostname}}" apache_user: www-data apache_modules: - - ssl - wsgi - rewrite django_project_repo: "https://github.com/getpatchwork/patchwork.git" -django_project_version: v2.0.1 +django_project_version: v2.2.4 django_settings: local_settings django_local_settings: patchwork/{{inventory_hostname}}_local_settings.py install_base: /srv -ssl_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{inventory_hostname}}/privkey.pem -ssl_ca_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem + +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - "{{inventory_hostname}}" +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + {{inventory_hostname}} diff --git a/group_vars/publishing b/group_vars/publishing index e031beef..bbb696a5 100644 --- a/group_vars/publishing +++ b/group_vars/publishing @@ -1,28 +1,25 @@ -apache_user: www-data -django_project_repo: http://git.linaro.org/git/infrastructure/linaro-license-protection.git -django_project_version: HEAD -django_settings: settings_production +--- +# Apache hostname: "{{inventory_hostname}}" sitename: "{{hostname}}" +apache_user: www-data +apache_modules: + - ssl + - proxy + - proxy_http + - rewrite + +login_groups: + - systems + - team-builds-and-baselines + +sudo_groups: + - systems + - users process_report: false s3_sanity: false s3_purge: false -# Permanently deletes S3 files -s3_purge_delete: false -s3_purge_delete_releases: false - - -ssl_cert: /etc/ssl/certs/wildcard.linaro.org.crt -ssl_key: /etc/ssl/private/wildcard.linaro.org.key -ssl_ca_cert: /etc/ssl/certs/gd_bundle-g2-g1.pem - -apache_modules_disable: - - mpm_prefork - -apache_modules: - - ssl - - wsgi - - xsendfile - - rewrite - - mpm_worker +s3_purge_releases: false +# Cleans up expired tokens in the DB +token_cleanup: false diff --git a/group_vars/publishing-docker b/group_vars/publishing_docker index 7c0ac3c0..2654d78d 100644 --- a/group_vars/publishing-docker +++ b/group_vars/publishing_docker @@ -8,13 +8,10 @@ apache_modules: - rewrite # Docker +docker_host: yes llp_docker_image: 'linaro/ci-amd64-llp-alpine' llp_port: '8080' -ssl_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{inventory_hostname}}/privkey.pem -ssl_ca_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem - login_groups: - systems - team-builds-and-baselines diff --git a/group_vars/publishing_docker_site b/group_vars/publishing_docker_site new file mode 100644 index 00000000..0cbcfb19 --- /dev/null +++ b/group_vars/publishing_docker_site @@ -0,0 +1,14 @@ +--- +hostname: "{{inventory_hostname}}" +sitename: "{{hostname}}" + +process_report: false +s3_sanity: false +s3_purge: false +s3_purge_releases: false +# Cleans up expired tokens in the DB +token_cleanup: false + +llp_port: 8080 +llp_docker_image: 'linaro/ci-amd64-llp-alpine' +no_atom: yes diff --git a/group_vars/weblogs b/group_vars/weblogs deleted file mode 100644 index 46abb112..00000000 --- a/group_vars/weblogs +++ /dev/null @@ -1,2 +0,0 @@ -django_project_repo: http://git.linaro.org/git/infrastructure/linaro-license-protection.git -django_project_version: HEAD diff --git a/host_vars/aarch64-09 b/host_vars/aarch64-09 new file mode 100644 index 00000000..0c6753f8 --- /dev/null +++ b/host_vars/aarch64-09 @@ -0,0 +1,38 @@ +--- +gitlab_runner_url: + linaro: https://gitlab.com/ + linaroltd: https://gitlab.com/ + lava: https://gitlab.com/ + +gitlab_executor: docker + +gitlab_runners: + - linaro + - linaroltd + - lava + +docker_compose_host: true + +login_groups: + - systems + - team-builds-and-baselines + - buildslave + - ssh_access_jenkins_slaves + - ubuntu + - lava-lab + - tuxsuite + +sudo_groups: + - systems + - team-builds-and-baselines + - ubuntu + - lava-lab + - tuxsuite + +lava_dispatcher_hostname: lkft-remote-qemu-arm01 +lava_server_hostname: lkft.validation.linaro.org + +docker_machine_url: https://gitlab-docker-machine-downloads.s3.amazonaws.com/v0.16.2-gitlab.19/docker-machine-Linux-aarch64 +docker_machine_sha: sha256:570856722b9bd0f69317e8cbfc906d04b40658857ed65a152ab23abb3e9bcaea + + diff --git a/host_vars/aarch64-10 b/host_vars/aarch64-10 new file mode 100644 index 00000000..d3996088 --- /dev/null +++ b/host_vars/aarch64-10 @@ -0,0 +1,24 @@ +gitlab_runner_url: + lkft: https://gitlab.com/ + qcom: https://gitlab.com/ + tuxmake: https://gitlab.com/ + kir: https://gitlab.com/ + lava-test-plans: https://gitlab.com/ + tuxsuite: https://gitlab.com/ + lavasoftware: https://git.lavasoftware.org/ + +gitlab_executor: docker + +gitlab_runners: + - lkft + - qcom + - tuxmake + - kir + - lava-test-plans + - tuxsuite + - lavasoftware + +docker_compose_host: true + +lava_dispatcher_hostname: lkft-snow-qemu01 +lava_server_hostname: lkft.validation.linaro.org diff --git a/host_vars/aarch64_08 b/host_vars/aarch64_08 deleted file mode 100644 index e8eab2c0..00000000 --- a/host_vars/aarch64_08 +++ /dev/null @@ -1,5 +0,0 @@ -OBS_IP: 64.28.99.162 -OBS_JOBS: 64 -OBS_PORT: 5454 -OBS_TMPFS: 80000 - diff --git a/host_vars/android-git-ap.linaro.org b/host_vars/android-git-ap.linaro.org index c2f6f83b..6e9a16ef 100644 --- a/host_vars/android-git-ap.linaro.org +++ b/host_vars/android-git-ap.linaro.org @@ -12,3 +12,4 @@ dehydrated_dns_domains: dehydrated_domains_txt: | android-git.linaro.org android-git-ap.linaro.org android-git.linaro.org +ssh_ldap_uri: ldap://login.linaro.org diff --git a/host_vars/android-git-ie.linaro.org b/host_vars/android-git-ie.linaro.org index 776a54c8..5e275792 100644 --- a/host_vars/android-git-ie.linaro.org +++ b/host_vars/android-git-ie.linaro.org @@ -12,3 +12,5 @@ dehydrated_dns_domains: dehydrated_domains_txt: | android-git.linaro.org android-git-ie.linaro.org android-git.linaro.org + +ssh_ldap_uri: ldap://login.linaro.org diff --git a/host_vars/android-git-us.linaro.org b/host_vars/android-git-us.linaro.org index 236917cf..f5688bce 100644 --- a/host_vars/android-git-us.linaro.org +++ b/host_vars/android-git-us.linaro.org @@ -11,6 +11,7 @@ dehydrated_http_domains: - android.git.linaro.org - android-us.linaro.org - android-review.linaro.org + - android-git-us.ctt.linaro.org dehydrated_dns_domains: - android-git.linaro.org @@ -18,4 +19,6 @@ dehydrated_dns_domains: dehydrated_domains_txt: | android-git.linaro.org android-review.linaro.org - android-git-us.linaro.org android.git.linaro.org android-us.linaro.org android-git.linaro.org + android-git-us.linaro.org android.git.linaro.org android-us.linaro.org android-git.linaro.org android-git-us.ctt.linaro.org + +ssh_ldap_uri: ldaps://login.linaro.org diff --git a/host_vars/android-review.linaro.org b/host_vars/android-review.linaro.org index a9bb0c3b..fa123f9e 100644 --- a/host_vars/android-review.linaro.org +++ b/host_vars/android-review.linaro.org @@ -1,3 +1,4 @@ +--- hosttype: git-review server_role: git-review db_user: gerrit2 @@ -5,8 +6,18 @@ gerrit_host: android-review.linaro.org host_site_name: Linaro Android Code Review grokmirror_master: true gerrit_managed: yes +gerrit_mem: 17000m +gerrit_config_server_id: a4163a8149697d974147442c0000013a dovecot_user: "{{gerrit_config_dovecot_user}}" dovecot_password: "{{gerrit_config_dovecot_password}}" ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem ssl_ca: "{{ssl_cert}}" + +apache_ldap_uri: ldaps://login.linaro.org +ssh_ldap_uri: ldaps://login.linaro.org + +postfix_destinations: ["android-review.linaro.org","android-git-us.linaro.org"] +postfix_hostname: "android-review.linaro.org" + +no_atom: yes diff --git a/host_vars/android.linaro.org b/host_vars/android.linaro.org index 72730f53..d0e9aaaf 100644 --- a/host_vars/android.linaro.org +++ b/host_vars/android.linaro.org @@ -1,3 +1,16 @@ +--- +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - android.linaro.org + +dehydrated_dns_domains: [] + +dehydrated_domains_txt: | + android.linaro.org + login_groups: - systems - android-internal diff --git a/host_vars/armhf-01 b/host_vars/armhf-01 deleted file mode 100644 index 69ed5619..00000000 --- a/host_vars/armhf-01 +++ /dev/null @@ -1,5 +0,0 @@ -OBS_IP: 64.28.99.162 -OBS_JOBS: 4 -OBS_PORT: 5454 -OBS_TMPFS: 0 -scaleway: yes diff --git a/host_vars/bugs.96boards.org b/host_vars/bugs.96boards.org new file mode 100644 index 00000000..2cb9bab6 --- /dev/null +++ b/host_vars/bugs.96boards.org @@ -0,0 +1,3 @@ +--- +postfix_allow_inbound: true +mailbox_command: procmail -a "$EXTENSION" diff --git a/host_vars/bugs.linaro.org b/host_vars/bugs.linaro.org new file mode 100644 index 00000000..67b1708e --- /dev/null +++ b/host_vars/bugs.linaro.org @@ -0,0 +1,12 @@ +--- +postfix_allow_inbound: true +mailbox_command: procmail -a "$EXTENSION" + +dehydrated_http_domains: + - bugs.linaro.org + - bugs.ctt.linaro.org + +dehydrated_dns_domains: [] + +dehydrated_domains_txt: | + bugs.linaro.org bugs.ctt.linaro.org diff --git a/host_vars/buildkite.ctt.linaro.org b/host_vars/buildkite.ctt.linaro.org new file mode 100644 index 00000000..8123a7ac --- /dev/null +++ b/host_vars/buildkite.ctt.linaro.org @@ -0,0 +1,15 @@ +--- +login_groups: + - systems + - its + - linaro-engineering + - ubuntu + +sudo_groups: + - systems + - its + +sudoers: + - mathieu.poirier + +docker_host: true diff --git a/host_vars/builds.96boards.org b/host_vars/builds.96boards.org index adaeb385..c2ee236b 100644 --- a/host_vars/builds.96boards.org +++ b/host_vars/builds.96boards.org @@ -2,10 +2,7 @@ sitename: 96 Boards Builds secrets_file: 96boards-secrets.py header_override: 96boards_header.html -ssl_cert: /etc/ssl/certs/wildcard.96boards.org.crt -ssl_key: /etc/ssl/private/wildcard.96boards.org.key -ssl_ca_cert: /etc/ssl/certs/gd_bundle-g2-g1.pem +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" -process_report: true -s3_purge: true -s3_purge_options: "--prefix=production/snapshots"
\ No newline at end of file diff --git a/host_vars/ci.linaro.org b/host_vars/ci.linaro.org new file mode 100644 index 00000000..567d9c5d --- /dev/null +++ b/host_vars/ci.linaro.org @@ -0,0 +1,72 @@ + +jenkins_ssh_known_hosts: "ssh/known_hosts" +jenkins_etc_hosts: + { + "bkp-01.tcwglab":"192.168.17.22", + "bkp-01.tcwglab.linaro.org":"51.148.40.55", + "build-01.tcwglab tcwg-x86_64-build-01.tcwglab":"192.168.16.5", + "build-02.tcwglab tcwg-x86_64-build-02.tcwglab":"192.168.16.6", + "build-03.tcwglab tcwg-x86_64-build-03.tcwglab":"192.168.16.7", + "build-04.tcwglab tcwg-x86_64-build-04.tcwglab":"192.168.16.8", + "build-05.tcwglab tcwg-x86_64-build-05.tcwglab":"192.168.16.9", + "build-06.tcwglab tcwg-x86_64-build-06.tcwglab":"192.168.16.10", + "build-07.tcwglab tcwg-x86_64-build-07.tcwglab":"192.168.16.11", + "build-08.tcwglab tcwg-x86_64-build-08.tcwglab":"192.168.16.12", + "build-09.tcwglab tcwg-x86_64-build-09.tcwglab":"192.168.16.13", + "build-10.tcwglab tcwg-x86_64-build-10.tcwglab":"192.168.16.14", + "dev-01.tcwglab tcwg-x86_64-dev-01.tcwglab":"192.168.17.10", + "dev-02.tcwglab tcwg-x86_64-dev-02.tcwglab":"192.168.17.15", + "linaro-armv8-01.tcwglab tcwg-llvmbot_d05-01.tcwglab":"147.75.199.202", + "linaro-thx1-01.tcwglab tcwg-llvmbot_thx1-01.tcwglab":"147.75.195.254", + "llvm-apm-test-01.tcwglab tcwg-llvm_apm-01.tcwglab":"192.168.16.70", + "llvm-tk1-01.tcwglab tcwg-llvmbot_tk1-01.tcwglab":"192.168.18.1", + "llvm-tk1-02.tcwglab tcwg-llvmbot_tk1-02.tcwglab":"192.168.18.2", + "llvm-tk1-03.tcwglab tcwg-llvmbot_tk1-03.tcwglab":"192.168.18.3", + "llvm-tk1-04.tcwglab tcwg-llvmbot_tk1-04.tcwglab":"192.168.18.4", + "llvm-tk1-05.tcwglab tcwg-llvmbot_tk1-05.tcwglab":"192.168.18.5", + "llvm-tk1-06.tcwglab tcwg-llvmbot_tk1-06.tcwglab":"192.168.18.6", + "llvm-tk1-07.tcwglab tcwg-llvmbot_tk1-07.tcwglab":"192.168.18.7", + "llvm-tk1-08.tcwglab tcwg-llvmbot_tk1-08.tcwglab":"192.168.18.8", + "llvm-tk1-09.tcwglab tcwg-llvmbot_tk1-09.tcwglab":"192.168.18.9", + "llvm-tk1-test-01.tcwglab tcwg-llvm_tk1-01.tcwglab":"192.168.18.51", + "tcwg-amp-01.tcwglab":"139.178.82.90", + "tcwg-amp-02.tcwglab":"139.178.83.86", + "tcwg-apm-01.tcwglab":"192.168.16.20", + "tcwg-apm-02.tcwglab":"192.168.16.21", + "tcwg-apm-03.tcwglab":"192.168.16.24", + "tcwg-apm-04.tcwglab":"192.168.16.25", + "tcwg-d05-01.tcwglab":"147.75.106.138", + "tcwg-ex40-01.tcwglab":"148.251.136.42", + "tcwg-ex42-01.tcwglab":"95.216.72.225", + "tcwg-juno-01.tcwglab":"192.168.16.51", + "tcwg-m1-01.tcwglab":"213.146.141.80", + "tcwg-m1-02.tcwglab":"213.146.141.115", + "tcwg-m1-03.tcwglab":"213.146.141.96", + "tcwg-m1-04.tcwglab":"213.146.141.34", + "tcwg-sq-01.tcwglab":"192.168.16.41", + "tcwg-sq-02.tcwglab":"192.168.16.42", + "tcwg-thx1-01.tcwglab":"147.75.77.198", + "tcwg-tk1-01.tcwglab":"192.168.18.151", + "tcwg-tk1-02.tcwglab":"192.168.18.152", + "tcwg-tk1-03.tcwglab":"192.168.18.153", + "tcwg-tk1-04.tcwglab":"192.168.18.154", + "tcwg-tk1-05.tcwglab":"192.168.18.155", + "tcwg-tk1-06.tcwglab":"192.168.18.156", + "tcwg-tk1-07.tcwglab":"192.168.18.157", + "tcwg-tk1-08.tcwglab":"192.168.18.158", + "tcwg-tk1-09.tcwglab":"192.168.18.159", + "tcwg-tk1-10.tcwglab":"192.168.18.199", + "tcwg-tx1-01.tcwglab":"192.168.18.101", + "tcwg-tx1-02.tcwglab":"192.168.18.102", + "tcwg-tx1-03.tcwglab":"192.168.18.103", + "tcwg-tx1-04.tcwglab":"192.168.18.104", + "tcwg-tx1-05.tcwglab":"192.168.18.105", + "tcwg-tx1-06.tcwglab":"192.168.18.106", + "tcwg-tx1-07.tcwglab":"192.168.18.107", + "tcwg-tx1-08.tcwglab":"192.168.18.108", + "tcwg-tx1-09.tcwglab":"192.168.18.198", + "git.kernel.org":"139.178.84.217", + "gitlab.com":"172.65.251.78", + "staging-git.codelinaro.org":"13.248.132.111", + } + diff --git a/host_vars/ci.staging.trustedfirmware.org b/host_vars/ci.staging.trustedfirmware.org new file mode 100644 index 00000000..44a62389 --- /dev/null +++ b/host_vars/ci.staging.trustedfirmware.org @@ -0,0 +1,41 @@ +--- +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - "{{inventory_hostname}}" + - ci-builds.staging.trustedfirmware.org + - docs.staging.trustedfirmware.org +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + {{inventory_hostname}} ci-builds.staging.trustedfirmware.org docs.staging.trustedfirmware.org + +# Docker +jenkins_master_image: 'trustedfirmware/ci-x86_64-jenkins-master-debian:lts' +jenkins_master_container_name: 'jenkins' +jenkins_master_data_container_name: 'jenkins_data' +jenkins_master_data_volume: '/srv/jenkins' + +jenkins_master_port: '8080' +jenkins_master_slaves_port: '2233' +jenkins_master_sshd_port: '2222' +jenkins_jnlp_port: '50000' +jenkins_ssh_known_hosts: "ssh/known_hosts_tf" + +jenkins_java_opts: "-server -Xmx8192m -XX:+AlwaysPreTouch -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/jenkins/heapdump.log -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -XX:MaxMetaspaceExpansion=64M -Djenkins.model.Jenkins.logStartupPerformance=true -Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000" + +login_groups: + - systems + - ubuntu + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure + +jenkins_ports: + - "{{ jenkins_master_port }}" + - "{{ jenkins_master_sshd_port }}" + - "{{ jenkins_master_slaves_port }}" + - "{{ jenkins_jnlp_port }}" diff --git a/host_vars/ci.trustedfirmware.org b/host_vars/ci.trustedfirmware.org index 6f3a7ce2..205cdccc 100644 --- a/host_vars/ci.trustedfirmware.org +++ b/host_vars/ci.trustedfirmware.org @@ -1,10 +1,47 @@ --- +ansible_python_interpreter: /usr/bin/python3 +docker_host: true + ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem -ssl_ca_cert: "{{ssl_cert}}" +ssl_ca: "{{ssl_cert}}" dehydrated_http_domains: - "{{inventory_hostname}}" + - ci-builds.trustedfirmware.org + - tf-m-reference.trustedfirmware.org + - tf-m-user-guide.trustedfirmware.org dehydrated_dns_domains: [] dehydrated_domains_txt: | - {{inventory_hostname}} + {{inventory_hostname}} ci-builds.trustedfirmware.org tf-m-reference.trustedfirmware.org tf-m-user-guide.trustedfirmware.org + +# Docker +jenkins_master_image: 'trustedfirmware/ci-x86_64-jenkins-master-debian:lts' +jenkins_master_container_name: 'jenkins' +jenkins_master_data_container_name: 'jenkins_data' +jenkins_master_data_volume: '/srv/jenkins' + +jenkins_master_port: '8080' +jenkins_master_slaves_port: '2233' +jenkins_master_sshd_port: '2222' +jenkins_jnlp_port: '50000' +jenkins_ssh_known_hosts: "ssh/known_hosts_tf" + +jenkins_java_opts: "-server -Xmx8192m -XX:+AlwaysPreTouch -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/jenkins/heapdump.log -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -XX:MaxMetaspaceExpansion=64M -Djenkins.model.Jenkins.logStartupPerformance=true -Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000 -Dhudson.util.AtomicFileWriter.DISABLE_FORCED_FLUSH=true" + +login_groups: + - systems + - ubuntu + - trustedfirmware-flexnet + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure + +jenkins_ports: + - "{{ jenkins_master_port }}" + - "{{ jenkins_master_sshd_port }}" + - "{{ jenkins_master_slaves_port }}" + - "{{ jenkins_jnlp_port }}" + diff --git a/host_vars/deployments.ctt.linaro.org b/host_vars/deployments.ctt.linaro.org new file mode 100644 index 00000000..77930767 --- /dev/null +++ b/host_vars/deployments.ctt.linaro.org @@ -0,0 +1,17 @@ +--- +# copied from /admin/runners +gitlab_runner_url: + original: https://gitlab.com/ +gitlab_executor: docker + +gitlab_runners: + - original + +login_groups: + - systems + - its + - ubuntu + +sudo_groups: + - systems + - its diff --git a/host_vars/dev-private-git.linaro.org b/host_vars/dev-private-git.linaro.org index 6378eaf4..ae5a9645 100644 --- a/host_vars/dev-private-git.linaro.org +++ b/host_vars/dev-private-git.linaro.org @@ -3,7 +3,7 @@ hosttype: git-main git_host: dev-private-git.linaro.org host_site_name: Linaro Private Git Hosting security_groups: linaro-login-users -gitolite_help_url: https://wiki.linaro.org/Internal/Platform/Systems/GitPrivate +gitolite_help_url: https://linaro.atlassian.net/wiki/spaces/SYS/pages/22526329597/Private+Git+and+Gerrit mirror_fetch_cronspec: "0 0,6,12,18 * * *" mirror_push_cronspec: "0 2,8,14,20 * * *" @@ -32,9 +32,34 @@ dehydrated_http_domains: - northstar-git.linaro.org - socionext-customer-git.linaro.org - acadine-git.linaro.org + - dev-private-git.ctt.linaro.org dehydrated_dns_domains: [] dehydrated_domains_txt: | - dev-private-git.linaro.org zte.git.linaro.org zte-git.linaro.org northstar-git.linaro.org socionext-customer-git.linaro.org acadine-git.linaro.org - dev-private-review.linaro.org + dev-private-git.linaro.org zte.git.linaro.org zte-git.linaro.org northstar-git.linaro.org socionext-customer-git.linaro.org acadine-git.linaro.org dev-private-git.ctt.linaro.org + dev-private-review.linaro.org dev-private-git.ctt.linaro.org + +cgit_hide_repos: + - All-Users.git + - All-Projects.git + - Aes-Projects.git + - All-Users-Projects.git + - Android-Internal-Projects.git + - Android-Projects.git + - AndroidPdk-Projects.git + - DevOps-Projects.git + - EAS-Projects.git + - GitPM-Projects.git + - LinaroArt-Projects.git + - Northstar-Projects.git + - Qualcomm-Landing-Team-Project.git + - Restricted-Benchmarks-Projects.git + - Schneider-Projects.git + - Systems-Projects.git + - TCWG-Projects.git + - Titan-Projects.git + - Widevine-Projects.git + - ZTE-Projects.git + - gitolite-admin.git + - systems-projects.git diff --git a/host_vars/dev-private-review.linaro.org b/host_vars/dev-private-review.linaro.org index f6d7a013..f832e414 100644 --- a/host_vars/dev-private-review.linaro.org +++ b/host_vars/dev-private-review.linaro.org @@ -1,3 +1,4 @@ +--- apache_ldap_bind: cn=git-private,ou=binders,dc=linaro,dc=org hosttype: git-review server_role: git-review @@ -6,8 +7,15 @@ gerrit_host: dev-private-review.linaro.org host_site_name: Linaro Private Git Hosting server_access: private gerrit_managed: yes +gerrit_mem: 7500m +gerrit_config_server_id: de1a279aa3260ca21c75df8e534ecb4d dovecot_user: "{{gerrit_config_dovecot_user}}" dovecot_password: "{{gerrit_config_dovecot_password}}" ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem ssl_ca: "{{ssl_cert}}" ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem + +postfix_destinations: ["dev-private-review.linaro.org","dev-private-git-us.linaro.org"] +postfix_hostname: "dev-private-review.linaro.org" + +no_atom: yes diff --git a/host_vars/developer.trustedfirmware.org b/host_vars/developer.trustedfirmware.org index 7848a965..71f1e24a 100644 --- a/host_vars/developer.trustedfirmware.org +++ b/host_vars/developer.trustedfirmware.org @@ -1,12 +1,25 @@ --- -ssl_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{inventory_hostname}}/privkey.pem -ssl_ca: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem -certbot_domains: ["developer.trustedfirmware.org","issues.trustedfirmware.org"] +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - developer.trustedfirmware.org + - issues.trustedfirmware.org + +dehydrated_dns_domains: [] + +dehydrated_domains_txt: | + developer.trustedfirmware.org issues.trustedfirmware.org login_groups: - - systems - its + - systems + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure postfix_hostname: developer.trustedfirmware.org postfix_destinations: ["developer.trustedfirmware.org","issues.trustedfirmware.org"] diff --git a/host_vars/eclair.trustedfirmware.org b/host_vars/eclair.trustedfirmware.org new file mode 100644 index 00000000..a1e08533 --- /dev/null +++ b/host_vars/eclair.trustedfirmware.org @@ -0,0 +1,59 @@ +--- +login_groups: + - systems + - ubuntu + - trustedfirmware-flexnet + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure + +docker_host: true + +flexnet_access: + - 51.159.20.54 + - 51.159.1.37 + - 51.148.40.7 + - 51.159.22.224 + - 51.159.20.12 + +ufw_open_ports: + - 22 + +ufw_open_docker_ports: +# x86-TF-01 + - "51.159.1.37:1947" + - "51.159.1.37:2080" + - "51.159.1.37:27000" + - "51.159.1.37:27020" +# x86-TF-02 + - "51.159.20.54:1947" + - "51.159.20.54:2080" + - "51.159.20.54:27000" + - "51.159.20.54:27020" +# x86-TF-03 + - "51.159.22.224:1947" + - "51.159.22.224:2080" + - "51.159.22.224:27000" + - "51.159.22.224:27020" +# x86-TF-04 + - "51.159.20.12:1947" + - "51.159.20.12:2080" + - "51.159.20.12:27000" + - "51.159.20.12:27020" +# Lab + - "51.148.40.7:1947" + - "51.148.40.7:2080" + - "51.148.40.7:27000" + - "51.148.40.7:27020" +# ci.staging.trustedfirmware.org + - "3.225.239.230:1947" + - "3.225.239.230:2080" + - "3.225.239.230:27000" + - "3.225.239.230:27020" +# ci.trustedfirmware.org + - "195.154.87.69:1947" + - "195.154.87.69:2080" + - "195.154.87.69:27000" + - "195.154.87.69:27020" diff --git a/host_vars/elk.linaro.org b/host_vars/elk.linaro.org index 2831641c..730c9d42 100644 --- a/host_vars/elk.linaro.org +++ b/host_vars/elk.linaro.org @@ -1,4 +1,5 @@ --- +ansible_python_interpreter: /usr/bin/python # Apache LDAP apache_ldap_uri: "ldaps://login.linaro.org" apache_ldap_bind: cn=git-private,ou=binders,dc=linaro,dc=org @@ -11,21 +12,82 @@ login_groups: ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem -ssl_ca_cert: "{{ssl_cert}}" +ssl_ca: "{{ssl_cert}}" dehydrated_http_domains: - "{{inventory_hostname}}" - lava-monitoring.linaro.org + - elasticsearch.linaro.org + - systems-monitoring.linaro.org dehydrated_dns_domains: [] dehydrated_domains_txt: | - {{inventory_hostname}} lava-monitoring.linaro.org + lava-monitoring.linaro.org + elasticsearch.linaro.org + systems-monitoring.linaro.org + elk.linaro.org lava-monitoring.linaro.org elasticsearch.linaro.org systems-monitoring.linaro.org ufw_open_ports: - 22 - 80 - 443 +docker_compose_host: true + +# would be ideal to get this from the running config +postfix_networks: 172.17.0.0/16 +# we need to allow inbound mail because elk is running elastalert in +# docker. From postfix's point of view, the docker container is an +# external server, so we have to let it relay. +# Note: a firewall rule to allow traffic on port 25 from docker net is +# also required. +postfix_allow_inbound: true + +# Elasticsearch docker_container_elasticsearch_name: elasticsearch-production docker_container_elk_name: lk-production +elk_root: /srv/elk-production +es_network_name: elasticsearch + +# Kibiter +kibiter_root: "{{ elk_root }}/kibiter" +docker_image_kibiter_local: linaro/kibiter-linaro +docker_container_name_kibiter: "monitoring-{{ monitoring_team }}" +docker_port_kibiter: 5605 # monitoring-systems port +kibana_index: ".kibiter{{ monitoring_team }}" + +docker_elasticsearch_ufw_whitelist: + - 82.45.78.181 + - 51.148.40.0/24 + - 82.71.243.0/24 + - 81.128.185.0/24 + - 144.76.6.139 + - 213.133.116.86 + - 78.46.190.194 + - 148.251.140.195 + - 148.251.184.94 + - 188.40.51.209 + - 188.40.92.0/24 + - 138.201.52.83 + - 88.99.28.0/24 + - 88.99.59.232 + - 88.99.149.141 + - 51.15.185.142 + - 62.210.248.0/24 + - 217.140.96.140 + - 217.140.106.0/24 + - 73.14.250.0/24 + - 3.80.150.227 + +docker_container_name_ea: elastalert + +# should be docker gateway +ea_smtp_host: 172.17.0.1 +ea_from_addr: elastalert@elk.linaro.org +ea_mailto_address: "{{ mailto_address }}" + +metricbeat_enabled_modules: + - docker + - elasticsearch -docker_elk_vol: /srv/elk-production +# phased in launch of this service. Eventually will move to 'all'. +install_node_exporter: true diff --git a/host_vars/flexnet-aws.trustedfirmware.org b/host_vars/flexnet-aws.trustedfirmware.org new file mode 100644 index 00000000..9656f4ad --- /dev/null +++ b/host_vars/flexnet-aws.trustedfirmware.org @@ -0,0 +1,70 @@ +--- +login_groups: + - systems + - ubuntu + - trustedfirmware-flexnet + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure + +docker_host: true + +docker_image_flexnet: trustedfirmware/flexnet:backup-20230110 + +flexnet_access: + - 51.159.20.54 + - 51.159.1.37 + - 51.148.40.7 + - 51.159.22.224 + - 51.159.20.12 + - 51.159.20.18 + +ufw_open_ports: + - 22 + - 2080 + - 27000 + - 27020 + +ufw_open_docker_ports: +# x86-TF-01 + - "51.159.1.37:1947" + - "51.159.1.37:2080" + - "51.159.1.37:27000" + - "51.159.1.37:27020" +# x86-TF-02 + - "51.159.20.54:1947" + - "51.159.20.54:2080" + - "51.159.20.54:27000" + - "51.159.20.54:27020" +# x86-TF-03 + - "51.159.22.224:1947" + - "51.159.22.224:2080" + - "51.159.22.224:27000" + - "51.159.22.224:27020" +# x86-TF-04 + - "51.159.20.12:1947" + - "51.159.20.12:2080" + - "51.159.20.12:27000" + - "51.159.20.12:27020" +# x86-TF-05 + - "51.159.20.18:1947" + - "51.159.20.18:2080" + - "51.159.20.18:27000" + - "51.159.20.18:27020" +# Lab + - "51.148.40.7:1947" + - "51.148.40.7:2080" + - "51.148.40.7:27000" + - "51.148.40.7:27020" +# ci.staging.trustedfirmware.org + - "3.225.239.230:1947" + - "3.225.239.230:2080" + - "3.225.239.230:27000" + - "3.225.239.230:27020" +# ci.trustedfirmware.org + - "51.15.160.227:1947" + - "51.15.160.227:2080" + - "51.15.160.227:27000" + - "51.15.160.227:27020" diff --git a/host_vars/flexnet.trustedfirmware.org b/host_vars/flexnet.trustedfirmware.org new file mode 100644 index 00000000..a87ab75d --- /dev/null +++ b/host_vars/flexnet.trustedfirmware.org @@ -0,0 +1,60 @@ +--- +login_groups: + - systems + - ubuntu + - trustedfirmware-flexnet + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure + +docker_host: true +docker_image_flexnet: trustedfirmware/flexnet + +flexnet_access: + - 51.159.20.54 + - 51.159.1.37 + - 51.148.40.7 + - 51.159.22.224 + - 51.159.20.12 + +ufw_open_ports: + - 22 + +ufw_open_docker_ports: +# x86-TF-01 + - "51.159.1.37:1947" + - "51.159.1.37:2080" + - "51.159.1.37:27000" + - "51.159.1.37:27020" +# x86-TF-02 + - "51.159.20.54:1947" + - "51.159.20.54:2080" + - "51.159.20.54:27000" + - "51.159.20.54:27020" +# x86-TF-03 + - "51.159.22.224:1947" + - "51.159.22.224:2080" + - "51.159.22.224:27000" + - "51.159.22.224:27020" +# x86-TF-04 + - "51.159.20.12:1947" + - "51.159.20.12:2080" + - "51.159.20.12:27000" + - "51.159.20.12:27020" +# Lab + - "51.148.40.7:1947" + - "51.148.40.7:2080" + - "51.148.40.7:27000" + - "51.148.40.7:27020" +# ci.staging.trustedfirmware.org + - "3.225.239.230:1947" + - "3.225.239.230:2080" + - "3.225.239.230:27000" + - "3.225.239.230:27020" +# ci.trustedfirmware.org + - "51.159.57.81:1947" + - "51.159.57.81:2080" + - "51.159.57.81:27000" + - "51.159.57.81:27020" diff --git a/host_vars/gerrit.devboardsforandroid.linaro.org b/host_vars/gerrit.devboardsforandroid.linaro.org new file mode 100644 index 00000000..1f290203 --- /dev/null +++ b/host_vars/gerrit.devboardsforandroid.linaro.org @@ -0,0 +1,52 @@ +--- +hosttype: git-review +server_role: git-review +#db_user: gerrit2 +gerrit_host: gerrit.devboardsforandroid.linaro.org +host_site_name: Linaro Dev Boards for Android Code Review +grokmirror_master: false + +gerrit_managed: yes +gerrit_http_username: git +gerrit_http_base: http://localhost:8080 +gerrit_mem: 4000m +gerrit_config_server_id: 8f6f209b-eb1a-4cbf-aa44-c8bc30e9bfda +gerrit_oauth: yes +gerrit_github_oauth_id: bfe5b324c057fe64896c +gerrit_gitiles: yes +gerrit_no_update_keys: yes +gerrit_autosubmitter: yes + +dovecot_user: "{{gerrit_config_dovecot_user}}" +dovecot_password: "{{gerrit_config_dovecot_password}}" + +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + + +# Note: this also sets up config for android-review.linaro.org cert +dehydrated_http_domains: + - gerrit.devboardsforandroid.linaro.org + - source.devboardsforandroid.linaro.org + +dehydrated_dns_domains: [] + +dehydrated_domains_txt: | + gerrit.devboardsforandroid.linaro.org + source.devboardsforandroid.linaro.org + +apache_ldap_uri: ldaps://login.linaro.org +ssh_ldap_uri: ldaps://login.linaro.org + +postfix_destinations: ["gerrit.devboardsforandroid.linaro.org"] +postfix_hostname: "gerrit.devboardsforandroid.linaro.org" + +login_groups: + - systems + - ubuntu + - team-android-engineering + +sudo_groups: + - systems + - team-android-engineering diff --git a/host_vars/gerrit.forge.aws.linaro.com b/host_vars/gerrit.forge.aws.linaro.com new file mode 100644 index 00000000..12c03602 --- /dev/null +++ b/host_vars/gerrit.forge.aws.linaro.com @@ -0,0 +1,38 @@ +--- +hosttype: git-review +server_role: git-review +db_user: git +gerrit_host: gerrit.forge.aws.linaro.com +grokmirror_master: true +host_site_name: Linaro Forge Code Review +gerrit_managed: yes +gerrit_mem: 8192m +gerrit_config_server_id: e33910f19b7abb192b83adbd000000bf +ssl_cert: /etc/ssl/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/ssl/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +gerrit_checksum: md5:79a1831604ae601ed310ca6a9c66899e +gerrit_version: 3.8.1 +gerrit_plugin_version: 3.3 + +postfix_destinations: ["gerrit.forge.aws.linaro.com"] +postfix_hostname: "gerrit.forge.aws.linaro.com" + +apache_ldap_uri: ldaps://login.linaro.org +ssh_ldap_uri: ldaps://login.linaro.org + +skip_dovecot: true + +prometheus_scrape_user: null +prometheus_scrape_password: null + +login_groups: + - systems + - its + - forge-gerrit-admins + +sudo_groups: + - systems + - its + - forge-gerrit-admins diff --git a/host_vars/git-ap.linaro.org b/host_vars/git-ap.linaro.org deleted file mode 100644 index 7c991c7a..00000000 --- a/host_vars/git-ap.linaro.org +++ /dev/null @@ -1,22 +0,0 @@ -server_role: git-main -git_master: git-us.linaro.org -git_host: git.linaro.org -host_site_name: Linaro Git Hosting -server_access: public -hosttype: git-slave -grokmirror_slave: true -git_bundle_whitelist: git-main-bundle-include.txt -google_analytics: True -ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem -ssl_ca: "{{ssl_cert}}" -dehydrated_http_domains: - - git-ap.linaro.org - -dehydrated_dns_domains: - - git.linaro.org - -dehydrated_domains_txt: | - git.linaro.org - git-ap.linaro.org git.linaro.org - diff --git a/host_vars/git-ie.linaro.org b/host_vars/git-ie.linaro.org deleted file mode 100644 index 7e135087..00000000 --- a/host_vars/git-ie.linaro.org +++ /dev/null @@ -1,22 +0,0 @@ -server_role: git-main -git_master: git-us.linaro.org -git_host: git.linaro.org -host_site_name: Linaro Git Hosting -server_access: public -hosttype: git-slave -grokmirror_slave: true -git_bundle_whitelist: git-main-bundle-include.txt -google_analytics: True -ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem -ssl_ca: "{{ssl_cert}}" -dehydrated_http_domains: - - git-ie.linaro.org - -dehydrated_dns_domains: - - git.linaro.org - -dehydrated_domains_txt: | - git.linaro.org - git-ie.linaro.org git.linaro.org - diff --git a/host_vars/git-us.linaro.org b/host_vars/git-us.linaro.org index f5d470b4..d24b5b34 100644 --- a/host_vars/git-us.linaro.org +++ b/host_vars/git-us.linaro.org @@ -12,19 +12,34 @@ google_analytics: True mirror_fetch_cronspec: "*/10 * * * *" mirror_push_cronspec: "5-55/10 * * * *" -ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_cert: /etc/dehydrated/certs/git.linaro.org/fullchain.pem +ssl_key: /etc/dehydrated/certs/git.linaro.org/privkey.pem ssl_ca: "{{ssl_cert}}" # Note: this also sets up config for android-review.linaro.org cert dehydrated_http_domains: - git-us.linaro.org - review.linaro.org + - git-us.ctt.linaro.org dehydrated_dns_domains: - git.linaro.org dehydrated_domains_txt: | - git.linaro.org - review.linaro.org - git-us.linaro.org git.linaro.org + git-us.linaro.org + review.linaro.org git-us.ctt.linaro.org + git-us.ctt.linaro.org git.linaro.org git-us.linaro.org + +ssh_ldap_uri: ldap://login.linaro.org + +cgit_hide_repos: + - All-Users.git + - All-Projects.git + - ArmML-Projects.git + - Schneider-Projects.git + - leg/ccix + - AES-Projects.git + - LT-Qualcomm-Projects.git + - QA-Projects.git + - Toolchain-Projects.git + - Toolchain-Upstream-Mirrors.git diff --git a/host_vars/git.mlplatform.org b/host_vars/git.mlplatform.org index 65a8388a..ce467f2d 100644 --- a/host_vars/git.mlplatform.org +++ b/host_vars/git.mlplatform.org @@ -2,13 +2,28 @@ server_role: git-review hosttype: git-nonlinaro git_host: git.mlplatform.org -certbot_host_domain: git.mlplatform.org -ssl_cert: /etc/letsencrypt/live/{{certbot_host_domain}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{certbot_host_domain}}/privkey.pem -ssl_ca: /etc/letsencrypt/live/{{certbot_host_domain}}/fullchain.pem +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - "{{inventory_hostname}}" + - review.mlplatform.org +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + review.mlplatform.org + {{inventory_hostname}} host_site_name: ARM ML Code Review host_site_desc: Git Repositories hosted by Linaro clone_urls: - https://{{inventory_hostname}} cgit_strict_export: false + +cgit_hide_repos: + - All-Users.git + - All-Projects.git + - ArmML-Projects.git + - ml/ethos-u.git + - armnn.git + diff --git a/host_vars/git.morello-project.org b/host_vars/git.morello-project.org new file mode 100644 index 00000000..13b31907 --- /dev/null +++ b/host_vars/git.morello-project.org @@ -0,0 +1,101 @@ +--- +sshd_port: 2222 +docker_host: yes +docker_image_name: "gitlab/gitlab-ee:16.0.5-ee.0" +dovecot_user: gitlab +dovecot_allow_plaintext_auth: true +postfix_allow_inbound: true +postfix_networks: 172.17.0.0/16 +gitlab_mail_server: smtp + +#Leaving this in as an example of how to get oauth working +#oauth_github_app_id: 5cfb58f2db190e0eedca + +gitlab_config: | + external_url 'https://{{ inventory_hostname }}/' + nginx['custom_nginx_config'] = "include /etc/gitlab/nginx.d/*.conf;" + gitlab_rails['lfs_enabled'] = true + gitlab_rails['monitoring_whitelist'] = ['44.202.41.10'] + letsencrypt['alt_names'] = ['git.morelloproject.org'] + {{ gitlab_config_outbound_mail }} + {{ gitlab_config_inbound_mail }} + {{ gitlab_config_object_storage }} + {{ gitlab_config_limits }} +#Leaving this in as an example of how to get oauth working +# {{ gitlab_config_oauth }} + +gitlab_config_object_storage: | + gitlab_rails['object_store']['enabled'] = true + gitlab_rails['object_store']['proxy_download'] = true + gitlab_rails['object_store']['connection'] = { + 'provider' => 'AWS', + 'region' => 'us-east-1', + 'use_iam_profile' => true, + } + gitlab_rails['object_store']['objects']['artifacts']['bucket'] = 'morello-gl-artifacts' + gitlab_rails['object_store']['objects']['external_diffs']['bucket'] = 'morello-gl-external-diffs' + gitlab_rails['object_store']['objects']['lfs']['bucket'] = 'morello-gl-lfs-objects' + gitlab_rails['object_store']['objects']['uploads']['bucket'] = 'morello-gl-uploads' + gitlab_rails['object_store']['objects']['packages']['bucket'] = 'morello-gl-packages' + gitlab_rails['object_store']['objects']['dependency_proxy']['bucket'] = 'morello-gl-dependency-proxy' + gitlab_rails['object_store']['objects']['terraform_state']['bucket'] = 'morello-gl-terraform-state' + +gitlab_config_limits: | + gitaly['configuration'] = { + concurrency: [ + { + rpc: '/gitaly.SmartHTTPService/PostUploadPackWithSidechannel', + max_per_repo: 100 + }, + { + rpc: '/gitaly.SSHService/SSHUploadPackWithSidechannel', + max_per_repo: 100 + }, + ], + } + +gitlab_config_outbound_mail: | + gitlab_rails['gitlab_email_enabled'] = true + gitlab_rails['gitlab_email_from'] = 'gitlab@{{ inventory_hostname }}' + gitlab_rails['gitlab_email_display_name'] = 'Morello Project Gitlab' + gitlab_rails['gitlab_email_reply_to'] = 'noreply@{{ inventory_hostname }}' + gitlab_rails['gitlab_email_subject_suffix'] = '' + gitlab_rails['gitlab_email_smime_enabled'] = false + gitlab_rails['smtp_enable'] = true + gitlab_rails['smtp_address'] = "{{ gitlab_mail_server }}" + gitlab_rails['smtp_port'] = 25 + gitlab_rails['smtp_domain'] = "{{ gitlab_mail_server }}" + gitlab_rails['smtp_tls'] = false + gitlab_rails['smtp_openssl_verify_mode'] = 'none' + gitlab_rails['smtp_enable_starttls_auto'] = false + gitlab_rails['smtp_tls'] = false + gitlab_rails['smtp_force_tls'] = false + +gitlab_config_inbound_mail: | + gitlab_rails['incoming_email_enabled'] = true + gitlab_rails['incoming_email_address'] = "gitlab@git.morello-project.org" + gitlab_rails['incoming_email_email'] = "{{ dovecot_user }}" + gitlab_rails['incoming_email_password'] = "{{ dovecot_password }}" + gitlab_rails['incoming_email_host'] = "{{ gitlab_mail_server }}" + gitlab_rails['incoming_email_port'] = 143 + gitlab_rails['incoming_email_ssl'] = false + gitlab_rails['incoming_email_start_tls'] = false + gitlab_rails['incoming_email_mailbox_name'] = "inbox" + gitlab_rails['incoming_email_idle_timeout'] = 60 + gitlab_rails['incoming_email_log_file'] = "/var/log/gitlab/mailroom/mail_room_json.log" + gitlab_rails['incoming_email_expunge_deleted'] = true + +#Leaving this in as an example of how to get oauth working +#gitlab_config_oauth: | +# gitlab_rails['omniauth_providers'] = [ +# { +# "name" => "github", +# "app_id" => "{{ oauth_github_app_id }}", +# "app_secret" => "{{ oauth_github_secret }}", +# "args" => { "scope" => "user:email" } +# } +# ] +# gitlab_rails['omniauth_allow_single_sign_on'] = ['github'] +# gitlab_rails['omniauth_block_auto_created_users'] = false +# gitlab_rails['omniauth_sync_profile_from_provider'] = ['github'] +# gitlab_rails['omniauth_sync_profile_attributes'] = ['name', 'email', 'location'] diff --git a/host_vars/git.trustedfirmware.org b/host_vars/git.trustedfirmware.org index cbc4fb82..e81ad82f 100644 --- a/host_vars/git.trustedfirmware.org +++ b/host_vars/git.trustedfirmware.org @@ -8,9 +8,49 @@ clone_urls: - https://{{inventory_hostname}} cgit_strict_export: false -ssl_cert: /etc/letsencrypt/live/review.trustedfirmware.org/fullchain.pem -ssl_key: /etc/letsencrypt/live/review.trustedfirmware.org/privkey.pem +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem ssl_ca: "{{ssl_cert}}" +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem + +dehydrated_http_domains: + - "{{inventory_hostname}}" + - review.trustedfirmware.org + +dehydrated_dns_domains: [] + +dehydrated_domains_txt: | + review.trustedfirmware.org + {{inventory_hostname}} + +login_groups: + - git + - its + - ubuntu + - systems + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure postfix_relay_hostname: smtp.mailgun.org postfix_destinations: ["git.trustedfirmware.org","review.trustedfirmware.org"] + +collapsible_sections: + - ci + - next + - mirror + +cgit_hide_repos: + - All-Users.git + - All-Projects.git + - OP-TEE-Projects.git + - acces-right-test-tfm.git + - tls.git + - TF-A.git + - ci.git + - TF-M.git + - hafnium.git + - next.git + - TS.git + - tf-binaries.git diff --git a/host_vars/gitlab-runner-manager-tuxtest.ctt.linaro.org b/host_vars/gitlab-runner-manager-tuxtest.ctt.linaro.org new file mode 100644 index 00000000..95492ad7 --- /dev/null +++ b/host_vars/gitlab-runner-manager-tuxtest.ctt.linaro.org @@ -0,0 +1,9 @@ +--- +gitlab_runner_url: + original: https://gitlab.com/ +gitlab_executor: docker+machine +docker_machine_url: https://gitlab-docker-machine-downloads.s3.amazonaws.com/v0.16.2-gitlab.19/docker-machine-Linux-aarch64 +docker_machine_sha: sha256:71b5f6f58de70718a619150aa06f7e0520c1de9ac1aaed6c43c4935e95ad081b + +gitlab_runners: + - original diff --git a/host_vars/gitlab-runner-manager.lkft.org b/host_vars/gitlab-runner-manager.lkft.org new file mode 100644 index 00000000..beaff9db --- /dev/null +++ b/host_vars/gitlab-runner-manager.lkft.org @@ -0,0 +1,24 @@ +--- +# copied from /admin/runners +# each runner_url needs to match a gitlab_runners entry, else playbook breaks +gitlab_runner_url: + original: https://gitlab.com/ + large: https://gitlab.com/ + codelinaro: https://git.codelinaro.org/ + codelinaro-staging: https://staging-git.codelinaro.org/ + +gitlab_executor: docker+machine +docker_machine_url: https://gitlab-docker-machine-downloads.s3.amazonaws.com/v0.16.2-gitlab.19/docker-machine-Linux-aarch64 +docker_machine_sha: sha256:570856722b9bd0f69317e8cbfc906d04b40658857ed65a152ab23abb3e9bcaea + +gitlab_runners: + - original + - large + - codelinaro + - codelinaro-staging + +login_groups: + - systems + +sudo_groups: + - systems diff --git a/host_vars/gitlab-runner-manager.morello-project.org b/host_vars/gitlab-runner-manager.morello-project.org new file mode 100644 index 00000000..ab58ef82 --- /dev/null +++ b/host_vars/gitlab-runner-manager.morello-project.org @@ -0,0 +1,20 @@ +--- +# copied from /admin/runners +gitlab_runner_url: + original: https://git.morello-project.org/ + arm64: https://git.morello-project.org/ +gitlab_executor: docker+machine +docker_machine_url: https://gitlab-docker-machine-downloads.s3.amazonaws.com/v0.16.2-gitlab.19/docker-machine-Linux-aarch64 +docker_machine_sha: sha256:570856722b9bd0f69317e8cbfc906d04b40658857ed65a152ab23abb3e9bcaea + +login_groups: + - systems + - morello-infrastructure + +sudo_groups: + - systems + - morello-infrastructure + +gitlab_runners: + - original + - arm64 diff --git a/host_vars/gitlab-runner-manager.ovss.linaro.org b/host_vars/gitlab-runner-manager.ovss.linaro.org new file mode 100644 index 00000000..6d61f503 --- /dev/null +++ b/host_vars/gitlab-runner-manager.ovss.linaro.org @@ -0,0 +1,17 @@ +--- +# copied from /admin/runners +gitlab_runner_url: + original: https://gitlab.com/ +gitlab_executor: docker+machine +docker_machine_url: https://gitlab-docker-machine-downloads.s3.amazonaws.com/main/docker-machine-Linux-x86_64 +docker_machine_sha: sha256:261af603f04009780061a4d46eb00f289d99971d34ba9a1ac1ebafcf99eaa98c +ansible_python_interpreter: /usr/bin/python3 + +gitlab_runners: + - original + +login_groups: + - systems + +sudo_groups: + - systems diff --git a/host_vars/gitlab-runner.morello-project.org b/host_vars/gitlab-runner.morello-project.org new file mode 100644 index 00000000..53ca05f7 --- /dev/null +++ b/host_vars/gitlab-runner.morello-project.org @@ -0,0 +1,16 @@ +--- +# copied from /admin/runners +gitlab_runner_url: + original: https://git.morello-project.org/ +gitlab_executor: docker + +gitlab_runners: + - original + +login_groups: + - systems + - morello-infrastructure + +sudo_groups: + - systems + - morello-infrastructure diff --git a/host_vars/grafana.linaro.org b/host_vars/grafana.linaro.org new file mode 100644 index 00000000..416cd580 --- /dev/null +++ b/host_vars/grafana.linaro.org @@ -0,0 +1,38 @@ +--- +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - grafana.linaro.org + +dehydrated_dns_domains: [] + +dehydrated_domains_txt: | + grafana.linaro.org + +login_groups: + - systems + - lava-team + +sudo_groups: + - systems + - lava-team + +db_username: grafana +db_hostname: dbhost +db_database: grafana + +grafana_ldap_host: login.linaro.org +grafana_ldap_bind: cn=systems-bind,ou=binders,dc=linaro,dc=org +grafana_ldap_base: ou=accounts,dc=linaro,dc=org + +apache_modules: + - proxy + - proxy_http + +grafana_network_name: grafana +docker_network_prometheus: "{{ grafana_network_name }}" +docker_apache: true +docker_bridgenet: "{{ grafana_network_name }}" +apache_network: "{{ grafana_network_name }}" diff --git a/host_vars/j12-qrep-01 b/host_vars/j12-qrep-01 index 93fc018a..54f8ae98 100644 --- a/host_vars/j12-qrep-01 +++ b/host_vars/j12-qrep-01 @@ -9,4 +9,5 @@ login_groups: - buildslave - ssh_access_jenkins_slaves +no_ldap: yes diff --git a/host_vars/lava-monitoring.linaro.org b/host_vars/lava-monitoring.linaro.org new file mode 100644 index 00000000..aaa15633 --- /dev/null +++ b/host_vars/lava-monitoring.linaro.org @@ -0,0 +1,41 @@ + +docker_host: yes +docker_apache: yes +apache_network: "{{es_network_name}}" +ansible_python_interpreter: /usr/bin/python +no_atom: yes + +# Kibiter +kibiter_root: "/srv/kibiter/{{inventory_hostname}}" +docker_image_kibiter_local: linaro/kibiter-linaro +docker_container_name_kibiter: "monitoring-{{ monitoring_team }}" +docker_port_kibiter: 5604 +kibana_index: ".kibiter{{ monitoring_team }}" +docker_container_elasticsearch_name: elasticsearch-production +kibiter_project_name: "Cambridge Lab Systems" + +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +# Elastalert +# change this to lava errors email +monitoring_team: lavalab +ea_mailto_address: lava-lab-team@linaro.org +es_network_name: elasticsearch + +hb_external_monitors: + icmp: + # lite, lng, and pmwg have same IP + # as validation.l.o + - validation.linaro.org + - lkft.validation.linaro.org + - tf.validation.linaro.org + https: + - validation.linaro.org + - ledge.validation.linaro.org + - lkft.validation.linaro.org + - lkft-staging.validation.linaro.org + - lite.validation.linaro.org + - pmwg.validation.linaro.org + - tf.validation.linaro.org diff --git a/host_vars/lava.morello-project.org b/host_vars/lava.morello-project.org new file mode 100644 index 00000000..7f837c9f --- /dev/null +++ b/host_vars/lava.morello-project.org @@ -0,0 +1,12 @@ +--- +ansible_python_interpreter: /usr/bin/python3 + +docker_host: true + +login_groups: + - systems + - morello-infrastructure + +sudo_groups: + - systems + - morello-infrastructure diff --git a/host_vars/leg-aarch64-01 b/host_vars/leg-aarch64-01 new file mode 100644 index 00000000..a2c5cbab --- /dev/null +++ b/host_vars/leg-aarch64-01 @@ -0,0 +1,2 @@ +jenkins_ip: 172.16.101.15 +no_ldap: yes diff --git a/host_vars/lhg-review.linaro.org b/host_vars/lhg-review.linaro.org deleted file mode 100644 index f7a28ec6..00000000 --- a/host_vars/lhg-review.linaro.org +++ /dev/null @@ -1,23 +0,0 @@ -hosttype: git-review -server_role: git-review -db_user: lhg -gerrit_host: lhg-review.linaro.org -host_site_name: Linaro Home Group Code Review -server_access: private -gerrit_managed: yes -dovecot_user: "{{gerrit_config_dovecot_user}}" -dovecot_password: "{{gerrit_config_dovecot_password}}" -ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem -ssl_ca: "{{ssl_cert}}" - -security_groups: linaro-lhg-dev infrastructure its -gitolite_help_url: https://wiki.linaro.org/Platform/Systems/GitLHG - -dehydrated_http_domains: - - lhg-review.linaro.org - -dehydrated_dns_domains: [] - -dehydrated_domains_txt: | - lhg-review.linaro.org diff --git a/host_vars/mmwg-hackbox.linaro.org b/host_vars/lite-cloud.ctt.linaro.org index dac4adfd..33fd10f0 100644 --- a/host_vars/mmwg-hackbox.linaro.org +++ b/host_vars/lite-cloud.ctt.linaro.org @@ -1,7 +1,7 @@ login_groups: - systems - - mmwg-team + - lava-lab-team sudo_groups: - systems - - mmwg-team + - lava-lab-team diff --git a/host_vars/mbedtls.trustedfirmware.org b/host_vars/mbedtls.trustedfirmware.org new file mode 100644 index 00000000..822c50a1 --- /dev/null +++ b/host_vars/mbedtls.trustedfirmware.org @@ -0,0 +1,42 @@ +--- +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - "{{inventory_hostname}}" + - mbedtls-builds.trustedfirmware.org +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + {{inventory_hostname}} mbedtls-builds.trustedfirmware.org + +# Docker +jenkins_master_image: 'trustedfirmware/ci-x86_64-jenkins-master-debian:lts' +jenkins_master_container_name: 'jenkins' +jenkins_master_data_container_name: 'jenkins_data' +jenkins_master_data_volume: '/srv/jenkins' + +jenkins_master_port: '8080' +jenkins_master_slaves_port: '2233' +jenkins_master_sshd_port: '2222' +jenkins_jnlp_port: '50000' +jenkins_ssh_known_hosts: "ssh/known_hosts_tf" + +jenkins_java_opts: "-server -Xmx8192m -XX:+AlwaysPreTouch -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/jenkins/heapdump.log -XX:+UseG1GC -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+ExplicitGCInvokesConcurrent -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1 -XX:MaxMetaspaceExpansion=64M -Djenkins.model.Jenkins.logStartupPerformance=true -Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000" + +login_groups: + - systems + - ubuntu + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure + +jenkins_ports: + - "{{ jenkins_master_port }}" + - "{{ jenkins_master_sshd_port }}" + - "{{ jenkins_master_slaves_port }}" + - "{{ jenkins_jnlp_port }}" + +docker_host: true diff --git a/host_vars/obs-bastion-cn1.linaro.cloud b/host_vars/obs-bastion-cn1.linaro.cloud deleted file mode 100644 index fdd1d55d..00000000 --- a/host_vars/obs-bastion-cn1.linaro.cloud +++ /dev/null @@ -1,8 +0,0 @@ -obsdata_fstype: ext4 -obsdata_dev: /dev/sdb -obsbackup_fstype: ext4 -obsbackup_dev: /dev/sdc -debian_mirror: http://mirrors.ustc.edu.cn/debian/ -login_groups: - - systems - - ssh_access_backup diff --git a/host_vars/obs-bastion-us1.linaro.cloud b/host_vars/obs-bastion-us1.linaro.cloud deleted file mode 100644 index a80a7d4d..00000000 --- a/host_vars/obs-bastion-us1.linaro.cloud +++ /dev/null @@ -1,5 +0,0 @@ -obsdata_fstype: ext4 -obsdata_dev: /dev/sdb -obsbackup_fstype: ext4 -obsbackup_dev: /dev/sdc -debian_mirror: http://deb.debian.org/debian diff --git a/host_vars/obs-server-cn1.linaro.cloud b/host_vars/obs-server-cn1.linaro.cloud deleted file mode 100644 index 40cd3e98..00000000 --- a/host_vars/obs-server-cn1.linaro.cloud +++ /dev/null @@ -1 +0,0 @@ -hostname: obs-dev.linaro.org diff --git a/host_vars/obs-server-us1.linaro.cloud b/host_vars/obs-server-us1.linaro.cloud deleted file mode 100644 index 689ce4dc..00000000 --- a/host_vars/obs-server-us1.linaro.cloud +++ /dev/null @@ -1 +0,0 @@ -hostname: obs.linaro.org diff --git a/host_vars/obs.linaro.org b/host_vars/obs.linaro.org new file mode 100644 index 00000000..4ae741b5 --- /dev/null +++ b/host_vars/obs.linaro.org @@ -0,0 +1,23 @@ +--- +apache_modules: + - rewrite + +dehydrated_dns_domains: [] +dehydrated_http_domains: + - obs.linaro.org + +dehydrated_domains_txt: | + obs.linaro.org + +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +login_users: + - systems + - its + - ubuntu + +sudo_users: + - systems + - its diff --git a/host_vars/patches-gcc.linaro.org b/host_vars/patches-gcc.linaro.org deleted file mode 100644 index 2384992c..00000000 --- a/host_vars/patches-gcc.linaro.org +++ /dev/null @@ -1,8 +0,0 @@ -ssl_cert: /etc/letsencrypt/live/{{inventory_hostname}}/cert.pem -ssl_key: /etc/letsencrypt/live/{{inventory_hostname}}/privkey.pem -ssl_ca_cert: /etc/letsencrypt/live/{{inventory_hostname}}/chain.pem - -login_groups: - - systems - -django_email_cron: True diff --git a/host_vars/patches.linaro.org b/host_vars/patches.linaro.org index 26c8861a..5a926ca2 100644 --- a/host_vars/patches.linaro.org +++ b/host_vars/patches.linaro.org @@ -1 +1,12 @@ -django_version: 1.8.18 +--- +dehydrated_http_domains: + - patches.linaro.org + - patches.ctt.linaro.org +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + patches.linaro.org patches.ctt.linaro.org +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" +postfix_allow_inbound: true +ansible_python_interpreter: /usr/bin/python3 diff --git a/host_vars/patches.opendataplane.org b/host_vars/patches.opendataplane.org deleted file mode 100644 index 84160cca..00000000 --- a/host_vars/patches.opendataplane.org +++ /dev/null @@ -1,4 +0,0 @@ ---- -django_email_cron: True - -postfix_destinations: ["patches.opendataplane.org"] diff --git a/host_vars/publishing-ap.linaro.org b/host_vars/publishing-ap.linaro.org deleted file mode 100644 index 55b4bd48..00000000 --- a/host_vars/publishing-ap.linaro.org +++ /dev/null @@ -1,32 +0,0 @@ -sites: - - releases-ap.linaro.org: - secrets_file: "secrets/publishing-servers/releases-ap.linaro.org" - apache_aliases: - - releases.linaro.org - apache_redirects: | - RedirectMatch "/components/toolchain/binaries/gcc-8" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" - RedirectMatch "/components/toolchain/gcc-linaro/gcc-8" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" - ProxyPass /components/toolchain/binaries/gcc-8 ! - ProxyPass /components/toolchain/gcc-linaro/gcc-8 ! - ssl_cert: /etc/dehydrated/certs/releases-ap.linaro.org/fullchain.pem - ssl_ca: /etc/dehydrated/certs/releases-ap.linaro.org/fullchain.pem - ssl_key: /etc/dehydrated/certs/releases-ap.linaro.org/privkey.pem - process_report: true - -login_groups: - - systems - - team-builds-and-baselines - - its - -sudo_groups: - - systems - - its - -dehydrated_http_domains: - - releases-ap.linaro.org -dehydrated_dns_domains: - - releases.linaro.org - -dehydrated_domains_txt: | - releases.linaro.org - releases-ap.linaro.org releases.linaro.org diff --git a/host_vars/publishing-ie.linaro.org b/host_vars/publishing-ie.linaro.org new file mode 100644 index 00000000..0e17b51e --- /dev/null +++ b/host_vars/publishing-ie.linaro.org @@ -0,0 +1,43 @@ +--- +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +sites: + - releases-ie.linaro.org: + secrets_file: "secrets/publishing-servers/releases-ie.linaro.org" + apache_aliases: + - releases.linaro.org + apache_redirects: | + RedirectMatch "/components/toolchain/binaries/gcc-8" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" + RedirectMatch "/components/toolchain/gcc-linaro/gcc-8" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" + ProxyPass /components/toolchain/binaries/gcc-8 ! + ProxyPass /components/toolchain/gcc-linaro/gcc-8 ! + ssl_cert: /etc/dehydrated/certs/releases-ie.linaro.org/fullchain.pem + ssl_ca: /etc/dehydrated/certs/releases-ie.linaro.org/fullchain.pem + ssl_key: /etc/dehydrated/certs/releases-ie.linaro.org/privkey.pem + +login_groups: + - systems + - team-builds-and-baselines + - its + +sudo_groups: + - systems + - its + +dehydrated_http_domains: + - releases-ie.linaro.org + - testdata.validation.linaro.org + - builds.96boards.org + - testdata.linaro.org + - publishing-ie.ctt.linaro.org +dehydrated_dns_domains: + - releases.linaro.org + +dehydrated_domains_txt: | + releases.linaro.org + releases-ie.linaro.org releases.linaro.org publishing-ie.ctt.linaro.org + testdata.linaro.org testdata.validation.linaro.org publishing-ie.ctt.linaro.org + builds.96boards.org publishing-ie.ctt.linaro.org + publishing-ie.ctt.linaro.org diff --git a/host_vars/qcom-hackbox.linaro.org b/host_vars/qcom-hackbox.linaro.org index e74f6395..b615b743 100644 --- a/host_vars/qcom-hackbox.linaro.org +++ b/host_vars/qcom-hackbox.linaro.org @@ -1,8 +1,10 @@ --- login_groups: - systems - - linaro-landing-team-qualcomm-personnel + - qcom-hackbox sudo_groups: - systems - - linaro-landing-team-qualcomm-personnel + - qcom-hackbox + +ansible_python_interpreter: /usr/bin/python3 diff --git a/host_vars/qcom-hackbox2.linaro.org b/host_vars/qcom-hackbox2.linaro.org deleted file mode 120000 index 358a84ad..00000000 --- a/host_vars/qcom-hackbox2.linaro.org +++ /dev/null @@ -1 +0,0 @@ -qcom-hackbox.linaro.org
\ No newline at end of file diff --git a/host_vars/qcom-proxy.linaro.org b/host_vars/qcom-proxy.linaro.org index 48769eca..4d239241 100644 --- a/host_vars/qcom-proxy.linaro.org +++ b/host_vars/qcom-proxy.linaro.org @@ -1,3 +1,12 @@ login_groups: - systems - - linaro-landing-team-qualcomm-personnel + - linaro-landing-team-qualcomm-lab + - lava + +sudo_groups: + - systems + +sudoers: + - anibal.limon + - nicolas.dechesne + - bjorn.andersson diff --git a/host_vars/r1-x86-1.aus-colo.linaro.org b/host_vars/r1-x86-1.aus-colo.linaro.org deleted file mode 100644 index 61ad3d27..00000000 --- a/host_vars/r1-x86-1.aus-colo.linaro.org +++ /dev/null @@ -1,70 +0,0 @@ -serial_console_script: serial-connect-dl320 - -serial_console_mappings: - - host: r1-s1 - port: t1-p16 - - host: r1-s2 - port: t1-p15 - - - host: r1-a1 - port: t1-p1 - - host: r1-a2 - port: t1-p2 - - host: r1-a3 - port: t2-p7 - - host: r1-a4 - port: t1-p4 - - host: r1-a5 - port: t1-p5 - - host: r1-a6 - port: t1-p6 - - host: r1-a7 - port: t1-p7 - - host: r1-a8 - port: t1-p8 - - host: r1-a9 - port: t1-p9 - - host: r1-a10 - port: t1-p10 - - host: r1-a11 - port: t1-p11 - - host: r1-a12 - port: t1-p12 - - host: r1-a13 - port: t1-p13 - - host: r1-a14 - port: t1-p14 - - host: r1-a15 - port: t2-p1 - - host: r1-a16 - port: t2-p2 - - host: r1-a17 - port: t2-p3 - - host: r1-a18 - port: t2-p4 - - host: r1-a19 - port: t2-p5 - - host: r1-a20 - port: t2-p6 - - host: r1-a21 - port: t2-p13 - - host: r1-a22 - port: t2-p14 - - - host: r1-a30 - port: t2-p8 - - host: r1-a32 - port: t2-p9 - - host: r1-a34 - port: t2-p10 - - host: r1-a35 - port: t2-p11 - - host: r1-a36 - port: t2-p12 - - host: r1-a37 - port: t2-p15 - -serial_console_admins: - - name: ben.copeland - - name: kelley.spoon - - name: riku.voipio diff --git a/host_vars/r2-a19.aus-colo.linaro.org b/host_vars/r2-a19.aus-colo.linaro.org deleted file mode 100644 index 8102d436..00000000 --- a/host_vars/r2-a19.aus-colo.linaro.org +++ /dev/null @@ -1,5 +0,0 @@ -OBS_IP: 10.20.0.1 -OBS_JOBS: 8 -OBS_PORT: 5454 -OBS_TMPFS: 50000 - diff --git a/host_vars/r2-x86-1.aus-colo.linaro.org b/host_vars/r2-x86-1.aus-colo.linaro.org deleted file mode 100644 index 704be331..00000000 --- a/host_vars/r2-x86-1.aus-colo.linaro.org +++ /dev/null @@ -1,76 +0,0 @@ -serial_console_script: serial-connect-dl320 - -serial_console_mappings: - - host: r2-s1 - port: t1-p16 - - host: r2-s2 - port: t1-p15 - - - host: r2-a1 - port: t1-p1 - - host: r2-a2 - port: t1-p2 - - host: r2-a3 - port: t1-p3 - - host: r2-a4 - port: t1-p4 - - host: r2-a5 - port: t1-p5 - - host: r2-a6 - port: t1-p6 - - host: r2-a7 - port: t1-p7 - - host: r2-a8 - port: t1-p8 - - host: r2-a9 - port: t1-p9 - - host: r2-a10 - port: t1-p10 - - host: r2-a11 - port: t1-p11 - - host: r2-a12 - port: t1-p12 - - host: r2-a13 - port: t1-p13 - - host: r2-a14 - port: t1-p14 - - host: r2-a15 - port: t2-p1 - - host: r2-a16 - port: t2-p2 - - host: r2-a17 - port: t2-p3 - - host: r2-a18 - port: t2-p4 - - host: r2-a19 - port: t2-p5 - - host: r2-a20 - port: t2-p6 - - host: r2-a21 - port: t2-p10 - - host: r2-a22 - port: t2-p11 - - host: r2-a23 - port: t2-p13 - - host: r2-a24 - port: t2-p14 - - host: r2-a25 - port: t2-p16 - - host: r2-a26 - port: t3-p1 - - host: r2-a27 - port: t3-p2 - - host: r2-a28 - port: t3-p3 - - - host: r2-a30 - port: t2-p7 - - host: r2-a32 - port: t2-p8 - - host: r2-a34 - port: t2-p9 - -serial_console_admins: - - name: ben.copeland - - name: kelley.spoon - - name: riku.voipio diff --git a/host_vars/r3-x86-1.aus-colo.linaro.org b/host_vars/r3-x86-1.aus-colo.linaro.org deleted file mode 100644 index 2ceb96b2..00000000 --- a/host_vars/r3-x86-1.aus-colo.linaro.org +++ /dev/null @@ -1,16 +0,0 @@ -serial_console_script: serial-connect-dl120 - -serial_console_mappings: - - host: r3-s1 - port: t1-p16 - - host: r3-s3 - port: t1-p5 - baud: 9600 - - - host: r3-m1 - port: t1-p4 - -serial_console_admins: - - name: ben.copeland - - name: kelley.spoon - - name: riku.voipio diff --git a/host_vars/releases-ap.linaro.org b/host_vars/releases-ap.linaro.org deleted file mode 100644 index d704fdfd..00000000 --- a/host_vars/releases-ap.linaro.org +++ /dev/null @@ -1,5 +0,0 @@ -sitename: Linaro Releases -secrets_file: releases-ap.linaro.org -publishing_host: releases-ap.linaro.org - -process_report: true diff --git a/host_vars/releases-ara-mdk.linaro.org b/host_vars/releases-ara-mdk.linaro.org deleted file mode 100644 index dbe6d4c7..00000000 --- a/host_vars/releases-ara-mdk.linaro.org +++ /dev/null @@ -1 +0,0 @@ -sitename: Project Ara MDK Releases diff --git a/host_vars/releases-ie.linaro.org b/host_vars/releases-ie.linaro.org new file mode 100644 index 00000000..f175bf75 --- /dev/null +++ b/host_vars/releases-ie.linaro.org @@ -0,0 +1,22 @@ +--- +sitename: Linaro Releases +secrets_file: "{{inventory_hostname}}" +publishing_host: "{{inventory_hostname}}" +llp_port: '8080' + +process_report: true + +# dehydrated config removed to publishing host's config + +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +apache_aliases: + - releases.linaro.org + +apache_redirects: | + RedirectMatch "/components/toolchain/binaries/gcc-8" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" + RedirectMatch "/components/toolchain/gcc-linaro/gcc-8" "https://developer.arm.com/open-source/gnu-toolchain/gnu-a/downloads/" + ProxyPass /components/toolchain/binaries/gcc-8 ! + ProxyPass /components/toolchain/gcc-linaro/gcc-8 ! diff --git a/host_vars/releases-us.linaro.org b/host_vars/releases-us.linaro.org deleted file mode 100644 index 589ddf4c..00000000 --- a/host_vars/releases-us.linaro.org +++ /dev/null @@ -1,11 +0,0 @@ -sitename: Linaro Releases -secrets_file: releases-us.linaro.org -publishing_host: releases.linaro.org - -certbot_domains: ["releases-us.linaro.org","builds.96boards.org","releases.linaro.org"] -ssl_cert: /etc/letsencrypt/live/{{inventory_hostname}}/cert.pem -ssl_key: /etc/letsencrypt/live/{{inventory_hostname}}/privkey.pem -ssl_ca_cert: /etc/letsencrypt/live/{{inventory_hostname}}/chain.pem - -process_report: true -s3_sanity: true diff --git a/host_vars/review.linaro.org b/host_vars/review.linaro.org index df3d36ac..e0f7b313 100644 --- a/host_vars/review.linaro.org +++ b/host_vars/review.linaro.org @@ -1,3 +1,4 @@ +--- hosttype: git-review server_role: git-review db_user: git @@ -5,8 +6,19 @@ gerrit_host: review.linaro.org grokmirror_master: true host_site_name: Linaro Code Review gerrit_managed: yes +gerrit_mem: 18000m +gerrit_config_server_id: f33910f19b7abb192b83adbd000000bf dovecot_user: "{{gerrit_config_dovecot_user}}" dovecot_password: "{{gerrit_config_dovecot_password}}" ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem ssl_ca: "{{ssl_cert}}" + +# temporarily use LDAP on Ubuntu 14.04 +apache_ldap_uri: ldap://login.linaro.org +ssh_ldap_uri: ldap://login.linaro.org + +postfix_destinations: ["review.linaro.org","git-us.linaro.org"] +postfix_hostname: "review.linaro.org" + +no_atom: yes diff --git a/host_vars/review.mlplatform.org b/host_vars/review.mlplatform.org index a604ffee..6d8f7136 100644 --- a/host_vars/review.mlplatform.org +++ b/host_vars/review.mlplatform.org @@ -1,3 +1,4 @@ +--- hosttype: foo # Using git-review tags causes a bunch of "Linaro" stuff to get deployed which we don't want server_role: git-review git_host: git.mlplatform.org @@ -8,17 +9,22 @@ host_site_name: ARM ML Code Review gerrit_managed: yes gerrit_oauth: yes gerrit_avatars: yes +gerrit_verify: yes +gerrit_mem: 8000m +gerrit_github_oauth_id: c9573d41459955d81f3a +gerrit_config_server_id: e7c18949-9f1d-4125-8f68-54b4bb1f6e6e -certbot_domains: ["review.mlplatform.org","git.mlplatform.org"] -certbot_host_domain: review.mlplatform.org +gerrit_version: 3.3.1 +gerrit_checksum: md5:79e58a145e92fc712b76ed3aa1989f60 -ssl_cert: /etc/letsencrypt/live/{{certbot_host_domain}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{certbot_host_domain}}/privkey.pem -ssl_ca: /etc/letsencrypt/live/{{certbot_host_domain}}/fullchain.pem +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" -postfix_relay_hostname: smtp.mailgun.org postfix_destinations: ["review.mlplatform.org"] postfix_hostname: "review.mlplatform.org" dovecot_user: "{{gerrit_config_dovecot_user}}" dovecot_password: "{{gerrit_config_dovecot_password}}" + +no_atom: yes diff --git a/host_vars/review.trustedfirmware.org b/host_vars/review.trustedfirmware.org index 1417b2fe..34f49ca3 100644 --- a/host_vars/review.trustedfirmware.org +++ b/host_vars/review.trustedfirmware.org @@ -1,3 +1,4 @@ +--- hosttype: foo # Using git-review tags causes a bunch of "Linaro" stuff to get deployed which we don't want server_role: git-review git_host: git.trustedfirmware.org @@ -7,16 +8,17 @@ host_site_name: Trusted Firmware Code Review gerrit_managed: yes gerrit_oauth: yes +gerrit_verify: yes +gerrit_mem: 15000m +gerrit_config_server_id: 8f6f209b-db1a-4cbf-aa44-c8bc30e9bfda -certbot_domains: ["git.trustedfirmware.org","review.trustedfirmware.org"] -certbot_host_domain: review.trustedfirmware.org +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_ca: "{{ssl_cert}}" +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem -ssl_cert: /etc/letsencrypt/live/{{certbot_host_domain}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{certbot_host_domain}}/privkey.pem -ssl_ca: /etc/letsencrypt/live/{{certbot_host_domain}}/fullchain.pem - -postfix_relay_hostname: smtp.mailgun.org postfix_destinations: ["git.trustedfirmware.org","review.trustedfirmware.org"] dovecot_user: "{{gerrit_config_dovecot_user}}" dovecot_password: "{{gerrit_config_dovecot_password}}" + +no_atom: yes diff --git a/host_vars/router.aus-colo.linaro.org b/host_vars/router.aus-colo.linaro.org deleted file mode 100644 index f95bcf5f..00000000 --- a/host_vars/router.aus-colo.linaro.org +++ /dev/null @@ -1,724 +0,0 @@ -configure_vpn: true - -login_groups: - - aus-colo - - aus-colo-users - - users - -vlans: - - ifname: em1.10 - address: 10.10.0.1/16 - device: em1 - - ifname: em1.20 - address: 10.20.0.1/16 - device: em1 - - ifname: em1.30 - address: 10.30.0.1/16 - device: em1 - - ifname: em1.33 - address: 10.33.0.1/16 - device: em1 - - ifname: em1.64 - address: 10.64.0.1/16 - device: em1 - masquerade: false - -racks: - - name: r1 - hosts: - # Infrastructure machines - - mac: "28:80:23:90:58:c0" - name: r1-x86-1 - ip: 10.10.0.10 - pxe: false - - mac: "00:02:99:12:25:96" - name: r1-pm-123 - ip: 10.10.0.11 - pxe: false - - mac: "00:02:99:12:25:6c" - name: r1-pm-456 - ip: 10.10.0.12 - pxe: false - - mac: "00:0c:15:01:35:75" - name: r1-pm-ha - ip: 10.10.0.13 - pxe: false - - # containers - - mac: "00:16:3e:b7:02:4e" - name: releases-us - alias: releases.linaro.org - ip: 10.10.0.201 - pxe: false - - name: aus-colo-bastion # on r1-x86-1 - mac: 00:16:3e:e8:17:3a - ip: 10.10.0.202 - pxe: false - - mac: "00:16:3e:c1:8d:0a" - name: mongo-bastion - ip: 10.10.0.203 - pxe: false - - mac: "00:16:3e:3d:5b:f4" - name: qa-pxe - ip: 10.10.0.204 - pxe: false - - mac: "00:16:3e:ba:0d:52" - name: publishing-us - ip: 10.10.0.205 - pxe: false - - # MUSTANGS - - mac: "00:01:73:02:02:88" - name: r1-a1 - ip: 10.64.0.101 - - mac: "00:01:73:02:0f:90" - name: r1-a2 - ip: 10.64.0.102 - - mac: "00:01:73:02:0d:35" - name: r1-a3 - ip: 10.64.0.103 - - mac: "00:01:73:02:01:7c" - name: r1-a4 - ip: 10.10.0.104 - - mac: "00:01:73:02:0a:f1" - name: r1-a5 - ip: 10.10.0.105 - - mac: "00:01:73:02:10:40" - name: r1-a6 - ip: 10.10.0.106 - - mac: "00:01:73:02:00:8c" - name: r1-a7 - ip: 10.10.0.107 - - mac: "00:01:73:02:11:04" - name: r1-a8 - ip: 10.10.0.108 - - mac: "00:01:73:02:0b:b5" - name: r1-a9 - ip: 10.10.0.109 - - mac: "00:01:73:02:0a:1d" - name: r1-a10 - ip: 10.10.0.110 - - mac: "00:01:73:02:1c:bc" - name: r1-a11 - ip: 10.10.0.111 - - mac: "00:01:73:02:10:24" - name: r1-a12 - ip: 10.10.0.112 - - mac: "00:01:73:02:10:fc" - name: r1-a13 - ip: 10.10.0.113 - - mac: "00:01:73:02:1a:1c" - name: r1-a14 - ip: 10.10.0.114 - tag: hpc - - mac: "00:01:73:02:1e:d4" - name: r1-a15 - ip: 10.10.0.115 - - mac: "00:01:73:02:1d:6c" - name: r1-a16 - ip: 10.10.0.116 - - mac: "00:01:73:02:1d:4c" - name: r1-a17 - ip: 10.10.0.117 - tag: hpc - - mac: "00:01:73:02:20:ac" - name: r1-a18 - ip: 10.10.0.118 - - mac: "00:01:73:02:1a:80" - name: r1-a19 - ip: 10.10.0.119 - - mac: "00:01:73:02:1d:30" - name: r1-a20 - ip: 10.10.0.120 - - mac: "00:01:73:02:38:18" - name: r1-a21 - ip: 10.10.0.121 - - mac: "00:01:73:02:3a:88" - name: r1-a22 - ip: 10.10.0.122 - - # the r1-a30 -> r1-a37 are in the DeveloperCloud and must be on vlan 33 - # leaving the bmc's on vlan 20, but it doesn't matter where they sit - - name: r1-a30-pxe - ip: 10.10.0.130 - mac: "00:00:1a:1b:9f:55" - - name: r1-a30 - ip: 10.33.101.30 - mac: "90:e2:ba:33:bb:e4" - pxe: false - - name: r1-a32-pxe - ip: 10.20.200.5 - mac: "00:00:1a:1b:9f:51" - - name: r1-a32 - ip: 10.33.101.32 - mac: "90:e2:ba:33:b7:64" - pxe: false - - name: r1-a34-pxe - ip: 10.20.200.6 - mac: "00:00:1a:1b:9f:89" - - name: r1-a34 - ip: 10.33.101.34 - pxe: false - mac: "00:1b:21:bc:06:c4" - - name: r1-a35 - ip: 10.33.100.135 - mac: e0:ff:f7:00:06:80 - - mac: "e0:ff:f7:00:04:11" - name: r1-a35-bmc - ip: 10.20.200.70 - pxe: false - - name: r1-a36 - ip: 10.33.100.136 - mac: e0:ff:f7:00:06:83 - - mac: "e0:ff:f7:00:03:f9" - name: r1-a36-bmc - ip: 10.20.200.80 - pxe: false - - name: r1-a37 - ip: 10.33.100.137 - mac: e0:ff:f7:00:06:89 - - mac: "e0:ff:f7:00:03:f7" - name: r1-a37-bmc - ip: 10.20.200.90 - pxe: false - - - name: r2 - hosts: - - mac: "28:80:23:90:58:bc" - name: r2-x86-1 - ip: 10.20.0.20 - pxe: false - - mac: "00:02:99:12:24:da" - name: r2-pm-123 - ip: 10.20.0.21 - pxe: false - - mac: "00:02:99:12:25:b4" - name: r2-pm-456 - ip: 10.20.0.22 - pxe: false - - mac: "00:0c:15:01:42:f4" - name: r2-pm-ha - ip: 10.20.0.23 - pxe: false - - - name: r2-a1 - alias: us-cloud-network - ip: 10.20.100.1 - mac: 00:01:73:02:18:c8 - - name: r2-a2 - ip: 10.20.100.2 - mac: 00:01:73:02:07:fd - - name: r2-a3 - ip: 10.20.100.3 - mac: 00:01:73:02:19:d4 - - name: r2-a4 - ip: 10.20.100.4 - mac: 00:01:73:02:20:fc - - name: r2-a5 - ip: 10.20.100.5 - mac: 00:01:73:02:1c:e0 - - name: r2-a6 - ip: 10.20.100.6 - mac: 00:01:73:02:20:9d - - name: r2-a7 - ip: 10.20.100.7 - mac: 00:01:73:02:17:0c - tag: qa-net - - name: r2-a8 - ip: 10.20.100.8 - mac: 00:01:73:02:1e:0c - - name: r2-a9 - ip: 10.20.100.9 - mac: 00:01:73:02:1f:0c - - name: r2-a10 - ip: 10.20.100.10 - mac: 00:01:73:02:0f:d0 - - name: r2-a11 - ip: 10.20.100.11 - mac: 00:01:73:02:1e:f0 - - name: r2-a12 - ip: 10.20.100.12 - mac: 00:01:73:02:18:30 - - name: r2-a13 - ip: 10.20.100.13 - mac: 00:01:73:02:1f:48 - - name: r2-a14 - ip: 10.20.100.14 - mac: 00:01:73:02:1e:08 - - name: r2-a15 - ip: 10.10.0.215 - mac: 00:01:73:02:1d:cc - - name: r2-a16 - ip: 10.10.0.216 - mac: 00:01:73:02:20:3c - - name: r2-a17 - ip: 10.10.0.217 - mac: 00:01:73:02:1e:1c - - name: r2-a18 - ip: 10.10.0.218 - mac: 00:01:73:02:19:ac - - name: r2-a19 - ip: 10.10.0.219 - mac: 00:01:73:02:1a:a4 - - name: r2-a20 - ip: 10.10.0.220 - mac: 00:01:73:02:1f:e4 - - - name: r2-a21 - ip: 10.20.100.21 - mac: 00:01:73:02:34:90 - - name: r2-a22 - ip: 10.20.100.22 - mac: 00:01:73:02:3a:30 - - name: r2-a23 - ip: 10.20.100.23 - mac: 00:01:73:02:3a:34 - - name: r2-a24 - ip: 10.20.100.24 - mac: 00:01:73:02:3b:a8 - tag: qa-net - - name: r2-a25 - ip: 10.20.100.25 - mac: 00:01:73:02:39:7c - - name: r2-a26 - ip: 10.20.100.26 - mac: 00:01:73:02:38:20 - - name: r2-a27 - ip: 10.20.100.27 - mac: 00:01:73:02:37:48 - - name: r2-a28 - ip: 10.20.100.28 - mac: 00:01:73:02:39:08 - - # the r2-a30 -> r2-a34 are in the DeveloperCloud and must be on vlan 33 - - name: r2-a30 - alias: us-cloud-network2 - ip: 10.33.200.1 - mac: 00:00:1a:1b:9f:75 - - name: r2-a32 - ip: 10.33.200.2 - mac: 00:00:1a:1b:9f:85 - - name: r2-a34 - ip: 10.33.200.3 - mac: 00:00:1a:1b:9f:7d - - - name: r3 - hosts: - # Infrastructure machines - - mac: "94:57:a5:c4:84:df" - name: r3-x86-1 - ip: 10.30.0.10 - pxe: false - - mac: "00:02:99:12:24:dc" - name: r3-pm-123 - ip: 10.30.0.11 - pxe: false - - mac: "00:00:68:1d:5d:ea" - name: r3-pm-456 - ip: 10.30.0.12 - pxe: false - - mac: "2c:30:33:a5:82:cc" - name: r3-s3 - ip: 10.30.0.13 - pxe: false - - mac: "00:0c:15:01:35:94" - name: r3-pm-ha - ip: 10.30.0.14 - pxe: false - - # Moonshot - - mac: "74:46:a0:65:a9:90" - name: r3-m1-bmc - ip: 10.33.0.2 - pxe: false - - - mac: "f0:92:1c:b4:a5:1c" - name: r3-m1-c1 - ip: 10.33.100.1 - tag: rack3x - - mac: "f0:92:1c:b4:a2:d8" - name: r3-m1-c2 - ip: 10.33.100.2 - tag: rack3x - - mac: "f0:92:1c:b4:8e:e8" - name: r3-m1-c3 - ip: 10.33.100.3 - tag: rack3x - - mac: "14:58:d0:58:c2:22" - name: r3-m1-c4 - alias: controller - ip: 10.33.100.4 - - mac: "14:58:d0:58:a2:12" - name: r3-m1-c5 - ip: 10.33.100.5 - - mac: "14:58:d0:58:52:d2" - name: r3-m1-c6 - ip: 10.33.100.6 - - mac: "14:58:d0:58:b2:82" - name: r3-m1-c7 - ip: 10.33.100.7 - - mac: "14:58:d0:58:72:52" - name: r3-m1-c8 - ip: 10.33.100.8 - - mac: "14:58:d0:58:62:02" - name: r3-m1-c9 - ip: 10.33.100.9 - - mac: "14:58:d0:58:23:42" - name: r3-m1-c10 - ip: 10.33.100.10 - - mac: "14:58:d0:58:62:42" - name: r3-m1-c11 - ip: 10.33.100.11 - - mac: "14:58:d0:58:42:a2" - name: r3-m1-c12 - ip: 10.33.100.12 - - mac: "14:58:d0:58:92:42" - name: r3-m1-c13 - ip: 10.33.100.13 - - mac: "14:58:d0:58:62:72" - name: r3-m1-c14 - ip: 10.33.100.14 - - mac: "14:58:d0:58:42:c2" - name: r3-m1-c15 - ip: 10.33.100.15 - - mac: "14:58:d0:58:c2:92" - name: r3-m1-c16 - ip: 10.33.100.16 - - mac: "14:58:d0:58:43:12" - name: r3-m1-c17 - ip: 10.33.100.17 - - mac: "14:58:d0:58:23:b2" - name: r3-m1-c18 - ip: 10.33.100.18 - - mac: "14:58:d0:58:73:22" - name: r3-m1-c19 - ip: 10.33.100.19 - - mac: "14:58:d0:58:13:f2" - name: r3-m1-c20 - ip: 10.33.100.20 - - mac: "14:58:d0:58:33:82" - name: r3-m1-c21 - ip: 10.33.100.21 - - mac: "14:58:d0:58:13:82" - name: r3-m1-c22 - ip: 10.33.100.22 - - mac: "14:58:d0:58:62:b2" - name: r3-m1-c23 - ip: 10.33.100.23 - - mac: 14:58:d0:58:c2:b2 - name: r3-m1-c24 - ip: 10.33.100.24 - - mac: 14:58:d0:58:53:12 - name: r3-m1-c25 - ip: 10.33.100.25 - - mac: 14:58:d0:58:a2:72 - name: r3-m1-c26 - ip: 10.33.100.26 - - mac: 14:58:d0:58:33:42 - name: r3-m1-c27 - ip: 10.33.100.27 - - mac: 14:58:d0:58:33:e2 - name: r3-m1-c28 - ip: 10.33.100.28 - - mac: 14:58:d0:58:43:52 - alias: us-cloud-data - name: r3-m1-c29 - ip: 10.33.100.29 - - mac: 14:58:d0:58:11:02 - name: r3-m1-c30 - alias: us-cloud-controller - ip: 10.33.100.30 - - mac: 14:58:d0:58:03:a2 - name: r3-m1-c31 - ip: 10.33.100.31 - - mac: 14:58:d0:58:42:b2 - name: r3-m1-c32 - ip: 10.33.100.32 - - mac: fc:15:b4:15:7b:f2 - name: r3-m1-c33 - ip: 10.33.100.33 - - mac: fc:15:b4:15:1a:f1 - name: r3-m1-c34 - ip: 10.33.100.34 - -public_ips: - - iface: em2:0 - address: 64.28.108.83/24 - - iface: em2:1 - address: 64.28.108.84/24 - - iface: em2:2 - address: 64.28.108.85/24 - - - iface: em2:3 - address: 64.28.108.189/24 - - iface: em2:4 - address: 64.28.99.27/24 - - iface: em2:5 - address: 64.28.99.28/24 - - iface: em2:6 - address: 64.28.99.29/24 - - iface: em2:7 - address: 64.28.99.30/24 - - iface: em2:8 - address: 64.28.99.31/24 - - iface: em2:9 - address: 64.28.99.32/24 - - iface: em2:10 - address: 64.28.99.33/24 - - iface: em2:11 - address: 64.28.99.34/24 - - iface: em2:12 - address: 64.28.99.40/24 - - iface: em2:13 - address: 64.28.99.41/24 - - iface: em2:14 - address: 64.28.99.42/24 - - iface: em2:15 - address: 64.28.99.43/24 - - iface: em2:16 - address: 64.28.99.44/24 - - iface: em2:17 - address: 64.28.99.45/24 - - iface: em2:18 - address: 64.28.99.46/24 - - iface: em2:19 - address: 64.28.99.47/24 - - iface: em2:20 - address: 64.28.99.48/24 - - iface: em2:21 - address: 64.28.99.49/24 - - iface: em2:22 - address: 64.28.99.50/24 - - iface: em2:23 - address: 64.28.99.51/24 - - iface: em2:24 - address: 64.28.99.52/24 - - iface: em2:25 - address: 64.28.99.53/24 - - iface: em2:26 - address: 64.28.99.54/24 - - iface: em2:27 - address: 64.28.99.55/24 - - iface: em2:28 - address: 64.28.99.56/24 - - iface: em2:29 - address: 64.28.99.57/24 - - iface: em2:30 - address: 64.28.99.58/24 - - iface: em2:31 - address: 64.28.99.59/24 - - iface: em2:32 - address: 64.28.99.60/24 - - iface: em2:33 - address: 64.28.99.61/24 - - iface: em2:34 - address: 64.28.99.62/24 - - iface: em2:35 - address: 64.28.99.63/24 - - iface: em2:36 - address: 64.28.99.64/24 - - iface: em2:37 - address: 64.28.99.65/24 - - iface: em2:38 - address: 64.28.99.66/24 - - iface: em2:39 - address: 64.28.99.67/24 - - iface: em2:40 - address: 64.28.99.68/24 - - iface: em2:41 - address: 64.28.99.69/24 - - iface: em2:42 - address: 64.28.99.70/24 - - iface: em2:43 - address: 64.28.99.71/24 - - iface: em2:44 - address: 64.28.99.72/24 - - iface: em2:45 - address: 64.28.99.73/24 - - iface: em2:46 - address: 64.28.99.74/24 - - iface: em2:47 - address: 64.28.99.75/24 - - iface: em2:48 - address: 64.28.99.76/24 - - iface: em2:49 - address: 64.28.99.77/24 - - iface: em2:50 - address: 64.28.99.78/24 - - iface: em2:51 - address: 64.28.99.79/24 - - iface: em2:52 - address: 64.28.99.80/24 - - iface: em2:53 - address: 64.28.99.81/24 - - iface: em2:54 - address: 64.28.99.82/24 - - iface: em2:55 - address: 64.28.99.83/24 - - iface: em2:56 - address: 64.28.99.84/24 - - iface: em2:57 - address: 64.28.99.85/24 - - iface: em2:58 - address: 64.28.99.86/24 - - iface: em2:59 - address: 64.28.99.87/24 - - iface: em2:60 - address: 64.28.99.88/24 - - iface: em2:61 - address: 64.28.99.89/24 - - iface: em2:62 - address: 64.28.99.90/24 - - iface: em2:63 - address: 64.28.99.91/24 -# - iface: em2:64 -# address: 64.28.99.92/24 -# - iface: em2:65 -# address: 64.28.99.93/24 -# address: 64.28.99.94/24 -# - iface: em2:67 -# address: 64.28.99.95/24 -# - iface: em2:68 -# address: 64.28.99.96/24 -# - iface: em2:69 -# address: 64.28.99.97/24 -# - iface: em2:70 -# address: 64.28.99.98/24 -# - iface: em2:71 -# address: 64.28.99.99/24 -# - iface: em2:72 -# address: 64.28.99.100/24 -# - iface: em2:73 -# address: 64.28.99.101/24 -# - iface: em2:74 -# address: 64.28.99.102/24 -# - iface: em2:75 -# address: 64.28.99.103/24 -# - iface: em2:76 -# address: 64.28.99.112/24 -# - iface: em2:77 -# address: 64.28.99.113/24 -# - iface: em2:78 -# address: 64.28.99.114/24 -# - iface: em2:79 -# address: 64.28.99.115/24 -# - iface: em2:80 -# address: 64.28.99.116/24 -# - iface: em2:81 -# address: 64.28.99.117/24 -# - iface: em2:82 -# address: 64.28.99.118/24 -# - iface: em2:83 -# address: 64.28.99.119/24 -# - iface: em2:84 -# address: 64.28.99.120/24 -# - iface: em2:85 -# address: 64.28.99.121/24 -# - iface: em2:86 -# address: 64.28.99.122/24 -# - iface: em2:87 -# address: 64.28.99.123/24 -# - iface: em2:88 -# address: 64.28.99.124/24 -# - iface: em2:89 -# address: 64.28.99.125/24 -# - iface: em2:90 -# address: 64.28.99.126/24 -# - iface: em2:91 -# address: 64.28.99.127/24 -# - iface: em2:92 -# address: 64.28.99.128/24 -# - iface: em2:93 -# address: 64.28.99.129/24 -# - iface: em2:94 -# address: 64.28.99.130/24 -# - iface: em2:95 -# address: 64.28.99.131/24 -# - iface: em2:96 -# address: 64.28.99.132/24 -# - iface: em2:97 -# address: 64.28.99.133/24 -# - iface: em2:98 -# address: 64.28.99.134/24 -# - iface: em2:99 -# address: 64.28.99.135/24 -# - iface: em2:100 -# address: 64.28.99.136/24 -# - iface: em2:101 -# address: 64.28.99.137/24 -# - iface: em2:102 -# address: 64.28.99.138/24 -# - iface: em2:103 -# address: 64.28.99.139/24 -# - iface: em2:104 -# address: 64.28.99.140/24 -# - iface: em2:105 -# address: 64.28.99.141/24 -# - iface: em2:106 -# address: 64.28.99.142/24 -# - iface: em2:107 -# address: 64.28.99.143/24 -# - iface: em2:108 -# address: 64.28.99.144/24 -# - iface: em2:109 -# address: 64.28.99.145/24 -# - iface: em2:110 -# address: 64.28.99.146/24 -# - iface: em2:111 -# address: 64.28.99.147/24 -# - iface: em2:112 -# address: 64.28.99.148/24 -# - iface: em2:113 -# address: 64.28.99.149/24 -# - iface: em2:114 -# address: 64.28.99.150/24 -# - iface: em2:115 -# address: 64.28.99.151/24 -# - iface: em2:116 -# address: 64.28.99.152/24 -# - iface: em2:117 -# address: 64.28.99.153/24 -# - iface: em2:118 -# address: 64.28.99.154/24 -# - iface: em2:119 -# address: 64.28.99.155/24 -# - iface: em2:120 -# address: 64.28.99.156/24 -# - iface: em2:121 -# address: 64.28.99.157/24 -# - iface: em2:122 -# address: 64.28.99.158/24 -# - iface: em2:123 -# address: 64.28.99.159/24 -# - iface: em2:124 -# address: 64.28.99.160/24 -# - iface: em2:125 -# address: 64.28.99.161/24 -# - iface: em2:126 -# address: 64.28.99.162/24 -# - iface: em2:127 -# address: 64.28.99.163/24 -# - iface: em2:128 -# address: 64.28.99.164/24 -# - iface: em2:129 -# address: 64.28.99.165/24 -# - iface: em2:130 -# address: 64.28.99.166/24 -# - iface: em2:131 -# address: 64.28.99.167/24 -# - iface: em2:132 -# address: 64.28.99.168/24 -# - iface: em2:133 -# address: 64.28.99.169/24 -# - iface: em2:134 -# address: 64.28.99.170/24 -# - iface: em2:135 -# address: 64.28.99.171/24 -# - iface: em2:136 -# address: 64.28.99.172/24 -# - iface: em2:137 -# address: 64.28.99.173/24 -# - iface: em2:138 -# address: 64.28.99.174/24 -# - iface: em2:139 -# address: 64.28.99.175/24 diff --git a/host_vars/ses-proxy.ctt.linaro.org b/host_vars/ses-proxy.ctt.linaro.org new file mode 100644 index 00000000..6bb9cd1d --- /dev/null +++ b/host_vars/ses-proxy.ctt.linaro.org @@ -0,0 +1 @@ +docker_host: yes diff --git a/host_vars/snapshots.linaro.org b/host_vars/snapshots.linaro.org index f58403e5..2a2326d8 100644 --- a/host_vars/snapshots.linaro.org +++ b/host_vars/snapshots.linaro.org @@ -1,14 +1,34 @@ +--- sitename: Linaro Snapshots -secrets_file: snapshots-us.linaro.org -publishing_host: snapshots-us.linaro.org +secrets_file: snapshots.linaro.org +publishing_host: snapshots.linaro.org +llp_port: '8081' -s3_purge: true -s3_purge_delete: true -s3_purge_delete_releases: true +s3_purge: false +s3_purge_releases: true +token_cleanup: true -certbot_domains: ["snapshots.linaro.org","snapshots-us.linaro.org"] -ssl_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{inventory_hostname}}/privkey.pem -ssl_ca_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem +dehydrated_http_domains: + - snapshots.linaro.org + - snapshots.ctt.linaro.org +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + snapshots.linaro.org snapshots.ctt.linaro.org -process_report: true +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +apache_redirects: | + RedirectMatch "/96boards/hikey/linaro/aosp-master" "https://snapshots.linaro.org/android/lkft/lkft-aosp-master/" + ProxyPass /96boards/hikey/linaro/aosp-master ! + +repo_name: project + +login_groups: + - systems + - team-builds-and-baselines + +sudo_groups: + - systems + - users diff --git a/host_vars/staging-bugs.linaro.org b/host_vars/staging-bugs.linaro.org index 98b76915..f3e281ef 100644 --- a/host_vars/staging-bugs.linaro.org +++ b/host_vars/staging-bugs.linaro.org @@ -1,5 +1,13 @@ --- -ssl_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{inventory_hostname}}/privkey.pem +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem + +dehydrated_http_domains: + - staging-bugs.linaro.org + +dehydrated_dns_domains: [] + +dehydrated_domains_txt: | + staging-bugs.linaro.org phabricator_hostname: staging-bugs.linaro.org diff --git a/host_vars/staging-git.morello-project.org b/host_vars/staging-git.morello-project.org new file mode 100644 index 00000000..2ef62c79 --- /dev/null +++ b/host_vars/staging-git.morello-project.org @@ -0,0 +1,98 @@ +--- +sshd_port: 2222 +docker_host: yes +docker_image_name: "gitlab/gitlab-ee:13.5.1-ee.0" +dovecot_user: gitlab +dovecot_allow_plaintext_auth: true +postfix_allow_inbound: true +postfix_networks: 172.17.0.0/16 +gitlab_mail_server: smtp + +#Leaving this in as an example of how to get oauth working +#oauth_github_app_id: 5cfb58f2db190e0eedca + +gitlab_config: | + external_url 'https://{{ inventory_hostname }}/' + gitlab_rails['lfs_enabled'] = true + gitlab_rails['monitoring_whitelist'] = ['95.217.117.19'] + + {{ gitlab_config_outbound_mail }} + {{ gitlab_config_inbound_mail }} + {{ gitlab_config_object_storage }} + {{ gitlab_config_limits }} +#Leaving this in as an example of how to get oauth working +# {{ gitlab_config_oauth }} + +gitlab_config_object_storage: | + gitlab_rails['object_store']['enabled'] = true + gitlab_rails['object_store']['proxy_download'] = true + gitlab_rails['object_store']['connection'] = { + 'provider' => 'AWS', + 'region' => 'us-east-1', + 'use_iam_profile' => true, + } + gitlab_rails['object_store']['objects']['artifacts']['bucket'] = 'morello-gl-artifacts' + gitlab_rails['object_store']['objects']['external_diffs']['bucket'] = 'morello-gl-external-diffs' + gitlab_rails['object_store']['objects']['lfs']['bucket'] = 'morello-gl-lfs-objects' + gitlab_rails['object_store']['objects']['uploads']['bucket'] = 'morello-gl-uploads' + gitlab_rails['object_store']['objects']['packages']['bucket'] = 'morello-gl-packages' + gitlab_rails['object_store']['objects']['dependency_proxy']['bucket'] = 'morello-gl-dependency-proxy' + gitlab_rails['object_store']['objects']['terraform_state']['bucket'] = 'morello-gl-terraform-state' + +gitlab_config_limits: | + gitaly['concurrency'] = [ + { + 'rpc' => "/gitaly.SmartHTTPService/PostUploadPack", + 'max_per_repo' => 10 + }, + { + 'rpc' => "/gitaly.SSHService/SSHUploadPack", + 'max_per_repo' => 10 + } + ] + +gitlab_config_outbound_mail: | + gitlab_rails['gitlab_email_enabled'] = true + gitlab_rails['gitlab_email_from'] = 'gitlab@{{ inventory_hostname }}' + gitlab_rails['gitlab_email_display_name'] = 'Morello Project Gitlab' + gitlab_rails['gitlab_email_reply_to'] = 'noreply@{{ inventory_hostname }}' + gitlab_rails['gitlab_email_subject_suffix'] = '' + gitlab_rails['gitlab_email_smime_enabled'] = false + gitlab_rails['smtp_enable'] = true + gitlab_rails['smtp_address'] = "{{ gitlab_mail_server }}" + gitlab_rails['smtp_port'] = 25 + gitlab_rails['smtp_domain'] = "{{ gitlab_mail_server }}" + gitlab_rails['smtp_tls'] = false + gitlab_rails['smtp_openssl_verify_mode'] = 'none' + gitlab_rails['smtp_enable_starttls_auto'] = false + gitlab_rails['smtp_tls'] = false + gitlab_rails['smtp_force_tls'] = false + +gitlab_config_inbound_mail: | + gitlab_rails['incoming_email_enabled'] = true + gitlab_rails['incoming_email_address'] = "gitlab@git.morello-project.org" + gitlab_rails['incoming_email_email'] = "{{ dovecot_user }}" + gitlab_rails['incoming_email_password'] = "{{ dovecot_password }}" + gitlab_rails['incoming_email_host'] = "{{ gitlab_mail_server }}" + gitlab_rails['incoming_email_port'] = 143 + gitlab_rails['incoming_email_ssl'] = false + gitlab_rails['incoming_email_start_tls'] = false + gitlab_rails['incoming_email_mailbox_name'] = "inbox" + gitlab_rails['incoming_email_idle_timeout'] = 60 + gitlab_rails['incoming_email_log_file'] = "/var/log/gitlab/mailroom/mail_room_json.log" + gitlab_rails['incoming_email_expunge_deleted'] = true + +#Leaving this in as an example of how to get oauth working +#gitlab_config_oauth: | +# gitlab_rails['omniauth_providers'] = [ +# { +# "name" => "github", +# "app_id" => "{{ oauth_github_app_id }}", +# "app_secret" => "{{ oauth_github_secret }}", +# "args" => { "scope" => "user:email" } +# } +# ] +# gitlab_rails['omniauth_allow_single_sign_on'] = ['github'] +# gitlab_rails['omniauth_block_auto_created_users'] = false +# gitlab_rails['omniauth_sync_profile_from_provider'] = ['github'] +# gitlab_rails['omniauth_sync_profile_attributes'] = ['name', 'email', 'location'] diff --git a/host_vars/staging-issues.trustedfirmware.org b/host_vars/staging-issues.trustedfirmware.org index dcdd5487..f0432b5f 100644 --- a/host_vars/staging-issues.trustedfirmware.org +++ b/host_vars/staging-issues.trustedfirmware.org @@ -1,10 +1,22 @@ --- -ssl_cert: /etc/letsencrypt/live/{{inventory_hostname}}/fullchain.pem -ssl_key: /etc/letsencrypt/live/{{inventory_hostname}}/privkey.pem +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +dehydrated_http_domains: + - "{{inventory_hostname}}" +dehydrated_dns_domains: [] +dehydrated_domains_txt: | + {{inventory_hostname}} login_groups: - systems - its + - trustedfirmware-infrastructure + +sudo_groups: + - systems + - trustedfirmware-infrastructure postfix_hostname: staging-issues.trustedfirmware.org postfix_destinations: ["staging-issues.trustedfirmware.org"] diff --git a/host_vars/systems-monitoring.linaro.org b/host_vars/systems-monitoring.linaro.org new file mode 100644 index 00000000..3eea8c8c --- /dev/null +++ b/host_vars/systems-monitoring.linaro.org @@ -0,0 +1,34 @@ +--- +ansible_python_interpreter: /usr/bin/python +# the cert is managed by dehydrated on the host +# server (elk.linaro.org) +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +# Elasticsearch +docker_container_elasticsearch_name: elasticsearch-production +docker_elk_vol: /srv/elk-production +es_network_name: elasticsearch + +# Kibiter +kibiter_root: "{{docker_elk_vol}}/kibiter" +docker_image_kibiter_local: linaro/kibiter-linaro +docker_container_name_kibiter: "monitoring-{{ monitoring_team }}" +docker_port_kibiter: 5605 # monitoring-systems port +kibana_index: ".kibiter{{ monitoring_team }}" + +# Elastalert +ea_mailto_address: "{{ mailto_address }}" +no_atom: yes + +hb_monitors: + icmp: "{{ groups['heartbeat_icmp'] }}" + https: "{{ groups['heartbeat_https'] }}" + smtp: "{{ groups['gerrit'] }}" + gerrit: "{{ groups['gerrit'] }}" + gitlab: "{{ groups['gitlab'] }}" + ses_proxy: "{{ groups['ses_proxy'] }}" + +docker_apache: yes +apache_network: "{{es_network_name}}" diff --git a/host_vars/testdata.linaro.org b/host_vars/testdata.linaro.org index 4738d416..4149240a 100644 --- a/host_vars/testdata.linaro.org +++ b/host_vars/testdata.linaro.org @@ -1,2 +1,13 @@ +--- sitename: testdata secrets_file: testdata.linaro.org +llp_port: '8082' + +apache_aliases: + - testdata.validation.linaro.org + +ssl_cert: /etc/dehydrated/certs/{{inventory_hostname}}/fullchain.pem +ssl_key: /etc/dehydrated/certs/{{inventory_hostname}}/privkey.pem +ssl_ca: "{{ssl_cert}}" + +publishing_host: testdata.linaro.org diff --git a/host_vars/weblogs.linaro.org b/host_vars/weblogs.linaro.org deleted file mode 100644 index f76f574b..00000000 --- a/host_vars/weblogs.linaro.org +++ /dev/null @@ -1,12 +0,0 @@ ---- -git_repo: "https://git.linaro.org/infrastructure/linaro-license-protection" -git_tag: HEAD -django_settings: local_settings -apache_user: www-data - -# apache-auth -host_site_name: "{{inventory_hostname}}" -apache_root: "{{install_base}}" -apache_ldap_bind: cn=git-private,ou=binders,dc=linaro,dc=org -apache_ldap_url: > - ldaps://login.linaro.org/ou=accounts,dc=linaro,dc=org?mail,uid?sub diff --git a/host_vars/x86-15 b/host_vars/x86-15 new file mode 100644 index 00000000..580853e8 --- /dev/null +++ b/host_vars/x86-15 @@ -0,0 +1,8 @@ +--- +login_groups: + - systems + - team-builds-and-baselines + - buildslave + - ssh_access_jenkins_slaves + - mbl-ci-users + - ubuntu diff --git a/host_vars/x86-TF-01 b/host_vars/x86-TF-01 new file mode 100644 index 00000000..2618dbb4 --- /dev/null +++ b/host_vars/x86-TF-01 @@ -0,0 +1,24 @@ +--- + +login_groups: + - systems + - trustedfirmware-infrastructure + - buildslave + - ssh_access_jenkins_slaves + - ubuntu + - lava-lab-access + +sudo_groups: + - systems + - trustedfirmware-infrastructure + - lava-lab-access + +jenkins_ip: 195.154.87.69 #ci.trustedfirmware.org +docker_host: true + +nfs_client_mount: + - path: /srv/shared + src: 51.159.20.54:/data/shared + fstype: nfs + opts: rw,noatime,vers=4.2,hard,intr + state: mounted diff --git a/host_vars/x86-TF-02 b/host_vars/x86-TF-02 new file mode 100644 index 00000000..8e12ffa4 --- /dev/null +++ b/host_vars/x86-TF-02 @@ -0,0 +1,24 @@ +--- + +login_groups: + - systems + - trustedfirmware-infrastructure + - buildslave + - ssh_access_jenkins_slaves + - ubuntu + +sudo_groups: + - systems + - trustedfirmware-infrastructure + +jenkins_staging_ip: 3.225.239.230 #ci.staging.trustedfirmware.org +jenkins_ip: 195.154.87.69 #ci.trustedfirmware.org + +docker_host: true +nfs_client_group: "jenkins_slaves_online_tf" + +nfs_exports: + - name: "shareddata" + path: "/data/shared" + options: "(rw,sync,no_subtree_check,no_root_squash)" + cleanup: "find /data/shared -atime +7 -delete" diff --git a/host_vars/x86-TF-03 b/host_vars/x86-TF-03 new file mode 120000 index 00000000..c7b73371 --- /dev/null +++ b/host_vars/x86-TF-03 @@ -0,0 +1 @@ +x86-TF-01
\ No newline at end of file diff --git a/host_vars/x86-TF-04 b/host_vars/x86-TF-04 new file mode 120000 index 00000000..c7b73371 --- /dev/null +++ b/host_vars/x86-TF-04 @@ -0,0 +1 @@ +x86-TF-01
\ No newline at end of file diff --git a/host_vars/x86-TF-05 b/host_vars/x86-TF-05 new file mode 120000 index 00000000..c7b73371 --- /dev/null +++ b/host_vars/x86-TF-05 @@ -0,0 +1 @@ +x86-TF-01
\ No newline at end of file diff --git a/host_vars/x86_64-10 b/host_vars/x86_64-10 deleted file mode 100644 index b3e15fbe..00000000 --- a/host_vars/x86_64-10 +++ /dev/null @@ -1,4 +0,0 @@ -OBS_IP: 64.28.99.162 -OBS_JOBS: 8 -OBS_PORT: 5454 -OBS_TMPFS: 0 @@ -1,154 +1,158 @@ -[aus-colo] -router.aus-colo.linaro.org -aus-colo.linaro.org -r1-x86-1.aus-colo.linaro.org -r2-x86-1.aus-colo.linaro.org -r3-x86-1.aus-colo.linaro.org - -[uk-devcloud] -uk1.linaro.cloud - -[weblogs] -weblogs.linaro.org - -[publishing] -snapshots.linaro.org -releases-us.linaro.org -testdata.linaro.org - [git] git-us.linaro.org -git-ap.linaro.org -git-ie.linaro.org dev-private-git.linaro.org git.trustedfirmware.org git.mlplatform.org [git:children] -android-git +android_git -[android-git] +[android_git] android-git-us.linaro.org -android-git-ap.linaro.org -android-git-ie.linaro.org -[dev-private] +[dev_private] dev-private-review.linaro.org [gerrit] review.linaro.org android-review.linaro.org dev-private-review.linaro.org -lhg-review.linaro.org review.trustedfirmware.org review.mlplatform.org +# Note: only accessible via Forge's VPN +gerrit.forge.aws.linaro.com ansible_host=10.252.23.114 +gerrit.devboardsforandroid.linaro.org -[gerrit-mirror] +[gerrit_mirror] git-us.linaro.org android-git-us.linaro.org dev-private-git.linaro.org -lhg-review.linaro.org +git.trustedfirmware.org [patchwork] -patches.opendataplane.org patches.linaro.org -patches-gcc.linaro.org - -[filebeat] -elk.linaro.org -git-ie.linaro.org -git-us.linaro.org -git-ap.linaro.org -android-git-us.linaro.org -android-git-ap.linaro.org -android-git-ie.linaro.org -dev-private-git.linaro.org - -[metricbeat:children] -filebeat - -[elk] -elk.linaro.org [jenkins_master] ci.linaro.org [jenkins_tf_master] ci.trustedfirmware.org +ci.staging.trustedfirmware.org +mbedtls.trustedfirmware.org [jenkins_slaves_hetzner] -aosp-x86_64-07 ansible_host=144.76.6.139 # aosp-x86_64-07 -aosp-x86_64-08 ansible_host=188.40.51.209 # aosp-x86_64-08 -aosp-x86_64-09 ansible_host=213.133.116.86 # aosp-x86_64-09 (ART) -aosp-x86_64-10 ansible_host=78.46.190.194 # aosp-x86_64-10 (ART) -lhg-build-01 ansible_host=148.251.140.195 # lhg-build-01 -x86_64-07 ansible_host=188.40.92.79 # x86_64-07 -x86_64-08 ansible_host=188.40.49.144 # x86_64-08 -x86_64-09 ansible_host=148.251.184.94 # x86_64-09 -x86_64-10 ansible_host=138.201.52.83 # x86_64-10 -x86_64-11 ansible_host=88.99.28.12 # x86_64-11 (RPB) -x86_64-12 ansible_host=88.99.28.38 # x86_64-12 (RPB) -x86_64-13 ansible_host=88.99.59.232 # x86_64-13 (LITE) -x86_64-14 ansible_host=88.99.149.141 # x86_64-14 +aosp-x86-09 ansible_host=49.12.133.85 # aosp-x86-09 +aosp-x86-10 ansible_host=168.119.145.200 # aosp-x86-10 +aosp-x86-13 ansible_host=95.217.145.175 # aosp-x86-13 (ART) +x86-11 ansible_host=88.99.28.12 # x86-11 (RPB) # triggers +x86-12 ansible_host=88.99.28.38 # x86-12 (RPB) +x86-13 ansible_host=88.99.59.232 # x86-13 (LITE) +x86-14 ansible_host=88.99.149.141 # x86-14 +x86-15 ansible_host=95.216.16.165 # x86-15 [jenkins_slaves_online] -lkft-build-01 ansible_host=51.15.185.142 # lkft-build-01 -oe-x86_64-01 ansible_host=62.210.248.69 # oe-x86_64-01 -oe-x86_64-02 ansible_host=62.210.249.170 # oe-x86_64-02 +x86-16 ansible_host=62.210.124.13 # x86-16 triggers, python jobs -[jenkins_slaves_packet] -aarch64_08 ansible_host=147.75.32.78 # aarch64_08 +[jenkins_slaves_online_tf] +x86-TF-01 ansible_host=51.159.1.37 # x86-TF-01 (TF Agent Prod) +x86-TF-02 ansible_host=51.159.20.54 # x86-TF-02 (TF Agent Prod/Staging and NFS server) +x86-TF-03 ansible_host=51.159.22.224 # x86-TF-03 (TF Agent Prod / LAVA FVP Worker) +x86-TF-04 ansible_host=51.159.20.12 # x86-TF-04 (TF Agent Prod / LAVA FVP Worker) +x86-TF-05 ansible_host=51.159.20.18 # x86-TF-05 (TF Agent Prod) -[jenkins_slaves_scaleway] -armhf-01 ansible_host=51.15.128.165 +[jenkins_slaves_packet] +aarch64-09 ansible_host=147.28.196.111 # aarch64-09 [jenkins_slaves_simple] -leg-aarch64-01 ansible_host=10.101.96.20 ansible_user=ci-admin +ldcg-aarch64-02 ansible_host=10.40.88.130 ansible_user=ci-admin [jenkins_slaves:children] jenkins_slaves_hetzner jenkins_slaves_online +jenkins_slaves_online_tf jenkins_slaves_packet -jenkins_slaves_scaleway -[publishing-docker] -publishing-ap.linaro.org +[flexnet] +flexnet.trustedfirmware.org +flexnet-aws.trustedfirmware.org + +[publishing] +snapshots.linaro.org + +[publishing_docker] +publishing-ie.linaro.org ansible_host=52.215.200.125 + +[publishing_docker_site] +releases-ie.linaro.org +testdata.linaro.org ansible_host=52.215.200.125 -[ssh-ldap] +[ssh_ldap] +buildkite.ctt.linaro.org qcom-proxy.linaro.org qcom-hackbox.linaro.org android.linaro.org -patches-gcc.linaro.org git.trustedfirmware.org testdata.linaro.org -mmwg-hackbox.linaro.org -lcg-hackbox.linaro.org -releases-us.linaro.org -j12-qrep-01 ansible_host=10.101.16.17 # inside mlab, jumphost via jenkins-master review.mlplatform.org -qcom-hackbox2.linaro.org +lava.morello-project.org ansible_host=54.88.117.5 +obs.linaro.org -[apache-auth] +[apache_auth] dev-private-git.linaro.org dev-private-review.linaro.org -lhg-review.linaro.org + +[apache_redirects] +builds.96boards.org ansible_host=52.215.200.125 [phabricator] developer.trustedfirmware.org developer.mlplatform.org staging-issues.trustedfirmware.org -staging-bugs.linaro.org -[obs] -obs-bastion-us1.linaro.cloud ansible_host=64.28.99.162 -obs-server-us1.linaro.cloud -obs-bastion-cn1.linaro.cloud ansible_host=103.20.251.151 -obs-server-cn1.linaro.cloud +[lava-remote-workers] +aarch64-09 +aarch64-10 ansible_host=10.7.0.101 # ssh proxy lab.validation.linaro.org + +[ses_proxy] +ses-proxy.ctt.linaro.org + +[gitlab] +git.morello-project.org ansible_ssh_port=2222 +staging-git.morello-project.org ansible_ssh_port=2222 + +[gitlab_runner] +gitlab-runner-manager.morello-project.org +gitlab-runner.morello-project.org +gitlab-runner-manager.lkft.org +aarch64-09 +deployments.ctt.linaro.org +runner-cassini.ctt.linaro.org + +[postfix] +bugs.linaro.org +bugs.96boards.org +patches.linaro.org +review.trustedfirmware.org +developer.trustedfirmware.org +review.mlplatform.org +dev-private-review.linaro.org +review.linaro.org +android-review.linaro.org +git.morello-project.org +gerrit.forge.aws.linaro.com +gerrit.devboardsforandroid.linaro.org + +[swarm_nodes] +x86-11 +x86-12 +x86-14 +x86-15 + +[swarm_manager] +ci.linaro.org -[obs-workers] -x86_64-10 -armhf-01 ansible_host=51.15.128.165 -aarch64_08 ansible_host=147.75.32.78 +[grafana] +grafana.linaro.org -[fossology] -fossology.linaro.org +[prometheus] +grafana.linaro.org diff --git a/jenkins-master.yml b/jenkins-master.yml deleted file mode 100644 index 7ae243c9..00000000 --- a/jenkins-master.yml +++ /dev/null @@ -1,34 +0,0 @@ -# Deploy jenkins-master ---- -- name: Deploy tcwg proxy - hosts: ci.linaro.org - become: yes - roles: - - {role: docker-tcwg-proxy, tags: [tcwg,docker]} - -- name: Deploy jenkins-master - hosts: jenkins_master - become: yes - vars_files: - - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] - - "{{secrets_dir}}/group_vars/all" - roles: - - {role: ssh-ldap, tags: [ssh-ldap]} - - {role: nfs-server, tags: [nfs]} - - {role: docker-deps, tags: [jenkins-master,docker]} - - {role: jenkins-master-deps, tags: [jenkins-master-deps]} - - {role: docker-jenkins-master, tags: [jenkins-master,docker]} - - {role: certbot, tags: [certbot]} - - {role: apache-site, src: "jenkins/ci.linaro.org.conf", config: "ci.linaro.org", tags: [apache]} - - {role: openvpn-client, tags: [vpn]} - -- name: Deploy trustedfirmware - hosts: jenkins_tf_master - become: yes - vars_files: - - "{{secrets_dir}}/group_vars/all" - roles: - - {role: ssh-ldap, tags: [ssh-ldap]} - - {role: docker-deps, tags: [jenkins-master,docker]} - - {role: docker-tf-jenkins-master, tags: [jenkins-master,docker]} - - {role: apache-site, src: "jenkins/ci.linaro.org.conf", config: "ci.trustedfirmware.org", tags: [apache]} diff --git a/jenkins-slaves.yml b/jenkins-slaves.yml deleted file mode 100644 index 71f4f967..00000000 --- a/jenkins-slaves.yml +++ /dev/null @@ -1,20 +0,0 @@ -- name: Configure jenkins slaves - hosts: jenkins_slaves - become: yes - vars_files: - - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml" ] - roles: - - {role: ssh-ldap, tags: [ssh-ldap]} - - {role: docker-deps, tags: [jenkins,docker]} - - {role: jenkins-slave-deps, tags: [jenkins]} - - {role: nfs-client, tags: [nfs]} -# - role: zabbix-agent - -- name: Configure non-ldap jenkins slaves - hosts: jenkins_slaves_simple - become: yes - vars_files: - - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml" ] - roles: - - {role: docker-deps, tags: [jenkins,docker]} - - {role: jenkins-slave-deps, tags: [jenkins]} diff --git a/jenkins.yml b/jenkins.yml new file mode 100644 index 00000000..321e66d7 --- /dev/null +++ b/jenkins.yml @@ -0,0 +1,104 @@ +# Deploy jenkins-master +--- +- name: Deploy tcwg containers + hosts: ci.linaro.org + become: yes + roles: + - {role: docker-tcwg-proxy, tags: [tcwg,docker]} + - {role: docker-llvmmonitor, tags: [tcwg,docker,llvm]} + +- name: Deploy nfs server settings + hosts: ci.linaro.org, x86-TF-02 + become: yes + roles: + - {role: nfs-server, tags: [nfs-server]} + +- name: Deploy jenkins-master + hosts: jenkins_master + become: yes + vars_files: + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] + - ["{{secrets_dir}}/group_vars/swarm", "vars/empty.yml" ] + - "{{secrets_dir}}/group_vars/all" + roles: + - {role: duplicity, tags: [duplicity]} + - {role: docker-jenkins-master, tags: [jenkins-master,docker]} + - {role: docker-swarm-manager, tags: [swarm, docker]} + - {role: apache-site, src: "jenkins/ci.linaro.org.conf", config: "ci.linaro.org", tags: [apache]} + - {role: openvpn-client, tags: [vpn]} + +- name: Deploy trustedfirmware + hosts: jenkins_tf_master + become: yes + vars_files: + - "{{secrets_dir}}/group_vars/all" + - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" + - "{{secrets_dir}}/group_vars/dehydrated" + roles: + - {role: dehydrated, tags: [ssl] } + - {role: duplicity, tags: [duplicity]} + - {role: apache-site, src: "jenkins/ci.linaro.org.conf", config: "{{ inventory_hostname }}", tags: [apache]} + - {role: docker-tf-jenkins-master, tags: [jenkins-master,docker]} + - {role: apache-site, src: "apache/docs.ci.trustedfirmware.org.conf", tags: [apache], + config: "tf-m-user-guide.trustedfirmware.org", doc_path: "user_guide/html", + when: inventory_hostname == "ci.trustedfirmware.org" + } + - {role: apache-site, src: "apache/docs.ci.trustedfirmware.org.conf", tags: [apache], + config: "tf-m-reference.trustedfirmware.org", doc_path: "reference_manual/html", + when: inventory_hostname == "ci.trustedfirmware.org" + } + +- name: Deploy flexnet + hosts: + - flexnet.trustedfirmware.org + - flexnet-aws.trustedfirmware.org + become: yes + vars_files: + - "{{secrets_dir}}/group_vars/all" + - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" + roles: + # ufw is included by jenkins_* roles for other servers, + # but we need to pull it in manually here + - {role: ufw, tags: [ufw], + when: inventory_hostname == "flexnet.trustedfirmware.org" } + - {role: docker-flexnet, tags: [flexnet]} + +# eclair has been deployed and is managed manually, but we +# need to preserve this install +- name: Deploy eclair + hosts: eclair.trustedfirmware.org + become: yes + vars_files: + - "{{secrets_dir}}/group_vars/all" + - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" + roles: + - {role: ufw, tags: [ufw]} + +- name: Configure jenkins agents + hosts: jenkins_slaves + become: yes + vars_files: + - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml" ] + - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}", "vars/empty.yml"] + roles: + - {role: jenkins-slave-deps, tags: [jenkins]} + - {role: nfs-client, tags: [nfs], + when: nfs_client_mount is defined} + +- name: Configure non-ldap jenkins slaves + hosts: jenkins_slaves_simple + become: yes + vars_files: + - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml" ] + roles: + - {role: jenkins-slave-deps, tags: [jenkins]} + +- name: Configure package for triggers agents + hosts: + - x86-11 + - x86-16 + become: yes + vars_files: + - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml" ] + roles: + - {role: jenkins-trigger-agent, tags: [trigger]} diff --git a/lava-remote-worker.yml b/lava-remote-worker.yml new file mode 100644 index 00000000..f598ca8e --- /dev/null +++ b/lava-remote-worker.yml @@ -0,0 +1,11 @@ +--- +- hosts: + - lava-remote-workers + become: yes + vars_files: + - ["{{secrets_dir}}/group_vars/all", "vars/empty.yml"] + - ["{{secrets_dir}}/host_vars/{{ inventory_hostname }}", "vars/empty.yml"] + roles: + - {role: docker-deps, tags: [docker]} + - {role: lava-remote-worker, tags: [lava-remote-worker]} + - {role: lava-docker-worker, tags: [lava-docker-worker]} diff --git a/metricbeat.yml b/metricbeat.yml deleted file mode 100644 index 98f4e255..00000000 --- a/metricbeat.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Configure metricbeat - hosts: metricbeat - gather_facts: no - become: yes - roles: - - role: metricbeat diff --git a/obs-cn1.yml b/obs-cn1.yml deleted file mode 100644 index 82896156..00000000 --- a/obs-cn1.yml +++ /dev/null @@ -1,89 +0,0 @@ -# Deploy staging OBS on devcloud ---- -- name: Create staging machines with OpenStack - hosts: localhost - gather_facts: false - tasks: - - name: create OBS bastion server - os_server: - state: present - name: obs-bastion-cn1.linaro.cloud - image: Official Debian Stretch - key_name: Riku Linaro - wait: yes - flavor: m1.small - auto_floating_ip: yes - network: obs-net - meta: - hostname: obs-bastion-cn1.linaro.cloud - - name: Create obs_data volume - os_volume: - state: present - size: 400 - display_name: obs_data - - name: Create obs_backup volume - os_volume: - state: present - size: 400 - display_name: obs_backup - - name: Attach obs_data volume to obs server - os_server_volume: - state: present - volume: obs_data - server: obs-bastion-cn1.linaro.cloud - device: "{{ hostvars['obs-bastion-cn1.linaro.cloud'].obsdata_dev }}" - - name: Attach obs_backup volume to obs server - os_server_volume: - state: present - volume: obs_backup - server: obs-bastion-cn1.linaro.cloud - device: "{{ hostvars['obs-bastion-cn1.linaro.cloud'].obsbackup_dev }}" - - name: Deploy OBS worker - os_server: - state: present - name: obs-worker-cn1.linaro.cloud - image: Official Debian Stretch - key_name: Riku Linaro - wait: yes - flavor: m1.small - auto_floating_ip: yes - network: obs-net - meta: - hostname: obs-worker-cn1.linaro.cloud - -- name: Configure firewall and OBS container - hosts: obs-bastion-cn1.linaro.cloud - vars_files: - - "{{secrets_dir}}/group_vars/all" - - vars/empty.yml - become: yes - roles: - - role: ssh-ldap - tags: [ssh-ldap] - - role: obs-bastion - worker_ip: - - 192.168.1.1/24 - - role: systemd-container - container_name: obs - container_user: obs-admin - ssh_port: 2201 - -- name: Install OBS server - hosts: obs-server-cn1.linaro.cloud - become: yes - vars_files: - - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" - roles: - - role: letsencrypt - email: riku.voipio@linaro.org - - role: obs - -- name: Install staging worker - hosts: obs-worker-cn1.linaro.cloud - become: yes - roles: - - role: obs-worker - OBS_IP: 192.168.1.10 - OBS_JOBS: 2 - OBS_PORT: 5454 - OBS_TMPFS: 0 diff --git a/obs-us1.yml b/obs-us1.yml deleted file mode 100644 index 11041771..00000000 --- a/obs-us1.yml +++ /dev/null @@ -1,93 +0,0 @@ -# Deploy OBS on devcloud ---- -- name: Create Production OBS machines in OpenStack - hosts: localhost - gather_facts: false - tasks: - - name: create OBS bastion server - os_server: - state: present - name: obs-bastion-us1.linaro.cloud - image: Official Debian Stretch - key_name: Riku Linaro - wait: yes - flavor: m1.large - auto_floating_ip: yes - network: obs-net - meta: - hostname: obs-bastion-us1.linaro.cloud - - name: Create obs_data volume - os_volume: - state: present - size: 400 - display_name: obs_data - - name: Create obs_backup volume - os_volume: - state: present - size: 400 - display_name: obs_backup - - name: Attach obs_data volume to obs server - os_server_volume: - state: present - volume: obs_data - server: obs-bastion-us1.linaro.cloud - device: "{{ hostvars['obs-bastion-us1.linaro.cloud'].obsdata_dev }}" - - name: Attach obs_backup volume to obs server - os_server_volume: - state: present - volume: obs_backup - server: obs-bastion-us1.linaro.cloud - device: "{{ hostvars['obs-bastion-us1.linaro.cloud'].obsbackup_dev }}" - - name: Deploy OBS worker - os_server: - state: present - name: obs-worker-us1.linaro.cloud - image: Official Debian Stretch - key_name: Riku Linaro - wait: yes - flavor: m1.tiny - auto_floating_ip: no - network: obs-net - meta: - hostname: obs-worker-us1.linaro.cloud - -- name: Configure firewall and OBS container - hosts: obs-bastion-us1.linaro.cloud - vars_files: - - "{{secrets_dir}}/group_vars/all" - - vars/empty.yml - become: yes - roles: - - role: ssh-ldap - tags: [ssh-ldap] - - role: obs-bastion - worker_ip: - - 192.168.1.1/24 - - 10.20.0.1/24 - - 138.201.52.83 - - 147.75.32.78 - - 51.15.128.165 - - role: systemd-container - container_name: obs - container_user: obs-admin - ssh_port: 2201 - -- name: Install OBS server - hosts: obs-server-us1.linaro.cloud - become: yes - vars_files: - - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" - roles: - - role: restic - backup_host: 103.20.251.151 - backup_user: backup-bot - backup_db: - - obsapi - backup_dirs: - - /srv/obs - - /etc - tags: [backup] - - role: letsencrypt - hostname: obs.linaro.org - email: riku.voipio@linaro.org - - role: obs diff --git a/obs-workers.yml b/obs-workers.yml deleted file mode 100644 index 935b9b2d..00000000 --- a/obs-workers.yml +++ /dev/null @@ -1,8 +0,0 @@ -# OBS workers ---- -- name: Deploy OBS workers - hosts: obs-workers - become: yes - roles: - - role: obs-worker - diff --git a/obs.yml b/obs.yml new file mode 100644 index 00000000..eb9888eb --- /dev/null +++ b/obs.yml @@ -0,0 +1,13 @@ +--- +- name: Deploy OBS vhost + hosts: obs.linaro.org + become: yes + vars_files: + - "{{secrets_dir}}/group_vars/all" + - "{{secrets_dir}}/group_vars/dehydrated" + - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" + - vars/empty.yml + roles: + - {role: dehydrated, tags: [ssl]} + - {role: apache-site, src: apache/vhost-obs.conf, config: "obs.linaro.org", tags: [apache]} + - {role: obs_deps, tags: [obs_deps]} diff --git a/patchwork.yml b/patchwork.yml index d648a253..b7876735 100644 --- a/patchwork.yml +++ b/patchwork.yml @@ -4,10 +4,11 @@ become: yes vars_files: - "{{secrets_dir}}/host_vars/{{inventory_hostname}}" + - "{{secrets_dir}}/group_vars/dehydrated" roles: - - {role: certbot, tags: [ssl]} - - postgres - - patchwork-deps + - {role: dehydrated, tags: [ssl]} + - {role: postgres, tags: [postgres]} + - {role: patchwork-deps, tags: [django,patchworks]} - {role: django, tags: [django]} - {role: apache-site, src: patchwork/apache.conf, config: "{{inventory_hostname}}", tags: [apache] } diff --git a/per-service/bugzilla/files/bugzilla-apache.conf b/per-service/bugzilla/files/bugzilla-apache.conf index 942f2d69..130426c9 100644 --- a/per-service/bugzilla/files/bugzilla-apache.conf +++ b/per-service/bugzilla/files/bugzilla-apache.conf @@ -3,17 +3,16 @@ <VirtualHost *:80> ServerName {{hostname}} - RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{hostname}}/$1" + Include /etc/apache2/linaro/headers-http.conf - Alias "/.well-known/acme-challenge" "/srv/certbot/.well-known/acme-challenge" - <Directory /srv/certbot/.well-known/acme-challenge> - Require all granted - </Directory> + RedirectMatch permanent "^/(?!\.well-known/acme-challenge)(.*)" "https://{{hostname}}/$1" + Include /etc/apache2/linaro/letsencrypt.conf </VirtualHost> <VirtualHost *:443> ServerName {{hostname}} ServerAdmin webmaster@linaro.org + RedirectMatch 404 /\.git # block .git being hosted DocumentRoot {{install_base}}/{{hostname}} @@ -34,19 +33,13 @@ KeepAliveTimeout 9 MaxKeepAliveRequests 150 - SSLEngine On - SSLProtocol All -SSLv2 -SSLv3 - SSLCompression Off - SSLHonorCipherOrder On - SSLCipherSuite "EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:\ - EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:\ - !aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:\ - CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA" - + Include /etc/apache2/linaro/settings-ssl.conf SSLCertificateFile {{ssl_cert}} SSLCertificateKeyFile {{ssl_key}} SSLCertificateChainFile {{ssl_ca}} + Include /etc/apache2/linaro/headers-https.conf + <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> @@ -66,7 +59,6 @@ ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" - Header always set Strict-Transport-Security "max-age=63072000" Header append Cache-Control "no-transform" {% if inventory_hostname == "bugs.linaro.org" %} diff --git a/postfix.yml b/postfix.yml index 7665123e..b05e4ea0 100644 --- a/postfix.yml +++ b/postfix.yml @@ -1,13 +1,20 @@ --- - name: Configure postfix on system hosts: - - review.trustedfirmware.org - - developer.trustedfirmware.org - - patches.opendataplane.org - - review.mlplatform.org - gather_facts: no + - postfix become: yes vars_files: + - ["{{secrets_dir}}/group_vars/ses-proxy"] - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}"] roles: - {role: postfix} + +- name: deploy SES proxy + hosts: + - ses_proxy + become: yes + vars_files: + - ["{{secrets_dir}}/group_vars/ses-proxy"] + roles: + - { role: docker-ses-proxy, tags: [ses-proxy]} + diff --git a/publishing-baremetal.yml b/publishing-baremetal.yml new file mode 100644 index 00000000..98d23ad8 --- /dev/null +++ b/publishing-baremetal.yml @@ -0,0 +1,11 @@ +--- +- name: Deploy a bare metal publishing server + hosts: publishing + become: yes + vars_files: + - "{{secrets_dir}}/group_vars/all" + - "{{secrets_dir}}/group_vars/dehydrated" + roles: + - {role: dehydrated, tags: [ssl]} + - {role: snowflake-publishing, tags: [publishing]} + - {role: apache-site, src: "apache/{{ inventory_hostname }}.conf", config: "{{inventory_hostname}}", tags: [apache]} diff --git a/publishing-docker.yml b/publishing-docker.yml index faf5c9e0..e92f2320 100644 --- a/publishing-docker.yml +++ b/publishing-docker.yml @@ -1,11 +1,33 @@ --- - name: Deploy publishing server - hosts: publishing-docker + hosts: publishing_docker become: yes vars_files: - "{{secrets_dir}}/group_vars/all" - "{{secrets_dir}}/group_vars/dehydrated" roles: - - {role: ssh-ldap, tags: [ssh-ldap]} - {role: dehydrated, tags: [ssl]} - - {role: docker-publishing, tags: [docker]} + - {role: docker-publishing, tags: [docker,docker-publishing]} + +- name: Deploy publishing site + hosts: publishing_docker_site + become: yes + vars_files: + - "{{secrets_dir}}/group_vars/all" + roles: + - {role: docker-publishing-site, tags: [docker-site]} + - {role: apache-site, src: "publishing/docker-proxy.conf", config: "{{inventory_hostname}}", tags: [apache]} + +- name: Deploy builds.96boards.org redirect + hosts: builds.96boards.org + gather_facts: no + become: yes + roles: + - {role: apache-site, src: publishing/llp-apache-96boards.conf, config: "builds.96boards.org", tags: [96boards]} + +- name: Deploy obs.linaro.org redirect + hosts: obs.linaro.org + gather_facts: no + become: yes + roles: + - {role: apache-site, src: publishing/llp-apache-obs.conf, config: "obs.linaro.org", tags: [obs]} diff --git a/publishing.yml b/publishing.yml deleted file mode 100644 index c7fdbce7..00000000 --- a/publishing.yml +++ /dev/null @@ -1,24 +0,0 @@ ---- -- hosts: publishing - gather_facts: yes - become: yes - roles: - - {role: certbot, tags: [ssl]} - - publishing-deps - - django - - {role: apache-site, src: publishing/llp-apache.conf, config: "{{hostname}}", tags: [apache] } - -# Used for Apache redirect. builds.96boards.org -# Define the host here that we want to handle redirects. -- hosts: releases-us.linaro.org - gather_facts: no - become: yes - roles: - - {role: apache-site, src: publishing/llp-apache-96boards.conf, config: "builds.96boards.org", tags: [96boards]} - -# Used for Apache redirect. -- hosts: testdata.linaro.org - gather_facts: no - become: yes - roles: - - {role: apache-site, src: publishing/llp-apache-testdata-validation.conf, config: "000-testdata.validation.linaro.org", tags: [testdata]} diff --git a/roles/apache-site/defaults/main.yml b/roles/apache-site/defaults/main.yml index ed97d539..d102071e 100644 --- a/roles/apache-site/defaults/main.yml +++ b/roles/apache-site/defaults/main.yml @@ -1 +1,5 @@ --- +apache_modules: [] +apache_modules_default: + - ssl + - headers diff --git a/roles/apache-site/files/block-refs.conf b/roles/apache-site/files/block-refs.conf new file mode 100644 index 00000000..4ae34917 --- /dev/null +++ b/roles/apache-site/files/block-refs.conf @@ -0,0 +1,5 @@ + SetEnvIf User-Agent "Amazon Route 53 Health Check" dontlog + SetEnvIf User-Agent "Pingdom.*" dontlog + + RewriteCond %{HTTP_USER_AGENT} ^.*(Applebot|AhrefsBot|amazonbot|bingbot|Baidu|Baiduspider|Bytespider|DotBot|360Spider|360|googlebot|MauiBot|SemrushBot|MegaIndex|PetalBot|Yandex|MJ12bot|TurnItIn|GPTBot).*$ [nocase] + RewriteRule ^(.*)$ - [forbidden,last] diff --git a/roles/apache-site/files/headers-http.conf b/roles/apache-site/files/headers-http.conf new file mode 100644 index 00000000..614a1448 --- /dev/null +++ b/roles/apache-site/files/headers-http.conf @@ -0,0 +1,4 @@ +Header setifempty X-XSS-Protection 1;mode=block +Header setifempty Content-Security-Policy "default-src 'self';script-src 'self' www.google-analytics.com ajax.googleapis.com;" +Header setifempty X-Content-Type-Options nosniff +Header setifempty Cache-Control "max-age=86400, public" diff --git a/roles/apache-site/files/headers-https.conf b/roles/apache-site/files/headers-https.conf new file mode 100644 index 00000000..530f1b4a --- /dev/null +++ b/roles/apache-site/files/headers-https.conf @@ -0,0 +1,5 @@ +Header setifempty X-XSS-Protection 1;mode=block +Header setifempty Content-Security-Policy "script-src 'self' www.google-analytics.com ajax.googleapis.com;" +Header setifempty X-Content-Type-Options nosniff +Header setifempty Strict-Transport-Security "max-age=63072000" +Header setifempty Cache-Control "max-age=86400, public" diff --git a/roles/apache-site/files/letsencrypt.conf b/roles/apache-site/files/letsencrypt.conf new file mode 100644 index 00000000..40edb3b8 --- /dev/null +++ b/roles/apache-site/files/letsencrypt.conf @@ -0,0 +1,4 @@ +Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" +<Directory "/srv/certbot/"> + Require all granted +</Directory> diff --git a/roles/apache-site/files/logrotate.conf b/roles/apache-site/files/logrotate.conf new file mode 100644 index 00000000..88e3dc72 --- /dev/null +++ b/roles/apache-site/files/logrotate.conf @@ -0,0 +1,19 @@ +/var/log/apache2/*.log { + daily + missingok + rotate 365 + dateext + compress + delaycompress + sharedscripts + postrotate + if invoke-rc.d apache2 status > /dev/null 2>&1; then \ + invoke-rc.d apache2 reload > /dev/null 2>&1; \ + fi; + endscript + prerotate + if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ + run-parts /etc/logrotate.d/httpd-prerotate; \ + fi; \ + endscript +} diff --git a/roles/apache-site/files/settings-ssl.conf b/roles/apache-site/files/settings-ssl.conf new file mode 100644 index 00000000..4e57cd70 --- /dev/null +++ b/roles/apache-site/files/settings-ssl.conf @@ -0,0 +1,3 @@ +SSLEngine On +SSLCompression Off +SSLOptions +StdEnvVars diff --git a/roles/apache-site/files/ssl.conf b/roles/apache-site/files/ssl.conf new file mode 100644 index 00000000..cbb6b98e --- /dev/null +++ b/roles/apache-site/files/ssl.conf @@ -0,0 +1,85 @@ +<IfModule mod_ssl.c> + + # Pseudo Random Number Generator (PRNG): + # Configure one or more sources to seed the PRNG of the SSL library. + # The seed data should be of good random quality. + # WARNING! On some platforms /dev/random blocks if not enough entropy + # is available. This means you then cannot use the /dev/random device + # because it would lead to very long connection times (as long as + # it requires to make more entropy available). But usually those + # platforms additionally provide a /dev/urandom device which doesn't + # block. So, if available, use this one instead. Read the mod_ssl User + # Manual for more details. + # + SSLRandomSeed startup builtin + SSLRandomSeed startup file:/dev/urandom 512 + SSLRandomSeed connect builtin + SSLRandomSeed connect file:/dev/urandom 512 + + ## + ## SSL Global Context + ## + ## All SSL configuration in this context applies both to + ## the main server and all SSL-enabled virtual hosts. + ## + + # + # Some MIME-types for downloading Certificates and CRLs + # + AddType application/x-x509-ca-cert .crt + AddType application/x-pkcs7-crl .crl + + # Pass Phrase Dialog: + # Configure the pass phrase gathering process. + # The filtering dialog program (`builtin' is a internal + # terminal dialog) has to provide the pass phrase on stdout. + SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase + + # Inter-Process Session Cache: + # Configure the SSL Session Cache: First the mechanism + # to use and second the expiring timeout (in seconds). + # (The mechanism dbm has known memory leaks and should not be used). + #SSLSessionCache dbm:${APACHE_RUN_DIR}/ssl_scache + SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000) + SSLSessionCacheTimeout 300 + + # Semaphore: + # Configure the path to the mutual exclusion semaphore the + # SSL engine uses internally for inter-process synchronization. + # (Disabled by default, the global Mutex directive consolidates by default + # this) + #Mutex file:${APACHE_LOCK_DIR}/ssl_mutex ssl-cache + + + # SSL Cipher Suite: + # List the ciphers that the client is permitted to negotiate. See the + # ciphers(1) man page from the openssl package for list of all available + # options. + # Enable only secure ciphers: + SSLCipherSuite HIGH:!aNULL + + # SSL server cipher order preference: + # Use server priorities for cipher algorithm choice. + # Clients may prefer lower grade encryption. You should enable this + # option if you want to enforce stronger encryption, and can afford + # the CPU cost, and did not override SSLCipherSuite in a way that puts + # insecure ciphers first. + # Default: Off + SSLHonorCipherOrder on + + # The protocols to enable. + # Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2 + # SSL v2 is no longer supported + SSLProtocol -all +TLSv1.2 + + # Allow insecure renegotiation with clients which do not yet support the + # secure renegotiation protocol. Default: Off + #SSLInsecureRenegotiation on + + # Whether to forbid non-SNI clients to access name based virtual hosts. + # Default: Off + #SSLStrictSNIVHostCheck On + +</IfModule> + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet diff --git a/roles/apache-site/handlers/main.yml b/roles/apache-site/handlers/main.yml index e0240f7d..630dcb20 100644 --- a/roles/apache-site/handlers/main.yml +++ b/roles/apache-site/handlers/main.yml @@ -1,7 +1,3 @@ --- -- name: install-site-apache - import_tasks: install_site.yml - - name: reload-apache service: name=apache2 state=reloaded - listen: install-site-apache diff --git a/roles/apache-site/tasks/docker_apache.yml b/roles/apache-site/tasks/docker_apache.yml new file mode 100644 index 00000000..050df54b --- /dev/null +++ b/roles/apache-site/tasks/docker_apache.yml @@ -0,0 +1,27 @@ +--- +- name: Disable apache on the host + systemd: + daemon_reload: yes + enabled: no + name: apache2 + state: stopped + +- name: Cram apache to a container + docker_container: + name: apache + image: linaro/apache:bionic + state: started + networks: + - name: "{{apache_network}}" + log_driver: journald + restart_policy: unless-stopped + published_ports: + - 80:80 + - 443:443 + volumes: + - /etc/apache2:/etc/apache2:ro + - /etc/ssl:/etc/ssl:ro + - /etc/dehydrated:/etc/dehydrated:ro + - /srv/certbot:/srv/certbot:rw + - /var/log/apache:/var/log/apache:rw + diff --git a/roles/apache-site/tasks/install_site.yml b/roles/apache-site/tasks/install_site.yml index 027daa33..5502ebc3 100644 --- a/roles/apache-site/tasks/install_site.yml +++ b/roles/apache-site/tasks/install_site.yml @@ -1,10 +1,21 @@ --- +- name: Install Apache site config + template: src=files/{{src}} dest=/etc/apache2/sites-available/{{config}} mode=0644 backup=yes + owner=root + group=root + notify: + - reload-apache + - name: Add Apache 2.4 compatibility symlink file: state=link force=yes src={{config}} dest=/etc/apache2/sites-available/{{config}}.conf + notify: + - reload-apache - name: Enable site config command: a2ensite {{config}} - register: result - changed_when: "'already enabled' not in result.stdout" + args: + creates: /etc/apache2/sites-enabled/{{config}}.conf + notify: + - reload-apache diff --git a/roles/apache-site/tasks/main.yml b/roles/apache-site/tasks/main.yml index 74880fad..565c1d01 100644 --- a/roles/apache-site/tasks/main.yml +++ b/roles/apache-site/tasks/main.yml @@ -4,14 +4,41 @@ vars: packages: - apache2 + - ssl-cert + +- name: Ensure Linaro Apache config directory exists + file: path=/etc/apache2/linaro state=directory + +- name: Install Linaro Apache configs + copy: + src: files/{{item}} + dest: /etc/apache2/linaro/{{item}} + with_items: + - headers-https.conf + - headers-http.conf + - settings-ssl.conf + - letsencrypt.conf + - block-refs.conf + +- name: Install ssl.conf + copy: + src: files/ssl.conf + dest: /etc/apache2/mods-available/ssl.conf + +- name: Enable Apache modules + command: a2enmod {{ item }} + creates=/etc/apache2/mods-enabled/{{ item }}.load + with_items: + - "{{apache_modules_default}}" + - "{{apache_modules}}" + notify: + - reload-apache + tags: + - apache - name: Install Apache site config - template: src=files/{{src}} dest=/etc/apache2/sites-available/{{config}} mode=0644 backup=yes - owner=root - group=root when: config is defined - notify: - - install-site-apache + include_tasks: install_site.yml tags: - apache - apache-conf @@ -28,3 +55,45 @@ - name: Install Block Bad Bots configurations include_tasks: block_bad_bots.yml when: block_bad_bots is defined + +- name: Check for SSL certs + stat: + path: "{{ssl_cert}}" + register: ssl_file + when: ssl_cert is defined + +- name: Ensure directory for ssl cert is created + file: + path: "{{ssl_cert|dirname}}" + state: directory + mode: 0700 + owner: root + group: root + recurse: yes + when: ssl_file.stat.exists != True + +- name: Use snakeoil as default SSL cert + file: + state: link + src: /etc/ssl/certs/ssl-cert-snakeoil.pem + dest: "{{ssl_cert}}" + when: ssl_file.stat.exists != True + +- name: Use snakeoil key as default SSL key + file: + state: link + src: /etc/ssl/private/ssl-cert-snakeoil.key + dest: "{{ssl_key}}" + when: ssl_file.stat.exists != True + +- name: Install logrotate.conf to keep 1 year of log files + template: + dest: /etc/logrotate.d/apache2 + src: files/logrotate.conf + +- name: Containerize apache + when: docker_apache is defined + include_tasks: docker_apache.yml + tags: + - apache + - apache-conf diff --git a/roles/atom/meta/main.yml b/roles/atom/meta/main.yml new file mode 100644 index 00000000..47b5d124 --- /dev/null +++ b/roles/atom/meta/main.yml @@ -0,0 +1,12 @@ +--- +dependencies: + - {role: defaults, tags: [defaults]} + - {role: ufw, tags: [ufw], when: ufw_open_ports is defined} + - {role: ssh-admin, tags: [ssh-admin], when: admin_user is defined} + - {role: linaro-git-tools, tags: [lgt]} + - {role: ssh-ldap, tags: [ssh-ldap], when: no_ldap is undefined} + - {role: node_exporter, tags: [node_exporter]} + - {role: docker-deps, tags: [docker], when: is_docker_host is true} + - {role: rktools, tags: [rktools]} + # - {role: filebeat, tags: [filebeat]} + # - {role: metricbeat, tags: [metricbeat]} diff --git a/roles/bugzilla/tasks/main.yml b/roles/bugzilla/tasks/main.yml index 5480d518..91f96586 100644 --- a/roles/bugzilla/tasks/main.yml +++ b/roles/bugzilla/tasks/main.yml @@ -88,3 +88,12 @@ copy: src={{bugzilla_variables}} dest={{install_base}}/{{hostname}}/template/en/custom/global/variables.none.tmpl owner=root group=www-data + +- name: Install extra utils to manage bugzilla + file: path=/srv/linaro-bugzilla-tools + state=directory owner=root group=root mode=0770 + +- name: Copy sortkeys script + template: src=templates/renumber_cf_version_sortkeys.py + dest=/srv/linaro-bugzilla-tools/renumber_cf_version_sortkeys.py + mode=0660 owner=root group=root diff --git a/roles/bugzilla/templates/renumber_cf_versions_sortkeys.py b/roles/bugzilla/templates/renumber_cf_versions_sortkeys.py new file mode 100755 index 00000000..5112105f --- /dev/null +++ b/roles/bugzilla/templates/renumber_cf_versions_sortkeys.py @@ -0,0 +1,77 @@ +#!/usr/bin/python + +# This script is meant to help renumber the sortkeys +# for kernel versions in bugzilla. The general +# algorithm is that we set a new "maximum" sortkey, +# pull all the current sortkey values out of the +# db, renumber them to start at the new maximum, +# and update with the new values. +# +# The script should be idempotent and will take +# moved sortkeys into account. + +import psycopg2 +import sys + +START=200 +OLD_CAP=100 +LAST_MIGRATED=START+1 + + +def update_kv(conn, vid, new_val): + print "Updating %s -> %s" % (vid, new_val) + + sql = """update cf_kernel_version set sortkey = %s where id = %s""" + + cur = conn.cursor() + cur.execute(sql, (new_val, vid)) + conn.commit() + cur.close() + + +conn = psycopg2.connect( + database="bugzilla", + user="bugzilla", + password="{{ db_password }}", + host="localhost" + ) + +cur = conn.cursor() + +cur.execute("select * from cf_kernel_version") +results = cur.fetchall() + +old_vers = {} + +for r in results: + (vid, name, sortkey, enabled, display_val) = r + + # skip Next and Mainline + if sortkey < 2: + continue + + if sortkey > OLD_CAP: + # if it's greater than the old cap, but less than LAST_MIGRATED + # then it should be the new LAST_MIGRATED, else ignore it + if sortkey < LAST_MIGRATED: + LAST_MIGRATED = sortkey + else: + if not old_vers.has_key(sortkey): + old_vers[sortkey] = [] + old_vers[sortkey].append(vid) + +olds = old_vers.keys() + +if len(olds) < 1: + print "Nothing to do... c'ya!" + sys.exit(0) + +olds.sort() +olds.reverse() + +pos = LAST_MIGRATED +for x in olds: + pos -= 1 + for y in old_vers[x]: + print " %s %s -> %s" % (y, x, pos) + update_kv(conn, y, pos) diff --git a/roles/certbot/defaults/main.yml b/roles/certbot/defaults/main.yml deleted file mode 100644 index 93bd5f1d..00000000 --- a/roles/certbot/defaults/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -certbot_domains: [ "{{hostname}}" ] -certbot_email: systems@linaro.org diff --git a/roles/certbot/files/acme-challenge.apache2 b/roles/certbot/files/acme-challenge.apache2 deleted file mode 100644 index b585c423..00000000 --- a/roles/certbot/files/acme-challenge.apache2 +++ /dev/null @@ -1,22 +0,0 @@ -<VirtualHost *:80> -# This creates a place for us to post acme-challenges for -# LetsEncrypt certificates. It will be up to the playbook -# for the service that installs the apache config to exempt -# the URL from a redirect with something like: -# -# RedirectMatch permanent \ -# "^/(?!\.well-known/acme-challenge)(.*)" \ -# "https://{{hostname}}/$1" -# -# If the config is using rewrite rules, use: -# -# RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/.*$ -# -# If certbot is run manually, you should use the options: -# --webroot -w /srv/certbot -# - Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" - <Directory "/srv/certbot/.well-known/acme-challenge/"> - Require all granted - </Directory> -</VirtualHost> diff --git a/roles/certbot/files/apache.hook.service b/roles/certbot/files/apache.hook.service deleted file mode 100755 index 3d28c372..00000000 --- a/roles/certbot/files/apache.hook.service +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -service apache2 reload diff --git a/roles/certbot/handlers/main.yml b/roles/certbot/handlers/main.yml deleted file mode 100644 index e7acde15..00000000 --- a/roles/certbot/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -#note: won't make a request if the cert isn't due for renewal or no new domains -- name: run-certbot - command: certbot --expand --agree-tos -n certonly -m "{{certbot_email}}" -d "{{item}}" --webroot -w /srv/certbot - with_items: "{{certbot_domains}}" diff --git a/roles/certbot/tasks/certbot.yml b/roles/certbot/tasks/certbot.yml deleted file mode 100644 index f4b4c078..00000000 --- a/roles/certbot/tasks/certbot.yml +++ /dev/null @@ -1,43 +0,0 @@ ---- -- name: Add certbot PPA - apt_repository: - repo: "{{item}}" - with_items: - - ppa:certbot/certbot - -- name: Install certbot packages - apt: pkg={{item}} state=present - with_items: - - certbot - - python-certbot-apache - - python-openssl - -- name: Check valid cert for all domains - command: certbot certificates - register: certbot_output - changed_when: not("{{item}}" in certbot_output.stdout) - with_items: "{{certbot_domains}}" - notify: run-certbot - -- name: Create acme-challenge webroot - file: - path: /srv/certbot/.well-known/acme-challenge - state: directory - mode: 0755 - -- name: Ensure renewal hook dir is present - file: - path: /etc/letsencrypt/renewal-hooks/deploy - state: directory - mode: 0755 - -- name: Ensure letsencrypt crontab is removed - file: - path: /etc/cron.d/letsencrypt-crontab - state: absent - -- name: Install deploy hook for apache - template: - dest: /etc/letsencrypt/renewal-hooks/deploy/apache - src: files/apache.hook.service - mode: 0755 diff --git a/roles/certbot/tasks/main.yml b/roles/certbot/tasks/main.yml deleted file mode 100644 index aea52159..00000000 --- a/roles/certbot/tasks/main.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: Include snakeoil cert settings - include_tasks: snakeoil.yml - when: (snakeoil is defined) and (snakeoil == True) - -- name: Include certbot tasks - include_tasks: certbot.yml - when: (snakeoil is undefined) or (snakeoil != True) diff --git a/roles/certbot/tasks/snakeoil.yml b/roles/certbot/tasks/snakeoil.yml deleted file mode 100644 index 073ba9e7..00000000 --- a/roles/certbot/tasks/snakeoil.yml +++ /dev/null @@ -1,20 +0,0 @@ ---- -- name: Ensure certbot directory exists - file: - path: /etc/letsencrypt/live/{{item}} - state: directory - with_items: "{{certbot_domains}}" - -- name: Link LE cert to snakeoil cert - file: - src: /etc/ssl/certs/ssl-cert-snakeoil.pem - dest: /etc/letsencrypt/live/{{item}}/fullchain.pem - state: link - with_items: "{{certbot_domains}}" - -- name: Link LE key to snakeoil key - file: - src: /etc/ssl/private/ssl-cert-snakeoil.key - dest: /etc/letsencrypt/live/{{item}}/privkey.pem - state: link - with_items: "{{certbot_domains}}" diff --git a/roles/cgit/files/header.html b/roles/cgit/files/header.html new file mode 100644 index 00000000..fdbfc113 --- /dev/null +++ b/roles/cgit/files/header.html @@ -0,0 +1,2 @@ +<link rel='stylesheet' type='text/css' href='/cgit-css/linaro.css' /> +<script src="/cgit-css/linaro.js"> </script> diff --git a/roles/cgit/handlers/main.yml b/roles/cgit/handlers/main.yml deleted file mode 100644 index 33dbd396..00000000 --- a/roles/cgit/handlers/main.yml +++ /dev/null @@ -1,4 +0,0 @@ ---- -- name: build-cgit - command: make - chdir={{tools_checkout_dir}}/cgit diff --git a/roles/cgit/tasks/main.yml b/roles/cgit/tasks/main.yml index 50086936..ceb55dfa 100644 --- a/roles/cgit/tasks/main.yml +++ b/roles/cgit/tasks/main.yml @@ -18,12 +18,15 @@ repo: deb http://obs.linaro.org/STG/{{ansible_distribution_release}}/ ./ state: present +# check https://obs.linaro.org/package/view_file/STG/cgit/INSTRUCTIONS.txt - name: Install cgit and dependencies - apt: name={{ item }} state=present update_cache=yes - with_items: - - cgit=1.2.1-linaro1 - - python3-markdown - - python3-docutils + apt: name={{ packages }} state=present update_cache=yes + vars: + packages: + - cgit=1.2.3+git2.25-linaro1 + - python3-markdown + - python3-docutils + - mime-support - name: Link cgit css into apache directory file: src=/usr/share/cgit/cgit.css @@ -33,8 +36,14 @@ - name: Copy the site logo copy: src=git-logo.png dest={{ apache_root }}/cgit/cgit-css/ mode=0755 +- name: Install Linaro customizations + template: src={{ item }} dest={{ apache_root }}/cgit/cgit-css/ mode=0755 + with_items: + - linaro.css + - linaro.js + - name: Install header.html - template: src=header.html dest={{ apache_root }}/cgit/header.html mode=0755 + copy: src=header.html dest={{ apache_root }}/cgit/header.html mode=0755 - name: Create a wrapper script to the cgit binary copy: dest={{ apache_root }}/cgit/cgit owner=root group=root mode=0755 @@ -56,3 +65,9 @@ template: src=sudoers dest=/etc/sudoers.d/cgit owner=root group=root mode=0755 validate='visudo -cf %s' + +- name: Install cgitrc to hide repo + template: src=cgitrc-repo-hide dest={{ repo_root }}/{{ item }}/cgitrc + mode=0755 owner={{ git_user }} group={{ git_user }} + with_items: "{{ cgit_hide_repos }}" + when: cgit_hide_repos is defined diff --git a/roles/cgit/templates/cgitrc b/roles/cgit/templates/cgitrc index 526b3d6d..23090be4 100644 --- a/roles/cgit/templates/cgitrc +++ b/roles/cgit/templates/cgitrc @@ -13,12 +13,14 @@ strict-export=git-daemon-export-ok {% if server_access == "private" %} auth-filter={{apache_root}}/cgit/allowed-repo.sh allowed-repos-cmd={{apache_root}}/cgit/allowed-repos.sh +enable-http-clone=0 {% endif %} enable-git-config=1 enable-index-owner=0 clone-prefix={%for x in clone_urls%}{{x}} {%endfor%} -snapshots=tar.gz +# Comment out to disable GZ downloads +#snapshots=tar.gz header={{apache_root}}/cgit/header.html @@ -57,7 +59,13 @@ readme=:INSTALL readme=:install readme=gitolite/readme:README.html +mimetype-file=/etc/mime.types + about-filter=/usr/lib/cgit/filters/about-formatting.sh section-from-path=1 scan-path={{repo_root}} + +render.md=/usr/lib/cgit/filters/html-converters/md2html +render.rst=/usr/lib/cgit/filters/html-converters/rst2html + diff --git a/roles/cgit/templates/cgitrc-repo-hide b/roles/cgit/templates/cgitrc-repo-hide new file mode 100644 index 00000000..fc0101a2 --- /dev/null +++ b/roles/cgit/templates/cgitrc-repo-hide @@ -0,0 +1,4 @@ +# Prefer "hide" over "ignore" so that repo is +# still available to browse from gerrit, but +# doesn't show up in indexes of the site. +hide=1 diff --git a/roles/cgit/templates/linaro.css b/roles/cgit/templates/linaro.css new file mode 100644 index 00000000..717b7d82 --- /dev/null +++ b/roles/cgit/templates/linaro.css @@ -0,0 +1,9 @@ +tr.reposection { + cursor: pointer; +} +tr.reposection td:before { + content: "â–¼ "; +} +tr.reposection.collapsed td:before { + content: "â–¶ "; +} diff --git a/roles/cgit/templates/header.html b/roles/cgit/templates/linaro.js index 9ba87621..a84ffde5 100644 --- a/roles/cgit/templates/header.html +++ b/roles/cgit/templates/linaro.js @@ -1,16 +1,3 @@ -<style> -tr.reposection { - cursor: pointer; -} -tr.reposection td:before { - content: "â–¼ "; -} -tr.reposection.collapsed td:before { - content: "â–¶ "; -} -</style> - -<script> function toggle(tr) { var collapsed = tr.classList.contains("collapsed"); if (collapsed) @@ -49,4 +36,3 @@ document.addEventListener('DOMContentLoaded', function(event) { ga('send', 'pageview'); {% endif %} }); -</script> diff --git a/roles/colo-bastion/files/serial-connect b/roles/colo-bastion/files/serial-connect deleted file mode 100644 index c83eff47..00000000 --- a/roles/colo-bastion/files/serial-connect +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash -e - -if [ $# -ne 1 ] ; then - echo "Usage: $0 <host>" - exit 1 -fi - -if [[ $1 == r1-* ]] ; then - exec console -e^xx -M r1-x86-1 -p 3109 $1 -fi -if [[ $1 == r2-* ]] ; then - exec console -e^xx -M r2-x86-1 -p 3109 $1 -fi -if [[ $1 == r3-* ]] ; then - exec console -e^xx -M r3-x86-1 -p 3109 $1 -fi - -echo "Invalid host name: $1" -exit 1 diff --git a/roles/colo-bastion/tasks/main.yml b/roles/colo-bastion/tasks/main.yml deleted file mode 100644 index 55fea60a..00000000 --- a/roles/colo-bastion/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Install required packages - apt: - pkg: "{{item}}" - with_items: - - conserver-client - -- name: Install the serial connect script - copy: - src: serial-connect - dest: /usr/local/bin - mode: 0755 diff --git a/roles/colo-console-server/files/conserver-server.conf b/roles/colo-console-server/files/conserver-server.conf deleted file mode 100644 index 8ef9ecca..00000000 --- a/roles/colo-console-server/files/conserver-server.conf +++ /dev/null @@ -1,3 +0,0 @@ -# DO NOT EDIT! MANAGED BY ANSIBILE -OPTS='-p 3109 -i ' -ASROOT=1 diff --git a/roles/colo-console-server/files/serial-connect-dl120 b/roles/colo-console-server/files/serial-connect-dl120 deleted file mode 100755 index ce33894b..00000000 --- a/roles/colo-console-server/files/serial-connect-dl120 +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/python - -# DO NOT EDIT! MANAGED BY ANSIBLE - -import argparse -import os -import sys - -DEVICES = { - # t1 - 't1-p1': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.2/1-11.2:1.0', - 't1-p2': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.1/1-11.1:1.0', - 't1-p3': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.3/1-11.3.2/1-11.3.2:1.0', - 't1-p4': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.3/1-11.3.1/1-11.3.1:1.0', - 't1-p5': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.3/1-11.3.4/1-11.3.4:1.0', - 't1-p6': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.3/1-11.3.3/1-11.3.3:1.0', - 't1-p7': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.3/1-11.3.6/1-11.3.6:1.0', - 't1-p8': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.3/1-11.3.5/1-11.3.5:1.0', - 't1-p9': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.1/1-11.4.1:1.0', - 't1-p10': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.3/1-11.3.7/1-11.3.7:1.0', - 't1-p11': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.3/1-11.4.3:1.0', - 't1-p12': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.2/1-11.4.2:1.0', - 't1-p13': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.5/1-11.4.5:1.0', - 't1-p14': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.4/1-11.4.4:1.0', - 't1-p15': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.7/1-11.4.7:1.0', - 't1-p16': '/sys/devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11.4/1-11.4.6/1-11.4.6:1.0', -} - -parser = argparse.ArgumentParser( description='connect to a serial console for: %s' % DEVICES.keys()) -parser.add_argument('-e', '--escape-key', default='a', - help='picocom escape key. default=a') -parser.add_argument('-b', '--baud', default='115200', - help='picocom escape key. default=a') -parser.add_argument('device', help='Device to connect to') - -args = parser.parse_args() - -if args.device not in DEVICES: - sys.exit('Invalid device: ' + args.device) - -for p in os.listdir(DEVICES[args.device]): - if p.startswith('ttyUSB'): - args = ['/usr/bin/sudo', 'picocom', '-e', args.escape_key, - '-b', args.baud, '/dev/' + p] - os.execv(args[0], args) - -sys.exit('ERROR: no usb device found?') diff --git a/roles/colo-console-server/files/serial-connect-dl320 b/roles/colo-console-server/files/serial-connect-dl320 deleted file mode 100755 index 1599cb63..00000000 --- a/roles/colo-console-server/files/serial-connect-dl320 +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/python - -# DO NOT EDIT! MANAGED BY ANSIBLE - -import argparse -import os -import sys - -DEVICES = { - # t1 - 't1-p1': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.1/1-1.2.1:1.0', - 't1-p2': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.2/1-1.2.2:1.0', - 't1-p3': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.1/1-1.2.3.1:1.0', # discoverable but broke - 't1-p4': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.2/1-1.2.3.2:1.0', - 't1-p5': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.3/1-1.2.3.3:1.0', - 't1-p6': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.4/1-1.2.3.4:1.0', - 't1-p7': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.5/1-1.2.3.5:1.0', - 't1-p8': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.6/1-1.2.3.6:1.0', - 't1-p9': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.3/1-1.2.3.7/1-1.2.3.7:1.0', - 't1-p10': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.1/1-1.2.4.1:1.0', - 't1-p11': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.2/1-1.2.4.2:1.0', - 't1-p12': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.3/1-1.2.4.3:1.0', - 't1-p13': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.4/1-1.2.4.4:1.0', - 't1-p14': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.5/1-1.2.4.5:1.0', - 't1-p15': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.6/1-1.2.4.6:1.0', - 't1-p16': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2.4/1-1.2.4.7/1-1.2.4.7:1.0', - - # t2 - 't2-p1': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.1/1-1.3.1:1.0', - 't2-p2': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.2/1-1.3.2:1.0', - 't2-p3': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3.1/1-1.3.3.1:1.0', - 't2-p4': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3.2/1-1.3.3.2:1.0', - 't2-p5': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3.3/1-1.3.3.3:1.0', - 't2-p6': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3.4/1-1.3.3.4:1.0', - 't2-p7': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3.5/1-1.3.3.5:1.0', - 't2-p8': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3.6/1-1.3.3.6:1.0', - 't2-p9': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3.7/1-1.3.3.7:1.0', - 't2-p10': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4.1/1-1.3.4.1:1.0', - 't2-p11': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4.2/1-1.3.4.2:1.0', - 't2-p12': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4.3/1-1.3.4.3:1.0', - 't2-p13': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4.4/1-1.3.4.4:1.0', - 't2-p14': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4.5/1-1.3.4.5:1.0', - 't2-p15': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4.6/1-1.3.4.6:1.0', - 't2-p16': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.3/1-1.3.4/1-1.3.4.7/1-1.3.4.7:1.0', - - # t3 - 't3-p1': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.1/1-1.4.1:1.0', - 't3-p2': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.2/1-1.4.2:1.0', - 't3-p3': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3.1/1-1.4.3.1:1.0', - 't3-p4': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3.2/1-1.4.3.2:1.0', - 't3-p5': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3.3/1-1.4.3.3:1.0', - 't3-p6': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3.4/1-1.4.3.4:1.0', - 't3-p7': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3.5/1-1.4.3.5:1.0', - 't3-p8': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3.6/1-1.4.3.6:1.0', - 't3-p9': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3.7/1-1.4.3.7:1.0', - 't3-p10': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4.1/1-1.4.4.1:1.0', - 't3-p11': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4.2/1-1.4.4.2:1.0', - 't3-p12': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4.5/1-1.4.4.5:1.0', # broke - 't3-p13': '/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4.6/1-1.4.4.6:1.0', # broke? -} - -parser = argparse.ArgumentParser( - description='connect to a serial console for: %s' % DEVICES.keys()) -parser.add_argument('-e', '--escape-key', default='a', - help='picocom escape key. default=a') -parser.add_argument('-b', '--baud', default='115200', - help='picocom escape key. default=a') -parser.add_argument('device', help='Device to connect to') - -args = parser.parse_args() - -if args.device not in DEVICES: - sys.exit('Invalid device: ' + args.device) - -for p in os.listdir(DEVICES[args.device]): - if p.startswith('ttyUSB'): - args = ['/usr/bin/sudo', 'picocom', '-e', args.escape_key, - '-b', args.baud, '/dev/' + p] - os.execv(args[0], args) - -sys.exit('ERROR: no usb device found?') diff --git a/roles/colo-console-server/handlers/main.yml b/roles/colo-console-server/handlers/main.yml deleted file mode 100644 index 8424d1ae..00000000 --- a/roles/colo-console-server/handlers/main.yml +++ /dev/null @@ -1,3 +0,0 @@ -- name: reload conserver - command: /etc/init.d/conserver-server force-reload - diff --git a/roles/colo-console-server/tasks/main.yml b/roles/colo-console-server/tasks/main.yml deleted file mode 100644 index ee889bc3..00000000 --- a/roles/colo-console-server/tasks/main.yml +++ /dev/null @@ -1,43 +0,0 @@ -- name: Install picocom - action: apt pkg=picocom - -- name: Install conserver - action: apt pkg=conserver-server - -- name: Copy serial-connect script that maps usb device tty's to /dev/tty's - action: copy src={{serial_console_script}} - dest=/usr/local/bin/serial-connect - owner=root - group=root - mode=0755 - -- name: Copy conserver daemon settings - action: copy src=conserver-server.conf - dest=/etc/conserver/server.conf - owner=root - group=root - mode=0755 - notify: - - reload conserver - -- name: Setup conserver user access - action: template src=conserver.passwd.j2 - dest=/etc/conserver/conserver.passwd - owner=root - group=root - mode=0755 - notify: - - reload conserver - tags: - - colo_user - -- name: Setup conserver mappings - action: template src=conserver.cf.j2 - dest=/etc/conserver/conserver.cf - owner=root - group=root - mode=0755 - notify: - - reload conserver - tags: - - colo_user diff --git a/roles/colo-console-server/templates/conserver.cf.j2 b/roles/colo-console-server/templates/conserver.cf.j2 deleted file mode 100644 index 598723e9..00000000 --- a/roles/colo-console-server/templates/conserver.cf.j2 +++ /dev/null @@ -1,39 +0,0 @@ -# DO NOT EDIT! MANAGED BY ANSIBLE - -# The character '&' in logfile names are substituted with the console -# name. -# -default * { - logfile /var/log/conserver/&.log; - timestamp ""; - include full; -} -access * { - allowed 127.0.0.1,10.0.0.0/8,64.28.108.189; -} - -# grant access to "serial_console_admins" for everything -{% for mapping in serial_console_mappings %} -console {{mapping.host}} { - master localhost; - type exec; - exec /usr/local/bin/serial-connect {% if mapping.baud is defined %}-b {{mapping.baud}} {% endif %}{{mapping.port}}; - rw {% for user in serial_console_admins%}{{user.name}}{% if not loop.last %},{% endif %}{% endfor %}; -} -{% endfor %} - -# now override for reserved systems -{% for entry in reservations %} -{% for host in entry.hosts %} -{% for mapping in serial_console_mappings %} -{% if mapping.host == host %} -console {{ host }} { - master localhost; - type exec; - rw {% for user in entry.users %}{{user}}{% if not loop.last %},{% endif %}{% endfor %}; - exec /usr/local/bin/serial-connect {% if mapping.baud is defined %}-b {{mapping.baud}} {% endif %}{{mapping.port}}; -} -{% endif %} -{% endfor %} -{% endfor %} -{% endfor %} diff --git a/roles/colo-console-server/templates/conserver.passwd.j2 b/roles/colo-console-server/templates/conserver.passwd.j2 deleted file mode 100644 index 6bd94183..00000000 --- a/roles/colo-console-server/templates/conserver.passwd.j2 +++ /dev/null @@ -1,10 +0,0 @@ -# DO NOT EDIT! MANAGED BY ANSIBLE -{% for user in serial_console_admins%} -{{user.name}}:*passwd* -{% endfor %} - -{% for entry in reservations %} -{% for user in entry.users %} -{{user}}:*passwd* -{% endfor %} -{% endfor %} diff --git a/roles/curator/defaults/main.yml b/roles/curator/defaults/main.yml new file mode 100644 index 00000000..b258752f --- /dev/null +++ b/roles/curator/defaults/main.yml @@ -0,0 +1,8 @@ +--- +curator_config: | + client: + hosts: + - "{{ docker_container_elasticsearch_name }}" + port: 9200 + use_ssl: False + timeout: 30 diff --git a/roles/curator/tasks/main.yml b/roles/curator/tasks/main.yml new file mode 100644 index 00000000..18a9185a --- /dev/null +++ b/roles/curator/tasks/main.yml @@ -0,0 +1,40 @@ +--- +- name: Install curator + pip: name=elasticsearch-curator + +- name: Ensure curator directory exists + file: + path: /srv/curator + state: directory + +- name: Install curator config + template: + dest: /srv/curator/curator.conf + src: templates/curator.conf.j2 + +- name: Install curator action files + template: + dest: "/srv/curator/{{ item }}" + src: "templates/{{ item }}" + with_items: + - mb-lava-1m-snapshot.yml + - mb-lava-30d-cleanup.yml + - mb-systems-cleanup.yml + - fb-systems-cleanup.yml + - hb-cleanup.yml + +- name: Install curator crontabs + template: + dest: /etc/cron.d/curator + src: templates/curator.cron + mode: 0755 + +- name: Get list of repos + command: es-repo-mgr --config /srv/curator/curator.conf show + register: repos + +# this will error out if run against an ES cluster that +# doesn't have path.repos set +- name: Create backup repo if it doesn't exist + command: es-repo-mgr --config /srv/curator/curator.conf fs create --repository backup --location /usr/share/elasticsearch/backup + when: "'backup' not in repos.stdout" diff --git a/roles/curator/templates/curator.conf.j2 b/roles/curator/templates/curator.conf.j2 new file mode 100644 index 00000000..0db42c09 --- /dev/null +++ b/roles/curator/templates/curator.conf.j2 @@ -0,0 +1 @@ +{{ curator_config }} diff --git a/roles/curator/templates/curator.cron b/roles/curator/templates/curator.cron new file mode 100644 index 00000000..3f21e91b --- /dev/null +++ b/roles/curator/templates/curator.cron @@ -0,0 +1,7 @@ +MAILTO={{ mailto_address }} +0 1 * * * root /usr/local/bin/curator --config /srv/curator/curator.conf /srv/curator/hb-cleanup.yml > /var/log/curator.log 2>&1 || cat /var/log/curator.log >&2 +0 2 * * * root /usr/local/bin/curator --config /srv/curator/curator.conf /srv/curator/mb-lava-30d-cleanup.yml > /var/log/curator.log 2>&1 || cat /var/log/curator.log >&2 +10 2 * * * root /usr/local/bin/curator --config /srv/curator/curator.conf /srv/curator/mb-systems-cleanup.yml > /var/log/curator.log 2>&1 || cat /var/log/curator.log >&2 +20 2 * * * root /usr/local/bin/curator --config /srv/curator/curator.conf /srv/curator/fb-systems-cleanup.yml > /var/log/curator.log 2>&1 || cat /var/log/curator.log >&2 +0 3 15 * * root /usr/local/bin/curator --config /srv/curator/curator.conf /srv/curator/mb-lava-1m-snapshot.yml > /var/log/curator.log 2>&1 || cat /var/log/curator.log >&2 +30 2 * * * root /usr/local/bin/curator --config /srv/curator/curator.conf /srv/curator/index_backup.yml > /var/log/curator.log 2>&1 || cat /var/log/curator.log >&2 diff --git a/roles/curator/templates/fb-systems-cleanup.yml b/roles/curator/templates/fb-systems-cleanup.yml new file mode 100644 index 00000000..25a71886 --- /dev/null +++ b/roles/curator/templates/fb-systems-cleanup.yml @@ -0,0 +1,18 @@ +--- +actions: + 1: + action: delete_indices + description: delete filebeat-systems-* indices older than 4w + options: + ignore_empty_list: True + disable_action: False + filters: + - filtertype: pattern + kind: prefix + value: filebeat-systems- + - filtertype: age + source: name + direction: older + timestring: '%Y.%m.%d' + unit: weeks + unit_count: 4 diff --git a/roles/curator/templates/hb-cleanup.yml b/roles/curator/templates/hb-cleanup.yml new file mode 100644 index 00000000..0c0cad09 --- /dev/null +++ b/roles/curator/templates/hb-cleanup.yml @@ -0,0 +1,18 @@ +--- +actions: + 1: + action: delete_indices + description: delete heartbeat-* indices older than 3 days + options: + ignore_empty_list: True + disable_action: False + filters: + - filtertype: pattern + kind: prefix + value: heartbeat- + - filtertype: age + source: name + direction: older + timestring: '%Y.%m.%d' + unit: days + unit_count: 3 diff --git a/roles/curator/templates/index_backup.yml b/roles/curator/templates/index_backup.yml new file mode 100644 index 00000000..a67b2a84 --- /dev/null +++ b/roles/curator/templates/index_backup.yml @@ -0,0 +1,27 @@ +actions: + 1: + action: snapshot + description: "Create snapshot backup" + options: + repository: "backup" + continue_if_exception: False + wait_for_completion: True + # grab everything except for the beat data + filters: + - filtertype: pattern + kind: prefix + value: filebeat- + exclude: True + - filtertype: pattern + kind: prefix + value: metricbeat- + exclude: True + - filtertype: pattern + kind: prefix + value: heartbeat- + exclude: True + - filtertype: pattern + kind: prefix + value: elastalert + exclude: True + diff --git a/roles/curator/templates/index_restore.yml b/roles/curator/templates/index_restore.yml new file mode 100644 index 00000000..b8c4b970 --- /dev/null +++ b/roles/curator/templates/index_restore.yml @@ -0,0 +1,57 @@ + +actions: + 1: + action: close + description: "Close indices for restore from snapshot backup" + options: + continue_if_exception: False + ignore_empty_list: True + filters: + - filtertype: pattern + kind: prefix + value: filebeat- + exclude: True + - filtertype: pattern + kind: prefix + value: metricbeat- + exclude: True + - filtertype: pattern + kind: prefix + value: heartbeat- + exclude: True + - filtertype: pattern + kind: prefix + value: elastalert + exclude: True + 2: + action: close + description: "Restore indices from snapshot backup" + options: + repository: "backup" + name: + indices: + continue_if_exception: False + wait_for_completion: True + filters: + - filtertype: state + state: SUCCESS + 3: + action: open + description: "Reopen indices after snapshot" + filters: + - filtertype: pattern + kind: prefix + value: filebeat- + exclude: True + - filtertype: pattern + kind: prefix + value: metricbeat- + exclude: True + - filtertype: pattern + kind: prefix + value: heartbeat- + exclude: True + - filtertype: pattern + kind: prefix + value: elastalert + exclude: True diff --git a/roles/curator/templates/mb-lava-1m-snapshot.yml b/roles/curator/templates/mb-lava-1m-snapshot.yml new file mode 100644 index 00000000..8f06335f --- /dev/null +++ b/roles/curator/templates/mb-lava-1m-snapshot.yml @@ -0,0 +1,20 @@ +--- +actions: + 1: + action: snapshot + description: Take a monthly snapshot of lavalab's metricbeat index + options: + ignore_empty_list: True + repository: backup + name: metricbeat-lavalab + disable_action: False + filters: + - filtertype: pattern + kind: prefix + value: metricbeat-lavalab- + - filtertype: age + source: name + direction: older + timestring: '%Y.%m.01' + unit: days + unit_count: 30 diff --git a/roles/curator/templates/mb-lava-30d-cleanup.yml b/roles/curator/templates/mb-lava-30d-cleanup.yml new file mode 100644 index 00000000..e5f9d7a2 --- /dev/null +++ b/roles/curator/templates/mb-lava-30d-cleanup.yml @@ -0,0 +1,18 @@ +--- +actions: + 1: + action: delete_indices + description: delete metricbeat-lavalab-* indices older than 2w + options: + ignore_empty_list: True + disable_action: False + filters: + - filtertype: pattern + kind: prefix + value: metricbeat-lavalab- + - filtertype: age + source: name + direction: older + timestring: '%Y.%m.%d' + unit: days + unit_count: 30 diff --git a/roles/curator/templates/mb-systems-cleanup.yml b/roles/curator/templates/mb-systems-cleanup.yml new file mode 100644 index 00000000..168e2fb1 --- /dev/null +++ b/roles/curator/templates/mb-systems-cleanup.yml @@ -0,0 +1,18 @@ +--- +actions: + 1: + action: delete_indices + description: delete metricbeat-systems-* indices older than 4w + options: + ignore_empty_list: True + disable_action: False + filters: + - filtertype: pattern + kind: prefix + value: metricbeat-systems- + - filtertype: age + source: name + direction: older + timestring: '%Y.%m.%d' + unit: weeks + unit_count: 4 diff --git a/roles/deb-repository/files/.mini-dinstall-linaro-overlay-sid.conf b/roles/deb-repository/files/.mini-dinstall-linaro-overlay-sid.conf new file mode 100644 index 00000000..7668e532 --- /dev/null +++ b/roles/deb-repository/files/.mini-dinstall-linaro-overlay-sid.conf @@ -0,0 +1,130 @@ + +# Options that apply to all distributions +[DEFAULT] +# The root of the archive. +archivedir = /var/lib/machines/obs/srv/repos/linaro-overlay-sid/ + +# The default loglevel which is sent to you via email. Valid values +# are taken from the Python logging module: DEBUG, INFO, WARN, ERROR, +# and CRITICAL. You may also use NONE, to avoid email altogether. +mail_log_level = ERROR + +# The user to mail logs to +mail_to = username + +# The loglevel upon which to immediately send you queued log messages. +mail_log_flush_level = ERROR + +# The number of log messages upon which an email will be sent to you. +mail_log_flush_count = 10 + +# Whether or not to trigger a reindex of Packages/Sources files +# immediately after every installation (in daemon mode). If you +# disable this option, you should almost certainly have +# dynamic_reindex enabled. You may want to disable this if you +# install a *lot* of packages. +trigger_reindex = 1 + +# Whether or not to verify GPG signatures on .changes files +verify_sigs = 0 + +# GNUPG keyrings to use for signature verification, separated by +# commas. This will override the builtin keyrings. Generally you +# shouldn't specify this option; use extra_keyrings instead. +#keyrings = /usr/share/keyrings/ubuntu-archive-keyring.gpg, /path/to/other/keyring.gpg + +# Additional GNUPG keyrings to use for signature verification, separated by commas +#extra_keyrings = ~/.gnupg/pubring.gpg, ~/.gnupg/other.gpg + +# The permissions for the incoming directory. If you want to use +# mini-dinstall for a group of people, you might want to make this +# more permissive. +# A value of zero ('0' or '0000') will disable the permission setting on every +# mini-dinstall run. Doing this, you MUST set permission for incoming by hand. +incoming_permissions = 0750 + +### The remaining options can also be specified in a per-distribution +### basis + +# Alternative distribution names. +alias = sid + +# What architecture subdirectories to create. +architectures = all, armhf, arm64 + +# The style of archive. "flat" is the default; it puts all .debs in +# the archive directory. The other alternative is "simple-subdir", +# which puts .debs from each architecture in a separate subdirectory. +archive_style = flat + +# Whether or not to mail you about successful installations +mail_on_success = 0 + +# Whether or not to delete old packages +keep_old = 0 + +# A script to run before a .changes is installed. It is called with +# the full path to the .changes as an argument. If it exits with an +# error, then the .changes is skipped. +#pre_install_script = ~/bin/pre-inst.sh + +# A script to run when a .changes is successfully installed. +# It is called with the full path to the .changes as an argument. +#post_install_script = ~/bin/post-inst.sh + +# Whether or not to generate Release files +generate_release = 1 + +# The default Origin: field in the release file +release_origin = linaro + +# The default Label: field in the release file +release_label = username + +# The default Suite: field in the release file +release_suite = unstable + +# The default Description: field in the release file +release_description = Linaro packages overlay + +# Whether or not to mark the release as experimental. +experimental_release = 0 + +# If specified, this script will be called to sign Release files. It +# will be invoked in the directory containing the Release file, and +# should accept the filename of the Release file to sign as the first +# argument (note it is passed a temporary filename, not "Release"). +# It should generate a detached signature in a file named Release.gpg. +release_signscript = ~/sign-release.sh + +# Whether or not to watch directories for changes, and reindex +# Packages/Sources as needed. Only used in daemon mode. +dynamic_reindex = 1 + +# Whether or not to make .changes files unreadable to others by +# default. This will protect you from other people unexpectedly +# uploading your packages. Please think carefully about your security +# before you change this! +chown_changes_files = 1 + +# Whether or not to use /usr/bin/dnotify. This doesn't work on some +# systems, so you might want to disable it. Only used if +# dynamic_reindex is enabled. +use_dnotify = 0 + +# If you use the mtime-polling directory notifier, this is the number +# of seconds in between polls. Only used if dynamic_reindex is +# enabled. +poll_time = 30 + +# The maximum number of seconds to wait for an incomplete upload +# before rejecting it. The default is two days. +max_retry_time = 172800 + +# The following are just some sample distributions, with a few sample +# distribution-specific options. + +[unstable] +architectures = all, armhf, arm64, source +keep_old = 1 + diff --git a/roles/deb-repository/files/.mini-dinstall-linaro-staging-sid.conf b/roles/deb-repository/files/.mini-dinstall-linaro-staging-sid.conf new file mode 100644 index 00000000..1277acac --- /dev/null +++ b/roles/deb-repository/files/.mini-dinstall-linaro-staging-sid.conf @@ -0,0 +1,130 @@ + +# Options that apply to all distributions +[DEFAULT] +# The root of the archive. +archivedir = /var/lib/machines/obs/srv/repos/linaro-staging-sid/ + +# The default loglevel which is sent to you via email. Valid values +# are taken from the Python logging module: DEBUG, INFO, WARN, ERROR, +# and CRITICAL. You may also use NONE, to avoid email altogether. +mail_log_level = ERROR + +# The user to mail logs to +mail_to = username + +# The loglevel upon which to immediately send you queued log messages. +mail_log_flush_level = ERROR + +# The number of log messages upon which an email will be sent to you. +mail_log_flush_count = 10 + +# Whether or not to trigger a reindex of Packages/Sources files +# immediately after every installation (in daemon mode). If you +# disable this option, you should almost certainly have +# dynamic_reindex enabled. You may want to disable this if you +# install a *lot* of packages. +trigger_reindex = 1 + +# Whether or not to verify GPG signatures on .changes files +verify_sigs = 0 + +# GNUPG keyrings to use for signature verification, separated by +# commas. This will override the builtin keyrings. Generally you +# shouldn't specify this option; use extra_keyrings instead. +#keyrings = /usr/share/keyrings/ubuntu-archive-keyring.gpg, /path/to/other/keyring.gpg + +# Additional GNUPG keyrings to use for signature verification, separated by commas +#extra_keyrings = ~/.gnupg/pubring.gpg, ~/.gnupg/other.gpg + +# The permissions for the incoming directory. If you want to use +# mini-dinstall for a group of people, you might want to make this +# more permissive. +# A value of zero ('0' or '0000') will disable the permission setting on every +# mini-dinstall run. Doing this, you MUST set permission for incoming by hand. +incoming_permissions = 0750 + +### The remaining options can also be specified in a per-distribution +### basis + +# Alternative distribution names. +alias = sid + +# What architecture subdirectories to create. +architectures = all, armhf, arm64 + +# The style of archive. "flat" is the default; it puts all .debs in +# the archive directory. The other alternative is "simple-subdir", +# which puts .debs from each architecture in a separate subdirectory. +archive_style = flat + +# Whether or not to mail you about successful installations +mail_on_success = 0 + +# Whether or not to delete old packages +keep_old = 0 + +# A script to run before a .changes is installed. It is called with +# the full path to the .changes as an argument. If it exits with an +# error, then the .changes is skipped. +#pre_install_script = ~/bin/pre-inst.sh + +# A script to run when a .changes is successfully installed. +# It is called with the full path to the .changes as an argument. +#post_install_script = ~/bin/post-inst.sh + +# Whether or not to generate Release files +generate_release = 1 + +# The default Origin: field in the release file +release_origin = linaro + +# The default Label: field in the release file +release_label = username + +# The default Suite: field in the release file +release_suite = unstable + +# The default Description: field in the release file +release_description = Linaro packages staging + +# Whether or not to mark the release as experimental. +experimental_release = 0 + +# If specified, this script will be called to sign Release files. It +# will be invoked in the directory containing the Release file, and +# should accept the filename of the Release file to sign as the first +# argument (note it is passed a temporary filename, not "Release"). +# It should generate a detached signature in a file named Release.gpg. +release_signscript = ~/sign-release.sh + +# Whether or not to watch directories for changes, and reindex +# Packages/Sources as needed. Only used in daemon mode. +dynamic_reindex = 1 + +# Whether or not to make .changes files unreadable to others by +# default. This will protect you from other people unexpectedly +# uploading your packages. Please think carefully about your security +# before you change this! +chown_changes_files = 1 + +# Whether or not to use /usr/bin/dnotify. This doesn't work on some +# systems, so you might want to disable it. Only used if +# dynamic_reindex is enabled. +use_dnotify = 0 + +# If you use the mtime-polling directory notifier, this is the number +# of seconds in between polls. Only used if dynamic_reindex is +# enabled. +poll_time = 30 + +# The maximum number of seconds to wait for an incomplete upload +# before rejecting it. The default is two days. +max_retry_time = 172800 + +# The following are just some sample distributions, with a few sample +# distribution-specific options. + +[unstable] +architectures = all, armhf, arm64, source +keep_old = 1 + diff --git a/roles/deb-repository/files/install-gpg.sh b/roles/deb-repository/files/install-gpg.sh new file mode 100755 index 00000000..aa3fa957 --- /dev/null +++ b/roles/deb-repository/files/install-gpg.sh @@ -0,0 +1,6 @@ +#!/bin/bash -e + +gpg --import /root/private.key +gpg --import /root/public.key +cp -a ~/.gnupg ~buildslave/ +chown -R buildslave:primary ~buildslave/.gnupg diff --git a/roles/deb-repository/files/sign-release.sh b/roles/deb-repository/files/sign-release.sh new file mode 100755 index 00000000..9aa03515 --- /dev/null +++ b/roles/deb-repository/files/sign-release.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +# Initialize GPG +gpg --help 1>/dev/null 2>&1 || true + +rm -f Release.gpg.tmp InRelease.tmp +gpg --no-tty --batch --detach-sign -o Release.gpg.tmp "$1" +mv Release.gpg.tmp Release.gpg +gpg --no-tty --batch --clearsign -o InRelease.tmp "$1" +mv InRelease.tmp InRelease + diff --git a/roles/deb-repository/tasks/main.yml b/roles/deb-repository/tasks/main.yml new file mode 100644 index 00000000..836297c0 --- /dev/null +++ b/roles/deb-repository/tasks/main.yml @@ -0,0 +1,33 @@ + +- name: Install packages for mini-dinstall + apt: + pkg: + - unzip + - openjdk-11-jdk-headless + - mini-dinstall + - gpg + - devscripts + +- name: Copy Secret GPG key + copy: src="{{secrets_dir}}/files/obs/private.key" dest=/root/private.key + mode=0400 + +- name: Copy public GPG key + copy: src="{{secrets_dir}}/files/obs/public.key" dest=/root/public.key + mode=0444 + +- name: Install support scripts + copy: src="{{item}}" dest=/home/buildslave/ mode=0755 + with_fileglob: + - "*.sh" + +- name: Install mini-dinstall configs + copy: src="{{item}}" dest=/home/buildslave/ + with_fileglob: + - ".*.conf" + +- name: Set up PGP for buildslave + command: /home/buildslave/install-gpg.sh + args: + creates: /root/.gnupg/pubring.kbx + diff --git a/roles/defaults/defaults/main.yml b/roles/defaults/defaults/main.yml new file mode 100644 index 00000000..6eca20ed --- /dev/null +++ b/roles/defaults/defaults/main.yml @@ -0,0 +1,4 @@ +--- + +systemd_journal_system_max_use: 500M +systemd_journal_system_max_file_size: 50M diff --git a/roles/defaults/files/20auto-upgrades b/roles/defaults/files/20auto-upgrades new file mode 100644 index 00000000..f936ebeb --- /dev/null +++ b/roles/defaults/files/20auto-upgrades @@ -0,0 +1,3 @@ +APT::Periodic::Update-Package-Lists "1"; +APT::Periodic::Unattended-Upgrade "1"; + diff --git a/roles/defaults/files/50unattended-upgrades b/roles/defaults/files/50unattended-upgrades new file mode 100644 index 00000000..1a146e6a --- /dev/null +++ b/roles/defaults/files/50unattended-upgrades @@ -0,0 +1,91 @@ +// Automatically upgrade packages from these (origin:archive) pairs +// +// Note that in Ubuntu security updates may pull in new dependencies +// from non-security sources (e.g. chromium). By allowing the release +// pocket these get automatically pulled in. +Unattended-Upgrade::Allowed-Origins { + "${distro_id}:${distro_codename}"; + "${distro_id}:${distro_codename}-security"; + // Extended Security Maintenance; doesn't necessarily exist for + // every release and this system may not have it installed, but if + // available, the policy for updates is such that unattended-upgrades + // should also install from here by default. + "${distro_id}ESM:${distro_codename}"; +// "${distro_id}:${distro_codename}-updates"; +// "${distro_id}:${distro_codename}-proposed"; +// "${distro_id}:${distro_codename}-backports"; +}; + +// List of packages to not update (regexp are supported) +Unattended-Upgrade::Package-Blacklist { +// "vim"; +// "libc6"; +// "libc6-dev"; +// "libc6-i686"; +}; + +// This option will controls whether the development release of Ubuntu will be +// upgraded automatically. +Unattended-Upgrade::DevRelease "false"; + +// This option allows you to control if on a unclean dpkg exit +// unattended-upgrades will automatically run +// dpkg --force-confold --configure -a +// The default is true, to ensure updates keep getting installed +//Unattended-Upgrade::AutoFixInterruptedDpkg "false"; + +// Split the upgrade into the smallest possible chunks so that +// they can be interrupted with SIGTERM. This makes the upgrade +// a bit slower but it has the benefit that shutdown while a upgrade +// is running is possible (with a small delay) +//Unattended-Upgrade::MinimalSteps "false"; + +// Install all unattended-upgrades when the machine is shutting down +// instead of doing it in the background while the machine is running +// This will (obviously) make shutdown slower +//Unattended-Upgrade::InstallOnShutdown "true"; + +// Send email to this address for problems or packages upgrades +// If empty or unset then no email is sent, make sure that you +// have a working mail setup on your system. A package that provides +// 'mailx' must be installed. E.g. "user@example.com" +//Unattended-Upgrade::Mail "root"; + +// Set this value to "true" to get emails only on errors. Default +// is to always send a mail if Unattended-Upgrade::Mail is set +//Unattended-Upgrade::MailOnlyOnError "true"; + +// Remove unused automatically installed kernel-related packages +// (kernel images, kernel headers and kernel version locked tools). +Unattended-Upgrade::Remove-Unused-Kernel-Packages "true"; + +// Do automatic removal of new unused dependencies after the upgrade +// (equivalent to apt-get autoremove) +Unattended-Upgrade::Remove-Unused-Dependencies "true"; + +// Automatically reboot *WITHOUT CONFIRMATION* +// if the file /var/run/reboot-required is found after the upgrade +//Unattended-Upgrade::Automatic-Reboot "false"; + +// If automatic reboot is enabled and needed, reboot at the specific +// time instead of immediately +// Default: "now" +//Unattended-Upgrade::Automatic-Reboot-Time "02:00"; + +// Use apt bandwidth limit feature, this example limits the download +// speed to 70kb/sec +//Acquire::http::Dl-Limit "70"; + +// Enable logging to syslog. Default is False +// Unattended-Upgrade::SyslogEnable "false"; + +// Specify syslog facility. Default is daemon +// Unattended-Upgrade::SyslogFacility "daemon"; + +// Download and install upgrades only on AC power +// (i.e. skip or gracefully stop updates on battery) +// Unattended-Upgrade::OnlyOnACPower "true"; + +// Download and install upgrades only on non-metered connection +// (i.e. skip or gracefully stop updates on a metered connection) +// Unattended-Upgrade::Skip-Updates-On-Metered-Connections "true"; diff --git a/roles/defaults/handlers/main.yml b/roles/defaults/handlers/main.yml new file mode 100644 index 00000000..5f5d225f --- /dev/null +++ b/roles/defaults/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart-journal + service: name=systemd-journald state=restarted enabled=yes + listen: + - restart-journal diff --git a/roles/defaults/tasks/main.yml b/roles/defaults/tasks/main.yml new file mode 100644 index 00000000..ff3ad569 --- /dev/null +++ b/roles/defaults/tasks/main.yml @@ -0,0 +1,39 @@ +--- +- name: Set hostname to {{ inventory_hostname }} + hostname: + name: "{{ inventory_hostname }}" + +- name: Ensure hostname is defined in /etc/hosts + lineinfile: + dest: /etc/hosts + line: "127.0.1.1 {{ inventory_hostname }}" + +- name: Default set of packages for ubuntu/bionic hosts + apt: + name: "{{ packages }}" + update_cache: yes + vars: + packages: + - curl + - git + - unattended-upgrades + - python3 + - python3-apt + - python3-pip + +- name: Ensure automatic upgrades is enabled + copy: + src: 20auto-upgrades + dest: /etc/apt/apt.conf.d/20-auto-upgrades + +- name: Configure automatic removal of old kernels + copy: + src: 50unattended-upgrades + dest: /etc/apt/apt.conf.d/50unattended-upgrades + +- name: Limit logging to persistent journal + template: + dest: /etc/systemd/journald.conf + src: journald.conf.j2 + notify: + - restart-journal diff --git a/roles/defaults/templates/journald.conf.j2 b/roles/defaults/templates/journald.conf.j2 new file mode 100644 index 00000000..e42a05e2 --- /dev/null +++ b/roles/defaults/templates/journald.conf.j2 @@ -0,0 +1,43 @@ +# {{ansible_managed}} +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# Entries in this file show the compile time defaults. +# You can change settings by editing this file. +# Defaults can be restored by simply deleting this file. +# +# See journald.conf(5) for details. + +[Journal] +Storage=persistent +#Compress=yes +#Seal=yes +#SplitMode=uid +#SyncIntervalSec=5m +#RateLimitInterval=30s +#RateLimitBurst=1000 +#SystemMaxUse= +#SystemKeepFree= +#SystemMaxFileSize= +#SystemMaxFiles=100 +#RuntimeMaxUse= +#RuntimeKeepFree= +#RuntimeMaxFileSize= +#RuntimeMaxFiles=100 +#MaxRetentionSec= +#MaxFileSec=1month +ForwardToSyslog=no +#ForwardToKMsg=no +#ForwardToConsole=no +#ForwardToWall=yes +#TTYPath=/dev/console +#MaxLevelStore=debug +#MaxLevelSyslog=debug +#MaxLevelKMsg=notice +#MaxLevelConsole=info +#MaxLevelWall=emerg +SystemMaxUse={{ systemd_journal_system_max_use }} +SystemMaxFileSize={{ systemd_journal_system_max_file_size }} diff --git a/roles/dehydrated/defaults/main.yml b/roles/dehydrated/defaults/main.yml index d926f733..6e5dc91c 100644 --- a/roles/dehydrated/defaults/main.yml +++ b/roles/dehydrated/defaults/main.yml @@ -1,5 +1,5 @@ --- -dehydrated_version: v0.6.2 +dehydrated_version: v0.6.5 dehydrated_boto_version: 2.49.0 dehydrated_wellknown: /srv/certbot/.well-known/acme-challenge dehydrated_ca_testing: https://acme-staging-v02.api.letsencrypt.org/directory diff --git a/roles/dehydrated/tasks/dehydrated.yml b/roles/dehydrated/tasks/dehydrated.yml deleted file mode 100644 index 15310b97..00000000 --- a/roles/dehydrated/tasks/dehydrated.yml +++ /dev/null @@ -1,91 +0,0 @@ ---- -- name: Clone dehydrated repository - git: name=https://github.com/lukas2511/dehydrated.git dest={{tools_checkout_dir}}/dehydrated version={{dehydrated_version}} - -- name: Link /usr/local/sbin/dehydrated to the repo version - file: - src: "{{tools_checkout_dir}}/dehydrated/dehydrated" - dest: /usr/sbin/dehydrated - state: link - force: True - -- name: Create acme-challenge webroot - file: - path: "{{dehydrated_wellknown}}" - state: directory - mode: 0755 - -- name: Create dehydrated directories - file: - path: /etc/dehydrated/{{item}} - state: directory - mode: 0755 - with_items: - - domains.d - - hooks - - certs - -- name: Create dehydrated protected directories - file: - path: /etc/dehydrated/{{item}} - state: directory - mode: 0700 - with_items: - - accounts - -- name: Set CA to use LetsEncrypt testing environment - set_fact: - dehydrated_ca: "{{dehydrated_ca_testing}}" - when: testing is defined - -- name: Set CA to use LetsEncrypt production environment - set_fact: - dehydrated_ca: "{{dehydrated_ca_production}}" - when: testing is undefined - -- name: Install dehydrated main config - template: - dest: /etc/dehydrated/config - src: templates/main.config - -- name: Install hook scripts - template: - src: templates/{{item}} - dest: /etc/dehydrated/hooks/{{item}} - mode: 0755 - with_items: - - hook-http-01 - - hook-dns-01 - - hook-dns-01-real.py - -- name: Install http-01 config for sites - copy: - dest: /etc/dehydrated/domains.d/{{item}} - src: files/http-01.config - force: yes - with_items: "{{dehydrated_http_domains}}" - -- name: Install dns-01 config for sites - copy: - dest: /etc/dehydrated/domains.d/{{item}} - src: files/dns-01.config - force: yes - with_items: "{{dehydrated_dns_domains}}" - -- name: Install dehydrated cron job - template: - dest: /etc/cron.d/dehydrated - src: templates/dehydrated.cron - mode: 0755 - -- name: Create dehydrated domains.txt file - template: - src: templates/domains.txt.template - dest: /etc/dehydrated/domains.txt - notify: dehydrated-run - -- name: Check for dehydrated account registration - command: find /etc/dehydrated/accounts -name "registration_info.json" - register: registered - changed_when: registered.stdout == "" - notify: dehydrated-register diff --git a/roles/dehydrated/tasks/main.yml b/roles/dehydrated/tasks/main.yml index 083d6fc3..a1933307 100644 --- a/roles/dehydrated/tasks/main.yml +++ b/roles/dehydrated/tasks/main.yml @@ -1,10 +1,12 @@ --- -- name: Install git - apt: pkg={{item}} state=present - with_items: - - git - - python-pip - - python-virtualenv +- name: Install dehydrated deps + apt: pkg={{ packages }} state=present + vars: + packages: + - curl + - git + - python3-pip + - python3-virtualenv - name: Install python boto library pip: @@ -26,10 +28,93 @@ aws_secret_access_key = {{dehydrated_aws_secret_access_key}} when: dehydrated_dns_domains is defined -- name: Include snakeoil cert tasks - include_tasks: snakeoil.yml - when: snakeoil is defined +- name: Clone dehydrated repository + git: name=https://github.com/lukas2511/dehydrated.git dest={{tools_checkout_dir}}/dehydrated version={{dehydrated_version}} + +- name: Link /usr/local/sbin/dehydrated to the repo version + file: + src: "{{tools_checkout_dir}}/dehydrated/dehydrated" + dest: /usr/sbin/dehydrated + state: link + force: True + +- name: Create acme-challenge webroot + file: + path: "{{dehydrated_wellknown}}" + state: directory + mode: 0755 + +- name: Create dehydrated directories + file: + path: /etc/dehydrated/{{item}} + state: directory + mode: 0755 + with_items: + - domains.d + - hooks + - certs + +- name: Create dehydrated protected directories + file: + path: /etc/dehydrated/{{item}} + state: directory + mode: 0700 + with_items: + - accounts + +- name: Set CA to use LetsEncrypt testing environment + set_fact: + dehydrated_ca: "{{dehydrated_ca_testing}}" + when: testing is defined + +- name: Set CA to use LetsEncrypt production environment + set_fact: + dehydrated_ca: "{{dehydrated_ca_production}}" + when: testing is undefined + +- name: Install dehydrated main config + template: + dest: /etc/dehydrated/config + src: templates/main.config + +- name: Install hook scripts + template: + src: templates/{{item}} + dest: /etc/dehydrated/hooks/{{item}} + mode: 0755 + with_items: + - hook-http-01 + - hook-dns-01 + - hook-dns-01-real.py + +- name: Install http-01 config for sites + copy: + dest: /etc/dehydrated/domains.d/{{item}} + src: files/http-01.config + force: yes + with_items: "{{dehydrated_http_domains}}" + +- name: Install dns-01 config for sites + copy: + dest: /etc/dehydrated/domains.d/{{item}} + src: files/dns-01.config + force: yes + with_items: "{{dehydrated_dns_domains}}" + +- name: Install dehydrated cron job + template: + dest: /etc/cron.d/dehydrated + src: templates/dehydrated.cron + mode: 0755 + +- name: Create dehydrated domains.txt file + template: + src: templates/domains.txt.template + dest: /etc/dehydrated/domains.txt + notify: dehydrated-run -- name: Include dehydrated tasks - include_tasks: dehydrated.yml - when: snakeoil is undefined +- name: Check for dehydrated account registration + command: find /etc/dehydrated/accounts -name "registration_info.json" + register: registered + changed_when: registered.stdout == "" + notify: dehydrated-register diff --git a/roles/dehydrated/tasks/snakeoil.yml b/roles/dehydrated/tasks/snakeoil.yml deleted file mode 100644 index 597c1829..00000000 --- a/roles/dehydrated/tasks/snakeoil.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: Ensure ssl vars point to snakeoil cert - set_fact: - ssl_cert: /etc/ssl/certs/ssl-cert-snakeoil.pem - ssl_ca: /etc/ssl/certs/ssl-cert-snakeoil.pem - ssl_ca_cert: /etc/ssl/certs/ssl-cert-snakeoil.pem - ssl_key: /etc/ssl/private/ssl-cert-snakeoil.key diff --git a/roles/dehydrated/templates/dehydrated.cron b/roles/dehydrated/templates/dehydrated.cron index f921bdc9..3dcf0e13 100644 --- a/roles/dehydrated/templates/dehydrated.cron +++ b/roles/dehydrated/templates/dehydrated.cron @@ -1,2 +1,2 @@ MAILTO={{mailto_address}} -0 0/12 * * * root (/usr/sbin/dehydrated -c > /dev/null 2>&1) || echo "Error running dehydrated" +0 */12 * * * root /usr/sbin/dehydrated -c > /var/log/dehydrated.log 2>&1 || cat /var/log/dehydrated.log >&2 diff --git a/roles/dehydrated/templates/hook-dns-01-real.py b/roles/dehydrated/templates/hook-dns-01-real.py index e8cca4fb..92343135 100644 --- a/roles/dehydrated/templates/hook-dns-01-real.py +++ b/roles/dehydrated/templates/hook-dns-01-real.py @@ -85,7 +85,7 @@ if __name__ == "__main__": action = 'delete' elif hook == 'deploy_cert': print("new cert deployed.. reloading apache") - rv = subprocess.call(["service","apache2","reload"]) + rv = subprocess.call(["/usr/sbin/service","apache2","reload"]) sys.exit( rv ) elif hook == 'invalid_challenge': print("ERROR: invalid challenge: {0}".format(sys.argv[2]) ) diff --git a/roles/dehydrated/templates/hook-http-01 b/roles/dehydrated/templates/hook-http-01 index 25481ff2..b71962f0 100644 --- a/roles/dehydrated/templates/hook-http-01 +++ b/roles/dehydrated/templates/hook-http-01 @@ -62,7 +62,12 @@ deploy_cert() { # Simple example: Copy file to nginx config # cp "${KEYFILE}" "${FULLCHAINFILE}" /etc/nginx/ssl/; chown -R nginx: /etc/nginx/ssl # systemctl reload nginx - service apache2 reload +{% if docker_apache is defined %} + docker exec apache apache2ctl graceful +{% else %} + systemctl reload apache2 +{% endif %} + } deploy_ocsp() { diff --git a/roles/dehydrated/templates/main.config b/roles/dehydrated/templates/main.config index ee4150c1..f77f7680 100644 --- a/roles/dehydrated/templates/main.config +++ b/roles/dehydrated/templates/main.config @@ -71,7 +71,7 @@ WELLKNOWN="{{dehydrated_wellknown}}" #OPENSSL="openssl" # Extra options passed to the curl binary (default: <unset>) -#CURL_OPTS= +CURL_OPTS=--http1.1 # Program or function called in certain situations # diff --git a/roles/django/defaults/main.yml b/roles/django/defaults/main.yml index 9bfcb02c..20a7c2d6 100644 --- a/roles/django/defaults/main.yml +++ b/roles/django/defaults/main.yml @@ -1,5 +1,5 @@ django_app_root: "{{install_base}}/{{hostname}}/project" -django_version: 1.11 +django_version: 1.11.29 apache_modules: - ssl - wsgi diff --git a/roles/django/tasks/main.yml b/roles/django/tasks/main.yml index 94a44f6e..9282936c 100644 --- a/roles/django/tasks/main.yml +++ b/roles/django/tasks/main.yml @@ -1,11 +1,14 @@ --- - name: Install required packages - apt: pkg={{item}} state=present update-cache=yes - with_items: - - apache2 - - git - - libapache2-mod-wsgi - - python-pip + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - apache2 + - git + - libapache2-mod-wsgi + - python3-pip tags: - update @@ -23,6 +26,7 @@ version={{django_project_version}} dest={{django_app_root}} update=yes + force=yes become: true become_user: "{{apache_user}}" notify: reload-apache diff --git a/roles/docker-compose-deps/meta/main.yml b/roles/docker-compose-deps/meta/main.yml deleted file mode 100644 index ebbbaa8c..00000000 --- a/roles/docker-compose-deps/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - { role: docker-deps } diff --git a/roles/docker-compose-deps/tasks/main.yml b/roles/docker-compose-deps/tasks/main.yml deleted file mode 100644 index fee5810d..00000000 --- a/roles/docker-compose-deps/tasks/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- name: Install docker-compose - pip: name=docker-compose version=1.19.0 diff --git a/roles/docker-deps/tasks/main.yml b/roles/docker-deps/tasks/main.yml index bfd9d574..cf4769dc 100644 --- a/roles/docker-deps/tasks/main.yml +++ b/roles/docker-deps/tasks/main.yml @@ -1,8 +1,8 @@ --- - name: Add Docker apt key apt_key: + url: https://download.docker.com/linux/ubuntu/gpg id: "9DC858229FC7DD38854AE2D88D81803C0EBFCD88" - keyserver: "hkp://p80.pool.sks-keyservers.net" - name: Install apt https packge to add Docker repo apt: pkg=apt-transport-https state=present @@ -17,12 +17,23 @@ apt: name: "{{packages}}" update_cache: yes + force: True vars: packages: - docker-ce - - python-pip - - python-setuptools + - docker-ce-cli + - python3-pip + - python3-setuptools + +- name: Install haveged for scaleway hosts + apt: name=haveged + when: scaleway is defined # required by docker-ce itself - name: Install docker python - pip: name=docker version=3.4.1 + pip: name=docker + +# install docker-compose if requested. Provided by docker.com repo +- name: Install docker-compose + apt: name=docker-compose-plugin + when: docker_compose_host is defined diff --git a/roles/docker-elastalert/defaults/main.yml b/roles/docker-elastalert/defaults/main.yml new file mode 100644 index 00000000..1273486c --- /dev/null +++ b/roles/docker-elastalert/defaults/main.yml @@ -0,0 +1,28 @@ +--- +docker_image_ea: bitsensor/elastalert:1.0.0 +docker_container_name_ea: elastalert + +# This is the elastalert REST API only. +# The dashboard is a separate plugin +# for kibana. Not sure yet if we can +# integrate it into our existing dashboards. +ea_port: 3030 +ea_root: /srv/elastalert +ea_app_name: Linaro Elastalert + +ea_elasticsearch_server: "{{ docker_container_elasticsearch_name }}" +ea_elasticsearch_port: 9200 + +ea_elasticsearch_dst_index: elastalert + +ea_kibana_plugin_download_url: https://github.com/bitsensor/elastalert-kibana-plugin/releases/download/1.0.1/elastalert-kibana-plugin-1.0.1-6.5.4.zip + +# metricbeat is currently set to report every 5 minutes. +ea_polling_frequency: 3 +ea_polling_frequency_units: minutes +# This sets how far back our alerts will go. +ea_buffer_frequency: 6 +ea_buffer_frequency_units: hours + +# set this to use its own var so that we can easily override it +ea_mailto_address: "{{ mailto_address }}" diff --git a/roles/docker-elastalert/tasks/main.yml b/roles/docker-elastalert/tasks/main.yml new file mode 100644 index 00000000..e5faa57d --- /dev/null +++ b/roles/docker-elastalert/tasks/main.yml @@ -0,0 +1,66 @@ +--- +- name: Ensure docker bind dir exists + file: + path: "{{ ea_root }}" + state: directory + +- name: Install config.yaml in build dir + template: + src: templates/elastalert.yaml.j2 + dest: "{{ ea_root }}/config.yaml" + +- name: Install config.json in build dir + template: + src: templates/config.json.j2 + dest: "{{ ea_root }}/config.json" + +- name: Install elastalert-check script + template: + src: templates/elastalert-check.py + dest: "{{ ea_root }}/elastalert-check.py" + mode: 0755 + +- name: Install logstash-check script + template: + src: templates/logstash-check.py + dest: "{{ ea_root }}/logstash-check.py" + mode: 0755 + +- name: Install elastalert-check cron job + template: + src: templates/elastalert-check.cron + dest: "/etc/cron.d/elastalert-check" + mode: 0755 + +- name: Install logstash-check cron job + template: + src: templates/logstash-check.cron + dest: "/etc/cron.d/logstash-check" + mode: 0755 + +- name: Ensure rules directory exists + file: + path: "{{ ea_root }}/rules" + state: directory + +- name: Create docker container + docker_container: + name: "{{ docker_container_name_ea }}" + image: "{{ docker_image_ea }}" + state: started + log_driver: journald + restart_policy: unless-stopped + recreate: yes + networks: + - name: "{{ es_network_name }}" + volumes: + - "{{ ea_root }}/rules:/opt/elastalert/rules" + - "{{ ea_root }}/rule_templates:/opt/elastalert/rule_templates" + - "{{ ea_root }}/config.json:/opt/elastalert-server/config/config.json" + - "{{ ea_root }}/config.yaml:/opt/elastalert/config.yaml" + +- name: Wait for docker to start + wait_for: + host: "{{ ansible_facts.docker_container.NetworkSettings.IPAddress }}" + port: "{{ ea_port }}" + delay: 10 diff --git a/roles/docker-elastalert/templates/config.json.j2 b/roles/docker-elastalert/templates/config.json.j2 new file mode 100644 index 00000000..6a2b4e87 --- /dev/null +++ b/roles/docker-elastalert/templates/config.json.j2 @@ -0,0 +1,21 @@ +{ + "appName": "{{ ea_app_name }}", + "es_host": "{{ ea_elasticsearch_server }}", + "es_port": "{{ ea_elasticsearch_port }}", + "elastalertPath": "/opt/elastalert", + "verbose": false, + "es_debug": true, + "rulesPath": { + "relative": true, + "path": "/rules" + }, + "templatesPath": { + "relative": true, + "path": "/rule_templates" + }, + "dataPath": { + "relative": true, + "path": "/server_data" + }, + "writeback_index": "{{ ea_elasticsearch_dst_index }}" +} diff --git a/roles/docker-elastalert/templates/elastalert-check.cron b/roles/docker-elastalert/templates/elastalert-check.cron new file mode 100644 index 00000000..61398453 --- /dev/null +++ b/roles/docker-elastalert/templates/elastalert-check.cron @@ -0,0 +1,2 @@ +MAILTO={{ mailto_address }} +15 * * * * root {{ ea_root }}/elastalert-check.py diff --git a/roles/docker-elastalert/templates/elastalert-check.py b/roles/docker-elastalert/templates/elastalert-check.py new file mode 100755 index 00000000..73e53d37 --- /dev/null +++ b/roles/docker-elastalert/templates/elastalert-check.py @@ -0,0 +1,24 @@ +#!/usr/bin/python + +import sys +import urllib2 +import json + +EA_SITE="{{ docker_container_name_ea }}" +EA_PORT="{{ ea_port }}" + + +response = urllib2.urlopen("http://%s:%s/status" % (EA_SITE, EA_PORT)) + +data = json.loads(response.read()) + + +if data.get("status").lower() == "ready": + sys.exit(0) +else: + print "Status: %s" % data.get("status").lower() + +# if status not ready, then try to get the error and exit +response = urllib2.urlopen("http://%s:%s/status/errors" % (EA_SITE, EA_PORT)) +print response.read() +sys.exit(1) diff --git a/roles/docker-elastalert/templates/elastalert.yaml.j2 b/roles/docker-elastalert/templates/elastalert.yaml.j2 new file mode 100644 index 00000000..387a4c0d --- /dev/null +++ b/roles/docker-elastalert/templates/elastalert.yaml.j2 @@ -0,0 +1,13 @@ +es_host: {{ ea_elasticsearch_server }} +es_port: {{ ea_elasticsearch_port }} +smtp_host: {{ ea_smtp_host }} +from_addr: {{ ea_from_addr }} +writeback_index: "{{ea_elasticsearch_dst_index}}" +rules_folder: rules +scan_subdirectories: true +run_every: + {{ ea_polling_frequency_units }}: {{ ea_polling_frequency }} +buffer_time: + {{ ea_buffer_frequency_units }}: {{ ea_buffer_frequency }} +disable_rules_on_error: true +notify_email: {{ ea_mailto_address }} diff --git a/roles/docker-elastalert/templates/logstash-check.cron b/roles/docker-elastalert/templates/logstash-check.cron new file mode 100644 index 00000000..5c800135 --- /dev/null +++ b/roles/docker-elastalert/templates/logstash-check.cron @@ -0,0 +1,2 @@ +MAILTO={{ mailto_address }} +15 * * * * root {{ ea_root }}/logstash-check.py diff --git a/roles/docker-elastalert/templates/logstash-check.py b/roles/docker-elastalert/templates/logstash-check.py new file mode 100755 index 00000000..7a8d9067 --- /dev/null +++ b/roles/docker-elastalert/templates/logstash-check.py @@ -0,0 +1,16 @@ +#!/usr/bin/python + +import socket +import sys + +LS_SITE="logstash" +LS_PORT=5044 + +sock = socket.socket() + +try: + sock.connect((LS_SITE,LS_PORT)) + sys.exit(0) +except Exception as e: + print("%s %s:%s" % (e, LS_SITE,LS_PORT)) + sys.exit(1) diff --git a/roles/docker-elastalert/templates/rules/alert_email.stub b/roles/docker-elastalert/templates/rules/alert_email.stub new file mode 100644 index 00000000..be0be0c8 --- /dev/null +++ b/roles/docker-elastalert/templates/rules/alert_email.stub @@ -0,0 +1,3 @@ +alert: email +email: + - {{ea_mailto_address}} diff --git a/roles/docker-elastalert/templates/rules/cpu-load-spike.yaml b/roles/docker-elastalert/templates/rules/cpu-load-spike.yaml new file mode 100644 index 00000000..6e36ca77 --- /dev/null +++ b/roles/docker-elastalert/templates/rules/cpu-load-spike.yaml @@ -0,0 +1,27 @@ +--- +name: CPU Load Spike +index: {{ ea_elasticsearch_src_index }} +type: any +description: Alert for any system with a normalized load gte 1 + +summary_table_fields: + - beat.hostname + - system.load.norm.1 + - system.load.norm.5 + - system.load.norm.15 + +owner: Systems + +filter: +- query: + query_string: + # filter out jenkins master and slaves since those will always be hammered + query: "system.load.norm.1: [1.5 TO *] AND NOT host.name: (ci.linaro.org OR *x86_64-*)" + +# silence alert if there's been another one in the +# past hour +realert: + hours: 12 + +# can only import once per rule +import: alert_email.stub diff --git a/roles/docker-elastalert/templates/rules/docker-container-changed.yaml b/roles/docker-elastalert/templates/rules/docker-container-changed.yaml new file mode 100644 index 00000000..5ee4695e --- /dev/null +++ b/roles/docker-elastalert/templates/rules/docker-container-changed.yaml @@ -0,0 +1,22 @@ +--- +name: Docker Container Changed +index: {{ ea_elasticsearch_src_index }} +type: change +priority: 2 + +summary_table_fields: + - beat.hostname + +ignore_null: false +compare_key: docker.container.id +query_key: docker.container.name + +# filter out anything running on *x86_64* (probably jenkins slave) and +# any swarm instances +filter: +- query: + query_string: + query: "docker.container.id: * AND NOT host.name: *x86_64* AND NOT docker.container.image: swarm" + +# can only import once per rule +import: alert_email.stub diff --git a/roles/docker-elastalert/templates/rules/du-gt-70.yaml b/roles/docker-elastalert/templates/rules/du-gt-70.yaml new file mode 100644 index 00000000..6e19fec6 --- /dev/null +++ b/roles/docker-elastalert/templates/rules/du-gt-70.yaml @@ -0,0 +1,24 @@ +--- +name: Disk Usage Above 70% +index: {{ ea_elasticsearch_src_index }} +type: any +description: Alert for any system with 70% disk used + +summary_table_fields: + - beat.hostname + - system.filesystem.used.pct + - system.filesystem.type + - system.filesystem.mount_point + - system.filesystem.used.device_name + +owner: systems +realert: + hours: 48 +priority: 1 + +filter: +- query: + query_string: + query: "system.filesystem.type: ext? AND system.filesystem.used.pct: [0.70 TO 0.79]" + +import: alert_email.stub diff --git a/roles/docker-elastalert/templates/rules/du-gt-80.yaml b/roles/docker-elastalert/templates/rules/du-gt-80.yaml new file mode 100644 index 00000000..9d259383 --- /dev/null +++ b/roles/docker-elastalert/templates/rules/du-gt-80.yaml @@ -0,0 +1,27 @@ +--- +name: Disk Full +index: {{ ea_elasticsearch_src_index }} +type: any +description: Alert for any system with more than 80% disk used + +summary_table_fields: + - beat.hostname + - system.filesystem.used.pct + - system.filesystem.type + - system.filesystem.mount_point + - system.filesystem.used.device_name + +owner: systems +# realert every hour as this should be a high priority to fix +realert: + hours: 24 +priority: 0 + +# filter to 80% or greater as disk is effectively full at this point and +# we need to address the issue now. +filter: +- query: + query_string: + query: "system.filesystem.type: ext? AND system.filesystem.used.pct: [0.80 TO 1.0]" + +import: alert_email.stub diff --git a/roles/docker-elastalert/templates/rules/heavy-diskio.yaml b/roles/docker-elastalert/templates/rules/heavy-diskio.yaml new file mode 100644 index 00000000..e21e19e1 --- /dev/null +++ b/roles/docker-elastalert/templates/rules/heavy-diskio.yaml @@ -0,0 +1,28 @@ +--- +name: Heavy Disk I/O +index: {{ ea_elasticsearch_src_index }} +type: any +description: Alert for any system with saturated disk io (iostat.busy > 1) + +summary_table_fields: + - beat.hostname + - system.diskio.iostat.busy + - system.diskio.iostat.service_time + - system.diskio.iostat.await + +owner: Systems + +filter: +- query: + query_string: + # exclude jenkins master and slaves for now... they're always going to be off the charts + # during the day + query: "system.diskio.iostat.busy: [1.0 TO *] AND NOT host.name: (*x86_64-*)" + +# silence alert if there's been another one in the +# past hour +realert: + hours: 12 + +# can only import once per rule +import: alert_email.stub diff --git a/roles/docker-elastalert/templates/rules/memory-gt-95.yaml b/roles/docker-elastalert/templates/rules/memory-gt-95.yaml new file mode 100644 index 00000000..2b5400b9 --- /dev/null +++ b/roles/docker-elastalert/templates/rules/memory-gt-95.yaml @@ -0,0 +1,24 @@ +--- +name: Memory 95% usage +index: {{ ea_elasticsearch_src_index }} +type: any +description: Alert for any system with 95% mem used + +summary_table_fields: + - beat.hostname + - system.memory.actual.used + - system.memory.actual.pct + - system.memory.used.pct + - system.memory.total + - system.memory.free + +owner: systems +realert: + hours: 12 + +filter: +- query: + query_string: + query: "system.memory.used.pct: [0.95 TO *]" + +import: alert_email.stub diff --git a/roles/docker-elasticsearch/defaults/main.yml b/roles/docker-elasticsearch/defaults/main.yml index 127a4065..4a66c7c1 100644 --- a/roles/docker-elasticsearch/defaults/main.yml +++ b/roles/docker-elasticsearch/defaults/main.yml @@ -1,8 +1,14 @@ --- -docker_image_elk_local: linaro/elasticsearch +docker_image_elasticsearch_local: linaro/elasticsearch docker_image: elasticsearch:6.5.1 docker_container_name: elasticsearch-noname -docker_port_elasticsearch: 9200 +docker_port_elasticsearch: "9200" + +es_network_name: elasticsearch-noname +es_mem: 30g + +openjdk_url: https://download.java.net/java/GA/jdk16.0.2/d4a915d82b4c4fbb9bde534da945d746/7/GPL/openjdk-16.0.2_linux-x64_bin.tar.gz +openjdk_path: /opt/jdk-16.0.2 elk_root: /srv/elk-production diff --git a/roles/docker-elasticsearch/tasks/main.yml b/roles/docker-elasticsearch/tasks/main.yml index 3a411dfc..534ade4a 100644 --- a/roles/docker-elasticsearch/tasks/main.yml +++ b/roles/docker-elasticsearch/tasks/main.yml @@ -2,45 +2,118 @@ # This controls images available on the system since # we don't allow docker_container to do its own pulls -- name: Ensure docker build dir exists +- name: Ensure max_map_count is large enough + sysctl: + name: vm.max_map_count + value: "262144" + state: present + sysctl_file: /etc/sysctl.conf + +- name: Ensure required dirs exist file: - path: "{{elk_root}}" + path: "{{ item }}" state: directory - -- name: Copy docker build files - copy: - src: "{{secrets_dir}}/files/elasticsearch/docker" - dest: "{{elk_root}}/" + owner: "1000" + group: root + mode: "0775" + with_items: + - "{{ elk_root }}/docker" + - "{{elk_root}}/logs" + - "{{elk_root}}/backup" - name: Ensure elk Dockerfile exists template: src: templates/Dockerfile.j2 dest: "{{elk_root}}/docker/Dockerfile" +- name: Ensure jvm.options exists + template: + src: templates/jvm.options + owner: "1000" + group: root + mode: "0664" + dest: "{{elk_root}}/docker/jvm.options" + +- name: Ensure elasticsearch.yml exists + template: + src: templates/elasticsearch.yml.j2 + owner: "1000" + group: root + mode: "0664" + dest: "{{elk_root}}/docker/elasticsearch.yml" + - name: Build ELK image docker_image: - name: "{{docker_image_elk_local}}" - path: "{{elk_root}}/docker" - force: yes + build: + path: "{{elk_root}}/docker" + name: "{{docker_image_elasticsearch_local}}" + source: build + +- name: Create docker bridge network + docker_network: + name: "{{ es_network_name }}" - name: Create docker container docker_container: name: "{{docker_container_elasticsearch_name}}" - image: "{{docker_image_elk_local}}" + image: "{{docker_image_elasticsearch_local}}" state: started log_driver: journald restart_policy: unless-stopped - published_ports: - - "{{docker_port_elasticsearch}}:9200" recreate: yes - volumes: - - "{{docker_elk_vol}}/data:/usr/share/elasticsearch/data" + # mitigation for CVE-2021-44228 env: - ES_JAVA_OPTS: "-Xms4g -Xmx4g" - ES_HEAP_SIZE: "16g" - LS_HEAP_SIZE: "16g" + LOG4J_FORMAT_MSG_NO_LOOKUPS: "true" + volumes: + - "{{ elk_root }}/docker/jvm.options:/usr/share/elasticsearch/config/jvm.options:ro" + - "{{ elk_root }}/docker/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro" + - "{{ elk_root }}/data:/usr/share/elasticsearch/data" + - "{{ elk_root }}/logs:/usr/share/elasticsearch/logs" + - "{{ elk_root }}/backup:/usr/share/elasticsearch/backup" + networks: + - name: "{{ es_network_name }}" - name: Wait for docker to start wait_for: + host: "{{docker_container_elasticsearch_name}}" port: "{{docker_port_elasticsearch}}" delay: 10 + +# ES no longer accepts this via elasticsearch.yml, so we have to +# use the API to set it +- name: Set default template for single node cluster + uri: + url: "http://{{ docker_container_elasticsearch_name }}:{{ docker_port_elasticsearch }}/_template/default" + method: PUT + headers: + Content-type: application/json + body_format: json + body: + index_patterns: ["*"] + settings: + index: + number_of_shards: 1 + number_of_replicas: 0 + +- name: Ensure iptables DNAT rule in place for ES port + iptables: + chain: DOCKER + destination: "{{ansible_facts.docker_container.NetworkSettings.IPAddress}}" + to_destination: "{{ansible_facts.docker_container.NetworkSettings.IPAddress}}" + destination_port: "9200" + in_interface: ! docker0 + protocol: tcp + jump: DNAT + table: nat + +- name: Ensure UFW whitelist rules are in place + ufw: + rule: allow + route: true + direction: in + interface: eth0 + proto: tcp + from_ip: "{{ item }}" + to_ip: "{{ansible_facts.docker_container.NetworkSettings.IPAddress}}" + to_port: "{{docker_port_elasticsearch}}" + with_items: "{{docker_elasticsearch_ufw_whitelist}}" diff --git a/roles/docker-elasticsearch/templates/Dockerfile.j2 b/roles/docker-elasticsearch/templates/Dockerfile.j2 index a1abe41f..927874ee 100644 --- a/roles/docker-elasticsearch/templates/Dockerfile.j2 +++ b/roles/docker-elasticsearch/templates/Dockerfile.j2 @@ -1,10 +1,6 @@ FROM {{docker_image}} -#ADD readonlyrest.yml /usr/share/elasticsearch/config/ -#ADD readonlyrest-1.16.32_es6.5.1.zip /tmp -#ADD keystore.jks /usr/share/elasticsearch/config/ -#ADD elasticsearch.yml /usr/share/elasticsearch/config/elasticsearch.yml +ENV JAVA_HOME {{ openjdk_path }} -#RUN /usr/share/elasticsearch/bin/elasticsearch-plugin \ -# install -b file:///tmp/readonlyrest-1.16.32_es6.5.1.zip && \ -# rm -r /tmp/*.zip +RUN curl --retry 3 -s {{ openjdk_url }} | tar -C /opt -zxf - +RUN ln -sf /etc/pki/ca-trust/extracted/java/cacerts {{ openjdk_path }}/lib/security/cacerts diff --git a/roles/docker-elasticsearch/templates/elasticsearch.yml.j2 b/roles/docker-elasticsearch/templates/elasticsearch.yml.j2 new file mode 100644 index 00000000..a7367ba1 --- /dev/null +++ b/roles/docker-elasticsearch/templates/elasticsearch.yml.j2 @@ -0,0 +1,8 @@ +cluster.name: "docker-cluster" +network.host: 0.0.0.0 + +# minimum_master_nodes need to be explicitly set when bound on a public IP +# set to 1 to allow single node clusters +# Details: https://github.com/elastic/elasticsearch/pull/17288 +discovery.zen.minimum_master_nodes: 1 +path.repo: ["/usr/share/elasticsearch/backup"] diff --git a/roles/docker-elasticsearch/templates/jvm.options b/roles/docker-elasticsearch/templates/jvm.options new file mode 100644 index 00000000..617faebb --- /dev/null +++ b/roles/docker-elasticsearch/templates/jvm.options @@ -0,0 +1,117 @@ +## JVM configuration + +################################################################ +## IMPORTANT: JVM heap size +################################################################ +## +## You should always set the min and max JVM heap +## size to the same value. For example, to set +## the heap to 4 GB, set: +## +## -Xms4g +## -Xmx4g +## +## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html +## for more information +## +################################################################ + +# Xms represents the initial size of total heap space +# Xmx represents the maximum size of total heap space + +-Xms{{ es_mem }} +-Xmx{{ es_mem }} + +################################################################ +## Expert settings +################################################################ +## +## All settings below this section are considered +## expert settings. Don't tamper with them unless +## you understand what you are doing +## +################################################################ + +## GC configuration +# CMS has been deprecated since Java 9 and it is now using G1 as +# the default. Let's stick with that since it probably has some +# sensible settings. +# More info: https://jaxenter.com/cms-gc-jdk-9-java-161723.html +#-XX:+UseConcMarkSweepGC +#-XX:CMSInitiatingOccupancyFraction=75 +#-XX:+UseCMSInitiatingOccupancyOnly + +## G1GC Configuration +# NOTE: G1GC is only supported on JDK version 10 or later. +# To use G1GC uncomment the lines below. +# 10-:-XX:-UseConcMarkSweepGC +# 10-:-XX:-UseCMSInitiatingOccupancyOnly +-XX:+UseG1GC +-XX:InitiatingHeapOccupancyPercent=75 + +## optimizations + +# pre-touch memory pages used by the JVM during initialization +-XX:+AlwaysPreTouch + +## basic + +# explicitly set the stack size +-Xss1m + +# set to headless, just in case +-Djava.awt.headless=true + +# ensure UTF-8 encoding by default (e.g. filenames) +-Dfile.encoding=UTF-8 + +# use our provided JNA always versus the system one +-Djna.nosys=true + +# turn off a JDK optimization that throws away stack traces for common +# exceptions because stack traces are important for debugging +-XX:-OmitStackTraceInFastThrow + +# flags to configure Netty +-Dio.netty.noUnsafe=true +-Dio.netty.noKeySetOptimization=true +-Dio.netty.recycler.maxCapacityPerThread=0 + +# log4j 2 +-Dlog4j.shutdownHookEnabled=false +-Dlog4j2.disable.jmx=true + +-Djava.io.tmpdir=/usr/share/elasticsearch/logs + +## heap dumps + +# generate a heap dump when an allocation from the Java heap fails +# heap dumps are created in the working directory of the JVM +-XX:+HeapDumpOnOutOfMemoryError + +# specify an alternative path for heap dumps; ensure the directory exists and +# has sufficient space +-XX:HeapDumpPath=/usr/share/elasticsearch/logs + +# specify an alternative path for JVM fatal error logs +-XX:ErrorFile=/usr/share/elasticsearch/logs/hs_err_pid%p.log + +## JDK 8 GC logging + +8:-XX:+PrintGCDetails +8:-XX:+PrintGCDateStamps +8:-XX:+PrintTenuringDistribution +8:-XX:+PrintGCApplicationStoppedTime +8:-Xloggc:logs/gc.log +8:-XX:+UseGCLogFileRotation +8:-XX:NumberOfGCLogFiles=32 +8:-XX:GCLogFileSize=64m + +# JDK 9+ GC logging +9-:-Xlog:gc*,gc+age=trace,safepoint:file=/usr/share/elasticsearch/logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m +# due to internationalization enhancements in JDK 9 Elasticsearch need to set the provider to COMPAT otherwise +# time/date parsing will break in an incompatible way for some date patterns and locals +9-:-Djava.locale.providers=COMPAT + +# temporary workaround for C2 bug with JDK 10 on hardware with AVX-512 +10-:-XX:UseAVX=2 diff --git a/roles/docker-elk/defaults/main.yml b/roles/docker-elk/defaults/main.yml deleted file mode 100644 index d487344e..00000000 --- a/roles/docker-elk/defaults/main.yml +++ /dev/null @@ -1,15 +0,0 @@ ---- -docker_image: sebp/elk:651 -docker_image_elk_local: linaro/elk -docker_container_elk_name: elasticsearch-noname - -docker_port_kibana: 5601 -docker_port_logstash: 5044 - -logstash_cert: "{{secrets_dir}}/files/elk/certs/logstash-beats.crt" -logstash_cert_private: "{{secrets_dir}}/files/elk/certs/logstash-beats.key" - -docker_logstash_cert: "/srv/certs/logstash-beats.crt" -docker_logstash_cert_private: "/srv/certs/logstash-beats.key" - -elk_root: /srv/elk-production/sebp diff --git a/roles/docker-elk/tasks/main.yml b/roles/docker-elk/tasks/main.yml deleted file mode 100644 index 5a89a4ba..00000000 --- a/roles/docker-elk/tasks/main.yml +++ /dev/null @@ -1,51 +0,0 @@ ---- -# This controls images available on the system since -# we don't allow docker_container to do its own pulls - -- name: Ensure certs dir exists - file: path=/srv/certs state=directory -- name: Copy logstash certs - copy: - src: "{{item}}" - dest: /srv/certs - with_items: - - "{{logstash_cert}}" - - "{{logstash_cert_private}}" - -- name: Ensure elk root dir exists - file: path="{{elk_root}}" state=directory - -- name: Ensure elk Dockerfile exists - template: - src: templates/Dockerfile_elk.j2 - dest: "{{elk_root}}/Dockerfile" - -- name: Build ELK image - docker_image: - name: "{{docker_image_elk_local}}" - path: "{{elk_root}}" - force: yes - -- name: Create docker container - docker_container: - name: "{{docker_container_elk_name}}" - image: "{{docker_image_elk_local}}" - state: started - log_driver: journald - restart_policy: unless-stopped - published_ports: - - "{{docker_port_kibana}}:5601" - - "{{docker_port_logstash}}:5044" - recreate: yes - volumes: - - "{{docker_logstash_cert}}:/etc/pki/tls/certs/logstash-beats.crt" - - "{{docker_logstash_cert_private}}:/etc/pki/tls/private/logstash-beats.key" - env: - ELASTICSEARCH_START: "0" - links: - - "{{docker_container_elasticsearch_name}}:elk" - -- name: Wait for docker to start - wait_for: - port: "{{docker_port_kibana}}" - delay: 10 diff --git a/roles/docker-elk/templates/Dockerfile_elk.j2 b/roles/docker-elk/templates/Dockerfile_elk.j2 deleted file mode 100644 index 88cde913..00000000 --- a/roles/docker-elk/templates/Dockerfile_elk.j2 +++ /dev/null @@ -1,14 +0,0 @@ -FROM {{docker_image}} - -RUN echo 'kibana.index: ".kibanaproduction" \n\ -elasticsearch.url: http://elk:9200' >> /opt/kibana/config/kibana.yml - -RUN echo '\n\ -output { \n\ - elasticsearch { \n\ - hosts => ["elk"] \n\ - manage_template => false \n\ - index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" \n\ - document_type => "%{[@metadata][type]}" \n\ - } \n\ -}' > /etc/logstash/conf.d/30-output.conf diff --git a/roles/docker-publishing/files/event-watcher.py b/roles/docker-event-watcher/files/event-watcher.py index 4158ba28..4158ba28 100644 --- a/roles/docker-publishing/files/event-watcher.py +++ b/roles/docker-event-watcher/files/event-watcher.py diff --git a/roles/docker-event-watcher/handlers/main.yml b/roles/docker-event-watcher/handlers/main.yml new file mode 100644 index 00000000..45ea6332 --- /dev/null +++ b/roles/docker-event-watcher/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: event-watcher + command: "/usr/sbin/event-watcher.py -n -o" diff --git a/roles/docker-event-watcher/tasks/main.yml b/roles/docker-event-watcher/tasks/main.yml new file mode 100644 index 00000000..458996ae --- /dev/null +++ b/roles/docker-event-watcher/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: Install event-watcher.py script + copy: + src: event-watcher.py + dest: /usr/sbin/event-watcher.py + mode: 0775 + force: yes + +- name: Install crontab + template: + src: crond.j2 + dest: /etc/cron.d/event-watcher diff --git a/roles/docker-event-watcher/templates/crond.j2 b/roles/docker-event-watcher/templates/crond.j2 new file mode 100644 index 00000000..b672ef07 --- /dev/null +++ b/roles/docker-event-watcher/templates/crond.j2 @@ -0,0 +1 @@ +*/10 * * * * root /usr/sbin/event-watcher.py -n -o >/dev/null 2>&1 diff --git a/roles/docker-flexnet/handlers/main.yml b/roles/docker-flexnet/handlers/main.yml new file mode 100644 index 00000000..056c327a --- /dev/null +++ b/roles/docker-flexnet/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart-flexnet + docker_container: + name: flexnet + restart: yes diff --git a/roles/obs-worker/meta/main.yml b/roles/docker-flexnet/meta/main.yml index 1bc708f2..1bc708f2 100644 --- a/roles/obs-worker/meta/main.yml +++ b/roles/docker-flexnet/meta/main.yml diff --git a/roles/docker-flexnet/tasks/main.yml b/roles/docker-flexnet/tasks/main.yml new file mode 100644 index 00000000..0a41f84c --- /dev/null +++ b/roles/docker-flexnet/tasks/main.yml @@ -0,0 +1,23 @@ +--- +- name: Copy flexnet and licenses + copy: + src: "{{secrets_dir}}/files/flexnet" + dest: "/srv/" + notify: + - restart-flexnet + +- name: create flexnet server + docker_container: + name: flexnet + hostname: "{{flexhost}}" + mac_address: "{{flexmac}}" + image: "{{docker_image_flexnet}}" + state: started + restart_policy: unless-stopped + # pull: yes + volumes: + - "/srv/flexnet/:/var/flexnet/:ro" + published_ports: + - "27000:27000" + - "27020:27020" + command: "-c /var/flexnet/server.lic" diff --git a/roles/docker-fossology/defaults/main.yml b/roles/docker-fossology/defaults/main.yml deleted file mode 100644 index c8f8dc58..00000000 --- a/roles/docker-fossology/defaults/main.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -docker_data_volume: /srv/fossology -docker_container_name: fossology -docker_port: 8081 -docker_build_location: /srv/fossology-src - -# docker-compose.yml - -FOSSOLOGY_DB_HOST: fossology-db -FOSSOLOGY_DB_NAME: fossology -FOSSOLOGY_DB_USER: fossy -FOSSOLOGY_DB_PASSWORD: fossy -FOSSOLOGY_SCHEDULER_HOST: fossology-scheduler diff --git a/roles/docker-fossology/tasks/main.yml b/roles/docker-fossology/tasks/main.yml deleted file mode 100644 index e314c5d2..00000000 --- a/roles/docker-fossology/tasks/main.yml +++ /dev/null @@ -1,71 +0,0 @@ ---- -- name: Install docker-compose - pip: name=docker-compose - -- name: Install Apache2 - apt: pkg=apache2 - -- name: Enable Apache modules - apache2_module: name={{item}} - with_items: "{{apache_modules}}" - notify: reload-apache - -- name: Ensure data volume is owned by docker user - file: - path: "{{docker_data_volume}}" - state: directory - owner: 106 #fossy - group: 106 #fossy - recurse: yes - follow: no - -- name: Clone fossology repo - git: - repo: https://github.com/fossology/fossology - dest: "{{docker_build_location}}/repo" - version: 3.3.0 - -- name: Ensure build location exists - file: - path: "{{docker_build_location}}/docker" - state: directory - -- name: Copy docker-compose build files - synchronize: - src: "{{docker_build_location}}/repo/" - dest: "{{docker_build_location}}/docker/" - rsync_opts: - - "--exclude=docker-compose.yml" - - "--exclude=.git" - delegate_to: "{{inventory_hostname}}" - -- name: Ensure docker-compose exists - template: - src: "{{item}}.j2" - dest: "{{docker_build_location}}/docker/install/{{item}}" - with_items: - - docker-compose.yml - -- name: Ensure entrypoint is executable - file: - path: "{{docker_build_location}}/docker/install/docker-compose.docker-entrypoint.sh" - mode: 0777 - -- name: Build docker image (can be slow) - docker_service: - project_name: "{{docker_container_name}}" - project_src: "{{docker_build_location}}/docker/install" - -- name: Wait for docker starts - wait_for: - port: 8081 - delay: 10 - -- name: Ensure all containers are running - assert: - that: - - ansible_facts['fossology-db']['fossology_fossology-db_1'].state.running - - ansible_facts['fossology-scheduler']['fossology_fossology-scheduler_1'].state.running - - ansible_facts['fossology-web']['fossology_fossology-web_1'].state.running - - diff --git a/roles/docker-fossology/templates/docker-compose.yml.j2 b/roles/docker-fossology/templates/docker-compose.yml.j2 deleted file mode 100644 index 6322b711..00000000 --- a/roles/docker-fossology/templates/docker-compose.yml.j2 +++ /dev/null @@ -1,80 +0,0 @@ -# FOSSology Docker Compose file -# Copyright Siemens AG 2016, fabio.huser@siemens.com -# Copyright TNG Technology Consulting GmbH 2016-2017, maximilian.huber@tngtech.com -# -# Copying and distribution of this file, with or without modification, -# are permitted in any medium without royalty provided the copyright -# notice and this notice are preserved. This file is offered as-is, -# without any warranty. -# -# Description: Recipe for setting up a multi container FOSSology -# Docker setup with separate Database instance -version: '2' -services: - -################################################################################ - fossology-base-image: - build: - context: .. - dockerfile: install/docker-compose.Dockerfile - args: - - http_proxy - - https_proxy - - no_proxy - image: fossology - restart: "no" - environment: - - FOSSOLOGY_DB_HOST={{FOSSOLOGY_DB_HOST}} - - FOSSOLOGY_DB_NAME={{FOSSOLOGY_DB_NAME}} - - FOSSOLOGY_DB_USER={{FOSSOLOGY_DB_USER}} - user: fossy - command: "true" - -################################################################################ - fossology-scheduler: - image: fossology - restart: unless-stopped - environment: - - FOSSOLOGY_DB_HOST={{FOSSOLOGY_DB_HOST}} - - FOSSOLOGY_DB_NAME={{FOSSOLOGY_DB_NAME}} - - FOSSOLOGY_DB_USER={{FOSSOLOGY_DB_USER}} - - FOSSOLOGY_DB_PASSWORD={{FOSSOLOGY_DB_PASSWORD}} - user: fossy - command: scheduler - links: - - fossology-db - volumes: - - /srv/fossology/repository:/srv/fossology/repository - -################################################################################ - fossology-web: - image: fossology - restart: unless-stopped - environment: - - FOSSOLOGY_DB_HOST={{FOSSOLOGY_DB_HOST}} - - FOSSOLOGY_DB_NAME={{FOSSOLOGY_DB_NAME}} - - FOSSOLOGY_DB_USER={{FOSSOLOGY_DB_USER}} - - FOSSOLOGY_DB_PASSWORD={{FOSSOLOGY_DB_PASSWORD}} - - FOSSOLOGY_SCHEDULER_HOST={{FOSSOLOGY_SCHEDULER_HOST}} - user: fossy - command: web - ports: - - 8081:8081 - links: - - fossology-db - - fossology-scheduler - volumes_from: - - fossology-scheduler - -################################################################################ - fossology-db: - image: postgres - restart: unless-stopped - environment: - - POSTGRES_DB={{FOSSOLOGY_DB_NAME}} - - POSTGRES_USER={{FOSSOLOGY_DB_USER}} - - POSTGRES_PASSWORD={{FOSSOLOGY_DB_PASSWORD}} - - POSTGRES_INITDB_ARGS='-E SQL_ASCII' - - PGDATA=/data/postgres - volumes: - - /srv/postgres/data:/data/postgres diff --git a/roles/docker-gitlab/handlers/main.yml b/roles/docker-gitlab/handlers/main.yml new file mode 100644 index 00000000..443ab666 --- /dev/null +++ b/roles/docker-gitlab/handlers/main.yml @@ -0,0 +1,8 @@ +--- +- name: reconfigure-gitlab + command: docker exec gitlab gitlab-ctl reconfigure + +- name: restart-gitlab + command: docker exec gitlab gitlab-ctl restart + listen: + reconfigure-gitlab diff --git a/roles/docker-gitlab/tasks/main.yml b/roles/docker-gitlab/tasks/main.yml new file mode 100644 index 00000000..5ea2475d --- /dev/null +++ b/roles/docker-gitlab/tasks/main.yml @@ -0,0 +1,60 @@ +--- +- name: Pull latest gitlab image + docker_image: + name: "{{ docker_image_name }}" + state: present + source: pull + force_source: yes + +- name: Create gitlab directories + file: + path: "{{ item }}" + state: directory + mode: '0755' + with_items: + - "/srv/gitlab/config" + - "/srv/gitlab/logs" + - "/srv/gitlab/data" + - "/srv/gitlab/config/nginx.d" + +- name: Install nginx redirect for alternate hosts + template: + src: morelloproject.conf.tmp + dest: /srv/gitlab/config/nginx.d/morelloproject.conf + mode: 0600 + owner: root + group: root + force: yes + when: inventory_hostname == 'git.morello-project.org' + +- name: Create gitlab.rb config + template: + src: gitlab.rb.j2 + dest: /srv/gitlab/config/gitlab.rb + mode: 0600 + owner: root + group: root + force: yes + notify: + - reconfigure-gitlab + +- name: Create gitlab container + docker_container: + image: "{{ docker_image_name }}" + name: "gitlab" + hostname: "{{ inventory_hostname }}" + state: started + volumes: + - "/srv/gitlab/config:/etc/gitlab" + - "/srv/gitlab/logs:/var/log/gitlab" + - "/srv/gitlab/data:/var/opt/gitlab" + published_ports: + - "22:22" + - "80:80" + - "443:443" + - "5000:5000" + - "5050:5050" + etc_hosts: + smtp: "172.17.0.1" + log_driver: journald + restart_policy: unless-stopped diff --git a/roles/filebeat/templates/filebeat.yml.j2 b/roles/docker-gitlab/templates/gitlab.rb.j2 index 222b1b04..0bad049b 100644 --- a/roles/filebeat/templates/filebeat.yml.j2 +++ b/roles/docker-gitlab/templates/gitlab.rb.j2 @@ -1,2 +1,2 @@ # DO NOT EDIT! MANAGED BY ANSIBLE -{{ filebeat_config|to_yaml }} +{{ gitlab_config }} diff --git a/roles/docker-gitlab/templates/morelloproject.conf.tmp b/roles/docker-gitlab/templates/morelloproject.conf.tmp new file mode 100644 index 00000000..111fa260 --- /dev/null +++ b/roles/docker-gitlab/templates/morelloproject.conf.tmp @@ -0,0 +1,21 @@ +server { + listen 80; + listen 443; + server_name .morelloproject.org; + + if ($http_user_agent ~* (semrushbot|petalbot)) { + return 403; + } + + return 301 $scheme://{{ inventory_hostname }}$request_uri; +} + +server { + listen 80; + listen 443; + server_name .morello-project.org; + + if ($http_user_agent ~* (semrushbot|petalbot)) { + return 403; + } +} diff --git a/roles/docker-grafana/tasks/main.yml b/roles/docker-grafana/tasks/main.yml new file mode 100644 index 00000000..a943f0ba --- /dev/null +++ b/roles/docker-grafana/tasks/main.yml @@ -0,0 +1,60 @@ +--- +- name: Create install directory + file: + path: "/srv/grafana" + state: directory + +- name: Create grafana components subdirectories + file: + path: "/srv/grafana/{{ item }}" + state: directory + with_items: + - data + - plugins + - logs + - provisioning + +- name: Create grafana.ini + template: + src: templates/grafana.ini + dest: /srv/grafana/grafana.ini + +- name: Create ldap.toml + template: + src: templates/ldap.toml + dest: /srv/grafana/ldap.toml + +- name: Create docker network + docker_network: + name: "{{ grafana_network_name }}" + + +- name: Pull latest grafana image from upstream + docker_image: + name: "{{ grafana_image_name }}" + state: present + source: pull + force_source: yes + when: grafana_upgrade is defined + +- name: Create grafana container + docker_container: + name: "{{ grafana_container_name }}" + image: "{{ grafana_image_name }}" + pull: False + ignore_image: "{{not(grafana_upgrade is defined)}}" + state: started + log_driver: journald + restart_policy: unless-stopped + published_ports: + - "3000:{{grafana_port}}" + volumes: + - "/srv/grafana:/srv" + env: + GF_PATHS_CONFIG: "/srv/grafana.ini" + GF_PATHS_DATA: "/srv/data" + GF_PATHS_PLUGINS: "/srv/plugins" + GF_PATHS_LOGS: "/srv/logs" + GF_PATHS_PROVISIONING: "/srv/provisioning" + networks: + - name: "{{ grafana_network_name }}" diff --git a/roles/docker-grafana/templates/grafana.ini b/roles/docker-grafana/templates/grafana.ini new file mode 100644 index 00000000..24f26915 --- /dev/null +++ b/roles/docker-grafana/templates/grafana.ini @@ -0,0 +1,135 @@ +[paths] + +[server] +protocol = http +http_port = 3000 +domain = {{ inventory_hostname }} + +# Redirect to correct domain if host header does not match domain +# Prevents DNS rebinding attacks +;enforce_domain = false + +# The full public facing url you use in browser, used for redirects and emails +# If you use reverse proxy and sub path specify full url (with sub path) +root_url = https://{{ inventory_hostname }} + +[database] +url = postgres://{{ db_username }}:{{ db_password }}@{{ db_hostname }}:5432/{{db_database }} +log_queries = + +[session] + +[dataproxy] + +[analytics] + +[security] +;admin_user = admin +;admin_password = admin +;secret_key = SW2YcwTIb9zpOOhoPsMm + +[snapshots] + +[dashboards] +versions_to_keep = 20 +min_refresh_interval = 5s + +[users] +allow_sign_up = true +auto_assign_org = true +auto_assign_org_role = Editor + +[auth] + +[auth.anonymous] +enabled = true +org_name = Linaro Ltd. + +[auth.github] + +[auth.google] + +[auth.generic_oauth] + +[auth.grafana_com] + +[auth.proxy] + +[auth.basic] + +[auth.ldap] +enabled = true +config_file = /srv/ldap.toml +allow_sign_up = true + +[smtp] +enabled = true +host = {{ postfix_relay_hostname }}:{{ postfix_relay_port }} +user = {{ postfix_relay_username }} +# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;""" +password = {{ postfix_relay_password }} +;cert_file = +;key_file = +skip_verify = true +from_address = grafana@{{ inventory_hostname }} +from_name = Grafana +# EHLO identity in SMTP dialog (defaults to instance_name) +ehlo_identity = {{ inventory_hostname }} + + +[emails] + +[log] +filters = ldap:debug + +[log.console] + +[log.file] + +[log.syslog] + +[alerting] +# Disable alerting engine & UI features +enabled = true +# Makes it possible to turn off alert rule execution but alerting UI is visible +execute_alerts = true + +# Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state) +;error_or_timeout = alerting + +# Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok) +;nodata_or_nullvalues = no_data + +# Alert notifications can include images, but rendering many images at the same time can overload the server +# This limit will protect the server from render overloading and make sure notifications are sent out quickly +concurrent_render_limit = 5 + + +[explore] + +[metrics] + +[metrics.graphite] + +[tracing.jaeger] + +[grafana_com] +;url = https://grafana.com + +[external_image_storage] + +[external_image_storage.s3] + +[external_image_storage.webdav] + +[external_image_storage.gcs] + +[external_image_storage.azure_blob] + +[external_image_storage.local] + +[rendering] + +[enterprise] + +[panels] diff --git a/roles/docker-grafana/templates/ldap.toml b/roles/docker-grafana/templates/ldap.toml new file mode 100644 index 00000000..858a41eb --- /dev/null +++ b/roles/docker-grafana/templates/ldap.toml @@ -0,0 +1,27 @@ +[[servers]] +host = "{{ grafana_ldap_host }}" +port = 636 +use_ssl = true +start_tls = false +ssl_skip_verify = true + +bind_dn = "{{ grafana_ldap_bind }}" +bind_password = '{{ grafana_ldap_bind_pwd }}' +search_filter = "(mail=%s)" +search_base_dns = ["{{ grafana_ldap_base }}"] + +[servers.attributes] +name = "givenName" +surname = "sn" +username = "uid" +member_of = "memberOf" +email = "mail" + +[[servers.group_mappings]] +group_dn = "cn=systems,ou=mailing,ou=groups,dc=linaro,dc=org" +org_role = "Admin" +grafana_admin = true # Available in Grafana v5.3 and above + +[[servers.group_mappings]] +group_dn = "cn=employees,ou=mailing,ou=groups,dc=linaro,dc=org" +org_role = "Editor" diff --git a/roles/docker-grimoirelab/defaults/main.yml b/roles/docker-grimoirelab/defaults/main.yml deleted file mode 100644 index 18e8575d..00000000 --- a/roles/docker-grimoirelab/defaults/main.yml +++ /dev/null @@ -1,27 +0,0 @@ ---- -# Grimoirelab -docker_image_grimoirelab: grimoirelab/installed:0.2.3 -docker_container_name_grimoirelab: grimoirelab-production - -grimoirelab_root: /srv/grimoirelab - -docker_mordred_override: "{{grimoirelab_root}}/override.cfg" -docker_mordred_infra: "{{grimoirelab_root}}/infra.cfg" -docker_mordred_projects: "{{grimoirelab_root}}/projects.json" -docker_grimoirelab_identities: "{{grimoirelab_root}}/identities.yaml" -docker_grimoirelab_orgs: "{{grimoirelab_root}}/orgs.json" -docker_grimoirelab_logs: "{{grimoirelab_root}}/logs" -docker_grimoirelab_user_dir_ssh: "{{grimoirelab_root}}/secrets/grimoirelab/ssh" - -docker_grimoirelab_secrets: "{{secrets_dir}}/files/grimoirelab" - -# MariaDB -docker_image_mariadb: mariadb:10.1 -# https://github.com/chaoss/grimoirelab-sortinghat/issues/121 -docker_container_name_mariadb: grimoirelab-db -docker_mariadb_data: "{{grimoirelab_root}}/mysql" - -# Kibiter -docker_image_kibiter: bitergia/kibiter:community-v6.1.4-2 -docker_container_name_kibiter: grimoirelab-kibiter -docker_port_kibiter: 5602 diff --git a/roles/docker-grimoirelab/tasks/main.yml b/roles/docker-grimoirelab/tasks/main.yml deleted file mode 100644 index 6a7d9d54..00000000 --- a/roles/docker-grimoirelab/tasks/main.yml +++ /dev/null @@ -1,70 +0,0 @@ ---- -- name: Ensure data volume exists - file: - path: "{{grimoirelab_root}}" - state: directory - owner: 1000 - group: 1000 - recurse: yes - follow: no - -- name: Create docker mariadb container - docker_container: - name: "{{docker_container_name_mariadb}}" - image: "{{docker_image_mariadb}}" - state: started - log_driver: journald - restart_policy: unless-stopped - recreate: yes - volumes: - - "{{docker_mariadb_data}}:/var/lib/mysql" - env: - MYSQL_ROOT_PASSWORD: "{{docker_mariadb_password}}" - MYSQL_ROOT_HOST: "%" - -- name: Create docker kibiter container - docker_container: - name: "{{docker_container_name_kibiter}}" - image: "{{docker_image_kibiter}}" - state: started - log_driver: journald - restart_policy: unless-stopped - published_ports: - - "{{docker_port_kibiter}}:5601" - recreate: yes - env: - ELASTICSEARCH_URL: "http://elk:9200" - links: - - "{{docker_container_elasticsearch_name}}:elk" - -- name: Ensure secrets dir exists - copy: - src: "{{docker_grimoirelab_secrets}}" - dest: "{{grimoirelab_root}}/secrets" - mode: 0600 - -- name: Create docker grimoirelab container - docker_container: - name: "{{docker_container_name_grimoirelab}}" - image: "{{docker_image_grimoirelab}}" - state: started - log_driver: journald - restart_policy: unless-stopped - recreate: yes - links: - - "{{docker_container_name_kibiter}}:kibiter" - - "{{docker_container_name_mariadb}}:mysql" - - "{{docker_container_elasticsearch_name}}:elk" - volumes: - - "{{docker_mordred_override}}:/override.cfg" - - "{{docker_mordred_infra}}:/infra.cfg" - - "{{docker_mordred_projects}}:/projects.json" - - "{{docker_grimoirelab_identities}}:/identities.yaml" - - "{{docker_grimoirelab_orgs}}:/orgs.json" - - "{{docker_grimoirelab_logs}}:/logs" - - "{{docker_grimoirelab_user_dir_ssh}}:/home/grimoirelab/.ssh" - -- name: Wait for docker to start - wait_for: - port: "{{docker_port_kibiter}}" - delay: 10 diff --git a/roles/docker-hatstall/defaults/main.yml b/roles/docker-hatstall/defaults/main.yml new file mode 100644 index 00000000..5e2042d7 --- /dev/null +++ b/roles/docker-hatstall/defaults/main.yml @@ -0,0 +1,10 @@ +--- +docker_image_hatstall: grimoirelab/hatstall +docker_container_name_hatstall: grimoirelab-hatstall + +hatstall_root: "/srv/hatstall/{{inventory_hostname}}" + +docker_port_hatstall_http: 8000 +docker_port_hatstall_https: 8001 + +docker_hatstall_apache: "{{hatstall_root}}/apache-hatstall.conf" diff --git a/roles/docker-hatstall/files/apache-hatstall.conf b/roles/docker-hatstall/files/apache-hatstall.conf new file mode 100644 index 00000000..0f9d9f23 --- /dev/null +++ b/roles/docker-hatstall/files/apache-hatstall.conf @@ -0,0 +1,67 @@ +<VirtualHost *:80> + # Basic Apache config + ServerAdmin webmaster@localhost + DocumentRoot /var/www/html + + ErrorLog ${APACHE_LOG_DIR}/hatstall-error.log + CustomLog ${APACHE_LOG_DIR}/hatstall-access.log combined + + Alias /static/ /home/grimoirelab/grimoirelab-hatstall/django-hatstall/static/ + + <Directory /home/grimoirelab/grimoirelab-hatstall/django-hatstall/static> + Require all granted + </Directory> + + # WSGI specific config + LogLevel info + + WSGIDaemonProcess hatstall python-path=/home/grimoirelab/grimoirelab-hatstall/django-hatstall/ + WSGIProcessGroup hatstall + + WSGIScriptAlias / /home/grimoirelab/grimoirelab-hatstall/django-hatstall/django_hatstall/wsgi.py process-group=hatstall + + <Directory /home/grimoirelab/grimoirelab-hatstall/django-hatstall/django_hatstall/> + <Files wsgi*.py> + Require all granted + </Files> + </Directory> + +</VirtualHost> + +<VirtualHost *:443> + # Basic Apache config + # ServerName 127.1.1.1 + ServerAdmin webmaster@localhost + DocumentRoot /var/www/html + + ErrorLog ${APACHE_LOG_DIR}/hatstall-error.log + CustomLog ${APACHE_LOG_DIR}/hatstall-access.log combined + + Alias /static/ /home/grimoirelab/grimoirelab-hatstall/django-hatstall/static/ + + <Directory /home/grimoirelab/grimoirelab-hatstall/django-hatstall/static> + Require all granted + </Directory> + + SSLEngine on + + # A self-signed (snakeoil) certificate can be created by installing + # the ssl-cert package. See + SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem + SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key + + # WSGI specific config + LogLevel info + + WSGIDaemonProcess hatstall-ssl python-path=/home/grimoirelab/grimoirelab-hatstall/django-hatstall/ + WSGIProcessGroup hatstall-ssl + + WSGIScriptAlias / /home/grimoirelab/grimoirelab-hatstall/django-hatstall/django_hatstall/wsgi.py process-group=hatstall-ssl + + <Directory /home/grimoirelab/grimoirelab-hatstall/django-hatstall/django_hatstall/> + <Files wsgi*.py> + Require all granted + </Files> + </Directory> + +</VirtualHost> diff --git a/roles/docker-hatstall/tasks/main.yml b/roles/docker-hatstall/tasks/main.yml new file mode 100644 index 00000000..110d98a6 --- /dev/null +++ b/roles/docker-hatstall/tasks/main.yml @@ -0,0 +1,31 @@ +--- +- name: Ensure data volume exists + file: + path: "{{hatstall_root}}" + state: directory + recurse: yes + follow: no + +- name: copy docker files + copy: + src: apache-hatstall.conf + dest: "{{hatstall_root}}" + +- name: Create docker hatstall container + docker_container: + name: "{{docker_container_name_hatstall}}" + image: "{{docker_image_hatstall}}" + state: started + log_driver: journald + published_ports: + - "{{docker_port_hatstall_http}}:80" + - "{{docker_port_hatstall_https}}:443" + restart_policy: unless-stopped + recreate: yes + volumes: + - "{{docker_hatstall_apache}}:/home/grimoirelab/apache-hatstall.conf" + +- name: Wait for docker to start + wait_for: + port: "{{docker_port_hatstall_http}}" + delay: 10 diff --git a/roles/docker-jenkins-master/tasks/main.yml b/roles/docker-jenkins-master/tasks/main.yml index 2802602f..f1c1a76a 100644 --- a/roles/docker-jenkins-master/tasks/main.yml +++ b/roles/docker-jenkins-master/tasks/main.yml @@ -1,19 +1,62 @@ --- +- name: Install server deps + apt: pkg={{item}} state=present + with_items: + - apache2 + - cifs-utils + - ufw + - postfix + - smartmontools + - linux-generic-hwe-18.04 + +# Only adds ports does not delete. +# ufw reset is required for a fresh ufw deploy (-e firewall_reset=y). + +- name: Include ufw role + include_role: + name: ufw - name: Enable Apache modules apache2_module: name={{item}} with_items: "{{apache_modules}}" notify: reload-apache +- name: Create docker bridge network + docker_network: + name: jenkins + - name: Ensure data volume is owned by jenkins file: path: "{{jenkins_master_data_volume}}" state: directory owner: 1000 group: 1000 - recurse: yes + recurse: no follow: no +- name: Install ssh config for jenkins + copy: + dest: "{{jenkins_master_data_volume}}/.ssh/config" + src: files/jenkins/{{inventory_hostname}}.ssh + owner: 1000 + group: 1000 + tags: jenkins_ssh + +- name: Install ssh known_hosts for jenkins + copy: + dest: "{{jenkins_master_data_volume}}/.ssh/known_hosts" + src: "{{jenkins_ssh_known_hosts}}" + owner: 1000 + group: 1000 + tags: jenkins_ssh + +- name: Install etc hosts file + template: + src: hosts.j2 + dest: "{{jenkins_master_data_volume}}/.ssh/hosts" + mode: 0777 + tags: jenkins_ssh + # This is a *dead* symlink on the host, that becomes active when attached to the docker image. # This allows us to have our plugins installed in the docker image instead on the host. - name: Ensure data volume has plugins symlink @@ -30,7 +73,8 @@ docker_image: name: "{{jenkins_master_image}}" state: present - force: True + source: pull + force_source: yes when: jenkins_upgrade is defined - name: Create jenkins data volume container @@ -48,6 +92,8 @@ pull: False ignore_image: "{{not(jenkins_upgrade is defined)}}" state: started + networks: + - name: jenkins log_driver: journald restart_policy: unless-stopped published_ports: @@ -57,47 +103,11 @@ - "{{jenkins_jnlp_port}}:{{jenkins_jnlp_port}}" volumes: - "{{jenkins_master_data_volume}}:/var/jenkins_home" + - "{{jenkins_master_data_volume}}/.ssh/hosts:/etc/hosts:ro" volumes_from: - "{{jenkins_master_data_container_name}}" - etc_hosts: - { - "bkp-01.tcwglab":"51.148.40.55", - "build-01.tcwglab build-01.tcwglab.linaro.org":"192.168.16.5", - "build-02.tcwglab build-02.tcwglab.linaro.org":"192.168.16.6", - "build-03.tcwglab build-03.tcwglab.linaro.org":"192.168.16.7", - "build-04.tcwglab build-04.tcwglab.linaro.org":"192.168.16.8", - "build-05.tcwglab build-05.tcwglab.linaro.org":"192.168.16.9", - "build-06.tcwglab build-06.tcwglab.linaro.org":"192.168.16.10", - "build-07.tcwglab build-07.tcwglab.linaro.org":"192.168.16.11", - "build-08.tcwglab build-08.tcwglab.linaro.org":"192.168.16.12", - "apm-01.tcwglab apm-01.tcwglab.linaro.org":"192.168.16.20", - "apm-02.tcwglab apm-02.tcwglab.linaro.org":"192.168.16.21", - "test-armv8-01.tcwglab test-armv8-01.tcwglab.linaro.org":"192.168.16.24", - "test-armv8-02.tcwglab test-armv8-02.tcwglab.linaro.org":"192.168.16.25", - "tcwg-tx1-01.tcwglab tx1-01.tcwglab.linaro.org":"192.168.18.101", - "tcwg-tx1-02.tcwglab tx1-02.tcwglab.linaro.org":"192.168.18.102", - "tcwg-tx1-03.tcwglab tx1-03.tcwglab.linaro.org":"192.168.18.103", - "tcwg-tx1-04.tcwglab tx1-04.tcwglab.linaro.org":"192.168.18.104", - "tcwg-tx1-05.tcwglab tx1-05.tcwglab.linaro.org":"192.168.18.105", - "tcwg-tx1-06.tcwglab bmk-tx1-06.tcwglab.linaro.org":"192.168.18.106", - "tcwg-tx1-07.tcwglab bmk-tx1-07.tcwglab.linaro.org":"192.168.18.107", - "tcwg-tx1-08.tcwglab bmk-tx1-08.tcwglab.linaro.org":"192.168.18.108", - "tcwg-tk1-01.tcwglab tk1-01.tcwglab.linaro.org":"192.168.18.151", - "tcwg-tk1-02.tcwglab tk1-02.tcwglab.linaro.org":"192.168.18.152", - "tcwg-tk1-03.tcwglab tk1-03.tcwglab.linaro.org":"192.168.18.153", - "tcwg-tk1-04.tcwglab tk1-04.tcwglab.linaro.org":"192.168.18.154", - "tcwg-tk1-05.tcwglab tk1-05.tcwglab.linaro.org":"192.168.18.155", - "tcwg-tk1-06.tcwglab bmk-tk1-06.tcwglab.linaro.org":"192.168.18.156", - "tcwg-tk1-07.tcwglab bmk-tk1-07.tcwglab.linaro.org":"192.168.18.157", - "tcwg-tk1-08.tcwglab bmk-tk1-08.tcwglab.linaro.org":"192.168.18.158", - "tcwg-tk1-09.tcwglab tk1-09.tcwglab.linaro.org":"192.168.18.159", - "tcwg-sq-01.tcwglab tcwg-sq-01.tcwglab.linaro.org":"192.168.16.41", - "tcwg-sq-02.tcwglab tcwg-sq-02.tcwglab.linaro.org":"192.168.16.42", - "tcwg-d05_llvmbot-01.tcwglab tcwg-d05_llvmbot-01.tcwglab.linaro.org":"147.75.199.202", - "tcwg-thx1_llvmbot-01.tcwglab tcwg-thx1_llvmbot-01.tcwglab.linaro.org":"147.75.195.254", - "dev-01.tcwglab dev-01.tcwglab.linaro.org":"192.168.17.10", - "dev-02.tcwglab dev-02.tcwglab.linaro.org":"192.168.17.15", - } + env: + JAVA_OPTS: "{{ jenkins_java_opts }}" - name: Wait for Jenkins starts wait_for: diff --git a/roles/docker-jenkins-master/templates/hosts.j2 b/roles/docker-jenkins-master/templates/hosts.j2 new file mode 100644 index 00000000..687d044b --- /dev/null +++ b/roles/docker-jenkins-master/templates/hosts.j2 @@ -0,0 +1,12 @@ +# {{ ansible_managed }} +127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 +::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 ip6-localhost ip6-loopback +fe00::0 ip6-localnet +ff00::0 ip6-mcastprefix +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters +ff02::3 ip6-allhosts + +{% for (key,value) in jenkins_etc_hosts.items() %} +{{value}} {{key}} +{% endfor %} diff --git a/roles/docker-kibiter/defaults/main.yml b/roles/docker-kibiter/defaults/main.yml new file mode 100644 index 00000000..387f4dce --- /dev/null +++ b/roles/docker-kibiter/defaults/main.yml @@ -0,0 +1,10 @@ +--- +kibiter_root: "/srv/kibiter/{{inventory_hostname}}" +docker_image_kibiter: bitergia/kibiter:community-v6.1.4-2 +docker_image_kibiter_local: linaro/kibiter +docker_container_name_kibiter: kibiter-noname +docker_port_kibiter: 5602 + +kibana_index: ".kibiter-noname" +kibiter_project_name: "Linaro Dashboard" +kibiter_default_dashboard: "dashboard/Overview" diff --git a/roles/docker-kibiter/handlers/main.yml b/roles/docker-kibiter/handlers/main.yml new file mode 100644 index 00000000..e30940ac --- /dev/null +++ b/roles/docker-kibiter/handlers/main.yml @@ -0,0 +1,13 @@ +--- + +- name: dashboard-readonly + uri: + url: http://{{docker_container_elasticsearch_name}}:9200/{{kibana_index}}/_settings + method: PUT + body_format: json + body: + index.blocks.read_only: true + return_content: yes + register: this + failed_when: "'true' not in this.content" + diff --git a/roles/docker-kibiter/tasks/main.yml b/roles/docker-kibiter/tasks/main.yml new file mode 100644 index 00000000..9486089c --- /dev/null +++ b/roles/docker-kibiter/tasks/main.yml @@ -0,0 +1,42 @@ +--- +- name: Ensure docker build dir exists + file: + path: "{{kibiter_root}}" + state: directory + +- name: Ensure kibiter Dockerfile exists + template: + src: templates/Dockerfile.j2 + dest: "{{kibiter_root}}/Dockerfile" + +- name: Build kibiter image + docker_image: + source: build + state: present + name: "{{docker_image_kibiter_local}}" + force_source: yes + build: + path: "{{kibiter_root}}" + network: "{{ es_network_name }}" + +- name: Create docker kibiter container + docker_container: + name: "{{docker_container_name_kibiter}}" + image: "{{docker_image_kibiter_local}}" + state: started + log_driver: journald + restart_policy: unless-stopped + published_ports: + - "{{docker_port_kibiter}}:5601" + recreate: yes + env: + ELASTICSEARCH_URL: "http://elasticsearch-production:9200" + PROJECT_NAME: "{{kibiter_project_name}}" + networks: + - name: "{{ es_network_name }}" + notify: dashboard-readonly + +- name: Wait for docker to start + wait_for: + port: "{{docker_port_kibiter}}" + delay: 10 diff --git a/roles/docker-kibiter/templates/Dockerfile.j2 b/roles/docker-kibiter/templates/Dockerfile.j2 new file mode 100644 index 00000000..d2f71abb --- /dev/null +++ b/roles/docker-kibiter/templates/Dockerfile.j2 @@ -0,0 +1,16 @@ +FROM {{docker_image_kibiter}} + +RUN echo 'kibana.index: "{{kibana_index}}"' \ + >> /opt/kibana/config/kibana.yml \ + && echo 'elasticsearch.requestTimeout: 300000' \ + >> /opt/kibana/config/kibana.yml \ + && sed -e "s|^kibana.defaultAppId: .*$|kibana.defaultAppId: \"{{kibiter_default_dashboard}}\"|" -i /opt/kibana/config/kibana.yml \ + && sed -e "s/title GrimoireLab Analytics$/title {{kibiter_project_name}}/" -i /opt/kibana/src/ui/views/chrome.jade \ + && echo "console.enabled: false" \ + >> /opt/kibana/config/kibana.yml \ + && echo "timelion.enabled: false" \ + >> /opt/kibana/config/kibana.yml \ + && mkdir /opt/kibana2 \ + && (cd /opt/kibana; tar --group=kibana --owner=kibana -cf - .)|(cd /opt/kibana2; tar -xpf -) \ + && rm -rf /opt/kibana \ + && mv /opt/kibana2 /opt/kibana diff --git a/roles/docker-llvmmonitor/defaults/main.yml b/roles/docker-llvmmonitor/defaults/main.yml new file mode 100644 index 00000000..4cfc38dd --- /dev/null +++ b/roles/docker-llvmmonitor/defaults/main.yml @@ -0,0 +1,5 @@ +--- +docker_image: linaro/ci-amd64-tcwg-llvmmonitor-nginx +docker_container_name: tcwg-llvmmonitor-nginx +docker_http_port: 8082 + diff --git a/roles/docker-llvmmonitor/tasks/main.yml b/roles/docker-llvmmonitor/tasks/main.yml new file mode 100644 index 00000000..2b4b7bdf --- /dev/null +++ b/roles/docker-llvmmonitor/tasks/main.yml @@ -0,0 +1,25 @@ +--- +- name: Pull latest images from upstream repo + docker_image: + name: "{{docker_image}}" + state: present + source: pull + force_source: yes + +- name: Create tcwg container + docker_container: + name: "{{docker_container_name}}" + image: "{{docker_image}}" + state: started + log_driver: journald + restart_policy: unless-stopped + published_ports: + - "{{docker_http_port}}:80" + memory: 512m + cpu_shares: 2 + recreate: yes + +- name: Wait for docker to start + wait_for: + port: "{{docker_http_port}}" + delay: 10 diff --git a/roles/docker-logstash/defaults/main.yml b/roles/docker-logstash/defaults/main.yml new file mode 100644 index 00000000..4ab4a5f3 --- /dev/null +++ b/roles/docker-logstash/defaults/main.yml @@ -0,0 +1,13 @@ +--- +docker_image: linaro/logstash:6.5.1 +docker_container_logstash_name: logstash + +docker_port_logstash: 5044 + +logstash_cert_path: "{{secrets_dir_external}}/files/logstash/logstash-beats.crt" +logstash_cert_private_path: "{{secrets_dir_external}}/files/logstash/logstash-beats.key" + +docker_logstash_cert: "/srv/certs/logstash-beats.crt" +docker_logstash_cert_private: "/srv/certs/logstash-beats.key" + +elk_root: /srv/elk-production/logstash diff --git a/roles/docker-logstash/files/30-output.conf b/roles/docker-logstash/files/30-output.conf new file mode 100644 index 00000000..486ab144 --- /dev/null +++ b/roles/docker-logstash/files/30-output.conf @@ -0,0 +1,8 @@ + output { + elasticsearch { + hosts => ["elasticsearch-production"] + manage_template => false + index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" + document_type => "%{[@metadata][type]}" + } + } diff --git a/roles/docker-logstash/files/logstash.conf b/roles/docker-logstash/files/logstash.conf new file mode 100644 index 00000000..1246f5be --- /dev/null +++ b/roles/docker-logstash/files/logstash.conf @@ -0,0 +1,9 @@ +input { + beats { + port => 5044 + ssl => true + ssl_certificate => "/etc/pki/tls/certs/logstash-beats.crt" + ssl_key => "/etc/pki/tls/private/logstash-beats.key" + } +} + diff --git a/roles/docker-logstash/files/templates/30-output.conf b/roles/docker-logstash/files/templates/30-output.conf new file mode 100644 index 00000000..af8ffce4 --- /dev/null +++ b/roles/docker-logstash/files/templates/30-output.conf @@ -0,0 +1,8 @@ + output { + elasticsearch { + hosts => ["{{docker_container_elasticsearch_name}}"] + manage_template => false + index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" + document_type => "%{[@metadata][type]}" + } + } diff --git a/roles/docker-logstash/files/templates/logstash.conf b/roles/docker-logstash/files/templates/logstash.conf new file mode 100644 index 00000000..1246f5be --- /dev/null +++ b/roles/docker-logstash/files/templates/logstash.conf @@ -0,0 +1,9 @@ +input { + beats { + port => 5044 + ssl => true + ssl_certificate => "/etc/pki/tls/certs/logstash-beats.crt" + ssl_key => "/etc/pki/tls/private/logstash-beats.key" + } +} + diff --git a/roles/docker-logstash/tasks/main.yml b/roles/docker-logstash/tasks/main.yml new file mode 100644 index 00000000..7a40bb95 --- /dev/null +++ b/roles/docker-logstash/tasks/main.yml @@ -0,0 +1,61 @@ +--- +- name: Install Apache modules to support dockerized elk + apache2_module: name={{ item }} + with_items: + - proxy + - proxy_http + - auth_basic + - authz_user + - authnz_ldap # apache-auth enables, also just ldap + - authnz_external + - ssl + +# This controls images available on the system since +# we don't allow docker_container to do its own pulls + +- name: Ensure certs dir exists + file: path=/srv/certs state=directory +- name: Copy logstash certs + copy: + src: "{{item}}" + dest: /srv/certs + with_items: + - "{{logstash_cert_path}}" + - "{{logstash_cert_private_path}}" + +- name: Copy logstash conf + copy: + src: files/ + dest: "{{elk_root}}" + owner: 1000 + group: 1000 + mode: 0600 + +# TODO: create custom linaro image to incorporate fix +# for CVE-2021-44228 +# yum install zip +# zip -q -d /usr/share/logstash/logstash-core/lib/jars/log4j-core-*.jar \ +# org/apache/logging/log4j/core/lookup/JndiLookup.class + +- name: Create docker container + docker_container: + name: "{{docker_container_logstash_name}}" + image: "{{docker_image}}" + state: started + log_driver: journald + restart_policy: unless-stopped + published_ports: + - "{{docker_port_logstash}}:5044" + recreate: yes + networks: + - name: "{{ es_network_name }}" + volumes: + - "{{elk_root}}:/usr/share/logstash/pipeline/" + - "{{docker_logstash_cert}}:/etc/pki/tls/certs/logstash-beats.crt" + - "{{docker_logstash_cert_private}}:/etc/pki/tls/private/logstash-beats.key" + +- name: Wait for docker to start + wait_for: + host: "{{docker_container_logstash_name}}" + port: "{{docker_port_logstash}}" + delay: 10 diff --git a/roles/docker-prometheus/defaults/main.yml b/roles/docker-prometheus/defaults/main.yml new file mode 100644 index 00000000..8b11ac94 --- /dev/null +++ b/roles/docker-prometheus/defaults/main.yml @@ -0,0 +1,6 @@ +--- +docker_container_name_prometheus: prometheus +docker_image_name_prometheus: linaro/prometheus +docker_port_prometheus: 9090 +docker_network_prometheus: prometheus +docker_prometheus_ufw_whitelist: [ "0.0.0.0" ] diff --git a/roles/docker-prometheus/tasks/main.yml b/roles/docker-prometheus/tasks/main.yml new file mode 100644 index 00000000..979cb211 --- /dev/null +++ b/roles/docker-prometheus/tasks/main.yml @@ -0,0 +1,78 @@ +--- +- name: Ensure required dirs exist + file: + path: "{{ item }}" + state: directory + owner: root + group: root + mode: "0775" + with_items: + - /srv/prometheus + - /srv/prometheus/etc + - /srv/prometheus/docker + +- name: Ensure required dirs exist + file: + path: "{{ item }}" + state: directory + owner: nobody + group: root + mode: "0775" + with_items: + - /srv/prometheus/storage + +- name: Install config files for host + template: + src: "{{ item }}" + dest: /srv/prometheus/etc/{{ item | basename }} + with_fileglob: "files/prometheus/{{ inventory_hostname }}/*" + +- name: Ensure Dockerfile exists + template: + src: templates/Dockerfile.j2 + dest: /srv/prometheus/docker/Dockerfile + +- name: Build prometheus image + docker_image: + name: "{{ docker_image_name_prometheus }}" + source: build + build: + dockerfile: /srv/prometheus/docker/Dockerfile + path: "/srv/prometheus/docker" + pull: yes + force_source: yes + when: prometheus_upgrade is defined + +- name: Create prometheus container + docker_container: + name: "{{ docker_container_name_prometheus }}" + image: "{{ docker_image_name_prometheus }}" + state: started + log_driver: journald + restart_policy: unless-stopped + recreate: yes + published_ports: ["0.0.0.0:{{ docker_port_prometheus }}:{{ docker_port_prometheus }}"] + volumes: + - "/srv/prometheus/etc:/etc/prometheus" + - "/srv/prometheus/storage:/prometheus" + networks: + - name: "{{ docker_network_prometheus }}" + when: prometheus_upgrade is defined + +- name: Wait for docker to start + wait_for: + host: "{{ docker_container_name_prometheus }}" + port: "{{ docker_port_prometheus }}" + delay: 10 + +#- name: Ensure UFW whitelist rules are in place +# ufw: +# rule: allow +# route: true +# direction: in +# interface: eth0 +# proto: tcp +# from_ip: "{{ item }}" +# to_ip: "{{ansible_facts.docker_container.NetworkSettings.IPAddress}}" +# to_port: "{{docker_port_prometheus}}" +# with_items: "{{docker_prometheus_ufw_whitelist}}" diff --git a/roles/docker-prometheus/templates/Dockerfile.j2 b/roles/docker-prometheus/templates/Dockerfile.j2 new file mode 100644 index 00000000..b2693d70 --- /dev/null +++ b/roles/docker-prometheus/templates/Dockerfile.j2 @@ -0,0 +1,15 @@ +FROM prom/prometheus:latest +LABEL maintainer="Linaro Systems <systems@linaro.org>" + + +USER nobody +EXPOSE {{ docker_port_prometheus }} +VOLUME [ "/prometheus" ] +WORKDIR /prometheus +ENTRYPOINT [ "/bin/prometheus" ] +CMD [ "--config.file=/etc/prometheus/prometheus.yml", \ + "--storage.tsdb.path=/prometheus", \ + "--storage.tsdb.retention.time=1y", \ + "--web.console.libraries=/usr/share/prometheus/console_libraries", \ + "--web.console.templates=/usr/share/prometheus/consoles", \ + "--web.listen-address=0.0.0.0:{{ docker_port_prometheus }}"] diff --git a/roles/docker-prometheus/templates/prometheus.yml.j2 b/roles/docker-prometheus/templates/prometheus.yml.j2 new file mode 100644 index 00000000..0b7d7855 --- /dev/null +++ b/roles/docker-prometheus/templates/prometheus.yml.j2 @@ -0,0 +1,29 @@ +# my global config +global: + scrape_interval: 15s + evaluation_interval: 15s + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + # - alertmanager:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + - "rules/node_alerts.yaml" + - "rules/node_rules.yaml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. + - job_name: 'prometheus' + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + static_configs: + - targets: ['localhost:9090'] + + {{ prometheus_local_static_configs }} diff --git a/roles/docker-publishing-site/defaults/main.yml b/roles/docker-publishing-site/defaults/main.yml new file mode 100644 index 00000000..75f84d89 --- /dev/null +++ b/roles/docker-publishing-site/defaults/main.yml @@ -0,0 +1,5 @@ +--- +apache_aliases: [] + +app_repo: https://git.linaro.org/infrastructure/linaro-license-protection.git +app_branch: master diff --git a/roles/docker-publishing-site/tasks/main.yml b/roles/docker-publishing-site/tasks/main.yml new file mode 100644 index 00000000..31a2ba01 --- /dev/null +++ b/roles/docker-publishing-site/tasks/main.yml @@ -0,0 +1,81 @@ +--- +- name: Create site install dir + file: + path: "/srv/{{inventory_hostname}}" + state: directory + +# We use a bind mount in order to be able to update +# the container code without having to rebuild and +# distribute a new version of the image. Giving +# each container its own copy of the repo allows us +# selectively deploy updates by tagging individual +# sites, or mass deploy by tagging the group via +# this playbook. +- name: Clone LLP repo for this site + git: + repo: "{{app_repo}}" + dest: "/srv/{{inventory_hostname}}/linaro-license-protection" + version: "{{app_branch}}" + update: yes + +- name: create secrets.py + template: + src: "secrets/publishing-servers/{{secrets_file}}" + dest: "/srv/{{inventory_hostname}}/secrets.py" + +- name: Install proxy_settings + template: + src: proxy_settings.py + dest: "/srv/{{inventory_hostname}}/proxy_settings.py" + +- name: Install docker_run.sh + get_url: + url: https://git.linaro.org/ci/dockerfiles.git/plain/ci-amd64-llp-alpine/docker_run.sh + dest: "/srv/{{inventory_hostname}}/docker_run.sh" + checksum: sha256:0a6cf2a1fdb15491cfd871007a2cd4f0ac2926fd209dd6cf0309a3347510f2b6 + mode: 0755 + +- name: Create allowed_hosts list + set_fact: + allowed_hosts: "{{apache_aliases}} + [ '{{inventory_hostname}}' ]" + +- name: Create allowed_hosts.txt + copy: + content: "{{ allowed_hosts | join('\n') }}" + dest: "/srv/{{inventory_hostname}}/allowed_hosts.txt" + +- name: Create header_override + template: + src: "{{header_override}}" + dest: "/srv/{{inventory_hostname}}/header_override.html" + when: header_override is defined + +- name: Create the docker container for site + docker_container: + name: "{{inventory_hostname}}" + image: "{{llp_docker_image}}" + hostname: "{{inventory_hostname}}" + pull: False + ignore_image: "{{not(docker_upgrade is defined)}}" + state: started + log_driver: journald + restart_policy: unless-stopped + published_ports: + - "{{llp_port}}" + volumes: + - "/srv/{{inventory_hostname}}:/srv" + env: + DJANGO_SETTINGS_MODULE: "settings_production" + DJANGO_MIGRATE: "true" + DJANGO_COLLECTSTATIC: "true" + PORT: "{{llp_port}}" + notify: event-watcher + +- name: Install LLP crontab + template: + src: templates/llp-crontab.cron + dest: /etc/cron.d/llp-crontab-{{ inventory_hostname | replace('.', '_') }} + mode: 0644 + backup: no + owner: root + group: root diff --git a/roles/docker-publishing/templates/allowed_hosts.txt b/roles/docker-publishing-site/templates/allowed_hosts.txt index e69de29b..e69de29b 100644 --- a/roles/docker-publishing/templates/allowed_hosts.txt +++ b/roles/docker-publishing-site/templates/allowed_hosts.txt diff --git a/roles/docker-publishing-site/templates/llp-crontab.cron b/roles/docker-publishing-site/templates/llp-crontab.cron new file mode 100644 index 00000000..5ce097ae --- /dev/null +++ b/roles/docker-publishing-site/templates/llp-crontab.cron @@ -0,0 +1,14 @@ +# DO NOT EDIT: MANAGED BY ANSIBLE +MAILTO=linaro-infrastructure-errors@lists.linaro.org +{% if process_report %} +*/10 * * * * root docker exec {{inventory_hostname}} /srv/linaro-license-protection/manage.py report_process --settings=settings_production +{% if inventory_hostname == "releases-ie.linaro.org" %} +0 1 * * * root docker exec {{inventory_hostname}} /srv/linaro-license-protection/manage.py downloads_report --settings=settings_production +{% endif %} +{% endif %} +{% if s3_sanity %} +0 0 * * * root docker exec {{inventory_hostname}} /srv/linaro-license-protection/manage.py s3_sanity --settings=settings_production +{% endif %} +{% if token_cleanup %} +0 0 * * 0 root docker exec {{inventory_hostname}} /srv/linaro-license-protection/manage.py s3_purge --settings=settings_production token_cleanup +{% endif %} diff --git a/roles/docker-publishing/files/proxy_settings.py b/roles/docker-publishing-site/templates/proxy_settings.py index f9e79de2..f9e79de2 100644 --- a/roles/docker-publishing/files/proxy_settings.py +++ b/roles/docker-publishing-site/templates/proxy_settings.py diff --git a/roles/docker-publishing/defaults/main.yml b/roles/docker-publishing/defaults/main.yml index 8c00d00d..906e1beb 100644 --- a/roles/docker-publishing/defaults/main.yml +++ b/roles/docker-publishing/defaults/main.yml @@ -1,5 +1,3 @@ --- install_dir: /srv docker_base: "{{install_dir}}/docker" -app_repo: https://git.linaro.org/infrastructure/linaro-license-protection.git -app_branch: master diff --git a/roles/docker-publishing/files/apache-proxy.conf b/roles/docker-publishing/files/apache-proxy.conf index 96a8d4cb..09d42284 100644 --- a/roles/docker-publishing/files/apache-proxy.conf +++ b/roles/docker-publishing/files/apache-proxy.conf @@ -14,9 +14,14 @@ {{args.apache_redirects}} {% endif %} ProxyPass /.well-known/acme-challenge/ ! - ProxyPass "/" "http://{{container}}:{{llp_port}}/" + ProxyPass "/" "http://{{container}}:{{llp_port}}/" disablereuse=on ProxyPassReverse "/" "http://{{container}}" + # block web crawlers + RewriteEngine On + RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|Amazonbot|bingbot|Baidu|Baiduspider|360Spider|360|^MauiBot|^SemrushBot|^MegaIndex) [nocase] + RewriteRule ^(.*)$ - [forbidden,last] + Alias "/.well-known/acme-challenge/" "/srv/certbot/.well-known/acme-challenge/" <Directory "/srv/certbot/.well-known/acme-challenge/"> Require all granted @@ -45,7 +50,7 @@ {% if args.apache_redirects is defined %} {{args.apache_redirects}} {% endif %} - ProxyPass "/" "http://{{container}}:{{llp_port}}/" + ProxyPass "/" "http://{{container}}:{{llp_port}}/" disablereuse=on ProxyPassReverse "/" "https://{{container}}/" </VirtualHost> </IfModule> diff --git a/roles/docker-publishing/files/docker_run.sh b/roles/docker-publishing/files/docker_run.sh deleted file mode 100644 index 195d3770..00000000 --- a/roles/docker-publishing/files/docker_run.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -cd /srv - -./linaro-license-protection/manage.py migrate --noinput -./linaro-license-protection/manage.py collectstatic --noinput - -/usr/bin/gunicorn -w4 -b 0.0.0.0:$PORT $LLP_APP diff --git a/roles/docker-publishing/handlers/main.yml b/roles/docker-publishing/handlers/main.yml deleted file mode 100644 index c1f65303..00000000 --- a/roles/docker-publishing/handlers/main.yml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- name: reload-django - command: "docker exec {{item.key}} killall -SIGHUP gunicorn" - with_dict: "{{sites}}" - -- name: event-watcher - command: "/usr/sbin/event-watcher.py -n -o" diff --git a/roles/docker-publishing/tasks/deploy-site.yml b/roles/docker-publishing/tasks/deploy-site.yml deleted file mode 100644 index 26b0bab6..00000000 --- a/roles/docker-publishing/tasks/deploy-site.yml +++ /dev/null @@ -1,87 +0,0 @@ ---- -- name: Create site install dir {{install_dir}}/{{container}} - file: - path: "{{install_dir}}/{{container}}" - state: directory - -- name: Create container code mount point for "{{container}}" - file: - path: "{{install_dir}}/{{container}}/linaro-license-protection" - state: directory - -- name: Install docker_run.sh for {{container}} - copy: - src: files/docker_run.sh - dest: "{{install_dir}}/{{container}}/docker_run.sh" - mode: 0755 - -- name: Install apache-site for {{container}} - template: - src: files/apache-proxy.conf - dest: /etc/apache2/sites-available/{{container}} - mode: 0644 - backup: yes - owner: root - group: root - -- name: Enable Apache 2.4 compat symlink {{container}} - file: state=link force=yes - src={{container}} - dest=/etc/apache2/sites-available/{{container}}.conf - -- name: Enable apache modules - apache2_module: - state: present - name: "{{item}}" - ignore_configcheck: yes - with_items: - - proxy - - proxy_http - - ssl - - headers - notify: reload-apache - -- name: Enable site config for {{container}} - command: "a2ensite {{container}}" - register: result - changed_when: "'already enabled' not in result.stdout" - -- name: create settings.py for {{container}} - template: - src: "{{args.secrets_file}}" - dest: "{{install_base}}/{{container}}/secrets.py" - -- name: Create allowed_hosts list - set_fact: - allowed_hosts: "{{args.apache_aliases}} + [ '{{container}}' ]" - -- name: Create allowed_hosts.txt for {{container}} - copy: - content: "{{ allowed_hosts | join('\n') }}" - dest: "{{install_base}}/{{container}}/allowed_hosts.txt" - -- name: Create header_override for {{container}} - template: - src: "{{args.header_override}}" - dest: "{{install_base}}/{{container}}/header_override.html" - when: args.header_override is defined - -- name: Create the docker container for {{container}} - docker_container: - name: "{{container}}" - image: "{{llp_docker_image}}" - hostname: "{{container}}" - pull: False - ignore_image: "{{not(docker_upgrade is defined)}}" - state: started - log_driver: journald - restart_policy: unless-stopped - published_ports: - - "{{llp_port}}" - volumes: - - "/srv/{{container}}:/srv" - - "/srv/linaro-license-protection:/srv/linaro-license-protection" - env: - DJANGO_SETTINGS_MODULE: "settings_production" - PORT: "{{llp_port}}" - notify: event-watcher diff --git a/roles/docker-publishing/tasks/main.yml b/roles/docker-publishing/tasks/main.yml index 478bc000..ab261d52 100644 --- a/roles/docker-publishing/tasks/main.yml +++ b/roles/docker-publishing/tasks/main.yml @@ -2,29 +2,6 @@ - name: Install git apt: pkg=git state=present -# all containers share one repo -- name: Clone repo for LLP - git: - repo: "{{app_repo}}" - dest: "{{install_dir}}/linaro-license-protection" - version: "{{app_branch}}" - update: yes - notify: - - reload-django - -- name: Install proxy_settings - copy: - src: proxy_settings.py - dest: "{{install_dir}}/linaro-license-protection/proxy_settings.py" - force: yes - -- name: Install event-watcher.py script - copy: - src: event-watcher.py - dest: /usr/sbin/event-watcher.py - mode: 0775 - force: yes - - name: Install the LLP docker image docker_image: name: "{{llp_docker_image}}" @@ -32,20 +9,15 @@ force: True when: docker_upgrade is defined -- name: Install LLP sites - include_tasks: deploy-site.yml - vars: - container: "{{docker_item.key}}" - args: "{{docker_item.value}}" - with_dict: "{{sites}}" - loop_control: - loop_var: docker_item - -- name: Install LLP crontab +- name: Install host's apache redirect template: - src: templates/llp-crontab.cron - dest: /etc/cron.d/llp-crontab + dest: /etc/apache2/sites-available/docker-default.conf + src: files/publishing/default-{{ inventory_hostname }}.conf mode: 0644 - backup: no owner: root group: root + +- name: Enable default apache redirect + command: a2ensite docker-default + args: + creates: /etc/apache2/sites-enabled/docker-default.conf diff --git a/roles/docker-publishing/templates/llp-crontab.cron b/roles/docker-publishing/templates/llp-crontab.cron deleted file mode 100644 index eeaef2ed..00000000 --- a/roles/docker-publishing/templates/llp-crontab.cron +++ /dev/null @@ -1,15 +0,0 @@ -# DO NOT EDIT: MANAGED BY ANSIBLE -MAILTO=linaro-infrastructure-errors@lists.linaro.org -{% for site_info in sites %} -{% for site,attrs in site_info.items() %} -{% if attrs.has_key('process_report') %} -*/10 * * * * root docker exec {{site}} /srv/linaro-license-protection/manage.py report_process --settings=settings_production -{% endif %} -{% if attrs.has_key('s3_sanity') %} -0 0 * * * root docker exec {{site}} /srv/linaro-license-protection/manage.py s3_sanity --settings=settings_production -{% endif %} -{% if attrs.has_key('s3_purge') %} -0 0 * * 0 root docker exec {{site}} /srv/linaro-license-protection/manage.py s3_purge --settings=settings_production {{attrs['s3_purge_options']|default('')}} -{% endif %} -{% endfor %} -{% endfor %} diff --git a/roles/docker-ses-proxy/handlers/main.yml b/roles/docker-ses-proxy/handlers/main.yml new file mode 100644 index 00000000..66b9e677 --- /dev/null +++ b/roles/docker-ses-proxy/handlers/main.yml @@ -0,0 +1,3 @@ +--- +- name: Update SES firewall + command: /sbin/docker-firewall diff --git a/roles/docker-ses-proxy/tasks/main.yml b/roles/docker-ses-proxy/tasks/main.yml new file mode 100644 index 00000000..92940052 --- /dev/null +++ b/roles/docker-ses-proxy/tasks/main.yml @@ -0,0 +1,39 @@ +--- +- name: Pull latest aws-smtp-relay image + docker_image: + name: "blueimp/aws-smtp-relay" + state: present + source: pull + force_source: yes + +- name: Copy TLS certs + copy: + src: "{{secrets_dir}}/files/ses-proxy" + dest: /etc/ssl/ + +- name: Create aws-smtp-relay container + docker_container: + image: "blueimp/aws-smtp-relay" + name: "aws-smtp-relay" + hostname: "{{ inventory_hostname }}" + state: started + env: + AWS_REGION: us-east-1 + BCRYPT_HASH: "{{ postfix_relay_hash }}" + TLS_KEY_PASS: "{{ ses_proxy_key_password }}" + volumes: + - "/etc/ssl/ses-proxy/:/ssl/:ro" + published_ports: + - "{{postfix_relay_port}}:1025" + log_driver: journald + restart_policy: unless-stopped + command: -s -c /ssl/ses-proxy.crt -k /ssl/ses-proxy.key -u {{ postfix_relay_username }} + +- name: Create custom firewall rule + template: + src: docker-firewall.j2 + dest: /sbin/docker-firewall + mode: 755 + notify: Update SES firewall + + diff --git a/roles/docker-ses-proxy/templates/docker-firewall.j2 b/roles/docker-ses-proxy/templates/docker-firewall.j2 new file mode 100644 index 00000000..3dcad593 --- /dev/null +++ b/roles/docker-ses-proxy/templates/docker-firewall.j2 @@ -0,0 +1,8 @@ +#!/bin/sh +iptables -F DOCKER +iptables -I DOCKER -p tcp --dport {{postfix_relay_port}} -j DROP +{% for item in groups['postfix'] %} +iptables -I DOCKER -s {{ hostvars[item]['inventory_hostname'] }} -p tcp --dport {{postfix_relay_port}} -j ACCEPT +{% endfor %} + + diff --git a/roles/docker-publishing/meta/main.yml b/roles/docker-swarm-manager/meta/main.yml index eed5d92d..1bc708f2 100644 --- a/roles/docker-publishing/meta/main.yml +++ b/roles/docker-swarm-manager/meta/main.yml @@ -1,4 +1,3 @@ --- dependencies: - - {role: apache-site} - {role: docker-deps} diff --git a/roles/docker-swarm-manager/tasks/main.yml b/roles/docker-swarm-manager/tasks/main.yml new file mode 100644 index 00000000..385d7564 --- /dev/null +++ b/roles/docker-swarm-manager/tasks/main.yml @@ -0,0 +1,52 @@ +--- + +- name: Create TLS host certificate for Docker + local_action: + module: command ./create_cert {{inventory_hostname}} {{ansible_host}} + args: + creates: "{{inventory_hostname}}-cert.pem" + chdir: secrets/files/docker-tls/ + become: false + +- name: Install Docker TLS certificate + copy: + src: secrets/files/docker-tls/{{item}} + dest: /etc/ssl/certs/{{item}} + with_items: + - ca.pem + - "{{inventory_hostname}}-key.pem" + - "{{inventory_hostname}}-cert.pem" + notify: + ignore_errors: '{{ ansible_check_mode }}' + +- name: Create swarm database + template: + src: swarm.txt.j2 + dest: /etc/swarm.txt + +- name: create swarm manager + docker_container: + name: swarm-manager + image: swarm + state: started + restart_policy: unless-stopped + pull: yes + networks: + - name: jenkins + volumes: + - "/etc/ssl/certs/{{inventory_hostname}}-key.pem:/certs/key.pem:ro" + - "/etc/ssl/certs/{{inventory_hostname}}-cert.pem:/certs/cert.pem:ro" + - "/etc/ssl/certs/ca.pem:/certs/ca.pem:ro" + - "/etc/swarm.txt:/etc/swarm.txt:ro" + published_ports: + - "2376:2375" + command: manage --tlsverify --tlscacert=/certs/ca.pem --tlscert=/certs/cert.pem --tlskey=/certs/key.pem file://etc/swarm.txt + +- name: allow swarm traffic nodes + ufw: + rule: allow + proto: tcp + port: 3375 + src: "{{hostvars[item].ansible_host}}" + with_items: "{{groups['swarm_nodes']}}" + diff --git a/roles/docker-swarm-manager/templates/swarm.txt.j2 b/roles/docker-swarm-manager/templates/swarm.txt.j2 new file mode 100644 index 00000000..b919467e --- /dev/null +++ b/roles/docker-swarm-manager/templates/swarm.txt.j2 @@ -0,0 +1,3 @@ +{% for item in groups['swarm_nodes'] %} +{{ hostvars[item]['ansible_host'] }}:2375 +{% endfor %} diff --git a/roles/docker-tcwg-proxy/defaults/main.yml b/roles/docker-tcwg-proxy/defaults/main.yml index f20ab2c2..5cbe1d90 100644 --- a/roles/docker-tcwg-proxy/defaults/main.yml +++ b/roles/docker-tcwg-proxy/defaults/main.yml @@ -1,4 +1,15 @@ --- -docker_image: linaro/ci-amd64-tcwg-host-ubuntu:xenial-tcwg-tested +docker_image: linaro/ci-amd64-tcwg-host-ubuntu:bionic docker_container_name: tcwg-sshd-proxy docker_sshd_port: 2020 + +tcwg_vol_mounts: + - "/etc/ssh/ssh_host_dsa_key:/etc/ssh/ssh_host_dsa_key:ro" + - "/etc/ssh/ssh_host_ecdsa_key.pub:/etc/ssh/ssh_host_ecdsa_key.pub:ro" + - "/etc/ssh/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key:ro" + - "/etc/ssh/ssh_host_dsa_key.pub:/etc/ssh/ssh_host_dsa_key.pub:ro" + - "/etc/ssh/ssh_host_ed25519_key:/etc/ssh/ssh_host_ed25519_key:ro" + - "/etc/ssh/ssh_host_rsa_key.pub:/etc/ssh/ssh_host_rsa_key.pub:ro" + - "/etc/ssh/ssh_host_ecdsa_key:/etc/ssh/ssh_host_ecdsa_key:ro" + - "/etc/ssh/ssh_host_ed25519_key.pub:/etc/ssh/ssh_host_ed25519_key.pub:ro" + - "{{jenkins_master_data_volume}}/.ssh/hosts:/etc/hosts:ro" diff --git a/roles/docker-tcwg-proxy/tasks/main.yml b/roles/docker-tcwg-proxy/tasks/main.yml index 1a0fad23..05bfcded 100644 --- a/roles/docker-tcwg-proxy/tasks/main.yml +++ b/roles/docker-tcwg-proxy/tasks/main.yml @@ -1,6 +1,10 @@ --- -# This controls images available on the system since -# we don't allow docker_container to do its own pulls +- name: Pull latest images from upstream repo + docker_image: + name: "{{docker_image}}" + state: present + source: pull + force_source: yes - name: Create tcwg container docker_container: @@ -14,46 +18,8 @@ memory: 512m cpu_shares: 2 recreate: yes - command: all - etc_hosts: - { - "bkp-01.tcwglab":"51.148.40.55", - "build-01.tcwglab build-01.tcwglab.linaro.org":"192.168.16.5", - "build-02.tcwglab build-02.tcwglab.linaro.org":"192.168.16.6", - "build-03.tcwglab build-03.tcwglab.linaro.org":"192.168.16.7", - "build-04.tcwglab build-04.tcwglab.linaro.org":"192.168.16.8", - "build-05.tcwglab build-05.tcwglab.linaro.org":"192.168.16.9", - "build-06.tcwglab build-06.tcwglab.linaro.org":"192.168.16.10", - "build-07.tcwglab build-07.tcwglab.linaro.org":"192.168.16.11", - "build-08.tcwglab build-08.tcwglab.linaro.org":"192.168.16.12", - "apm-01.tcwglab apm-01.tcwglab.linaro.org":"192.168.16.20", - "apm-02.tcwglab apm-02.tcwglab.linaro.org":"192.168.16.21", - "test-armv8-01.tcwglab test-armv8-01.tcwglab.linaro.org":"192.168.16.24", - "test-armv8-02.tcwglab test-armv8-02.tcwglab.linaro.org":"192.168.16.25", - "tcwg-tx1-01.tcwglab tx1-01.tcwglab.linaro.org":"192.168.18.101", - "tcwg-tx1-02.tcwglab tx1-02.tcwglab.linaro.org":"192.168.18.102", - "tcwg-tx1-03.tcwglab tx1-03.tcwglab.linaro.org":"192.168.18.103", - "tcwg-tx1-04.tcwglab tx1-04.tcwglab.linaro.org":"192.168.18.104", - "tcwg-tx1-05.tcwglab tx1-05.tcwglab.linaro.org":"192.168.18.105", - "tcwg-tx1-06.tcwglab bmk-tx1-06.tcwglab.linaro.org":"192.168.18.106", - "tcwg-tx1-07.tcwglab bmk-tx1-07.tcwglab.linaro.org":"192.168.18.107", - "tcwg-tx1-08.tcwglab bmk-tx1-08.tcwglab.linaro.org":"192.168.18.108", - "tcwg-tk1-01.tcwglab tk1-01.tcwglab.linaro.org":"192.168.18.151", - "tcwg-tk1-02.tcwglab tk1-02.tcwglab.linaro.org":"192.168.18.152", - "tcwg-tk1-03.tcwglab tk1-03.tcwglab.linaro.org":"192.168.18.153", - "tcwg-tk1-04.tcwglab tk1-04.tcwglab.linaro.org":"192.168.18.154", - "tcwg-tk1-05.tcwglab tk1-05.tcwglab.linaro.org":"192.168.18.155", - "tcwg-tk1-06.tcwglab bmk-tk1-06.tcwglab.linaro.org":"192.168.18.156", - "tcwg-tk1-07.tcwglab bmk-tk1-07.tcwglab.linaro.org":"192.168.18.157", - "tcwg-tk1-08.tcwglab bmk-tk1-08.tcwglab.linaro.org":"192.168.18.158", - "tcwg-tk1-09.tcwglab tk1-09.tcwglab.linaro.org":"192.168.18.159", - "tcwg-sq-01.tcwglab tcwg-sq-01.tcwglab.linaro.org":"192.168.16.41", - "tcwg-sq-02.tcwglab tcwg-sq-02.tcwglab.linaro.org":"192.168.16.42", - "tcwg-d05_llvmbot-01.tcwglab tcwg-d05_llvmbot-01.tcwglab.linaro.org":"147.75.199.202", - "tcwg-thx1_llvmbot-01.tcwglab tcwg-thx1_llvmbot-01.tcwglab.linaro.org":"147.75.195.254", - "dev-01.tcwglab dev-01.tcwglab.linaro.org":"192.168.17.10", - "dev-02.tcwglab dev-02.tcwglab.linaro.org":"192.168.17.15", - } + command: all host + volumes: "{{tcwg_vol_mounts}}" - name: Wait for docker to start wait_for: diff --git a/roles/docker-tf-jenkins-master/tasks/main.yml b/roles/docker-tf-jenkins-master/tasks/main.yml index cc5123d4..3b5f7973 100644 --- a/roles/docker-tf-jenkins-master/tasks/main.yml +++ b/roles/docker-tf-jenkins-master/tasks/main.yml @@ -1,11 +1,21 @@ --- + +- name: Enable Apache modules + apache2_module: name={{item}} + with_items: + - rewrite + - ssl + - proxy + - proxy_http + notify: reload-apache + - name: Ensure data volume is owned by jenkins file: path: "{{jenkins_master_data_volume}}" state: directory owner: 1000 group: 1000 - recurse: yes + recurse: no follow: no # This is a *dead* symlink on the host, that becomes active when attached to the docker image. @@ -24,7 +34,8 @@ docker_image: name: "{{jenkins_master_image}}" state: present - force: True + source: pull + force_source: yes when: jenkins_upgrade is defined - name: Create jenkins data volume container @@ -35,6 +46,14 @@ ignore_image: "{{not(jenkins_upgrade is defined)}}" state: present +- name: Install ssh known_hosts for jenkins + copy: + dest: "{{jenkins_master_data_volume}}/.ssh/known_hosts" + src: "{{jenkins_ssh_known_hosts}}" + owner: 1000 + group: 1000 + tags: jenkins_ssh + - name: Create jenkins container docker_container: name: "{{jenkins_master_container_name}}" @@ -53,6 +72,8 @@ - "{{jenkins_master_data_volume}}:/var/jenkins_home" volumes_from: - "{{jenkins_master_data_container_name}}" + env: + JAVA_OPTS: "{{ jenkins_java_opts }}" - name: Wait for Jenkins starts wait_for: diff --git a/roles/dovecot-imapd/handlers/main.yml b/roles/dovecot-imapd/handlers/main.yml index 599dfdb3..f4ec62db 100644 --- a/roles/dovecot-imapd/handlers/main.yml +++ b/roles/dovecot-imapd/handlers/main.yml @@ -1,6 +1,6 @@ --- - name: newaliases-postfix - command: /usr/bin/newaliases + command: /usr/sbin/postalias /etc/aliases - name: restart-dovecot service: name=dovecot state=restarted enabled=yes diff --git a/roles/dovecot-imapd/tasks/main.yml b/roles/dovecot-imapd/tasks/main.yml index 0e8f7155..fa3bb647 100644 --- a/roles/dovecot-imapd/tasks/main.yml +++ b/roles/dovecot-imapd/tasks/main.yml @@ -88,3 +88,9 @@ dest: "~{{dovecot_vmail_user}}/.forward" force: yes owner: "{{ dovecot_vmail_user }}" + +- name: Allow plaintext auth + template: + src: local.conf + dest: /etc/dovecot/local.conf + when: dovecot_allow_plaintext_auth is defined diff --git a/roles/dovecot-imapd/templates/local.conf b/roles/dovecot-imapd/templates/local.conf new file mode 100644 index 00000000..0edd3ba3 --- /dev/null +++ b/roles/dovecot-imapd/templates/local.conf @@ -0,0 +1 @@ +disable_plaintext_auth = no diff --git a/roles/duplicity/tasks/main.yml b/roles/duplicity/tasks/main.yml new file mode 100644 index 00000000..61f094b0 --- /dev/null +++ b/roles/duplicity/tasks/main.yml @@ -0,0 +1,21 @@ +--- + +- name: Install server deps + apt: pkg={{item}} state=present + with_items: + - duplicity + +- name: Install backup script + template: + src: files/duplicity/{{inventory_hostname}}.backup + dest: /srv/backup.sh + owner: root + group: root + mode: 0700 + +- name: Install backup crontab + template: + src: backup.cron + dest: /etc/cron.d/backup + owner: root + group: root diff --git a/roles/jenkins-master-deps/templates/backup.cron b/roles/duplicity/templates/backup.cron index a3370344..a3370344 100644 --- a/roles/jenkins-master-deps/templates/backup.cron +++ b/roles/duplicity/templates/backup.cron diff --git a/roles/filebeat/defaults/main.yml b/roles/filebeat/defaults/main.yml deleted file mode 100644 index 020cf729..00000000 --- a/roles/filebeat/defaults/main.yml +++ /dev/null @@ -1,35 +0,0 @@ ---- -filebeat_config: - filebeat.prospectors: - - type: log - enabled: false - paths: - - /var/log/*.log - filebeat.config.modules: - path: ${path.config}/modules.d/*.yml - reload.enabled: false - name: "{{inventory_hostname}}" - output: - logstash: - hosts: ["{{logstash_host}}"] - ssl: - certificate_authorities: ["/etc/filebeat/{{logstash_cert}}"] - logging.level: warning - logging.to_syslog: true - -filebeat_apache2_module_config: - - module: apache2 - access: - enabled: true - var.paths: [/var/log/apache2/*access*.log] - error: - enabled: false - var.paths: /var/log/apache2/*error*.log - -filebeat_system_module_config: - - module: system - syslog: - enabled: true - var.paths: [/var/log/syslog] - auth: - enabled: false diff --git a/roles/filebeat/handlers/main.yml b/roles/filebeat/handlers/main.yml deleted file mode 100644 index cbe78055..00000000 --- a/roles/filebeat/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: restart filebeat - service: - name: filebeat - state: restarted - enabled: true diff --git a/roles/filebeat/tasks/main.yml b/roles/filebeat/tasks/main.yml deleted file mode 100644 index 50fb7a16..00000000 --- a/roles/filebeat/tasks/main.yml +++ /dev/null @@ -1,42 +0,0 @@ ---- -- name: add elastic.co GPG pkg key - apt_key: - url: https://artifacts.elastic.co/GPG-KEY-elasticsearch - -- name: add beats repository - apt_repository: - repo: "deb https://artifacts.elastic.co/packages/6.x/apt stable main" - state: present - update_cache: yes - -# stick to version 6.2.4 explicitly. Upgrading past this will -# require config file changes and will generate parse errors -# logstash -- name: install filebeat - apt: - name: filebeat=6.2.4 - state: present - update_cache: yes - notify: - - restart filebeat - -- name: copy filebeat cert - copy: - src: "{{secrets_dir}}/files/elk/{{logstash_cert}}" - dest: "/etc/filebeat/{{logstash_cert}}" - -- name: install customized module configs - template: - src: "{{item}}.j2" - dest: /etc/filebeat/modules.d/{{item}} - with_items: - - apache2.yml - - system.yml - -- name: create filebeat.yml - template: - src: filebeat.yml.j2 - dest: /etc/filebeat/filebeat.yml - force: yes - notify: - - restart filebeat diff --git a/roles/filebeat/templates/apache2.yml.j2 b/roles/filebeat/templates/apache2.yml.j2 deleted file mode 100644 index 7a09295c..00000000 --- a/roles/filebeat/templates/apache2.yml.j2 +++ /dev/null @@ -1,2 +0,0 @@ -# DO NOT EDIT! MANAGED BY ANSIBLE -{{ filebeat_apache2_module_config|to_yaml }} diff --git a/roles/filebeat/templates/system.yml.j2 b/roles/filebeat/templates/system.yml.j2 deleted file mode 100644 index 007fefdb..00000000 --- a/roles/filebeat/templates/system.yml.j2 +++ /dev/null @@ -1,2 +0,0 @@ -# DO NOT EDIT! MANAGED BY ANSIBLE -{{ filebeat_system_module_config|to_yaml }} diff --git a/roles/gerrit/files/review.mlplatform.org/tosa_cla.html b/roles/gerrit/files/review.mlplatform.org/tosa_cla.html new file mode 100644 index 00000000..f57db5fc --- /dev/null +++ b/roles/gerrit/files/review.mlplatform.org/tosa_cla.html @@ -0,0 +1,56 @@ +<!DOCTYPE html>
+<html lang="en">
+<body>
+
+<p>
+ARM TOSA SPECIFICATION CONTRIBUTION LICENCE
+</p>
+
+<p align=justify>
+THIS CONTRIBUTION LICENCE AGREEMENT IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED ("<b>ARM</b>") TO ALLOW YOU TO PROVIDE CONTRIBUTIONS (AS DEFINED) TO ARM ON THE SPECIFICATION (AS DEFINED) ("<b>CONTRIBUTION LICENCE</b>").
+</p>
+
+<p align=justify>
+THIS CONTRIBUTION LICENCE IS GRANTED ON THE CONDITION THAT YOU ACCEPT ALL OF THE TERMS HEREIN. BY CLICKING "I AGREE" OR OTHERWISE PROVIDING CONTRIBUTIONS YOU INDICATE THAT YOU AGREE TO BE BOUND BY ALL THE TERMS OF THIS CONTRIBUTION LICENCE. IF YOU DO NOT AGREE TO THE TERMS OF THIS CONTRIBUTION LICENCE, ARM IS UNWILLING TO ENTER INTO THIS LEGAL AGREEMENT AND YOU SHOULD NOT PROVIDE ANY CONTRIBUTIONS TO ARM.
+</p>
+
+<h3>Definitions</h3>
+<p align=justify>“<b>Contributions</b>” means all suggestions, comments, feedback, ideas, or know-how (whether in oral or written form) provided to ARM by You relating to the SPECIFICATION.</p>
+
+<p align=justify>“<b>Intellectual Property</b>” means any patents, patent rights, trade marks, service marks, registered designs, topography or semiconductor mask work rights, applications for any of the foregoing, copyright, unregistered design right and any other similar protected rights in any country and to the extent recognised by any relevant jurisdiction as intellectual property, trade secrets, know-how and confidential information.</p>
+
+<p align=justify>“<b>CONTRIBUTOR</b>” means You and your Subsidiaries (as applicable).</p>
+
+<p align=justify>“<b>Subsidiary</b>” means, if You are a single entity, any company the majority of whose voting shares is now or hereafter owned or controlled, directly or indirectly, by You. A company shall be a Subsidiary only for the period during which such control exists</p>
+
+<p align=justify>“<b>SPECIFICATION</b>” means the relevant TOSA specification, which has already been accessed and licensed to You under the public TOSA Specification Licence which accompanied the Specification</p>
+
+<h3>Contribution Provisions</h3>
+
+<ol style="padding=10px">
+ <li><p align=justify>CONTRIBUTOR grants to ARM, under all Intellectual Property owned or controlled by CONTRIBUTOR, the following worldwide, non-exclusive, perpetual, irrevocable, royalty free, fully paid up rights:
+ <ol type="i">
+ <li align=justify>to make, use, copy, modify, and create derivative works of, the Contributions as part of the SPECIFICATION;
+ <li align=justify>to make, use, copy, modify, and create derivative works of, the Contributions to implement the SPECIFICATION in any product;
+ <li align=justify>to sell, supply or otherwise distribute the whole or any part of the Contributions (and derivative works thereof) as part of the SPECIFICATION and as part of any product developed under the rights granted in 1 (ii); and
+ <li align=justify>to sublicense to third parties the foregoing rights, including the right to sublicense to further third parties.
+ </ol></p>
+ <li><p align=justify>CONTRIBUTOR hereby represents and warrants that it has power to cause all patents owned or controlled by CONTRIBUTOR or its affiliates to be licensed as set forth in this Contribution Licence. CONTRIBUTOR shall not knowingly give to ARM any Contributions it has reason to believe is subject to any Intellectual Property claim or right of any third party.</p>
+ <li><p align=justify>ARM shall be free to use, copy, disclose or otherwise distribute any Contributions to any third party or pursuant to the licence above without obligation or restriction of any kind.</p>
+</ol>
+<h3>Term and Termination</h3>
+
+<ol start=4>
+ <li><p align=justify>This Contribution Licence shall remain in force until terminated by you or by ARM. Both parties may terminate this Contribution Licence at any time for any reason. Upon termination of this Contribution Licence, the provisions of Clauses 1, 2, and 3 in respect of any Contributions provided prior to Termination shall survive.</p>
+ <li><p align=justify>Any termination of this Contribution Licence in accordance with the provisions of Clause 4 shall be effective in respect of all Subsidiaries. Any rights granted to any Subsidiary hereunder shall automatically terminate upon such Subsidiary ceasing to be a Subsidiary.</p>
+</ol>
+
+<h3>General</h3>
+<ol start=6>
+ <li>The validity, construction and performance of this Contribution Licence shall be governed by English Law.
+</ol>
+
+</p>
+
+</body>
+</html>
\ No newline at end of file diff --git a/roles/gerrit/handlers/main.yml b/roles/gerrit/handlers/main.yml index 0bd9cca7..ff1bc72a 100644 --- a/roles/gerrit/handlers/main.yml +++ b/roles/gerrit/handlers/main.yml @@ -1,11 +1,11 @@ --- - name: configure-gerrit - import_tasks: configure.yml + include_tasks: tasks/configure.yml + +- name: reload-systemd + systemd: daemon_reload=yes - name: restart-gerrit - command: "{{gerrit_root}}/bin/gerrit.sh restart" + service: name=gerrit state=restarted listen: - configure-gerrit - -- name: update-rcd-gerrit - command: update-rc.d gerrit defaults diff --git a/roles/gerrit/meta/main.yml b/roles/gerrit/meta/main.yml deleted file mode 100644 index ddc3faaf..00000000 --- a/roles/gerrit/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - {role: linaro-git-tools} diff --git a/roles/gerrit/tasks/configure.yml b/roles/gerrit/tasks/configure.yml index 06e381bf..afbdf312 100644 --- a/roles/gerrit/tasks/configure.yml +++ b/roles/gerrit/tasks/configure.yml @@ -1,46 +1,10 @@ --- # We need to ensure that gerrit has actually been stopped here -# or else attempts to run init will fail. Check for pid file -# and if it's still present, remove it. -# -# Also, we need to use the "gerrit.sh" script that comes with -# gerrit rather than the script installed into /etc/init.d through -# the 'service' module. Something is causing the init script to return -# that gerrit has been successfully stopped even though it's still running. +# or else attempts to run init will fail. - name: Ensure currently running version is stopped after a download. - command: chdir={{gerrit_root}} removes={{gerrit_root}}/logs/gerrit.pid ./bin/gerrit.sh stop - -- name: Check for Upgraded War File - stat: path={{gerrit_root}}/bin/gerrit.war checksum_algorithm=md5 get_checksum=yes - register: gerrit_current_war - -- name: Set Current Version Fact - set_fact: - gerrit_current: "md5:{{gerrit_current_war.stat.md5 | default('')}}" - -- name: Initialize Gerrit - become: True - become_user: "{{git_user}}" - command: chdir={{gerrit_root}} java -jar gerrit.war init --batch --no-auto-start -d {{gerrit_root}} - when: gerrit_checksum != gerrit_current + service: name=gerrit state=stopped - name: Configure Gerrit become: True become_user: "{{git_user}}" - command: chdir={{gerrit_root}} java -jar bin/gerrit.war init --batch --no-auto-start -d {{gerrit_root}} - -- name: Install included Gerrit plugins - become: True - become_user: "{{git_user}}" - command: chdir={{gerrit_root}} java -jar bin/gerrit.war init --batch --install-plugin={{item}} - with_items: "{{gerrit_included_plugins}}" - -- name: Check for Gerrit index - stat: path={{gerrit_root}}/index/gerrit_index.config - register: gerrit_index - -- name: Initialize Gerrit index - become: True - become_user: "{{git_user}}" - when: gerrit_index.stat.exists == False - command: chdir={{gerrit_root}} java -jar bin/gerrit.war reindex + command: chdir={{gerrit_root}} java -Xmx{{gerrit_mem}} -jar gerrit.war init --install-all-plugins --batch --no-auto-start -d {{gerrit_root}} diff --git a/roles/gerrit/tasks/deps.yml b/roles/gerrit/tasks/deps.yml index e1cfdd03..13bed143 100644 --- a/roles/gerrit/tasks/deps.yml +++ b/roles/gerrit/tasks/deps.yml @@ -4,37 +4,61 @@ repo: "ppa:git-core/ppa" state: present update_cache: yes + when: ansible_distribution == 'Ubuntu' - name: Add OpenJDK PPA apt_repository: repo: "ppa:openjdk-r/ppa" state: present update_cache: yes - when: ansible_distribution_release == "trusty" + when: ansible_distribution_release in ["trusty","xenial"] - name: Install common OS dependencies - apt: name={{ item }} - with_items: - - apache2 - - git - - gitweb - - libclass-std-storable-perl - - libcache-cache-perl - - ntp - - python-requests - - acl + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - apache2 + - git + - gitweb + - libclass-std-storable-perl + - libcache-cache-perl + - ntp + - acl + +- name: Install old OS version dependencies + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - python-requests + - python-ldap + when: ansible_distribution_release in ["trusty","xenial"] + +- name: Install python3 only OS version dependencies + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - python3-ldap + when: ansible_distribution_release not in ["trusty","xenial"] - name: Install gerrit OS dependencies - apt: name={{ item }} - with_items: - - openjdk-8-jre-headless - - libapache2-mod-authnz-external - - python-ldap + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - openjdk-11-jre-headless + - libapache2-mod-authnz-external - name: Ensure correct Java version is selected alternatives: name: java - path: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java + path: /usr/lib/jvm/java-11-openjdk-amd64/bin/java - name: Install Apache modules to support Gerrit apache2_module: name={{ item }} @@ -56,3 +80,14 @@ owner={{ git_user }} group={{ git_user }} mode=0755 + +- name: Install gerrit daemon systemd configuration + template: src=gerrit.service + dest=/etc/systemd/system/gerrit.service + mode=0644 + owner=root + group=root + tags: gerrit-conf + notify: + - reload-systemd + - restart-gerrit diff --git a/roles/gerrit/tasks/gerrit.yml b/roles/gerrit/tasks/gerrit.yml index 04d979af..45cb7487 100644 --- a/roles/gerrit/tasks/gerrit.yml +++ b/roles/gerrit/tasks/gerrit.yml @@ -14,7 +14,7 @@ - name: Download External Gerrit plugins (stable) get_url: - url: https://gerrit-ci.gerritforge.com/view/Plugins-stable-{{gerrit_plugin_version}}/job/plugin-{{item}}-bazel-stable-{{gerrit_plugin_version}}/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/{{item}}/{{item}}.jar + url: https://gerrit-ci.gerritforge.com/job/plugin-{{item}}-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/{{item}}/{{item}}.jar dest: "{{gerrit_root}}/plugins/{{item}}.jar" owner: "{{git_user}}" group: "{{git_user}}" @@ -22,39 +22,64 @@ force: yes with_items: - reviewers - - javamelody -- name: Download External Gerrit plugins (master) +#- name: Ensure that gerrit's internal oauth plugin is disabled +# file: +# state: absent +# force: true +# path: "{{gerrit_root}}/plugins/gerrit-oauth-provider.jar" +# when: gerrit_oauth is defined +# +#- name: Download oauth plugin +# get_url: +# url: https://gerrit-ci.gerritforge.com/job/plugin-oauth-bazel-master-stable-{{gerrit_plugin_version}}/lastSuccessfulBuild/artifact/bazel-bin/plugins/oauth/oauth.jar +# dest: "{{gerrit_root}}/plugins/oauth.jar" +# owner: "{{git_user}}" +# group: "{{git_user}}" +# validate_certs: no +# force: yes +# when: gerrit_oauth is defined + +- name: Download avatars-external plugin get_url: - url: https://gerrit-ci.gerritforge.com/view/Plugins-master/job/plugin-{{item}}-bazel-master/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/{{item}}/{{item}}.jar - dest: "{{gerrit_root}}/plugins/{{item}}.jar" + url: https://gerrit-ci.gerritforge.com/job/plugin-avatars-external-bazel-master-stable-{{gerrit_plugin_version}}/lastSuccessfulBuild/artifact/bazel-bin/plugins/avatars-external/avatars-external.jar + dest: "{{gerrit_root}}/plugins/avatars-external.jar" owner: "{{git_user}}" group: "{{git_user}}" validate_certs: no force: yes - with_items: [] + when: gerrit_avatars is defined -- name: Download oauth plugin +- name: Download verify-status plugin get_url: - url: https://gerrit-ci.gerritforge.com/view/Plugins-master/job/plugin-oauth-bazel-master/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/oauth/oauth.jar - dest: "{{gerrit_root}}/plugins/oauth.jar" + url: https://gerrit-ci.gerritforge.com/job/plugin-verify-status-bazel-master-stable-{{gerrit_plugin_version}}/lastSuccessfulBuild/artifact/bazel-bin/plugins/verify-status/verify-status.jar + dest: "{{gerrit_root}}/plugins/verify-status.jar" owner: "{{git_user}}" group: "{{git_user}}" validate_certs: no force: yes - when: gerrit_oauth is defined + when: gerrit_verify is defined -- name: Download avatars-external plugin +- name: Download autosubmitter plugin get_url: - url: https://gerrit-ci.gerritforge.com/view/Plugins-stable-{{gerrit_plugin_version}}/job/plugin-avatars-external-bazel-stable-{{gerrit_plugin_version}}/lastSuccessfulBuild/artifact/bazel-genfiles/plugins/avatars-external/avatars-external.jar - dest: "{{gerrit_root}}/plugins/avatars-external.jar" + url: https://gerrit-ci.gerritforge.com/job/plugin-autosubmitter-bazel-master/lastSuccessfulBuild/artifact/bazel-bin/plugins/autosubmitter/autosubmitter.jar + dest: "{{gerrit_root}}/plugins/autosubmitter.jar" + owner: "{{git_user}}" + group: "{{git_user}}" + validate_certs: no + force: yes + when: gerrit_autosubmitter is defined + +- name: Download audit-sl4j plugin + get_url: + url: https://gerrit-ci.gerritforge.com/view/Plugins-stable-{{gerrit_plugin_version}}/job/plugin-audit-sl4j-bazel-master-stable-{{gerrit_plugin_version}}/lastSuccessfulBuild/artifact/bazel-bin/plugins/audit-sl4j/audit-sl4j.jar + dest: "{{gerrit_root}}/plugins/audit-sl4j.jar" owner: "{{git_user}}" group: "{{git_user}}" validate_certs: no force: yes - when: gerrit_avatars is defined -- name: Create Gerrit.conf +- name: Create Gerrit.config template: src="files/gerrit/{{gerrit_host}}" dest={{gerrit_root}}/etc/gerrit.config owner={{git_user}} group={{git_user}} backup=yes register: gerrit_conf @@ -63,6 +88,16 @@ notify: - restart-gerrit +- name: Create gitiles.config + template: src="files/gerrit/gitiles_{{gerrit_host}}" dest={{gerrit_root}}/etc/gitiles.config owner={{git_user}} group={{git_user}} + backup=yes + register: gerrit_conf + tags: + - gerrit-conf + notify: + - restart-gerrit + when: gerrit_gitiles is defined + - name: Set up Gerrit secure.conf template: src="secure.config" dest={{gerrit_root}}/etc/secure.config owner={{git_user}} group={{git_user}} mode=0600 backup=yes @@ -136,6 +171,12 @@ - etc/GerritSiteHeader.html - static/linaro-logo.png +- name: Install CLA license page for review.mlplatform.org + template: src="files/review.mlplatform.org/tosa_cla.html" + dest="{{ gerrit_root }}/static/tosa_cla.html" + owner={{ git_user }} group={{ git_user }} mode="0644" + when: inventory_hostname == 'review.mlplatform.org' + - name: Make sure that ~/.ssh exists for git user file: state=directory dest=/home/{{git_user}}/.ssh/ owner={{git_user}} mode=0750 @@ -154,8 +195,9 @@ tags: - secrets -# NOTE: gerrit forks in wild ways that don't work with upstart -- name: Setup a Sys-V init script - template: src=gerrit.sysv dest=/etc/init.d/gerrit mode=0755 - notify: - - update-rcd-gerrit +- name: Set gerrit user to own all files + file: state=directory recurse=yes path={{item}} owner={{git_user}} + with_items: + - "{{gerrit_root}}" + - "{{repo_root}}/All-Users.git" + - "{{repo_root}}/All-Projects.git" diff --git a/roles/gerrit/templates/gerrit-automate b/roles/gerrit/templates/gerrit-automate index 5e4fb5a0..141d366d 100644 --- a/roles/gerrit/templates/gerrit-automate +++ b/roles/gerrit/templates/gerrit-automate @@ -1,8 +1,9 @@ MAILTO=linaro-infrastructure-errors@lists.linaro.org #Ansible: Update gerrit SSH keys from LDAP +{% if gerrit_no_update_keys is not defined %} */10 * * * * {{git_user}} {{tools_checkout_dir}}/linaro-git-tools/update-gerrit-keys.py --username {{gerrit_http_username}} --base {{gerrit_http_base}} - +{% endif %} #Ansible: Update gerrit group membership from LDAP */60 * * * * {{git_user}} {{tools_checkout_dir}}/linaro-git-tools/update-gerrit-groups.py --username {{gerrit_http_username}} --base {{gerrit_http_base}} diff --git a/roles/gerrit/templates/gerrit.service b/roles/gerrit/templates/gerrit.service new file mode 100755 index 00000000..48f9578e --- /dev/null +++ b/roles/gerrit/templates/gerrit.service @@ -0,0 +1,25 @@ +# Systemd unit file for gerrit + +[Unit] +Description=Gerrit Code Review +After=syslog.target network.target + +[Service] +Type=simple +WorkingDirectory={{ gerrit_root }} +Environment=GERRIT_HOME={{ gerrit_root }} JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/bin +ExecStart=/usr/bin/java -Xmx{{ gerrit_mem }} -jar ${GERRIT_HOME}/bin/gerrit.war daemon -d ${GERRIT_HOME} +ExecStop=/bin/kill -s SIGINT $MAINPID +# java has its own exit codes +SuccessExitStatus=130 SIGINT +SuccessExitStatus=143 SIGTERM +User={{ git_user}} +SyslogIdentifier=gerrit +Restart=on-failure +RestartSec=30s +StartLimitInterval=600s +StartLimitBurst=10 +OOMScoreAdjust=-500 + +[Install] +WantedBy=multi-user.target diff --git a/roles/gerrit/templates/gerrit.sysv b/roles/gerrit/templates/gerrit.sysv deleted file mode 100644 index 113b02ac..00000000 --- a/roles/gerrit/templates/gerrit.sysv +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exec {{gerrit_root}}/bin/gerrit.sh $* diff --git a/roles/gerrit/templates/secure.config b/roles/gerrit/templates/secure.config index 568ab175..fc4c3171 100644 --- a/roles/gerrit/templates/secure.config +++ b/roles/gerrit/templates/secure.config @@ -1,5 +1,7 @@ +{% if gerrit_plugin_version < 3.0 %} [database] password = "{{db_password}}" +{% endif %} {% if apache_ldap_bind_pwd is defined %} [ldap] password = {{apache_ldap_bind_pwd}} @@ -8,8 +10,10 @@ [receiveemail] password = {{gerrit_config_dovecot_password}} {% endif %} +{% if registerEmailPrivateKey is defined %} [auth] registerEmailPrivateKey = {{registerEmailPrivateKey}} +{% endif %} {% if oauth_client_secret is defined %} [plugin "gerrit-oauth-provider-github-oauth"] client-secret = {{oauth_client_secret}} diff --git a/roles/git-deps/files/git_logrotate b/roles/git-deps/files/git_logrotate index b1ff9a83..a310920a 100644 --- a/roles/git-deps/files/git_logrotate +++ b/roles/git-deps/files/git_logrotate @@ -1,6 +1,6 @@ # MANAGED BY ANSIBLE # We need daily log timestamps for the git daemon.30 days should be ample for -# rotation since weblogs should store what it needs long term +# rotation. /var/log/git.log { daily missingok diff --git a/roles/git-deps/handlers/main.yml b/roles/git-deps/handlers/main.yml index 20fff236..fe723acd 100644 --- a/roles/git-deps/handlers/main.yml +++ b/roles/git-deps/handlers/main.yml @@ -1,4 +1,7 @@ --- +- name: reload-systemd + systemd: daemon_reload=yes + - name: restart-git service: name=git-daemon state=restarted diff --git a/roles/git-deps/tasks/daemon.yml b/roles/git-deps/tasks/daemon.yml index 9a5ba610..c1ef0311 100644 --- a/roles/git-deps/tasks/daemon.yml +++ b/roles/git-deps/tasks/daemon.yml @@ -16,4 +16,25 @@ mode=0644 owner=root group=root + when: ansible_distribution_release == "trusty" notify: restart-git + +- name: Install git-daemon systemd configuration + template: src=git-daemon.service + dest=/etc/systemd/system/git-daemon.service + mode=0644 + owner=root + group=root + when: ansible_distribution_release != "trusty" + notify: + - reload-systemd + - restart-git + +- name: Enable git-daemon systemd configuration + systemd: + name: git-daemon + enabled: yes + when: ansible_distribution_release != "trusty" + notify: + - reload-systemd + - restart-git diff --git a/roles/git-deps/tasks/pkgs.yml b/roles/git-deps/tasks/pkgs.yml index e7e029c1..b9dd7e78 100644 --- a/roles/git-deps/tasks/pkgs.yml +++ b/roles/git-deps/tasks/pkgs.yml @@ -3,6 +3,7 @@ apt_repository: repo: ppa:git-core/ppa update_cache: yes + when: ansible_distribution == 'Ubuntu' - name: Install common OS dependencies apt: @@ -16,7 +17,7 @@ - libclass-std-storable-perl - libcache-cache-perl - ntp - - python-requests + - python3-requests - rsyslog - name: Enable Apache modules diff --git a/roles/git-deps/templates/git-daemon.service b/roles/git-deps/templates/git-daemon.service new file mode 100644 index 00000000..222ef537 --- /dev/null +++ b/roles/git-deps/templates/git-daemon.service @@ -0,0 +1,21 @@ +[Unit] +Description=Start Linaro Git Daemon + +[Service] +ExecStart=/usr/bin/git daemon --max-connections=64 --verbose --reuseaddr --timeout=120 --base-path={{ repo_root }} {{ repo_root }} + +Restart=always +RestartSec=500ms + +StandardOutput=syslog +StandardError=syslog +SyslogIdentifier=git-daemon + +DynamicUser=yes +# this implies ProtectSystem=strict and ProtectHome=read-only + +NoNewPrivileges=yes +MemoryHigh=4G + +[Install] +WantedBy=multi-user.target diff --git a/roles/gitlab-runner/defaults/main.yml b/roles/gitlab-runner/defaults/main.yml new file mode 100644 index 00000000..bfc20320 --- /dev/null +++ b/roles/gitlab-runner/defaults/main.yml @@ -0,0 +1,8 @@ +--- +gitlab_runners: + - original + +gitlab_runner_tasks_max: 100000 +gitlab_runner_proc_limit: 100000 +gitlab_runner_file_limit: 100000 +gitlab_runner_stop_timeout: 7200 diff --git a/roles/gitlab-runner/tasks/main.yml b/roles/gitlab-runner/tasks/main.yml new file mode 100644 index 00000000..488dc478 --- /dev/null +++ b/roles/gitlab-runner/tasks/main.yml @@ -0,0 +1,131 @@ +--- +- name: Add gitlab apt key + apt_key: + id: "3F01618A51312F3F" + url: https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey + +- name: Install apt https package for gitlab-runner repo + apt: + name: apt-transport-https + state: present + +- name: Add gitlab runner repos + apt_repository: + repo: "deb https://packages.gitlab.com/runner/gitlab-runner/{{ansible_distribution|lower}} {{ansible_distribution_release}} main" + +- name: Install gitlab-runner + apt: + name: gitlab-runner + force: yes + update_cache: yes + state: latest + +- name: Hold gitlab-runner at old version + dpkg_selections: + name: gitlab-runner + selection: hold + +- name: Get docker machine + get_url: + url: "{{ docker_machine_url }}" + dest: /usr/local/bin/docker-machine + checksum: "{{ docker_machine_sha }}" + mode: 0755 + when: gitlab_executor == "docker+machine" + +- name: Create systemd options directory + file: path=/etc/systemd/system/gitlab-runner.service.d + state=directory + owner=root + group=root + mode=0755 + +# this will send a SIGQUIT to gitlab-runner with a timeout +# so that instead of immediately exiting it will wait +# for either all runners to stop or the timeout expiring +# before quitting +# +# If you change either of these, you will need to run +# systemctl daeemon-reload +# systemctl restart gitlab-runner +- name: Install systemd kill.conf + template: src=templates/kill.conf.j2 + dest=/etc/systemd/system/gitlab-runner.service.d/kill.conf + mode=0644 + owner=root + group=root + +- name: Install systemd env.conf + template: src=templates/env.conf.j2 + dest=/etc/systemd/system/gitlab-runner.service.d/env.conf + mode=0644 + owner=root + group=root + +- name: Register gitlab-runners with the server + command: | + /usr/bin/gitlab-runner register \ + --non-interactive \ + --config /etc/gitlab-runner/config-{{ item }}.toml \ + --url "{{ gitlab_runner_url[item] }}" \ + --clone-url "{{ gitlab_runner_url[item] }}" \ + --registration-token "{{ gitlab_runner_token[item] }}" \ + --executor "{{ gitlab_executor }}" \ + --docker-image "alpine:latest" \ + --name "{{ inventory_hostname }}" + # Creating the standalone config files makes sure runners + # aren't registered again. They're NOT supposed to be deleted + # after role execution/manually. + args: + creates: /etc/gitlab-runner/config-{{item}}.toml + loop: "{{ gitlab_runners }}" + ignore_errors: "{{ ansible_check_mode }}" + +- name: Read the runner-specific auth token + shell: awk '/token = "/' /etc/gitlab-runner/config-{{item}}.toml | cut -d \" -f 2 + register: auth_token + loop: "{{ gitlab_runners }}" + ignore_errors: "{{ ansible_check_mode }}" + +- name: Generate dictionary \"gitlab_auth_token\" from grep results + set_fact: + gitlab_auth_token: "{{ gitlab_auth_token|default({}) | combine( {item.item: item.stdout} ) }}" + with_items: "{{ auth_token.results }}" + ignore_errors: "{{ ansible_check_mode }}" + +# Note: gitlab-runner will load a changed config.toml +# automatically. We don't need to restart, which will +# cause the service to terminate and relaunch and will +# interrupt all executing jobs. +- name: Install config.toml + template: + src: files/gitlab/{{ inventory_hostname }}.toml + dest: /etc/gitlab-runner/config.toml + mode: 0600 + ignore_errors: "{{ ansible_check_mode }}" + +- name: Install docker cleanup cron job + template: + src: templates/gitlab-cleanup.j2 + dest: /etc/cron.d/gitlab-cleanup + mode: 0755 + +- name: Create userdata directory + file: path=/etc/gitlab-runner/userdata + state=directory + owner=root + group=root + mode=0755 + +- name: Install morello EC2 userdata + template: + src: templates/morello-start.sh + dest: /etc/gitlab-runner/userdata/start.sh + mode: 0755 + when: inventory_hostname == "gitlab-runner-manager.morello-project.org" + +- name: Ensure gitlab-runner started + service: + name: gitlab-runner + enabled: yes + state: started diff --git a/roles/gitlab-runner/templates/env.conf.j2 b/roles/gitlab-runner/templates/env.conf.j2 new file mode 100644 index 00000000..051b58a8 --- /dev/null +++ b/roles/gitlab-runner/templates/env.conf.j2 @@ -0,0 +1,4 @@ +[Service] +TasksMax={{ gitlab_runner_tasks_max }} +LimitNOFILE={{ gitlab_runner_file_limit }} +LimitNOPROC={{ gitlab_runner_proc_limit }} diff --git a/roles/gitlab-runner/templates/gitlab-cleanup.j2 b/roles/gitlab-runner/templates/gitlab-cleanup.j2 new file mode 100644 index 00000000..30c804e0 --- /dev/null +++ b/roles/gitlab-runner/templates/gitlab-cleanup.j2 @@ -0,0 +1,3 @@ +MAILTO={{ mailto_address }} +# prune everything every 2 hours +* */2 * * * root /usr/bin/docker system prune -f diff --git a/roles/gitlab-runner/templates/kill.conf.j2 b/roles/gitlab-runner/templates/kill.conf.j2 new file mode 100644 index 00000000..b4cfeac3 --- /dev/null +++ b/roles/gitlab-runner/templates/kill.conf.j2 @@ -0,0 +1,3 @@ +[Service] +TimeoutStopSec={{ gitlab_runner_stop_timeout }} +KillSignal=SIGQUIT diff --git a/roles/gitlab-runner/templates/morello-start.sh b/roles/gitlab-runner/templates/morello-start.sh new file mode 100644 index 00000000..20e1a265 --- /dev/null +++ b/roles/gitlab-runner/templates/morello-start.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +# hack.. can't get apt db lock if we run immediately +sleep 20 +sudo apt update +sleep 30 +sudo apt install qemu-user-static -y + diff --git a/roles/gitolite/templates/gitolite.rc b/roles/gitolite/templates/gitolite.rc index 7c76ff13..2f9b2b93 100644 --- a/roles/gitolite/templates/gitolite.rc +++ b/roles/gitolite/templates/gitolite.rc @@ -194,6 +194,7 @@ # command. $REMOTE_COMMAND_PATT = qr(^[-0-9a-zA-Z._\@/+ :,\%=']*$); $UNSAFE_PATT = qr([`~#\&;<>]); +$REF_OR_FILENAME_PATT = qr(^[0-9a-zA-Z][-0-9a-zA-Z._\@/+ :,%]*$); # ------------------------------------------------------------------------------ # per perl rules, this should be the last line in such a file: diff --git a/roles/grokmirror/files/known_hosts b/roles/grokmirror/files/known_hosts new file mode 100644 index 00000000..02faf396 --- /dev/null +++ b/roles/grokmirror/files/known_hosts @@ -0,0 +1,7 @@ +android-git-us.linaro.org,ec2-54-225-81-132.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy5fjXgJWuF+qKwieMYCWsdrFnQFQ9KB49gZOONc4F9sJGaxdihOGrhq2Uk4nBjPNSFdwB0QdjSa/Mr3a81wBT3s3EGrB70JsgOyjVzE9lVMol1DdEyX94c0KlQl3B8Gg/RuR3347nh28+4qr2CIyTRTexUQywctEP1qmaIFKL+vNEmbMUIJnkQ1VLPanR1js3JhjpYJLCS8gPjL3gx8UNHoxXIPjwYK3yW269pb/0jVD5OKmVXYI7CD7OFsngIIzm54JzeiGEOJP0S6FLv9geH8Olc6CBlJQ/09IoGzvHqsASPJSisCdQWbhYFdBNJXuaoKLG3isCi4Drc/yIl8CB +android-git-us.linaro.org,ec2-54-225-81-132.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKadv8RptDmwU1c4ahKtUjuhwLsgtkTAQvlBdOzLRUBSVPmntpGz6LE9xEwgtZpz/WdV9doi13xdt53fCjJcRIo= +git-us.linaro.org,ec2-52-2-214-187.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV +git-us.linaro.org,ec2-52-2-214-187.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= +dev-private-git.linaro.org,ec2-107-21-230-219.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb +dev-private-git.linaro.org,ec2-107-21-230-219.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= +git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= diff --git a/roles/grokmirror/tasks/main.yml b/roles/grokmirror/tasks/main.yml index b82e9a0c..845c14be 100644 --- a/roles/grokmirror/tasks/main.yml +++ b/roles/grokmirror/tasks/main.yml @@ -1,10 +1,12 @@ --- - name: Install dependencies for grokmirror - apt: name={{item}} - with_items: - - python-setuptools - - python-anyjson - - python-pip + apt: + name: "{{ packages }}" + vars: + packages: + - python-setuptools + - python-anyjson + - python-pip - name: Install pip packages pip: @@ -18,6 +20,16 @@ update=yes accept_hostkey=yes register: grokclone + +- name: Check if grokmirror is installed + stat: path=/usr/local/bin/grok-pull + register: grokmirror_st + +- name: Install grokmirror if needed + debug: + msg: Needs install + when: grokmirror_st.stat.exists == False + changed_when: True notify: - install-grokmirror diff --git a/roles/grokmirror/tasks/master.yml b/roles/grokmirror/tasks/master.yml index 96789ec1..91c87c62 100644 --- a/roles/grokmirror/tasks/master.yml +++ b/roles/grokmirror/tasks/master.yml @@ -5,7 +5,7 @@ - name: Ensure grokmirror trigger is installed in gitolite-admin command: "{{tools_checkout_dir}}/linaro-git-tools/grok-gitolite-setup.sh {{gitolite_admin_name}} {{repo_root}} {{apache_root}}/{{git_host}}/manifest.js.gz" - when: gitolite_st.stat is defined and gitolite_st.stat.isdir + when: gitolite_st.stat.exists is not false and gitolite_st.stat.isdir register: groktrigger changed_when: "'updating gitolite-admin' in groktrigger.stdout" become: true diff --git a/roles/grokmirror/tasks/slave.yml b/roles/grokmirror/tasks/slave.yml index d656e3b2..d1a389ba 100644 --- a/roles/grokmirror/tasks/slave.yml +++ b/roles/grokmirror/tasks/slave.yml @@ -28,6 +28,11 @@ copy: content="{{grok_private_key}}" dest=/home/{{git_user}}/.ssh/id_rsa mode=0400 owner={{git_user}} group={{git_user}} +- name: Install known_hosts for connecting to master + when: server_role == "git-main" and grok_private_key is defined + copy: src=known_hosts dest=/home/{{git_user}}/.ssh/known_hosts + mode=0644 owner={{git_user}} group={{git_user}} + - name: Setup grokcheck crontab template: src=grokcheck.cron.d dest=/etc/cron.d/grokcheck owner=root group=root mode=0644 diff --git a/roles/grokmirror/templates/grokcheck.cron.d b/roles/grokmirror/templates/grokcheck.cron.d index 1677cb52..139d30f4 100644 --- a/roles/grokmirror/templates/grokcheck.cron.d +++ b/roles/grokmirror/templates/grokcheck.cron.d @@ -1,2 +1,2 @@ MAILTO={{mailto_address}} -*/5 * * * * git {{tools_checkout_dir}}/linaro-git-tools/grok-check-manifest.py https://{{git_master}}/manifest.js.gz +*/5 * * * * git /usr/bin/flock -n /tmp/grokcheck.lock {{tools_checkout_dir}}/linaro-git-tools/grok-check-manifest.py https://{{git_master}}/manifest.js.gz diff --git a/roles/grokmirror/templates/grokmirror.cron.d b/roles/grokmirror/templates/grokmirror.cron.d index 17bc8983..32cbcee2 100644 --- a/roles/grokmirror/templates/grokmirror.cron.d +++ b/roles/grokmirror/templates/grokmirror.cron.d @@ -1,5 +1,5 @@ {% if grokmirror_master %} -*/5 * * * * git {{tools_checkout_dir}}/linaro-git-tools/grok-cron.py -m {{repo_root}}/manifest.js.gz -t {{repo_root}}{% if not grokmirror_master_check_export %} --no-check-export{% endif %} +*/5 * * * * git /usr/bin/flock -n /tmp/grokmirror.lock {{tools_checkout_dir}}/linaro-git-tools/grok-cron.py -m {{repo_root}}/manifest.js.gz -t {{repo_root}}{% if not grokmirror_master_check_export %} --no-check-export{% endif %} {% else %} * * * * * git /usr/local/bin/grok-pull -p -c /etc/grokmirror-repos.conf 00 02 * * * git /usr/local/bin/grok-fsck -c /etc/grokmirror-fsck.conf diff --git a/roles/jenkins-master-deps/tasks/main.yml b/roles/jenkins-master-deps/tasks/main.yml deleted file mode 100644 index 65c9a17d..00000000 --- a/roles/jenkins-master-deps/tasks/main.yml +++ /dev/null @@ -1,72 +0,0 @@ ---- - -# https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa -- name: Add repos - apt_repository: - repo: "{{item}}" - with_items: - - 'ppa:canonical-kernel-team/ppa' - - 'ppa:duplicity-team/ppa' - -- name: Install server deps - apt: pkg={{item}} state=present - with_items: - - apache2 - - cifs-utils - - duplicity - - git - - ufw - - linux-image-4.15.0-39-generic - - postfix - - zabbix-agent - -- name: Enable Apache modules - apache2_module: name={{item}} - with_items: "{{apache_modules}}" - notify: reload-apache - -- name: Ensure backup script exists - template: - src: backup.sh.j2 - dest: /srv/backup.sh - owner: root - group: root - mode: 0755 - -- name: Ensure backup crontab exists - template: - src: backup.cron - dest: /etc/cron.d/backup - owner: root - group: root - -- name: Ensure cleanup crontab exists - template: - src: cleanup-crontab.cron - dest: /etc/cron.d/cleanup - owner: root - group: root - -# Only adds ports does not delete. -# ufw reset is required for a fresh ufw deploy (-e firewall_reset=y). - -- name: Include ufw role - include_role: - name: ufw - -- name: Open firewall port to Zabbix - ufw: - rule: allow - proto: tcp - port: 10050 - src: 81.128.185.38 - -- name: Open firewall port for NFS - ufw: - rule: allow - port: "{{item.0}}" - src: "{{item.1}}" - with_nested: - - "{{nfs_ports}}" - - "{{groups['jenkins_slaves']|map('extract', hostvars, 'ansible_host')|list}}" - tags: nfs diff --git a/roles/jenkins-master-deps/templates/cleanup-crontab.cron b/roles/jenkins-master-deps/templates/cleanup-crontab.cron deleted file mode 100644 index 1166f36a..00000000 --- a/roles/jenkins-master-deps/templates/cleanup-crontab.cron +++ /dev/null @@ -1 +0,0 @@ -@weekly root find /var/data/nfs/oe -not -path /var/data/nfs/oe/downloads -atime +90 -delete diff --git a/roles/jenkins-slave-deps/files/docker_ssh/buildslave.config b/roles/jenkins-slave-deps/files/docker_ssh/buildslave.config deleted file mode 100644 index bc51a135..00000000 --- a/roles/jenkins-slave-deps/files/docker_ssh/buildslave.config +++ /dev/null @@ -1,4 +0,0 @@ -Host dev-private-git.linaro.org - User git -Host dev-private-review.linaro.org - User git diff --git a/roles/jenkins-slave-deps/files/docker_ssh/buildslave.known_hosts b/roles/jenkins-slave-deps/files/docker_ssh/buildslave.known_hosts index d896d799..bdf13dcf 100644 --- a/roles/jenkins-slave-deps/files/docker_ssh/buildslave.known_hosts +++ b/roles/jenkins-slave-deps/files/docker_ssh/buildslave.known_hosts @@ -10,5 +10,18 @@ github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXY |1|gBlziVA7T5UkU9UMsI6C/Eu2crM=|3xwAQhxBNnCI6Z1p4pRO2Sep7fE= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== |1|QoMH945rHmz0qtsACnj3AGIGrHM=|WdoVaa80MYkiPlfl+/UDCb9LROQ= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ== lhg-review.linaro.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN3HxAgbbcvWvCvJ9sTKN1oxDMj4UqkYZ3MvAvRNPM9NoYedEHT/YPSgpIVl280ANsGxtZTKDYp30VH4CN3S1lRogiMKodA0wE5ORnMEXV8QyVHAk9C+sye1EHnx6R8Ma0Y/Jdzf6qwThSd2/hcwXFB07QetQ6HNa0NUkEMSiiml+eW+MRje3iyYCCJhx9PFkh/S4pk6+P5dUVDwo6BKjQ8Zay6b9+ym4rKtOPcv3jg5lBdK8n3CNHAVUFVXRTIS5l5PY3pl0uQsKAyZlkaMNk0zqsBns7SsPRR3eTUQIx/9S1cpLoMlvzpAY/BBgkSG6S27incyG7+afK+xT/WWlZ - - +51.148.40.56 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEQjPJk0fveMb/M7/Lib5e2yeWVya9IjoN8hnl/BRMXxjwM/mJBwHFD4nNTFcc0QekEo/KDrX/nJpk7iJHYchNA= +51.148.40.56 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDR4EhTlQPY0Ut0p5N23DEapFe3t6WQgX52ULPXP92QW857CN65DP1E+Tcmwnddx1FNbHXaYt4SU7DfYlxGdPj034W5a3pzkOtjeTNlaqb9XW06SOn/G2UjNRkQ6PCphw8Fp4OzVX0Z7E/7puYVFab2JT6o++APxsivLHLDv8zNRyK7mDibMAUSCGDDoDpSGTtwYzs4qkv2CiiC9vEG95UY12lnr0ZGvFSKeIe+mKQ3Uuk+NHev27OE53NIKtP2Eln5HTzDbAEQVd5lzu2HmDTYBH/aIZ1chnTWzwe5NgdS+zLnd/mNHdcg4L92CfY3g82eZKnVSELc3+BqX+oxNIbR +|1|yUDJcusSu0In2wFRYT9zjRdIUYQ=|JYa1CRNcxQ58WTcrZHjTYN73Ud4= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= +|1|jQM0oE53LjDVckRFoStitNAaPtM=|3lrKTTVy3dbsSf4IzO9it9EwKms= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= +|1|pSE2FFdkPbRa4Z7ztgBd5xzouts=|PlXn4UfOMj1TyXNyC5GMrVjppfA= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= +|1|T15+df3X7qfkfCp949JVM1hJ0RY=|d9FMRmHciM9xfpIi/PfDgxmk1PA= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= +[android-review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDF/+slCWCRR5QYFjSCMgrV1nfaoEJ5LyQzPWFYJHK46gmN0arMWuWsaY4tO/t260kyd+ZXyzBUy+rlo5FKiT1f+nSb+VlQPq3mgbFtd6XAT3XlIFtmlfXvxI4mQy2Ibc1vV7WRSpXKbcTf1HnQWA5ipoLGLjIFFtG2jQVOYFVJoi3wlBHkFtisxJU8uFeAR4zXsLBd+oBnOOEc0gjoxImcutynMUpz0CpOrUfFXECeTs1C31cGi6QWY2MVkAYBVfoHiFp6NCCaVTNpNcWBM7WrzQlJPEEj5scOl1Cgb+Z+UK4+bpiaPZzvWwcH2mjHP9Zmnjb+8iaIvPTggQxBKOY1 +[android-review.linaro.org]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF7TALshEtz8pLmmqrK6/yi6ft2OJsYFimQUba+12SbDpMH5Z9O8M4yg5d8j8Bq6aqX2E7A9MPlyFQsAcYrFX+g= +[android-review.linaro.org]:29418 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIESyOih+8OBkWqjbfMpYuSOn9lowAyHzN533q0hvd7s0 +[review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMfTLkTmsbtahAiVJTKXRFbR9MQ/vDH/JPj4QN3XPHJuubxLhUf8WObEBtML7J11uvVM1oDTwM5YG5yjyBnc+85OaQaB9tMPDheGhfMG40F4vxdSnQL29ihyrls0hrFTY9UZ4Y2FmJwYL0rOnGU7iPyNuExQwfg2bkdw67aH9nEGjSd2eXYl2bI4DHujy5GJiV3dR9TlUF0iaSeHVSIX5t9I/BXK+AiSqHTrvwdGGi9XvL6xEWYMOZOpJnCH8Q4OSibsFfQXnCMgIFeO7J/ZMGXqltXOtztgQMr8VvRRD3S+Lcp8yKb5aUjWwoCxb4YzEUbQE04SRVeAGjsfNJcXgT +[review.linaro.org]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPzkmW4axU/BXRtRkR42I8FVvWjGhB4CUtTC3cSkhu6L0Oo9i+ija/hahkPT0DC+S0k/vEL7s4mC5SrdNCeJO/0= +[review.linaro.org]:29418 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFc6ZLtKFrdDI1dYcnYnfrZ9aZDSEVuYvjrsuGDXE0hj +[dev-private-review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCofUDWYYwzE4YWotCffwCxLoRuVCMb6DP+eObwbTPHMe5asK94Y1jPNeK1yUVJIuIAUO8aA6pIq3uLKlusyGLZe1YBpM+7YX3HMOBfCOeOemHFxETlj/HC7islYLYT7Sm/DweiN1kxgP8Q/PhPIA5czCZGHS/+T/VLbMApyyzdTmswaqfgJejyK9juHAcmxT3Tupj2SGOuOamyKfhfsPxGwIchivy/mt7xBTk5cNiSDeLAfMn2rHsilfLjb+IoeE6EvtqG3+rTh+ttulHp2vSeZkK79tuyVWt+XOZjD4RDfk1taW9JjaafkyOW0VCF4gqOMfJU24u88xTCgqkgT1bN +[dev-private-review.linaro.org]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDZ6AQ2WyZSO43657/fFpxGgVY73kUwh1R1eXpZp27T6lAI5XFQ7YS8HjQ2O7e4edGSpJHHrqVuZphKpqu11Lz8= +[dev-private-review.linaro.org]:29418 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDqjPck6EM0H0tlZSKAnleuvhvhhB+jrcGPCt/DD8PB2 diff --git a/roles/jenkins-slave-deps/files/jenkins_sudoers b/roles/jenkins-slave-deps/files/jenkins_sudoers index 80259bcf..0d1eb35e 100644 --- a/roles/jenkins-slave-deps/files/jenkins_sudoers +++ b/roles/jenkins-slave-deps/files/jenkins_sudoers @@ -7,4 +7,6 @@ buildslave ALL = NOPASSWD: /bin/umount buildslave ALL = NOPASSWD: /usr/sbin/chroot buildslave ALL = NOPASSWD: /usr/bin/apt-get buildslave ALL = NOPASSWD: /bin/tar -buildslave ALL = NOPASSWD: /home/buildslave/workspace/lt-qcom-cros-*/cros_builds/chromiumos/chromite/bin/cros_sdk +buildslave ALL = NOPASSWD: /home/buildslave/workspace/lt-qcom-cros-*/MACHINE/mistral/label/qcomlt/cros_builds/chromiumos/chromite/bin/cros_sdk +buildslave ALL = NOPASSWD: /home/buildslave/workspace/lt-qcom-cros-*/MACHINE/qcs404-evb-1000/label/qcomlt/cros_builds/chromiumos/chromite/bin/cros_sdk +buildslave ALL = NOPASSWD: /home/buildslave/workspace/lt-qcom-cros-*/MACHINE/qcs404-evb-4000/label/qcomlt/cros_builds/chromiumos/chromite/bin/cros_sdk diff --git a/roles/jenkins-slave-deps/tasks/main.yml b/roles/jenkins-slave-deps/tasks/main.yml index 29042571..678d4afa 100644 --- a/roles/jenkins-slave-deps/tasks/main.yml +++ b/roles/jenkins-slave-deps/tasks/main.yml @@ -13,7 +13,8 @@ port: "{{item.port}}" src: "{{item.src}}" with_items: - - {port: 2375, src: '88.99.136.175'} #ci.linaro.org + - {port: 2375, src: '{{ jenkins_ip }}' } # Jenkins master + - {port: 2375, src: '{{ jenkins_ip_staging }}' } # Jenkins master - {port: 16509, src: '172.17.0.0/24'} - name: Open firewall port for Nexus @@ -29,15 +30,6 @@ - name: flush handlers so UFW is restarted before docker is installed meta: flush_handlers -- name: Install sudo rule for QCOM builds - copy: - src: jenkins_sudoers - dest: /etc/sudoers.d/jenkins - owner: root - group: root - mode: 0400 - when: ansible_hostname == 'oe-x86_64-02' - - name: Create directory for docker service supplementary config file: path: /etc/systemd/system/docker.service.d @@ -63,6 +55,7 @@ - "{{inventory_hostname}}-key.pem" - "{{inventory_hostname}}-cert.pem" notify: + - reload-systemd - restart-docker ignore_errors: '{{ ansible_check_mode }}' @@ -77,32 +70,58 @@ - reload-systemd - restart-docker -# https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/ppa -- name: Add repos (ubuntu) - apt_repository: repo=ppa:canonical-kernel-team/ppa - when: ansible_distribution == 'Ubuntu' and ansible_machine == 'x86_64' - -- name: Upgrade to kernel with overlayfs fixes - apt: pkg=linux-image-4.15.0-42-generic update_cache=yes - when: ansible_distribution == 'Ubuntu' and ansible_machine == 'x86_64' - - name: Install openjdk for Jenkins slave apt: name: "{{packages}}" update_cache: yes vars: packages: - - openjdk-8-jdk-headless - - openjdk-8-jre-headless + - openjdk-11-jdk-headless + - openjdk-11-jre-headless + +- name: Set system to use openjdk by default + alternatives: + name: java + path: /usr/lib/jvm/java-11-openjdk-amd64/bin/java + +- name: Install extra deps + apt: pkg={{item}} state=present + with_items: + - smartmontools + - unzip - name: Append Systems team to docker group user: name={{item}} groups=docker append=yes with_items: "{{docker_group_user}}" -- name: Copy docker ssh config +- name: Copy ssh files for docker copy: src: files/docker_ssh/ dest: /srv/docker/ssh + owner: "1000" + group: "1000" + mode: 0600 + +- name: Create .ssh directory + file: + path: /home/buildslave/.ssh/ + state: directory + owner: buildslave + group: primary + mode: 0700 + +- name: Copy ssh host key for system + copy: + src: files/docker_ssh/buildslave.known_hosts + dest: /etc/ssh/ssh_known_hosts + owner: root + group: root + mode: 0444 + +- name: Set up docker ssh config + template: + src: buildslave.config + dest: /srv/docker/ssh/buildslave.config owner: 1000 group: 1000 mode: 0600 @@ -118,3 +137,39 @@ owner: 1000 group: 1000 state: directory + +- name: Ensure ECR update directory exists + file: + path: /root/aws + owner: root + group: root + mode: 0700 + state: directory + when: ansible_hostname == 'x86-TF-03' or ansible_hostname == 'x86-TF-04' + +- name: Install FVP sync cron job + template: + src: update_ecr_images.sh + dest: /root/aws/update_ecr_images.sh + owner: root + group: root + mode: 0700 + when: ansible_hostname == 'x86-TF-03' or ansible_hostname == 'x86-TF-04' + +- name: Install AWS credentials for ECR + template: + src: credentials.sh + dest: /root/aws/credentials.sh + owner: root + group: root + mode: 0600 + when: ansible_hostname == 'x86-TF-03' or ansible_hostname == 'x86-TF-04' + +- name: Install AWS credentials for ECR + template: + src: ecr-sync.crontab + dest: /etc/cron.d/ecr-sync + owner: root + group: root + mode: 0755 + when: ansible_hostname == 'x86-TF-03' or ansible_hostname == 'x86-TF-04' diff --git a/roles/jenkins-slave-deps/templates/buildslave.config b/roles/jenkins-slave-deps/templates/buildslave.config new file mode 100644 index 00000000..ad62a755 --- /dev/null +++ b/roles/jenkins-slave-deps/templates/buildslave.config @@ -0,0 +1,19 @@ +Host dev-private-git.linaro.org + User git +Host dev-private-review.linaro.org + User git +{% if inventory_hostname == "aosp-x86-13" %} +Host nexus-machine + ForwardAgent yes + Hostname 51.148.40.56 + User vishal.bhoj + ServerAliveInterval 60 + Port 7676 +{% elif inventory_hostname == "aosp-x86-10" %} +Host nexus-machine + ForwardAgent yes + Hostname 51.148.40.56 + User vishal.bhoj + ServerAliveInterval 60 + Port 7878 +{%endif%} diff --git a/roles/jenkins-slave-deps/templates/credentials.sh b/roles/jenkins-slave-deps/templates/credentials.sh new file mode 100644 index 00000000..f8e1729d --- /dev/null +++ b/roles/jenkins-slave-deps/templates/credentials.sh @@ -0,0 +1,3 @@ +export AWS_ACCESS_KEY_ID={{ aws_access_key_id }} +export AWS_SECRET_ACCESS_KEY={{ aws_secret_access_key }} +export AWS_REGION=us-east-1 diff --git a/roles/jenkins-slave-deps/templates/ecr-sync.crontab b/roles/jenkins-slave-deps/templates/ecr-sync.crontab new file mode 100644 index 00000000..a877b099 --- /dev/null +++ b/roles/jenkins-slave-deps/templates/ecr-sync.crontab @@ -0,0 +1,4 @@ +# Update the FVP images from the ECR every 30 minutes by doing +# a docker pull. + +*/30 * * * * root /root/aws/update_ecr_images.sh fvp >> /var/log/ecr-sync.log diff --git a/roles/jenkins-slave-deps/templates/update_ecr_images.sh b/roles/jenkins-slave-deps/templates/update_ecr_images.sh new file mode 100755 index 00000000..4ce15f0e --- /dev/null +++ b/roles/jenkins-slave-deps/templates/update_ecr_images.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +. /root/aws/credentials.sh + +ECR=987685672616.dkr.ecr.us-east-1.amazonaws.com +REPO=${1:-fvp} + +aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin $ECR + + +for i in $(aws ecr list-images --repository-name $REPO --filter tagStatus=TAGGED --query 'imageIds[*].imageTag' --output text);do docker pull $ECR/$REPO:$i; done diff --git a/roles/jenkins-trigger-agent/tasks/main.yml b/roles/jenkins-trigger-agent/tasks/main.yml new file mode 100644 index 00000000..d8839626 --- /dev/null +++ b/roles/jenkins-trigger-agent/tasks/main.yml @@ -0,0 +1,51 @@ +--- + +- name: Install package for jenkins trigger slaves + apt: + name: "{{packages}}" + update_cache: yes + vars: + packages: + - git + - unzip + - curl + - build-essential + - debian-keyring + - devscripts + - gettext + - libssl-dev + - libffi-dev + - moreutils + - parallel + - python3-cryptography + - python3-dev + - python3-paramiko + - python3-pip + - python3-pretty-yaml + - python3-requests + - python3-setuptools + - python3-wheel + + +- name: Download repo + get_url: + url: https://storage.googleapis.com/git-repo-downloads/repo + dest: /usr/local/bin/repo + mode: 0755 + +- name: install jjb + command: pip3 install jenkins-job-builder==2.10.0 ansible==2.9.13 ansible-lint==4.2.0 + args: + creates: /usr/local/bin/jenkins-jobs + +- name: Clone linaro jjb plugin repository + git: name=https://git.linaro.org/infrastructure/jjb-linaro-plugin.git + dest=/srv/jjb-linaro-plugin + version="HEAD" + +- name: Install linaro jjb plugin + command: python3 setup.py install + args: + chdir: /srv/jjb-linaro-plugin + creates: /usr/local/lib/python3.6/dist-packages/jenkins_jobs_linaro/modules/linaro.py + diff --git a/roles/lava-docker-worker/tasks/main.yml b/roles/lava-docker-worker/tasks/main.yml new file mode 100644 index 00000000..2af5526e --- /dev/null +++ b/roles/lava-docker-worker/tasks/main.yml @@ -0,0 +1,33 @@ +--- +- name: Add lavasoftware apt key + apt_key: + id: "A791358F2E49B100" + url: https://apt.lavasoftware.org/lavasoftware.key.asc + +- name: Install apt https package for repo + apt: + name: apt-transport-https + state: present + +- name: Add lavasoftware repo + apt_repository: + repo: "deb https://apt.lavasoftware.org/release bullseye main" + when: ansible_distribution_release == "bullseye" + +- name: Install lava-dispatcher-host + apt: + name: lava-dispatcher-host + update_cache: yes + state: latest + +- name: install lava-docker-worker config + template: + dest: /etc/lava-dispatcher-host/lava-docker-worker + src: templates/lava-docker-worker + +- name: start/enable lava-docker-worker + service: + name: lava-docker-worker + state: started + enabled: yes + diff --git a/roles/lava-docker-worker/templates/lava-docker-worker b/roles/lava-docker-worker/templates/lava-docker-worker new file mode 100644 index 00000000..dad2f44a --- /dev/null +++ b/roles/lava-docker-worker/templates/lava-docker-worker @@ -0,0 +1,5 @@ +WORKER_NAME="--name {{ lava_dispatcher_hostname }}" + +# Server connection +URL="{{ lava_server_hostname }}" +TOKEN="--token {{ lava_dispatcher_token }} " diff --git a/roles/lava-elk-deps/defaults/main.yml b/roles/lava-elk-deps/defaults/main.yml index a54efb12..271187f2 100644 --- a/roles/lava-elk-deps/defaults/main.yml +++ b/roles/lava-elk-deps/defaults/main.yml @@ -10,3 +10,10 @@ lava_servers: - host: lite.validation.linaro.org username: ben.copeland token: foo + +kisscache_servers: + - host: http://51.148.40.18:8080/api/v1/status/ + +gitlab_servers: + - host: https://git.morello-project.org/ + token: foo diff --git a/roles/lava-elk-deps/files/jobfailure_dashboard.json b/roles/lava-elk-deps/files/jobfailure_dashboard.json new file mode 100644 index 00000000..81d6abaf --- /dev/null +++ b/roles/lava-elk-deps/files/jobfailure_dashboard.json @@ -0,0 +1,26 @@ +[ + { + "_id": "158314c0-70be-11e9-8ab9-1b38609ca045", + "_type": "dashboard", + "_source": { + "title": "LKFT Jobfailure", + "hits": 0, + "description": "", + "panelsJSON": "[{\"panelIndex\":\"1\",\"gridData\":{\"x\":0,\"y\":0,\"w\":8,\"h\":4,\"i\":\"1\"},\"version\":\"6.1.4-1\",\"type\":\"visualization\",\"id\":\"daff3a10-725f-11e9-8ab9-1b38609ca045\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-4h", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + } + } +]
\ No newline at end of file diff --git a/roles/lava-elk-deps/files/kibana_dashboard.json b/roles/lava-elk-deps/files/kibana_dashboard.json index 183f4783..181e523b 100644 --- a/roles/lava-elk-deps/files/kibana_dashboard.json +++ b/roles/lava-elk-deps/files/kibana_dashboard.json @@ -6,228 +6,54 @@ "title": "LAVA Jobqueue Length", "hits": 0, "description": "", - "panelsJSON": "[{\"panelIndex\":\"2\",\"gridData\":{\"x\":24,\"y\":0,\"w\":24,\"h\":15,\"i\":\"2\"},\"embeddableConfig\":{},\"id\":\"02361660-a625-11e8-8538-f34fec203819\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"3\",\"gridData\":{\"x\":0,\"y\":0,\"w\":24,\"h\":15,\"i\":\"3\"},\"embeddableConfig\":{},\"id\":\"a8581090-a623-11e8-8538-f34fec203819\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"4\",\"gridData\":{\"x\":0,\"y\":15,\"w\":24,\"h\":15,\"i\":\"4\"},\"embeddableConfig\":{},\"id\":\"c6670080-a625-11e8-8538-f34fec203819\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"5\",\"gridData\":{\"x\":24,\"y\":15,\"w\":24,\"h\":15,\"i\":\"5\"},\"version\":\"6.3.2\",\"type\":\"visualization\",\"id\":\"e0e68790-b1ed-11e8-852d-55393e7ce617\",\"embeddableConfig\":{}},{\"panelIndex\":\"6\",\"gridData\":{\"x\":0,\"y\":30,\"w\":24,\"h\":15,\"i\":\"6\"},\"version\":\"6.3.2\",\"type\":\"visualization\",\"id\":\"5bbc4230-b1ed-11e8-852d-55393e7ce617\",\"embeddableConfig\":{}}]", + "panelsJSON": "[{\"panelIndex\":\"2\",\"gridData\":{\"x\":5,\"y\":0,\"w\":5,\"h\":6,\"i\":\"2\"},\"embeddableConfig\":{},\"id\":\"02361660-a625-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue LEDGE\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"3\",\"gridData\":{\"x\":0,\"y\":0,\"w\":5,\"h\":6,\"i\":\"3\"},\"embeddableConfig\":{},\"id\":\"a8581090-a623-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue LKFT\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"4\",\"gridData\":{\"x\":0,\"y\":6,\"w\":5,\"h\":5,\"i\":\"4\"},\"embeddableConfig\":{},\"id\":\"c6670080-a625-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue Validation\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"5\",\"gridData\":{\"x\":5,\"y\":6,\"w\":5,\"h\":5,\"i\":\"5\"},\"embeddableConfig\":{},\"id\":\"e0e68790-b1ed-11e8-852d-55393e7ce617\",\"title\":\"LAVA Queue PMWG\",\"type\":\"visualization\",\"version\":\"6.3.2\"}]", "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", "version": 1, - "timeRestore": true, - "timeTo": "now", - "timeFrom": "now-1h", - "refreshInterval": { - "display": "Off", - "pause": false, - "value": 0 - }, + "timeRestore": false, "kibanaSavedObjectMeta": { "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" } - }, - "_meta": { - "savedObjectVersion": 2 } }, { - "_id": "20280fd0-a624-11e8-8538-f34fec203819", - "_type": "search", - "_source": { - "title": "jobqueue_validation", - "description": "", - "hits": 0, - "columns": [ - "_source" - ], - "sort": [ - "device.timestamp", - "desc" - ], - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"index\":\"79192790-b1ec-11e8-852d-55393e7ce617\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"b1578e40-a606-11e8-9dd0-e5c705b98d0d\",\"type\":\"phrase\",\"key\":\"device.lava_server\",\"value\":\"validation.linaro.org\",\"params\":{\"query\":\"validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"device.lava_server\":{\"query\":\"validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" - } - }, - "_meta": { - "savedObjectVersion": 2 - } - }, - { - "_id": "29de5430-a624-11e8-8538-f34fec203819", - "_type": "search", - "_source": { - "title": "jobqueue_lite", - "description": "", - "hits": 0, - "columns": [ - "_source" - ], - "sort": [ - "device.timestamp", - "desc" - ], - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"index\":\"79192790-b1ec-11e8-852d-55393e7ce617\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"b1578e40-a606-11e8-9dd0-e5c705b98d0d\",\"type\":\"phrase\",\"key\":\"device.lava_server\",\"value\":\"lite.validation.linaro.org\",\"params\":{\"query\":\"lite.validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"device.lava_server\":{\"query\":\"lite.validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" - } - }, - "_meta": { - "savedObjectVersion": 2 - } - }, - { - "_id": "7ca82c00-a60a-11e8-9dd0-e5c705b98d0d", - "_type": "search", - "_source": { - "title": "jobqueue_lkft", - "description": "", - "hits": 0, - "columns": [ - "_source" - ], - "sort": [ - "device.timestamp", - "desc" - ], - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"index\":\"79192790-b1ec-11e8-852d-55393e7ce617\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"b1578e40-a606-11e8-9dd0-e5c705b98d0d\",\"type\":\"phrase\",\"key\":\"device.lava_server\",\"value\":\"lkft.validation.linaro.org\",\"params\":{\"query\":\"lkft.validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"device.lava_server\":{\"query\":\"lkft.validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" - } - }, - "_meta": { - "savedObjectVersion": 2 - } - }, - { - "_id": "324e8c50-a6da-11e8-83fb-2d7acaa76fd6", - "_type": "search", - "_source": { - "title": "jobqueue_lng", - "description": "", - "hits": 0, - "columns": [ - "_source" - ], - "sort": [ - "device.timestamp", - "desc" - ], - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"index\":\"79192790-b1ec-11e8-852d-55393e7ce617\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"e29da230-a6d0-11e8-9f01-ff6e57cf4784\",\"type\":\"phrase\",\"key\":\"device.lava_server\",\"value\":\"lng.validation.linaro.org\",\"params\":{\"query\":\"lng.validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"device.lava_server\":{\"query\":\"lng.validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" - } - }, - "_meta": { - "savedObjectVersion": 2 - } - }, - { - "_id": "43f85670-a6da-11e8-83fb-2d7acaa76fd6", - "_type": "search", + "_id": "9458e6d0-1a79-11e9-98b1-8df03cb1ed5f", + "_type": "dashboard", "_source": { - "title": "jobqueue_pwmg", - "description": "", + "title": "LKFT Dashboard", "hits": 0, - "columns": [ - "_source" - ], - "sort": [ - "device.timestamp", - "desc" - ], - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{\"index\":\"79192790-b1ec-11e8-852d-55393e7ce617\",\"highlightAll\":true,\"version\":true,\"query\":{\"query\":\"\",\"language\":\"lucene\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"e29da230-a6d0-11e8-9f01-ff6e57cf4784\",\"type\":\"phrase\",\"key\":\"device.lava_server\",\"value\":\"pmwg.validation.linaro.org\",\"params\":{\"query\":\"pmwg.validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"device.lava_server\":{\"query\":\"pmwg.validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" - } - }, - "_meta": { - "savedObjectVersion": 2 - } - }, - { - "_id": "c6670080-a625-11e8-8538-f34fec203819", - "_type": "visualization", - "_source": { - "title": "lava_queue_validation", - "visState": "{\"title\":\"lava_queue_validation\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"m\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", - "uiStateJSON": "{}", "description": "", - "savedSearchId": "20280fd0-a624-11e8-8538-f34fec203819", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{}" - } - }, - "_meta": { - "savedObjectVersion": 2 - } - }, - { - "_id": "a8581090-a623-11e8-8538-f34fec203819", - "_type": "visualization", - "_source": { - "title": "lava_queue_lkft", - "visState": "{\"title\":\"lava_queue_lkft\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"m\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", - "uiStateJSON": "{}", - "description": "", - "savedSearchId": "7ca82c00-a60a-11e8-9dd0-e5c705b98d0d", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{}" - } - }, - "_meta": { - "savedObjectVersion": 2 - } - }, - { - "_id": "02361660-a625-11e8-8538-f34fec203819", - "_type": "visualization", - "_source": { - "title": "lava_queue_lite", - "visState": "{\"title\":\"lava_queue_lite\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"m\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "panelsJSON": "[{\"gridData\":{\"w\":24,\"h\":15,\"x\":0,\"y\":0,\"i\":\"1\"},\"version\":\"6.5.1\",\"panelIndex\":\"1\",\"type\":\"visualization\",\"id\":\"a8581090-a623-11e8-8538-f34fec203819\",\"embeddableConfig\":{}}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", "uiStateJSON": "{}", - "description": "", - "savedSearchId": "29de5430-a624-11e8-8538-f34fec203819", "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-7d", + "refreshInterval": { + "pause": true, + "value": 0 + }, "kibanaSavedObjectMeta": { - "searchSourceJSON": "{}" + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[]}" } - }, - "_meta": { - "savedObjectVersion": 2 } }, { - "_id": "5bbc4230-b1ed-11e8-852d-55393e7ce617", - "_type": "visualization", + "_id": "861f0220-a625-11e8-8538-f34fec203819", + "_type": "dashboard", "_source": { - "title": "lava_queue_lng", - "visState": "{\"title\":\"lava_queue_lng\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"m\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", - "uiStateJSON": "{}", + "title": "LAVA Jobqueue Length", + "hits": 0, "description": "", - "savedSearchId": "324e8c50-a6da-11e8-83fb-2d7acaa76fd6", - "version": 1, - "kibanaSavedObjectMeta": { - "searchSourceJSON": "{}" - } - }, - "_meta": { - "savedObjectVersion": 2 - } - }, - { - "_id": "e0e68790-b1ed-11e8-852d-55393e7ce617", - "_type": "visualization", - "_source": { - "title": "lava_queue_pwmg", - "visState": "{\"title\":\"lava_queue_pwmg\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"m\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "panelsJSON": "[{\"panelIndex\":\"2\",\"gridData\":{\"x\":5,\"y\":0,\"w\":5,\"h\":6,\"i\":\"2\"},\"embeddableConfig\":{},\"id\":\"02361660-a625-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue LEDGE\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"3\",\"gridData\":{\"x\":0,\"y\":0,\"w\":5,\"h\":6,\"i\":\"3\"},\"embeddableConfig\":{},\"id\":\"a8581090-a623-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue LKFT\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"4\",\"gridData\":{\"x\":0,\"y\":6,\"w\":5,\"h\":5,\"i\":\"4\"},\"embeddableConfig\":{},\"id\":\"c6670080-a625-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue Validation\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"5\",\"gridData\":{\"x\":5,\"y\":6,\"w\":5,\"h\":5,\"i\":\"5\"},\"embeddableConfig\":{},\"id\":\"e0e68790-b1ed-11e8-852d-55393e7ce617\",\"title\":\"LAVA Queue PMWG\",\"type\":\"visualization\",\"version\":\"6.3.2\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", "uiStateJSON": "{}", - "description": "", - "savedSearchId": "43f85670-a6da-11e8-83fb-2d7acaa76fd6", "version": 1, + "timeRestore": false, "kibanaSavedObjectMeta": { - "searchSourceJSON": "{}" + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" } - }, - "_meta": { - "savedObjectVersion": 2 } } ]
\ No newline at end of file diff --git a/roles/lava-elk-deps/files/kisscache_dashboard.json b/roles/lava-elk-deps/files/kisscache_dashboard.json new file mode 100644 index 00000000..5a512ea8 --- /dev/null +++ b/roles/lava-elk-deps/files/kisscache_dashboard.json @@ -0,0 +1,26 @@ +[ + { + "_id": "27e87f10-83e1-11ea-a795-b501b684e6e8", + "_type": "dashboard", + "_source": { + "title": "Kisscache", + "hits": 0, + "description": "", + "panelsJSON": "[{\"gridData\":{\"h\":3,\"i\":\"4\",\"w\":6,\"x\":6,\"y\":6},\"id\":\"720a7fc0-848c-11ea-a795-b501b684e6e8\",\"panelIndex\":\"4\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"5\",\"w\":6,\"x\":0,\"y\":6},\"id\":\"59e66790-847a-11ea-a795-b501b684e6e8\",\"panelIndex\":\"5\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"6\",\"w\":6,\"x\":0,\"y\":0},\"id\":\"187dd8d0-848c-11ea-a795-b501b684e6e8\",\"panelIndex\":\"6\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"7\",\"w\":6,\"x\":0,\"y\":3},\"id\":\"70a79ef0-848d-11ea-a795-b501b684e6e8\",\"panelIndex\":\"7\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"8\",\"w\":6,\"x\":6,\"y\":3},\"id\":\"8b13dac0-8491-11ea-a795-b501b684e6e8\",\"panelIndex\":\"8\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"9\",\"w\":6,\"x\":0,\"y\":9},\"id\":\"550e1470-848e-11ea-a795-b501b684e6e8\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"10\",\"w\":6,\"x\":6,\"y\":0},\"id\":\"7df7b9a0-8492-11ea-a795-b501b684e6e8\",\"panelIndex\":\"10\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"13\",\"w\":6,\"x\":6,\"y\":9},\"id\":\"41626300-8492-11ea-a795-b501b684e6e8\",\"panelIndex\":\"13\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{\"P-3\":{\"vis\":{\"defaultColors\":{\"0 - 50\":\"rgb(0,104,55)\",\"50 - 75\":\"rgb(255,255,190)\",\"75 - 100\":\"rgb(165,0,38)\"}}},\"P-5\":{\"vis\":{\"defaultColors\":{\"0 - 50\":\"rgb(0,104,55)\",\"50 - 75\":\"rgb(255,255,190)\",\"75 - 100\":\"rgb(165,0,38)\"}}},\"P-7\":{\"vis\":{\"colors\":{\"requests\":\"#447EBC\"}}}}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-60d", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + } + } +]
\ No newline at end of file diff --git a/roles/lava-elk-deps/files/kisscache_visualizations.json b/roles/lava-elk-deps/files/kisscache_visualizations.json new file mode 100644 index 00000000..f3befc34 --- /dev/null +++ b/roles/lava-elk-deps/files/kisscache_visualizations.json @@ -0,0 +1,114 @@ +[ + { + "_id": "720a7fc0-848c-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_diskusage", + "visState": "{\"title\":\"kisscache_diskusage\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"usage\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"usage\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\"},{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"data\":{\"id\":\"3\",\"label\":\"quota\"},\"valueAxis\":\"ValueAxis-1\",\"interpolate\":\"cardinal\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"disk_usage\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"usage\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"disk_quota\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"quota\"}}]}", + "uiStateJSON": "{\"vis\":{\"colors\":{\"quota\":\"#BF1B00\",\"usage\":\"#447EBC\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + } + }, + { + "_id": "59e66790-847a-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_diskusage_percent", + "visState": "{\"title\":\"kisscache_diskusage_percent\",\"type\":\"gauge\",\"params\":{\"type\":\"gauge\",\"addTooltip\":true,\"addLegend\":true,\"isDisplayWarning\":false,\"gauge\":{\"verticalSplit\":true,\"extendRange\":true,\"percentageMode\":true,\"gaugeType\":\"Arc\",\"gaugeStyle\":\"Full\",\"backStyle\":\"Full\",\"orientation\":\"vertical\",\"colorSchema\":\"Green to Red\",\"gaugeColorMode\":\"Labels\",\"colorsRange\":[{\"from\":0,\"to\":50},{\"from\":50,\"to\":75},{\"from\":75,\"to\":100}],\"invertColors\":false,\"labels\":{\"show\":true,\"color\":\"black\"},\"scale\":{\"show\":true,\"labels\":false,\"color\":\"#333\"},\"type\":\"meter\",\"style\":{\"bgWidth\":0.9,\"width\":0.9,\"mask\":false,\"bgMask\":false,\"maskBars\":50,\"bgFill\":\"#eee\",\"bgColor\":false,\"subText\":\"\",\"fontSize\":60,\"labelColor\":true}}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"disk_usage_percent\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Disk usage\"}}]}", + "uiStateJSON": "{\"vis\":{\"defaultColors\":{\"0 - 50\":\"rgb(0,104,55)\",\"50 - 75\":\"rgb(255,255,190)\",\"75 - 100\":\"rgb(165,0,38)\"},\"colors\":{\"50 - 75\":\"#E0752D\",\"75 - 100\":\"#BF1B00\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + } + }, + { + "_id": "187dd8d0-848c-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_download_upload", + "visState": "{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"customLabel\":\"upload\",\"customMetric\":{\"enabled\":true,\"id\":\"1-metric\",\"params\":{\"field\":\"statistics_upload\"},\"schema\":{\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!percentile_ranks\",\"!median\",\"!std_dev\"],\"deprecate\":false,\"editor\":false,\"group\":\"none\",\"hideCustomLabel\":true,\"max\":null,\"min\":0,\"name\":\"metricAgg\",\"params\":[],\"title\":\"Metric Agg\"},\"type\":\"max\"},\"metricAgg\":\"custom\"},\"schema\":\"metric\",\"type\":\"derivative\"},{\"enabled\":true,\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"extended_bounds\":{},\"field\":\"timestamp\",\"interval\":\"auto\",\"min_doc_count\":0},\"schema\":\"segment\",\"type\":\"date_histogram\"},{\"enabled\":true,\"id\":\"3\",\"params\":{\"customLabel\":\"download\",\"customMetric\":{\"enabled\":true,\"id\":\"3-metric\",\"params\":{\"field\":\"statistics_download\"},\"schema\":{\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!percentile_ranks\",\"!median\",\"!std_dev\"],\"deprecate\":false,\"editor\":false,\"group\":\"none\",\"hideCustomLabel\":true,\"max\":null,\"min\":0,\"name\":\"metricAgg\",\"params\":[],\"title\":\"Metric Agg\"},\"type\":\"max\"},\"metricAgg\":\"custom\"},\"schema\":\"metric\",\"type\":\"derivative\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":true,\"style\":{\"color\":\"#eee\"},\"valueAxis\":null},\"legendPosition\":\"right\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"upload\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"cardinal\",\"mode\":\"normal\",\"show\":\"true\",\"showCircles\":true,\"type\":\"area\",\"valueAxis\":\"ValueAxis-1\"},{\"data\":{\"id\":\"3\",\"label\":\"download\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"cardinal\",\"mode\":\"normal\",\"show\":true,\"showCircles\":true,\"type\":\"area\",\"valueAxis\":\"ValueAxis-1\"}],\"times\":[],\"type\":\"line\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"Size\"},\"type\":\"value\"}]},\"title\":\"kisscache_download_upload\",\"type\":\"line\"}", + "uiStateJSON": "{\"vis\":{\"colors\":{\"download\":\"#BF1B00\",\"upload\":\"#508642\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + } + }, + { + "_id": "7df7b9a0-8492-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_download_upload_total", + "visState": "{\"title\":\"kisscache_download_upload_total\",\"type\":\"metric\",\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":34}}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_download\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Download\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_upload\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Upload\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + } + }, + { + "_id": "70a79ef0-848d-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_requests", + "visState": "{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"customLabel\":\"requests\",\"customMetric\":{\"enabled\":true,\"id\":\"1-metric\",\"params\":{\"field\":\"statistics_requests\"},\"schema\":{\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!percentile_ranks\",\"!median\",\"!std_dev\"],\"deprecate\":false,\"editor\":false,\"group\":\"none\",\"hideCustomLabel\":true,\"max\":null,\"min\":0,\"name\":\"metricAgg\",\"params\":[],\"title\":\"Metric Agg\"},\"type\":\"max\"},\"metricAgg\":\"custom\"},\"schema\":\"metric\",\"type\":\"derivative\"},{\"enabled\":true,\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"extended_bounds\":{},\"field\":\"timestamp\",\"interval\":\"auto\",\"min_doc_count\":0},\"schema\":\"segment\",\"type\":\"date_histogram\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"legendPosition\":\"right\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"requests\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"cardinal\",\"mode\":\"normal\",\"show\":\"true\",\"showCircles\":true,\"type\":\"line\",\"valueAxis\":\"ValueAxis-1\"}],\"times\":[],\"type\":\"line\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"requests\"},\"type\":\"value\"}]},\"title\":\"kisscache_requests\",\"type\":\"line\"}", + "uiStateJSON": "{\"vis\":{\"colors\":{\"requests\":\"#447EBC\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + } + }, + { + "_id": "8b13dac0-8491-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_requests_total", + "visState": "{\"title\":\"kisscache_requests_total\",\"type\":\"metric\",\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":60}}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_requests\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"requests\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + } + }, + { + "_id": "550e1470-848e-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_resources", + "visState": "{\"title\":\"kisscache_resources\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"successes\"}},{\"id\":\"ValueAxis-2\",\"name\":\"RightAxis-1\",\"type\":\"value\",\"position\":\"right\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"scheduled\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\",\"data\":{\"id\":\"3\",\"label\":\"scheduled\"},\"valueAxis\":\"ValueAxis-2\"},{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"downloading\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-2\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\"},{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\",\"data\":{\"id\":\"4\",\"label\":\"failures\"},\"valueAxis\":\"ValueAxis-2\"},{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\",\"data\":{\"id\":\"5\",\"label\":\"successes\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"resources_scheduled\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"scheduled\"}},{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"resources_downloading\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"downloading\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"resources_failures\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"failures\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"resources_successes\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"successes\"}}]}", + "uiStateJSON": "{\"vis\":{\"colors\":{\"Successes\":\"#629E51\",\"failures\":\"#BF1B00\",\"scheduled\":\"#64B0C8\",\"downloading\":\"#962D82\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + } + }, + { + "_id": "41626300-8492-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_resources_total", + "visState": "{\"title\":\"kisscache_resources_total\",\"type\":\"metric\",\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":60}}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_successes\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Successes\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_failures\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Failures\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + } + } +]
\ No newline at end of file diff --git a/roles/lava-elk-deps/files/lavalab-kibana.json b/roles/lava-elk-deps/files/lavalab-kibana.json new file mode 100644 index 00000000..4230a3ab --- /dev/null +++ b/roles/lava-elk-deps/files/lavalab-kibana.json @@ -0,0 +1,7548 @@ +[ + { + "_id": "d39f0980-1ff3-11e9-ae2a-939083c6a64e", + "_type": "dashboard", + "_source": { + "description": "Overview of the Ubiquiti Firewall iptables events dashboard.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 15, \"y\": 0, \"w\": 33, \"x\": 0}, \"title\": \"Event Timeline\", \"panelIndex\": \"1\", \"embeddableConfig\": {\"vis\": {\"colors\": {\"deny\": \"#E24D42\", \"allow\": \"#64B0C8\"}, \"legendOpen\": true}}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"758b3620-1fda-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 0, \"w\": 15, \"x\": 33}, \"title\": \"Top Blocked by source IP\", \"panelIndex\": \"2\", \"embeddableConfig\": {}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"1ba82fd0-1ff0-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"3\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 0}, \"title\": \"Allowed Traffic Map\", \"panelIndex\": \"3\", \"embeddableConfig\": {\"mapCenter\": [39.095962936305476, -22.148437500000004], \"mapZoom\": 2}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"5bd53050-1fe9-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 24}, \"title\": \"Blocked Traffic Map\", \"panelIndex\": \"4\", \"embeddableConfig\": {\"mapCenter\": [46.31658418182218, -34.10156250000001], \"mapZoom\": 2}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"8853aa20-1fef-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"5\", \"h\": 18, \"y\": 30, \"w\": 24, \"x\": 0}, \"title\": \"Traffic Breakdown by Protocol\", \"panelIndex\": \"5\", \"embeddableConfig\": {\"vis\": {\"colors\": {\"deny\": \"#E24D42\", \"udp\": \"#F2C96D\", \"tcp\": \"#447EBC\", \"ipv6-icmp\": \"#EA6460\", \"ipv4\": \"#65C5DB\", \"allow\": \"#7EB26D\", \"ipv6\": \"#D683CE\", \"icmp\": \"#F29191\"}}}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"fdea1ad0-1ff4-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"6\", \"h\": 27, \"y\": 48, \"w\": 48, \"x\": 0}, \"title\": \"Event View\", \"panelIndex\": \"6\", \"embeddableConfig\": {}, \"version\": \"6.6.0\", \"type\": \"search\", \"id\": \"c4e80aa0-1fd4-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"7\", \"h\": 18, \"y\": 30, \"w\": 24, \"x\": 24}, \"title\": \"Traffic Breakdown by Port\", \"panelIndex\": \"7\", \"embeddableConfig\": {}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"190bcb50-1ff6-11e9-ae2a-939083c6a64e\"}]", + "timeRestore": false, + "title": "[Filebeat Iptables] Ubiquiti Firewall Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "05268ee0-86d1-11e8-b59d-21efb914e65c", + "_type": "dashboard", + "_source": { + "description": "Overview of the Suricata Alerts dashboard.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 10, \"y\": 0, \"w\": 23, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"1\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"494fa290-86d2-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"2\", \"h\": 22, \"y\": 0, \"w\": 25, \"x\": 23}, \"embeddableConfig\": {}, \"panelIndex\": \"2\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"16033310-86d3-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"3\", \"h\": 16, \"y\": 37, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"3\", \"version\": \"6.3.0\", \"type\": \"search\", \"id\": \"1c2bcec0-86d1-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 22, \"w\": 23, \"x\": 0}, \"embeddableConfig\": {\"mapCenter\": [38.548165423046584, -6.328125000000001], \"mapZoom\": 2}, \"panelIndex\": \"4\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"85fed080-86d7-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"5\", \"h\": 15, \"y\": 22, \"w\": 25, \"x\": 23}, \"embeddableConfig\": {\"mapCenter\": [41.77131167976407, 1.9335937500000002], \"mapZoom\": 2}, \"panelIndex\": \"5\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"a09ca070-86d7-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"7\", \"h\": 12, \"y\": 10, \"w\": 12, \"x\": 11}, \"embeddableConfig\": {}, \"panelIndex\": \"7\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"2ccdc1a0-86d8-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"8\", \"h\": 12, \"y\": 10, \"w\": 11, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"8\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"c7b8b8f0-86d8-11e8-b59d-21efb914e65c\"}]", + "timeRestore": false, + "title": "[Suricata] Alert Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ceefb9e0-1f51-11e9-93ed-f7e068f4aebb", + "_type": "dashboard", + "_source": { + "description": "Overview of the iptables events dashboard.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 15, \"y\": 0, \"w\": 37, \"x\": 0}, \"embeddableConfig\": {\"vis\": {\"legendOpen\": false}}, \"panelIndex\": \"1\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"4c913eb0-1f51-11e9-93ed-f7e068f4aebb\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 0, \"w\": 11, \"x\": 37}, \"embeddableConfig\": {}, \"panelIndex\": \"2\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"2599f5e0-1e98-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 0}, \"embeddableConfig\": {\"mapCenter\": [47.15984001304432, -47.02148437500001], \"mapZoom\": 2}, \"panelIndex\": \"3\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"c4394ec0-1efd-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 24}, \"embeddableConfig\": {\"mapCenter\": [49.15296965617042, -27.949218750000004], \"mapZoom\": 2}, \"panelIndex\": \"4\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"d8cea010-1efd-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 15, \"y\": 30, \"w\": 19, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"5\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"b57b7370-1f1d-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"6\", \"h\": 15, \"y\": 30, \"w\": 18, \"x\": 19}, \"embeddableConfig\": {}, \"panelIndex\": \"6\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"35fe0910-1f26-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"7\", \"h\": 15, \"y\": 30, \"w\": 11, \"x\": 37}, \"embeddableConfig\": {}, \"panelIndex\": \"7\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"683402b0-1f29-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"8\", \"h\": 19, \"y\": 45, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"8\", \"version\": \"6.6.0\", \"type\": \"search\", \"id\": \"b3f1b010-1f26-11e9-8ec4-cf5d91a864b3\"}]", + "timeRestore": false, + "title": "[Filebeat Iptables] Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "943caca0-87ee-11e7-ad9c-db80de0bf8d3", + "_type": "dashboard", + "_source": { + "description": "Filebeat Kafka module dashboard", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Number of Kafka stracktraces by class\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Kafka stacktraces\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"columns\": [\"kafka.log.class\", \"kafka.log.trace.class\", \"kafka.log.trace.full\"], \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"All Kafka logs\", \"size_x\": 12, \"size_y\": 5, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"kafka.log.level\", \"kafka.log.component\", \"kafka.log.message\"], \"row\": 6}, {\"type\": \"visualization\", \"id\": \"3f7c33c0-87ee-11e7-ad9c-db80de0bf8d3\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 4, \"col\": 1, \"row\": 4}]", + "timeRestore": false, + "title": "[Filebeat Kafka] Overview", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "158be870-87f4-11e7-ad9c-db80de0bf8d3", + "_type": "dashboard", + "_source": { + "description": "Overview dashboard for the Filebeat PostgreSQL module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"PostgreSQL Log Level Count\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"PostgreSQL All Logs\", \"size_x\": 12, \"size_y\": 6, \"panelIndex\": 2, \"col\": 1, \"columns\": [\"postgresql.log.user\", \"postgresql.log.database\", \"postgresql.log.level\", \"postgresql.log.message\", \"postgresql.log.query\"], \"row\": 4}, {\"type\": \"visualization\", \"id\": \"3dbd5370-87f3-11e7-ad9c-db80de0bf8d3\", \"size_x\": 9, \"size_y\": 3, \"panelIndex\": 3, \"col\": 4, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat PostgreSQL] Overview", + "uiStateJSON": "{\"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e4c5f230-87f3-11e7-ad9c-db80de0bf8d3", + "_type": "dashboard", + "_source": { + "description": "Dashboard for analyzing the query durations of the Filebeat PostgreSQL module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"postgresql.log.query:*\"},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"PostgreSQL Query Count and Duration\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Slow PostgreSQL Queries\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"columns\": [\"postgresql.log.user\", \"postgresql.log.database\", \"postgresql.log.duration\", \"postgresql.log.query\"], \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"PostgreSQL Query Durations\", \"size_x\": 12, \"size_y\": 5, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"postgresql.log.user\", \"postgresql.log.database\", \"postgresql.log.duration\", \"postgresql.log.query\"], \"row\": 4}]", + "timeRestore": false, + "title": "[Filebeat PostgreSQL] Query Duration Overview", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "abcf35b0-0a82-11e8-bffe-ff7d4f68cf94", + "_type": "dashboard", + "_source": { + "description": "Filebeat MongoDB module overview", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"0fef5710-0a82-11e8-bffe-ff7d4f68cf94\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"e49fe000-0a7e-11e8-bffe-ff7d4f68cf94\", \"size_x\": 8, \"size_y\": 3, \"panelIndex\": 2, \"col\": 5, \"columns\": [\"mongodb.log.timestamp\", \"mongodb.log.severity\", \"mongodb.log.component\", \"mongodb.log.context\", \"mongodb.log.message\"], \"row\": 1}, {\"sort\": [\"mongodb.log.timestamp\", \"asc\"], \"type\": \"search\", \"id\": \"bfc96a60-0a80-11e8-bffe-ff7d4f68cf94\", \"size_x\": 12, \"size_y\": 6, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"mongodb.log.timestamp\", \"mongodb.log.severity\", \"mongodb.log.component\", \"mongodb.log.context\", \"mongodb.log.message\"], \"row\": 4}]", + "timeRestore": false, + "title": "Overview [Filebeat MongoDB]", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "78289c40-86da-11e8-b59d-21efb914e65c", + "_type": "dashboard", + "_source": { + "description": "Overview of the Surcata events dashboard.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 10, \"y\": 0, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"1\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"c7d46c60-86da-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"2\", \"h\": 14, \"y\": 20, \"w\": 9, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"2\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"0a0aa630-86db-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"3\", \"h\": 14, \"y\": 20, \"w\": 11, \"x\": 19}, \"embeddableConfig\": {}, \"panelIndex\": \"3\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"728f64c0-86db-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"4\", \"h\": 10, \"y\": 10, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"4\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"9d5b5b50-86db-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"5\", \"h\": 19, \"y\": 34, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"5\", \"version\": \"6.3.0\", \"type\": \"search\", \"id\": \"13dd22f0-86cc-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"6\", \"h\": 14, \"y\": 20, \"w\": 9, \"x\": 30}, \"embeddableConfig\": {}, \"panelIndex\": \"6\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"5f99eb50-86dc-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"7\", \"h\": 14, \"y\": 20, \"w\": 9, \"x\": 39}, \"embeddableConfig\": {}, \"panelIndex\": \"7\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"8e7f88d0-86dc-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"8\", \"h\": 14, \"y\": 20, \"w\": 10, \"x\": 9}, \"embeddableConfig\": {}, \"panelIndex\": \"8\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"0a363820-86dd-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"9\", \"h\": 16, \"y\": 53, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"9\", \"version\": \"6.3.0\", \"type\": \"search\", \"id\": \"d57a2db0-86ca-11e8-b59d-21efb914e65c\"}]", + "timeRestore": false, + "title": "[Suricata] Events Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Apache2-Dashboard", + "_type": "dashboard", + "_source": { + "description": "Filebeat Apache2 module dashboard", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Apache2-access-unique-IPs-map\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Apache2-response-codes-of-top-URLs\", \"size_x\": 8, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Apache2-browsers\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 3, \"col\": 9, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Apache2-operating-systems\", \"size_x\": 2, \"size_y\": 2, \"panelIndex\": 4, \"col\": 11, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"Apache2-error-logs-over-time\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 5, \"col\": 1, \"row\": 9}, {\"type\": \"visualization\", \"id\": \"Apache2-response-codes-over-time\", \"size_x\": 10, \"size_y\": 2, \"panelIndex\": 6, \"col\": 1, \"row\": 4}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Apache2-errors-log\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 7, \"col\": 1, \"columns\": [\"apache2.error.client\", \"apache2.error.level\", \"apache2.error.module\", \"apache2.error.message\"], \"row\": 11}]", + "timeRestore": false, + "title": "[Filebeat Apache2] Access and error logs", + "uiStateJSON": "{\"P-1\": {\"mapCenter\": [40.713955826286046, -0.17578125], \"mapCollar\": {\"zoom\": 2, \"bottom_right\": {\"lat\": -39.667755, \"lon\": 180}, \"top_left\": {\"lat\": 90, \"lon\": -180}}, \"mapBounds\": {\"bottom_right\": {\"lat\": -3.864254615721396, \"lon\": 205.3125}, \"top_left\": {\"lat\": 67.7427590666639, \"lon\": -205.6640625}}, \"mapZoom\": 2}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dfbb49f0-0a0f-11e7-8a62-2d05eaaac5cb", + "_type": "dashboard", + "_source": { + "description": "Dashboard for the Auditd Filebeat module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"6295bdd0-0a0e-11e7-825f-6748cda7d858\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"5ebdbe50-0a0f-11e7-825f-6748cda7d858\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 2, \"col\": 9, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"2bb0fa70-0a11-11e7-9e84-43da493ad0c7\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"d1726930-0a7f-11e7-8b04-eb22a5669f27\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 5, \"col\": 7, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"c5411910-0a87-11e7-8b04-eb22a5669f27\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 6, \"col\": 5, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"4ac0a370-0a11-11e7-8b04-eb22a5669f27\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 7, \"col\": 1, \"columns\": [\"auditd.log.record_type\", \"auditd.log.sequence\", \"auditd.log.acct\"], \"row\": 8}]", + "timeRestore": false, + "title": "[Filebeat Auditd] Audit Events", + "uiStateJSON": "{\"P-5\": {\"mapCollar\": {\"zoom\": 2, \"bottom_right\": {\"lat\": -87.16078, \"lon\": 180}, \"top_left\": {\"lat\": 87.16078, \"lon\": -180}}, \"mapZoom\": 2, \"mapBounds\": {\"bottom_right\": {\"lat\": -43.580390855607845, \"lon\": 102.65625}, \"top_left\": {\"lat\": 43.58039085560784, \"lon\": -102.3046875}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "277876d0-fa2c-11e6-bbd3-29c986c96e5a", + "_type": "dashboard", + "_source": { + "description": "Sudo commands dashboard from the Filebeat System module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"5c7af030-fa2a-11e6-bbd3-29c986c96e5a\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"51164310-fa2b-11e6-bbd3-29c986c96e5a\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"dc589770-fa2b-11e6-bbd3-29c986c96e5a\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 3, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"327417e0-8462-11e7-bab8-bd2f0fb42c54\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 4, \"col\": 1, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat System] Sudo commands", + "uiStateJSON": "{\"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "26309570-2419-11e7-a83b-d5f4cebac9ff", + "_type": "dashboard", + "_source": { + "description": "Filebeat Icinga module dashboard for the debug logs", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"0bc34b60-2419-11e7-a83b-d5f4cebac9ff\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"fb09d4b0-2418-11e7-a83b-d5f4cebac9ff\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"c876e6a0-2418-11e7-a83b-d5f4cebac9ff\", \"size_x\": 12, \"size_y\": 29, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"icinga.debug.facility\", \"icinga.debug.severity\", \"icinga.debug.message\"], \"row\": 4}]", + "timeRestore": false, + "title": "[Filebeat Icinga] Debug Log", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f693d260-2417-11e7-a83b-d5f4cebac9ff", + "_type": "dashboard", + "_source": { + "description": "Filebeat Icinga module dashboard for the main log files", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"d8e5dc40-2417-11e7-a83b-d5f4cebac9ff\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 7, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"ffaf5a30-2413-11e7-a0d9-39604d45ca7f\", \"size_x\": 12, \"size_y\": 25, \"panelIndex\": 2, \"col\": 1, \"columns\": [\"icinga.main.facility\", \"icinga.main.severity\", \"icinga.main.message\"], \"row\": 4}, {\"type\": \"visualization\", \"id\": \"2cf77780-2418-11e7-a83b-d5f4cebac9ff\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat Icinga] Main Log", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4278ad30-fe16-11e7-a3b0-d13028918f9f", + "_type": "dashboard", + "_source": { + "description": "Dashboard for the Filebeat IIS module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 3, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"1\", \"id\": \"eb2db5b0-fe11-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"2\", \"h\": 3, \"y\": 3, \"w\": 7, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"2\", \"id\": \"f31414b0-fe14-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"4\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"4\", \"id\": \"63129c80-fe12-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"5\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"5\", \"id\": \"ccd3f9c0-fe12-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"6\", \"h\": 3, \"y\": 3, \"w\": 5, \"x\": 7}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"6\", \"id\": \"41f38230-fe17-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"7\", \"h\": 3, \"y\": 6, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"7\", \"id\": \"c0d02cd0-fe1b-11e7-a3b0-d13028918f9f\"}]", + "timeRestore": false, + "title": "[Filebeat IIS] Access and error logs", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3560d580-aa34-11e8-9c06-877f0445e3e0", + "_type": "dashboard", + "_source": { + "description": "Filebeat HAProxy module dashboard", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 15, \"y\": 0, \"w\": 24, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"1\", \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"55251360-aa32-11e8-9c06-877f0445e3e0\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 0, \"w\": 24, \"x\": 24}, \"embeddableConfig\": {}, \"panelIndex\": \"2\", \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"7fb671f0-aa32-11e8-9c06-877f0445e3e0\"}, {\"gridData\": {\"i\": \"3\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"3\", \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"11f8b9c0-aa32-11e8-9c06-877f0445e3e0\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 24}, \"embeddableConfig\": {}, \"panelIndex\": \"4\", \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"68af8ef0-aa33-11e8-9c06-877f0445e3e0\"}]", + "timeRestore": false, + "title": "[Filebeat HAProxy] Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b9163ea0-2417-11e7-a83b-d5f4cebac9ff", + "_type": "dashboard", + "_source": { + "description": "Filebeat Icinga module dashboard for startup errors", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"a59b5e00-2417-11e7-a83b-d5f4cebac9ff\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"710043e0-2417-11e7-a83b-d5f4cebac9ff\", \"size_x\": 12, \"size_y\": 13, \"panelIndex\": 2, \"col\": 1, \"columns\": [\"icinga.startup.facility\", \"icinga.startup.severity\", \"icinga.startup.message\"], \"row\": 3}]", + "timeRestore": false, + "title": "[Filebeat Icinga] Startup Errors", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "55a9e6e0-a29e-11e7-928f-5dbe6f6f5519", + "_type": "dashboard", + "_source": { + "description": "Dashboard for the Filebeat Nginx module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Nginx-Access-Browsers\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 3, \"col\": 10, \"row\": 12}, {\"type\": \"visualization\", \"id\": \"Nginx-Access-OSes\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 12}, {\"type\": \"visualization\", \"id\": \"Nginx-Access-Map\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 8, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"b70b1b20-a1f4-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 13, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"9184fa00-a1f5-11e7-928f-5dbe6f6f5519\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 14, \"col\": 7, \"row\": 9}, {\"type\": \"visualization\", \"id\": \"46322e50-a1f6-11e7-928f-5dbe6f6f5519\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 15, \"col\": 1, \"row\": 9}, {\"type\": \"visualization\", \"id\": \"0dd6f320-a29f-11e7-928f-5dbe6f6f5519\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 16, \"col\": 1, \"row\": 12}, {\"type\": \"visualization\", \"id\": \"97109780-a2a5-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 17, \"col\": 1, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat Nginx] Overview", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"legendOpen\": true}}, \"P-8\": {\"mapCenter\": [50.51342652633956, -0.17578125], \"mapCollar\": {\"zoom\": 2, \"bottom_right\": {\"lat\": -49.583095, \"lon\": 180}, \"top_left\": {\"lat\": 90, \"lon\": -180}}, \"mapBounds\": {\"bottom_right\": {\"lat\": -7.362466865535738, \"lon\": 245.39062500000003}, \"top_left\": {\"lat\": 77.07878389624943, \"lon\": -245.74218750000003}}, \"mapZoom\": 2}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-MySQL-Dashboard", + "_type": "dashboard", + "_source": { + "description": "Overview dashboard for the Filebeat MySQL module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"MySQL-slowest-queries\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"MySQL-Slow-queries-over-time\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"MySQL-error-logs\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 7, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Filebeat-MySQL-error-log\", \"size_x\": 6, \"size_y\": 5, \"panelIndex\": 4, \"col\": 7, \"columns\": [\"mysql.error.level\", \"mysql.error.message\"], \"row\": 8}, {\"type\": \"visualization\", \"id\": \"MySQL-Error-logs-levels\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 5, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"MySQL-Slow-logs-by-count\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 6, \"col\": 1, \"row\": 4}]", + "timeRestore": false, + "title": "[Filebeat MySQL] Overview", + "uiStateJSON": "{\"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7fea2930-478e-11e7-b1f0-cb29bac6bf8b", + "_type": "dashboard", + "_source": { + "description": "Overview dashboard for the FIlebeat Redis module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"78b9afe0-478f-11e7-b1f0-cb29bac6bf8b\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"d2864600-478f-11e7-be88-2ddb32f3df97\", \"size_x\": 9, \"size_y\": 3, \"panelIndex\": 3, \"col\": 4, \"row\": 5}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"73613570-4791-11e7-be88-2ddb32f3df97\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 4, \"col\": 1, \"columns\": [\"beat.name\", \"redis.log.level\", \"redis.log.role\", \"redis.log.message\"], \"row\": 8}, {\"type\": \"visualization\", \"id\": \"dcccaa80-4791-11e7-be88-2ddb32f3df97\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 5, \"col\": 7, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"0ab87b80-478e-11e7-b1f0-cb29bac6bf8b\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 6, \"col\": 1, \"columns\": [\"beat.name\", \"message\", \"redis.slowlog.duration.us\", \"redis.slowlog.key\"], \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat Redis] Overview", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"legendOpen\": false}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Logstash-Slowlog-Dashboard", + "_type": "dashboard", + "_source": { + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"742e45d0-cbdd-11e7-9852-73e0a9df1bb6\", \"size_x\": 12, \"size_y\": 9, \"panelIndex\": 1, \"col\": 1, \"columns\": [\"logstash.slowlog.level\", \"logstash.slowlog.plugin_type\", \"logstash.slowlog.plugin_name\", \"logstash.slowlog.message\", \"logstash.slowlog.plugin_params\", \"logstash.slowlog.execution_time_ns\"], \"row\": 7}, {\"type\": \"visualization\", \"id\": \"0b1dace0-cbdb-11e7-9852-73e0a9df1bb6\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"e90b7240-cbda-11e7-9852-73e0a9df1bb6\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"b3315630-cbdf-11e7-9852-73e0a9df1bb6\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 4, \"col\": 1, \"row\": 4}]", + "timeRestore": false, + "title": "Slowlogs [Filebeat Logstash]", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": 3, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0d3f2380-fa78-11e6-ae9b-81e5311e8cab", + "_type": "dashboard", + "_source": { + "description": "New users and groups dashboard for the System module in Filebeat", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"f398d2f0-fa77-11e6-ae9b-81e5311e8cab\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"5dd15c00-fa78-11e6-ae9b-81e5311e8cab\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"e121b140-fa78-11e6-a1df-a78bd7504d38\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"d56ee420-fa79-11e6-a1df-a78bd7504d38\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"12667040-fa80-11e6-a1df-a78bd7504d38\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 5, \"col\": 1, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"346bb290-fa80-11e6-a1df-a78bd7504d38\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 6, \"col\": 7, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"327417e0-8462-11e7-bab8-bd2f0fb42c54\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 7, \"col\": 1, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat System] New users and groups", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5517a150-f9ce-11e6-8115-a7c18106d86a", + "_type": "dashboard", + "_source": { + "description": "SSH dashboard for the System module in Filebeat", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"d16bb400-f9cc-11e6-8115-a7c18106d86a\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"78b74f30-f9cd-11e6-8115-a7c18106d86a\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"341ffe70-f9ce-11e6-8115-a7c18106d86a\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 3, \"col\": 1, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"3cec3eb0-f9d3-11e6-8a3e-2b904044ea1d\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 4, \"col\": 7, \"row\": 8}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"62439dc0-f9c9-11e6-a747-6121780e0414\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 5, \"col\": 1, \"columns\": [\"system.auth.ssh.event\", \"system.auth.ssh.method\", \"system.auth.user\", \"system.auth.ssh.ip\", \"system.auth.ssh.geoip.country_iso_code\"], \"row\": 12}, {\"type\": \"visualization\", \"id\": \"327417e0-8462-11e7-bab8-bd2f0fb42c54\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 6, \"col\": 1, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat System] SSH login attempts", + "uiStateJSON": "{\"P-4\": {\"mapCenter\": [39.774769485295465, 23.203125], \"mapCollar\": {\"zoom\": 3, \"bottom_right\": {\"lat\": -14.777884999999998, \"lon\": 125.771485}, \"top_left\": {\"lat\": 85.593335, \"lon\": -79.189455}}, \"mapBounds\": {\"bottom_right\": {\"lat\": 10.31491928581316, \"lon\": 74.53125}, \"top_left\": {\"lat\": 60.50052541051131, \"lon\": -27.94921875}}, \"mapZoom\": 3}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-syslog-dashboard", + "_type": "dashboard", + "_source": { + "description": "Syslog dashboard from the Filebeat System module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Syslog-events-by-hostname\", \"size_x\": 8, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"Syslog-hostnames-and-processes\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 2, \"col\": 9, \"row\": 2}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Syslog-system-logs\", \"size_x\": 12, \"size_y\": 7, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"system.syslog.hostname\", \"system.syslog.program\", \"system.syslog.message\"], \"row\": 6}, {\"type\": \"visualization\", \"id\": \"327417e0-8462-11e7-bab8-bd2f0fb42c54\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 4, \"col\": 1, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat System] Syslog dashboard", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "046212a0-a2a1-11e7-928f-5dbe6f6f5519", + "_type": "dashboard", + "_source": { + "description": "Dashboard for the Filebeat Nginx module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"9eb25600-a1f0-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 11, \"col\": 1, \"columns\": [\"nginx.error.level\", \"nginx.error.message\"], \"row\": 5}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"6d9e66d0-a1f0-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 7, \"panelIndex\": 16, \"col\": 1, \"columns\": [\"nginx.access.url\", \"nginx.access.method\", \"nginx.access.response_code\", \"nginx.access.body_sent.bytes\"], \"row\": 8}, {\"type\": \"visualization\", \"id\": \"1cfb1a80-a1f4-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 18, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"97109780-a2a5-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 19, \"col\": 1, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat Nginx] Access and error logs", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Logstash-Log-Dashboard", + "_type": "dashboard", + "_source": { + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"0b1dace0-cbdb-11e7-9852-73e0a9df1bb6\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"e90b7240-cbda-11e7-9852-73e0a9df1bb6\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"cfaba090-cbda-11e7-9852-73e0a9df1bb6\", \"size_x\": 12, \"size_y\": 10, \"panelIndex\": 4, \"col\": 1, \"columns\": [\"logstash.log.level\", \"logstash.log.module\", \"logstash.log.message\", \"source\"], \"row\": 4}]", + "timeRestore": false, + "title": "Logstash Logs [Filebeat Logstash]", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Remote-IP-URL-Explorer", + "_type": "dashboard", + "_source": { + "description": "Machine Learning dashboard for the Filebeat Traefik module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Unique-Count-URL-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Response-Code-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Top-Remote-IPs-Table\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Map\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Top-URLs-Table\", \"size_x\": 12, \"size_y\": 8, \"panelIndex\": 5, \"col\": 1, \"row\": 7}]", + "timeRestore": false, + "title": "[Filebeat Traefik] [ML] Remote IP URL Explorer", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Remote-IP-URL-Explorer", + "_type": "dashboard", + "_source": { + "description": "Machine Learning dashboard for the Filebeat Nginx module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Unique-Count-URL-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Response-Code-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Top-Remote-IPs-Table\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Map\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Top-URLs-Table\", \"size_x\": 12, \"size_y\": 8, \"panelIndex\": 5, \"col\": 1, \"row\": 7}]", + "timeRestore": false, + "title": "[Filebeat Nginx] [ML] Remote IP URL Explorer", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Traefik-Dashboard", + "_type": "dashboard", + "_source": { + "description": "Dashboard for the Filebeat Traefik module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}]}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Traefik-Access-Browsers\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 3, \"col\": 1, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"Traefik-Access-OSes\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 4, \"col\": 5, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"New-Visualization\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 5, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"Traefik-Access-Response-codes-by-top-URLs\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 6, \"col\": 1, \"row\": 7}, {\"type\": \"visualization\", \"id\": \"Sent-sizes\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 7, \"col\": 9, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"Traefik-Access-Map\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 8, \"col\": 1, \"row\": 1}]", + "timeRestore": false, + "title": "[Filebeat Traefik] Access logs", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"legendOpen\": true}}, \"P-8\": {\"mapCenter\": [50.51342652633956, -0.17578125]}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "69f5ae20-eb02-11e7-8f04-51231daa5b05", + "_type": "dashboard", + "_source": { + "description": "Dashboard for visualizing the data collected by the Osquery compliance pack.", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 4, \"y\": 6, \"w\": 6, \"x\": 6}, \"type\": \"search\", \"version\": \"6.2.4\", \"panelIndex\": \"1\", \"id\": \"7a9482d0-eb00-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"2\", \"h\": 5, \"y\": 1, \"w\": 7, \"x\": 5}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"2\", \"id\": \"a9fd8bb0-eb01-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"3\", \"h\": 4, \"y\": 6, \"w\": 6, \"x\": 0}, \"type\": \"search\", \"version\": \"6.2.4\", \"panelIndex\": \"3\", \"id\": \"3824b080-eb02-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"4\", \"h\": 3, \"y\": 1, \"w\": 5, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"4\", \"id\": \"1da1ed30-eb03-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 4, \"w\": 5, \"x\": 0}, \"embeddableConfig\": {\"vis\": {\"legendOpen\": false, \"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"panelIndex\": \"5\", \"version\": \"6.2.4\", \"type\": \"visualization\", \"id\": \"240f3630-eb05-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"6\", \"h\": 1, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"6\", \"id\": \"2d6e0760-f4ab-11e7-8647-534bb4c21040\"}]", + "timeRestore": false, + "title": "[Osquery Result] Compliance pack", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c0a7ce90-f4aa-11e7-8647-534bb4c21040", + "_type": "dashboard", + "_source": { + "description": "This dashboard shows data collected by the OSSEC rootkit pack from osquery", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 2, \"y\": 1, \"w\": 4, \"x\": 8}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"1\", \"id\": \"6ec10290-f4aa-11e7-8647-534bb4c21040\"}, {\"gridData\": {\"i\": \"2\", \"h\": 2, \"y\": 1, \"w\": 4, \"x\": 4}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"2\", \"id\": \"ffdbba50-f4a9-11e7-8647-534bb4c21040\"}, {\"gridData\": {\"i\": \"3\", \"h\": 2, \"y\": 1, \"w\": 4, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"3\", \"id\": \"ab587180-f4a9-11e7-8647-534bb4c21040\"}, {\"gridData\": {\"i\": \"4\", \"h\": 1, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"4\", \"id\": \"2d6e0760-f4ab-11e7-8647-534bb4c21040\"}, {\"gridData\": {\"i\": \"5\", \"h\": 4, \"y\": 3, \"w\": 12, \"x\": 0}, \"type\": \"search\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"5\", \"id\": \"0fe5dc00-f49b-11e7-8647-534bb4c21040\"}]", + "timeRestore": false, + "title": "[Osquery Result] OSSEC rootkit pack", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Remote-IP-Count-Explorer", + "_type": "dashboard", + "_source": { + "description": "Machine learning dashboard, for the Filebeat Traefik module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Remote-IP-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Response-Code-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Top-Remote-IPs-Table\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Map\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Top-URLs-Table\", \"size_x\": 12, \"size_y\": 9, \"panelIndex\": 5, \"col\": 1, \"row\": 7}]", + "timeRestore": false, + "title": "[Filebeat Traefik] [ML] Remote IP Count Explorer", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Remote-IP-Count-Explorer", + "_type": "dashboard", + "_source": { + "description": "Machine learning dashboard, for the Filebeat Nginx module", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Remote-IP-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Response-Code-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Top-Remote-IPs-Table\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Map\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Top-URLs-Table\", \"size_x\": 12, \"size_y\": 9, \"panelIndex\": 5, \"col\": 1, \"row\": 7}]", + "timeRestore": false, + "title": "[Filebeat Nginx] [ML] Remote IP Count Explorer", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9458e6d0-1a79-11e9-98b1-8df03cb1ed5f", + "_type": "dashboard", + "_source": { + "title": "LKFT Dashboard", + "hits": 0, + "description": "", + "panelsJSON": "[{\"gridData\":{\"w\":24,\"h\":15,\"x\":0,\"y\":0,\"i\":\"1\"},\"version\":\"6.5.1\",\"panelIndex\":\"1\",\"type\":\"visualization\",\"id\":\"a8581090-a623-11e8-8538-f34fec203819\",\"embeddableConfig\":{}}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-7d", + "refreshInterval": { + "pause": true, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "158314c0-70be-11e9-8ab9-1b38609ca045", + "_type": "dashboard", + "_source": { + "title": "LKFT Jobfailure", + "hits": 0, + "description": "", + "panelsJSON": "[{\"panelIndex\":\"1\",\"gridData\":{\"x\":0,\"y\":0,\"w\":8,\"h\":4,\"i\":\"1\"},\"version\":\"6.1.4-1\",\"type\":\"visualization\",\"id\":\"daff3a10-725f-11e9-8ab9-1b38609ca045\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-4h", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "AV4REOpp5NkDleZmzKkE", + "_type": "dashboard", + "_source": { + "description": "Overview of docker containers", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Docker-containers\", \"size_x\": 7, \"size_y\": 5, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Docker-Number-of-Containers\", \"size_x\": 5, \"size_y\": 2, \"panelIndex\": 2, \"col\": 8, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Docker-containers-per-host\", \"size_x\": 2, \"size_y\": 3, \"panelIndex\": 3, \"col\": 8, \"row\": 3}, {\"type\": \"visualization\", \"id\": \"Docker-images-and-names\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 7, \"col\": 10, \"row\": 3}, {\"type\": \"visualization\", \"id\": \"Docker-CPU-usage\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Docker-memory-usage\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 5, \"col\": 7, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Docker-Network-IO\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 6, \"col\": 1, \"row\": 9}]", + "timeRestore": false, + "title": "[Metricbeat Docker] Overview", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"legendOpen\": true}}, \"P-7\": {\"vis\": {\"legendOpen\": true}}, \"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": 1, \"direction\": \"asc\"}}}}, \"P-2\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-3\": {\"vis\": {\"legendOpen\": true}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-Apache-HTTPD-server-status", + "_type": "dashboard", + "_source": { + "description": "Overview of Apache server status", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Apache-HTTPD-CPU\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 7, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Hostname-list\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Load1-slash-5-slash-15\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Scoreboard\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 4, \"col\": 1, \"row\": 7}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Total-accesses-and-kbytes\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 5, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Uptime\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 6, \"col\": 4, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Workers\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 7, \"col\": 1, \"row\": 4}]", + "timeRestore": false, + "title": "[Metricbeat Apache] Overview", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-6\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "CPU-slash-Memory-per-container", + "_type": "dashboard", + "_source": { + "description": "Overview of container metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Container-CPU-usage\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"System-Navigation\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 3, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Container-Memory-stats\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 4, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"Container-Block-IO\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 5, \"col\": 1, \"row\": 8}]", + "timeRestore": false, + "title": "[Metricbeat System] Containers overview", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f2dc7320-f519-11e6-a3c9-9d1f7c42b045", + "_type": "dashboard", + "_source": { + "description": "Overview of Go profiling information", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"58000780-f529-11e6-844d-b170e2f0a07e\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 8, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"95388680-f52a-11e6-969c-518c48c913e4\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 9, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"b59a5200-f52a-11e6-969c-518c48c913e4\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 10, \"col\": 9, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"9a9a8bf0-f52a-11e6-969c-518c48c913e4\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 11, \"col\": 5, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"b046cb80-f52a-11e6-969c-518c48c913e4\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 12, \"col\": 7, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"ab226b50-f52a-11e6-969c-518c48c913e4\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 13, \"col\": 1, \"row\": 8}]", + "timeRestore": false, + "title": "[Metricbeat Golang] Overview", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9151c900-471d-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "description": "HAProxy backend metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 2, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"1\", \"id\": \"a64b4fd0-471c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"2\", \"h\": 2, \"y\": 0, \"w\": 3, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"2\", \"id\": \"794b6cd0-471d-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 4, \"y\": 2, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"3\", \"id\": \"bb0ab500-4735-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 2, \"y\": 0, \"w\": 3, \"x\": 9}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"4\", \"id\": \"40bed190-473b-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 2, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"0751ed00-479c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"6\", \"h\": 2, \"y\": 4, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"6\", \"id\": \"b3463670-47a1-11e8-bc13-1397384faad3\"}]", + "timeRestore": false, + "title": "[Metricbeat HAProxy] Backend", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ea488d90-8e63-11e8-8fa2-3d5f811fbd0f", + "_type": "dashboard", + "_source": { + "description": "Kafka analysis of topics and consumer groups", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 13, \"y\": 20, \"w\": 24, \"x\": 0}, \"title\": \"Kafka Topic & Consumer Offsets\", \"panelIndex\": \"1\", \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"b9d12c80-8e63-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"3\", \"h\": 6, \"y\": 0, \"w\": 16, \"x\": 0}, \"title\": \"Kafka Controls\", \"panelIndex\": \"3\", \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"8d2f79a0-8e65-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"6\", \"h\": 14, \"y\": 6, \"w\": 24, \"x\": 0}, \"title\": \"Consumer Group Lag by Topic\", \"panelIndex\": \"6\", \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"944188f0-8e79-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"10\", \"h\": 6, \"y\": 0, \"w\": 25, \"x\": 16}, \"title\": \"Kafka Metrics\", \"panelIndex\": \"10\", \"embeddableConfig\": {\"spy\": null}, \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"dc89f8d0-8e8e-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"12\", \"h\": 7, \"y\": 33, \"w\": 24, \"x\": 0}, \"title\": \"Consumer Partition Reassignments\", \"panelIndex\": \"12\", \"embeddableConfig\": {}, \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"587f2360-8f21-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"13\", \"h\": 6, \"y\": 0, \"w\": 7, \"x\": 41}, \"title\": \"Consumer Metrics\", \"panelIndex\": \"13\", \"embeddableConfig\": {}, \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"1681f1a0-90e7-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"14\", \"h\": 13, \"y\": 27, \"w\": 24, \"x\": 24}, \"title\": \"Kafka Consumer Group Clients\", \"panelIndex\": \"14\", \"embeddableConfig\": {\"spy\": null, \"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"9a7576e0-d231-11e8-8766-dbbdc39e7ba9\"}, {\"gridData\": {\"i\": \"15\", \"h\": 10, \"y\": 6, \"w\": 24, \"x\": 24}, \"title\": \"Kafka Brokers\", \"panelIndex\": \"15\", \"embeddableConfig\": {}, \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"27dd5960-d2ed-11e8-8766-dbbdc39e7ba9\"}, {\"gridData\": {\"i\": \"16\", \"h\": 11, \"y\": 16, \"w\": 24, \"x\": 24}, \"title\": \"Kafka Topic Details\", \"panelIndex\": \"16\", \"embeddableConfig\": {\"table\": {\"sort\": {\"column\": \"26d2cd90-d2f5-11e8-9dd4-c5f03280d7b0\", \"order\": \"desc\"}}}, \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"491fee50-d2f5-11e8-8766-dbbdc39e7ba9\"}]", + "timeRestore": false, + "title": "[Metricbeat Kafka] Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "af7225b0-5794-11e8-afa2-e9067ea62228", + "_type": "dashboard", + "_source": { + "description": "Kubernetes API server metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": false, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 24, \"y\": 22, \"w\": 24, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"1\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"7cbeb750-5794-11e8-afa2-e9067ea62228\"}, {\"gridData\": {\"i\": \"3\", \"h\": 22, \"y\": 0, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"3\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"ec360ff0-57a0-11e8-afa2-e9067ea62228\"}, {\"gridData\": {\"i\": \"4\", \"h\": 24, \"y\": 22, \"w\": 24, \"x\": 24}, \"embeddableConfig\": {}, \"panelIndex\": \"4\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"95a7f110-57a2-11e8-afa2-e9067ea62228\"}]", + "timeRestore": false, + "title": "[Metricbeat Kubernetes] API server", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0836a4b0-47bd-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "description": "HAProxy HTTP backend metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 2, \"y\": 5, \"w\": 4, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"1\", \"id\": \"a64b4fd0-471c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"2\", \"h\": 2, \"y\": 0, \"w\": 3, \"x\": 9}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"2\", \"id\": \"794b6cd0-471d-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 3, \"y\": 2, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"3\", \"id\": \"bb0ab500-4735-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 2, \"y\": 0, \"w\": 3, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"4\", \"id\": \"40bed190-473b-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 5, \"w\": 4, \"x\": 4}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"0751ed00-479c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"6\", \"h\": 2, \"y\": 5, \"w\": 4, \"x\": 8}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"6\", \"id\": \"b3463670-47a1-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"7\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"7\", \"id\": \"fcbdfa60-47bd-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"8\", \"h\": 2, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"8\", \"id\": \"981d1040-47be-11e8-bc13-1397384faad3\"}]", + "timeRestore": false, + "title": "[Metricbeat HAProxy] HTTP backend", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8cc50a50-47e0-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "description": "HAProxy metrics for HTTP mode", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 5, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"0751ed00-479c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"6\", \"h\": 2, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"6\", \"id\": \"b3463670-47a1-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"7\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"7\", \"id\": \"fcbdfa60-47bd-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"8\", \"h\": 2, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"8\", \"id\": \"981d1040-47be-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"10\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"10\", \"id\": \"72e84b00-47e1-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"11\", \"h\": 2, \"y\": 5, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"11\", \"id\": \"976b0910-47e4-11e8-bc13-1397384faad3\"}]", + "timeRestore": false, + "title": "[Metricbeat HAProxy] HTTP server", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4b555c30-47dd-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "description": "HAProxy overview", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"2\", \"h\": 6, \"y\": 2, \"w\": 4, \"x\": 8}, \"title\": \"Servers\", \"panelIndex\": \"2\", \"version\": \"6.2.2\", \"type\": \"visualization\", \"id\": \"79350d50-47db-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 6, \"y\": 2, \"w\": 4, \"x\": 4}, \"title\": \"Backends\", \"panelIndex\": \"3\", \"version\": \"6.2.2\", \"type\": \"visualization\", \"id\": \"8c8f0300-47dc-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 6, \"y\": 2, \"w\": 4, \"x\": 0}, \"title\": \"Frontends\", \"panelIndex\": \"4\", \"version\": \"6.2.2\", \"type\": \"visualization\", \"id\": \"f1e27ed0-47dc-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"a64b4fd0-471c-11e8-bc13-1397384faad3\"}]", + "timeRestore": false, + "title": "[Metricbeat HAProxy] Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e9057ae0-47c5-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "description": "HAProxy frontend metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"3\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"3\", \"id\": \"86159190-47c5-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 3, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"4\", \"id\": \"fcbdfa60-47bd-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"30956d00-47d7-11e8-bc13-1397384faad3\"}]", + "timeRestore": false, + "title": "[Metricbeat HAProxy] HTTP frontend", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d5878d00-47c5-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "description": "HAProxy frontend metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"2\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"2\", \"id\": \"a64b4fd0-471c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"3\", \"id\": \"86159190-47c5-11e8-bc13-1397384faad3\"}]", + "timeRestore": false, + "title": "[Metricbeat HAProxy] Frontend", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "AV4RGUqo5NkDleZmzKuZ", + "_type": "dashboard", + "_source": { + "description": "Overview of Kubernetes cluster metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false, \"useMargins\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"1\", \"id\": \"022a54c0-2bf5-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"2\", \"h\": 3, \"y\": 6, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"2\", \"id\": \"44f12b40-2bf4-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"5\", \"h\": 3, \"y\": 0, \"w\": 3, \"x\": 3}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"cd059410-2bfb-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"6\", \"h\": 3, \"y\": 3, \"w\": 2, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"6\", \"id\": \"e1018b90-2bfb-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"7\", \"h\": 3, \"y\": 6, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"7\", \"id\": \"d6564360-2bfc-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"8\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"8\", \"id\": \"16fa4470-2bfd-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"9\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"9\", \"id\": \"294546b0-30d6-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"10\", \"h\": 3, \"y\": 0, \"w\": 3, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"10\", \"id\": \"408fccf0-30d6-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"11\", \"h\": 3, \"y\": 12, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"11\", \"id\": \"58e644f0-30d6-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"12\", \"h\": 3, \"y\": 12, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"12\", \"id\": \"a4c9d360-30df-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"13\", \"h\": 3, \"y\": 3, \"w\": 2, \"x\": 4}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"13\", \"id\": \"174a6ad0-30e0-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"14\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"14\", \"id\": \"7aac4fd0-30e0-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"15\", \"h\": 3, \"y\": 3, \"w\": 2, \"x\": 2}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"15\", \"id\": \"da1ff7c0-30ed-11e7-b9e5-2b5b07213ab3\"}]", + "timeRestore": false, + "title": "[Metricbeat Kubernetes] Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-MongoDB", + "_type": "dashboard", + "_source": { + "description": "Overview of MongoDB server status", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"MongoDB-hosts\", \"size_x\": 8, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"MongoDB-Engine-ampersand-Version\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 4, \"col\": 9, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"MongoDB-operation-counters\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"MongoDB-Concurrent-transactions-Read\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 6, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"MongoDB-Concurrent-transactions-Write\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 7, \"col\": 10, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"MongoDB-memory-stats\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 5, \"col\": 1, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"MongoDB-asserts\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 7, \"row\": 7}, {\"type\": \"visualization\", \"id\": \"MongoDB-WiredTiger-Cache\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 8, \"col\": 1, \"row\": 7}]", + "timeRestore": false, + "title": "[Metricbeat MongoDB] Overview", + "uiStateJSON": "{\"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "AV4YjZ5pux-M-tCAunxK", + "_type": "dashboard", + "_source": { + "description": "Overview of Redis server metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Redis-Clients-Metrics\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Redis-Connected-clients\", \"size_x\": 5, \"size_y\": 3, \"panelIndex\": 1, \"col\": 4, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Redis-hosts\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"Redis-Server-Versions\", \"size_x\": 4, \"size_y\": 2, \"panelIndex\": 4, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Redis-server-mode\", \"size_x\": 4, \"size_y\": 2, \"panelIndex\": 5, \"col\": 5, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Redis-multiplexing-API\", \"size_x\": 3, \"size_y\": 2, \"panelIndex\": 6, \"col\": 9, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Redis-Keyspaces\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 7, \"col\": 9, \"row\": 1}]", + "timeRestore": false, + "title": "[Metricbeat Redis] Overview", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"legendOpen\": true}}, \"P-2\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "28969190-0511-11e9-9c60-d582a238e2c5", + "_type": "dashboard", + "_source": { + "description": "Redis keys metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"controlledBy\":\"1545388837304\",\"disabled\":false,\"index\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"key\":\"redis.keyspace.id\",\"negate\":false,\"params\":[\"db0\",\"db1\"],\"type\":\"phrases\",\"value\":\"db0, db1\"},\"query\":{\"bool\":{\"minimum_should_match\":1,\"should\":[{\"match_phrase\":{\"redis.keyspace.id\":\"db0\"}},{\"match_phrase\":{\"redis.keyspace.id\":\"db1\"}}]}}}],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 5, \"y\": 0, \"w\": 12, \"x\": 0}, \"title\": \"Keyspace selector\", \"panelIndex\": \"1\", \"embeddableConfig\": {}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"00d39210-050d-11e9-9c60-d582a238e2c5\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 0, \"w\": 36, \"x\": 12}, \"title\": \"Lists length\", \"panelIndex\": \"2\", \"embeddableConfig\": {}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"7f4bc7d0-050c-11e9-9c60-d582a238e2c5\"}, {\"gridData\": {\"i\": \"3\", \"h\": 10, \"y\": 5, \"w\": 12, \"x\": 0}, \"title\": \"Keys by type\", \"panelIndex\": \"3\", \"embeddableConfig\": {\"vis\": {\"legendOpen\": false}}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"4435ac40-050e-11e9-9c60-d582a238e2c5\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 0}, \"title\": \"Average size of string keys\", \"panelIndex\": \"4\", \"embeddableConfig\": {}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"8541a4a0-0513-11e9-9c60-d582a238e2c5\"}, {\"gridData\": {\"i\": \"5\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 24}, \"title\": \"Average keys TTL\", \"panelIndex\": \"5\", \"embeddableConfig\": {}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"517a5fd0-0514-11e9-9c60-d582a238e2c5\"}]", + "timeRestore": false, + "title": "[Metricbeat Redis] Keys", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "AV4YobKIge1VCbKU_qVo", + "_type": "dashboard", + "_source": { + "description": "Overview of RabbitMQ status", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"RabbitMQ-Memory-Usage\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 8, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Rabbitmq-Number-of-Nodes\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 2, \"col\": 8, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"RabbitMQ-Erlang-Process-Usage\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 10, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"RabbitMQ-Queue-Index-Operations\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 9, \"col\": 7, \"row\": 4}]", + "timeRestore": false, + "title": "[Metricbeat RabbitMQ] Overview", + "uiStateJSON": "{\"P-2\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "66881e90-0006-11e7-bf7f-c9acc3d3e306", + "_type": "dashboard", + "_source": { + "description": "Overview of MySQL server", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false, \"useMargins\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"10\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"10\", \"id\": \"d7e6bee0-f1f3-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"11\", \"h\": 3, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"11\", \"id\": \"695a4f90-f1f4-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"13\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"13\", \"id\": \"124dce60-f1f5-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"14\", \"h\": 3, \"y\": 6, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"14\", \"id\": \"aaa326b0-f1f5-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"15\", \"h\": 3, \"y\": 6, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"15\", \"id\": \"fb1f3f20-f1f5-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"16\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"16\", \"id\": \"f5b35930-f1f6-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"17\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"17\", \"id\": \"7404feb0-f1f7-11e7-85ab-594b1652e0d1\"}]", + "timeRestore": false, + "title": "[Metricbeat MySQL] Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "467207a0-231e-11e9-bb66-8baac426dfd4", + "_type": "dashboard", + "_source": { + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 15, \"y\": 15, \"w\": 15, \"x\": 0}, \"title\": \"Approximate data size\", \"panelIndex\": \"1\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"8d3b7770-2319-11e9-bb66-8baac426dfd4\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 15, \"w\": 17, \"x\": 15}, \"title\": \"Latency\", \"panelIndex\": \"2\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"c0be43c0-2319-11e9-bb66-8baac426dfd4\"}, {\"gridData\": {\"i\": \"3\", \"h\": 15, \"y\": 15, \"w\": 16, \"x\": 32}, \"title\": \"Alive Connections\", \"panelIndex\": \"3\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"1c2f8930-231a-11e9-bb66-8baac426dfd4\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 0, \"w\": 25, \"x\": 23}, \"title\": \"Used file descriptors\", \"panelIndex\": \"4\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"ddb13c60-231b-11e9-bb66-8baac426dfd4\"}, {\"gridData\": {\"i\": \"5\", \"h\": 15, \"y\": 0, \"w\": 23, \"x\": 0}, \"title\": \"Packets received / sent\", \"panelIndex\": \"5\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"d2f52b50-231c-11e9-bb66-8baac426dfd4\"}]", + "timeRestore": false, + "title": "[Metricbeat Zookeeper] Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "32fca290-f0af-11e7-b9ff-9f96241065de", + "_type": "dashboard", + "_source": { + "description": "Overview of uWSGI service metrics", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"a5058e70-f0ae-11e7-b9ff-9f96241065de\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ac7194b0-f0ae-11e7-b9ff-9f96241065de\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"8c5f96e0-f0ae-11e7-b9ff-9f96241065de\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ba4a80b0-f0ae-11e7-b9ff-9f96241065de\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}]", + "timeRestore": false, + "title": "[Metricbeat uWSGI] Overview", + "uiStateJSON": "{}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d9eba730-c991-11e7-9835-2f31fe08873b", + "_type": "dashboard", + "_source": { + "description": "Overview of the Windows Service States", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"eb8277d0-c98c-11e7-9835-2f31fe08873b\", \"size_x\": 9, \"size_y\": 5, \"panelIndex\": 1, \"col\": 4, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"23a5fff0-c98e-11e7-9835-2f31fe08873b\", \"size_x\": 3, \"size_y\": 5, \"panelIndex\": 2, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"830c45f0-c991-11e7-9835-2f31fe08873b\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"35f5ad60-c996-11e7-9835-2f31fe08873b\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 4, \"col\": 5, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"c36b2ba0-ca29-11e7-9835-2f31fe08873b\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 5, \"col\": 9, \"row\": 1}]", + "timeRestore": false, + "title": "[Metricbeat Windows] Services", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-5\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "023d2930-f1a5-11e7-a9ef-93c69af7b129", + "_type": "dashboard", + "_source": { + "description": "Overview dashboard for the Nginx module in Metricbeat", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"1\", \"id\": \"555df8a0-f1a1-11e7-a9ef-93c69af7b129\"}, {\"gridData\": {\"i\": \"2\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"2\", \"id\": \"a1d92240-f1a1-11e7-a9ef-93c69af7b129\"}, {\"gridData\": {\"i\": \"3\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"3\", \"id\": \"d763a570-f1a1-11e7-a9ef-93c69af7b129\"}, {\"gridData\": {\"i\": \"4\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"4\", \"id\": \"47a8e0f0-f1a4-11e7-a9ef-93c69af7b129\"}, {\"gridData\": {\"i\": \"5\", \"h\": 3, \"y\": 6, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"5\", \"id\": \"dcbffe30-f1a4-11e7-a9ef-93c69af7b129\"}]", + "timeRestore": false, + "title": "[Metricbeat Nginx] Overview", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "79ffd6e0-faa0-11e6-947f-177f697178b8", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat System] Host overview", + "hits": 0, + "description": "Overviw of host metrics", + "panelsJSON": "[{\"gridData\":{\"h\":3,\"i\":\"1\",\"w\":6,\"x\":0,\"y\":11},\"id\":\"6b7b9a40-faa1-11e6-86b1-cd7735ff7e23\",\"panelIndex\":\"1\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"2\",\"w\":6,\"x\":6,\"y\":5},\"id\":\"4d546850-1b15-11e7-b09e-037021c4f8df\",\"panelIndex\":\"2\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"3\",\"w\":6,\"x\":6,\"y\":11},\"id\":\"089b85d0-1b16-11e7-b09e-037021c4f8df\",\"panelIndex\":\"3\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"4\",\"w\":6,\"x\":0,\"y\":8},\"id\":\"bfa5e400-1b16-11e7-b09e-037021c4f8df\",\"panelIndex\":\"4\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"5\",\"w\":6,\"x\":6,\"y\":14},\"id\":\"e0f001c0-1b18-11e7-b09e-037021c4f8df\",\"panelIndex\":\"5\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"6\",\"w\":6,\"x\":0,\"y\":14},\"id\":\"2e224660-1b19-11e7-b09e-037021c4f8df\",\"panelIndex\":\"6\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"7\",\"w\":6,\"x\":0,\"y\":5},\"id\":\"ab2d1e90-1b1a-11e7-b09e-037021c4f8df\",\"panelIndex\":\"7\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"8\",\"w\":6,\"x\":6,\"y\":8},\"id\":\"4e4bb1e0-1b1b-11e7-b09e-037021c4f8df\",\"panelIndex\":\"8\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"9\",\"w\":2,\"x\":4,\"y\":1},\"id\":\"26732e20-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"10\",\"w\":2,\"x\":0,\"y\":1},\"id\":\"83e12df0-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"10\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"11\",\"w\":2,\"x\":2,\"y\":1},\"id\":\"d3166e80-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"11\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"12\",\"w\":2,\"x\":6,\"y\":1},\"id\":\"522ee670-1b92-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"12\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"13\",\"w\":2,\"x\":8,\"y\":1},\"id\":\"1aae9140-1b93-11e7-8ada-3df93aab833e\",\"panelIndex\":\"13\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"14\",\"w\":4,\"x\":8,\"y\":3},\"id\":\"34f97ee0-1b96-11e7-8ada-3df93aab833e\",\"panelIndex\":\"14\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":1,\"i\":\"16\",\"w\":6,\"x\":0,\"y\":0},\"id\":\"System-Navigation\",\"panelIndex\":\"16\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"21\",\"w\":2,\"x\":0,\"y\":3},\"id\":\"19e123b0-4d5a-11e7-aee5-fdc812cc3bec\",\"panelIndex\":\"21\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"22\",\"w\":2,\"x\":2,\"y\":3},\"id\":\"d2e80340-4d5c-11e7-aa29-87a97a796de6\",\"panelIndex\":\"22\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"23\",\"w\":2,\"x\":6,\"y\":3},\"id\":\"825fdb80-4d1d-11e7-b5f2-2b7c1895bf32\",\"panelIndex\":\"23\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"25\",\"w\":2,\"x\":10,\"y\":1},\"id\":\"96976150-4d5d-11e7-aa29-87a97a796de6\",\"panelIndex\":\"25\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"27\",\"w\":6,\"x\":0,\"y\":17},\"id\":\"99381c80-4d60-11e7-9a4c-ed99bbcaa42b\",\"panelIndex\":\"27\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"28\",\"w\":6,\"x\":6,\"y\":17},\"id\":\"c5e3cf90-4d60-11e7-9a4c-ed99bbcaa42b\",\"panelIndex\":\"28\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"29\",\"w\":2,\"x\":4,\"y\":3},\"id\":\"590a60f0-5d87-11e7-8884-1bb4c3b890e4\",\"panelIndex\":\"29\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":1,\"i\":\"30\",\"w\":6,\"x\":6,\"y\":0},\"id\":\"3d65d450-a9c3-11e7-af20-67db8aecb295\",\"panelIndex\":\"30\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"useMargins\":false}", + "uiStateJSON": "{\"P-29\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}}}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-7d", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"default_field\":\"*\",\"query\":\"beat.name:\\\"lkft-master.lavalab\\\"\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dddc1860-c6c4-11ea-9cf6-c19e3a7fac53", + "_type": "dashboard", + "_source": { + "title": "LKFT Lava Jobqueue - 1 Minute Interval", + "hits": 0, + "description": "Snapshot of the LKFT LAVA jobqueue for the past 24 hours at 1 minute intervals.", + "panelsJSON": "[{\"gridData\":{\"h\":3,\"i\":\"1\",\"w\":6,\"x\":0,\"y\":0},\"id\":\"0fb2b0c0-c6c4-11ea-9cf6-c19e3a7fac53\",\"panelIndex\":\"1\",\"title\":\"LKFT LAVA Jobqueue - Minute Interval\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-24h", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "27e87f10-83e1-11ea-a795-b501b684e6e8", + "_type": "dashboard", + "_source": { + "title": "Kisscache", + "hits": 0, + "description": "", + "panelsJSON": "[{\"gridData\":{\"h\":3,\"i\":\"4\",\"w\":6,\"x\":6,\"y\":6},\"id\":\"720a7fc0-848c-11ea-a795-b501b684e6e8\",\"panelIndex\":\"4\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"5\",\"w\":6,\"x\":0,\"y\":6},\"id\":\"59e66790-847a-11ea-a795-b501b684e6e8\",\"panelIndex\":\"5\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"6\",\"w\":6,\"x\":0,\"y\":0},\"id\":\"187dd8d0-848c-11ea-a795-b501b684e6e8\",\"panelIndex\":\"6\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"7\",\"w\":6,\"x\":0,\"y\":3},\"id\":\"70a79ef0-848d-11ea-a795-b501b684e6e8\",\"panelIndex\":\"7\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"8\",\"w\":6,\"x\":6,\"y\":3},\"id\":\"8b13dac0-8491-11ea-a795-b501b684e6e8\",\"panelIndex\":\"8\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"9\",\"w\":6,\"x\":0,\"y\":9},\"id\":\"550e1470-848e-11ea-a795-b501b684e6e8\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"10\",\"w\":6,\"x\":6,\"y\":0},\"id\":\"7df7b9a0-8492-11ea-a795-b501b684e6e8\",\"panelIndex\":\"10\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"13\",\"w\":6,\"x\":6,\"y\":9},\"id\":\"41626300-8492-11ea-a795-b501b684e6e8\",\"panelIndex\":\"13\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{\"P-3\":{\"vis\":{\"defaultColors\":{\"0 - 50\":\"rgb(0,104,55)\",\"50 - 75\":\"rgb(255,255,190)\",\"75 - 100\":\"rgb(165,0,38)\"}}},\"P-5\":{\"vis\":{\"defaultColors\":{\"0 - 50\":\"rgb(0,104,55)\",\"50 - 75\":\"rgb(255,255,190)\",\"75 - 100\":\"rgb(165,0,38)\"}}},\"P-7\":{\"vis\":{\"colors\":{\"requests\":\"#447EBC\"}}}}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-60d", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-system-overview", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat System] Overview", + "hits": 0, + "description": "Overview of system metrics", + "panelsJSON": "[{\"gridData\":{\"h\":1,\"i\":\"9\",\"w\":12,\"x\":0,\"y\":0},\"id\":\"System-Navigation\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"11\",\"w\":2,\"x\":0,\"y\":1},\"id\":\"c6f2ffd0-4d17-11e7-a196-69b9a7a020a9\",\"panelIndex\":\"11\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":4,\"i\":\"12\",\"w\":6,\"x\":6,\"y\":3},\"id\":\"fe064790-1b1f-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"12\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":4,\"i\":\"13\",\"w\":6,\"x\":0,\"y\":3},\"id\":\"855899e0-1b1c-11e7-b09e-037021c4f8df\",\"panelIndex\":\"13\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"16\",\"w\":2,\"x\":8,\"y\":1},\"id\":\"522ee670-1b92-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"16\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"17\",\"w\":2,\"x\":10,\"y\":1},\"id\":\"1aae9140-1b93-11e7-8ada-3df93aab833e\",\"panelIndex\":\"17\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"18\",\"w\":2,\"x\":6,\"y\":1},\"id\":\"825fdb80-4d1d-11e7-b5f2-2b7c1895bf32\",\"panelIndex\":\"18\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"19\",\"w\":2,\"x\":4,\"y\":1},\"id\":\"d3166e80-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"19\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"20\",\"w\":2,\"x\":2,\"y\":1},\"id\":\"83e12df0-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"20\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":6,\"i\":\"21\",\"w\":12,\"x\":0,\"y\":7},\"id\":\"5ed8f9f0-c2a2-11ea-9cf6-c19e3a7fac53\",\"panelIndex\":\"21\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"useMargins\":false}", + "uiStateJSON": "{\"P-11\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-12\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-14\":{\"vis\":{\"defaultColors\":{\"0% - 20%\":\"rgb(247,252,245)\",\"20% - 40%\":\"rgb(199,233,192)\",\"40% - 60%\":\"rgb(116,196,118)\",\"60% - 80%\":\"rgb(35,139,69)\"}}},\"P-16\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-2\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-21\":{\"vis\":{\"params\":{\"config\":{\"searchKeyword\":\"\"},\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"P-3\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"default_field\":\"*\",\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Overview", + "_type": "dashboard", + "_source": { + "title": "Overview", + "hits": 0, + "description": "Overview of system metrics", + "panelsJSON": "[{\"gridData\":{\"h\":1,\"i\":\"9\",\"w\":12,\"x\":0,\"y\":0},\"id\":\"System-Navigation\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"11\",\"w\":2,\"x\":0,\"y\":1},\"id\":\"c6f2ffd0-4d17-11e7-a196-69b9a7a020a9\",\"panelIndex\":\"11\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":4,\"i\":\"12\",\"w\":6,\"x\":6,\"y\":3},\"id\":\"fe064790-1b1f-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"12\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":4,\"i\":\"13\",\"w\":6,\"x\":0,\"y\":3},\"id\":\"855899e0-1b1c-11e7-b09e-037021c4f8df\",\"panelIndex\":\"13\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"16\",\"w\":2,\"x\":8,\"y\":1},\"id\":\"522ee670-1b92-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"16\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"17\",\"w\":2,\"x\":10,\"y\":1},\"id\":\"1aae9140-1b93-11e7-8ada-3df93aab833e\",\"panelIndex\":\"17\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"18\",\"w\":2,\"x\":6,\"y\":1},\"id\":\"825fdb80-4d1d-11e7-b5f2-2b7c1895bf32\",\"panelIndex\":\"18\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"19\",\"w\":2,\"x\":4,\"y\":1},\"id\":\"d3166e80-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"19\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"20\",\"w\":2,\"x\":2,\"y\":1},\"id\":\"83e12df0-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"20\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":6,\"i\":\"21\",\"w\":12,\"x\":0,\"y\":7},\"id\":\"5ed8f9f0-c2a2-11ea-9cf6-c19e3a7fac53\",\"panelIndex\":\"21\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"useMargins\":false}", + "uiStateJSON": "{\"P-11\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-12\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-14\":{\"vis\":{\"defaultColors\":{\"0% - 20%\":\"rgb(247,252,245)\",\"20% - 40%\":\"rgb(199,233,192)\",\"40% - 60%\":\"rgb(116,196,118)\",\"60% - 80%\":\"rgb(35,139,69)\"}}},\"P-16\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-2\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-21\":{\"vis\":{\"params\":{\"config\":{\"searchKeyword\":\"\"},\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"P-3\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"default_field\":\"*\",\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "861f0220-a625-11e8-8538-f34fec203819", + "_type": "dashboard", + "_source": { + "title": "LAVA Jobqueue Length", + "hits": 0, + "description": "", + "panelsJSON": "[{\"panelIndex\":\"3\",\"gridData\":{\"x\":5,\"y\":0,\"w\":5,\"h\":4,\"i\":\"3\"},\"embeddableConfig\":{},\"id\":\"a8581090-a623-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue LKFT\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"4\",\"gridData\":{\"x\":0,\"y\":0,\"w\":5,\"h\":4,\"i\":\"4\"},\"embeddableConfig\":{},\"id\":\"c6670080-a625-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue Validation\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"7\",\"gridData\":{\"x\":5,\"y\":4,\"w\":5,\"h\":4,\"i\":\"7\"},\"id\":\"d2128630-8286-11eb-b4ce-c7a87883d896\",\"title\":\"LAVA Queue TF\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"panelIndex\":\"8\",\"gridData\":{\"x\":0,\"y\":8,\"w\":5,\"h\":4,\"i\":\"8\"},\"id\":\"0a6c35a0-860e-11eb-ab35-ab7823fa4527\",\"title\":\"LAVA Queue Morello\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"title\":\"LAVA Queue LEDGE\",\"panelIndex\":\"9\",\"gridData\":{\"x\":0,\"y\":4,\"w\":5,\"h\":4,\"i\":\"9\"},\"id\":\"21bd8920-864f-11eb-ab35-ab7823fa4527\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"panelIndex\":\"10\",\"gridData\":{\"x\":5,\"y\":8,\"w\":5,\"h\":4,\"i\":\"10\"},\"id\":\"e0e68790-b1ed-11e8-852d-55393e7ce617\",\"title\":\"LAVA Queue PWMG\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{\"P-2\":{\"vis\":{\"colors\":{\"juno\":\"#65C5DB\"}}}}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-6h", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c4e80aa0-1fd4-11e9-ae2a-939083c6a64e", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"iptables.ubiquiti.rule_set :*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Ubiquiti Firewall Events [Filebeat Iptables]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9f7d97c0-1fe9-11e9-ae2a-939083c6a64e", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"iptables.ubiquiti.rule_set :* and event.outcome : \\\"deny\\\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Ubiquiti Firewall Blocked Events [Filebeat Iptables]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7862cab0-1fdb-11e9-ae2a-939083c6a64e", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"iptables.ubiquiti.rule_set :* and event.outcome : \\\"allow\\\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Ubiquiti Firewall Allowed Events [Filebeat Iptables]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "_type": "search", + "_source": { + "columns": [ + "host.name", + "suricata.eve.flow_id", + "suricata.eve.src_ip", + "suricata.eve.src_port", + "suricata.eve.dest_ip", + "suricata.eve.dest_port", + "source_ecs.geo.country_iso_code", + "destination.geo.country_iso_code" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"event.type\",\"negate\":false,\"params\":{\"query\":\"alert\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"alert\"},\"query\":{\"match\":{\"event.type\":{\"query\":\"alert\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"suricata\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"suricata\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"suricata\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Alerts [Suricata]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length :*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Events Search [Filebeat Iptables]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Kafka stacktraces", + "_type": "search", + "_source": { + "columns": [ + "kafka.log.class", + "kafka.log.trace.class", + "kafka.log.trace.full" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"_exists_:kafka.log.trace.class\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Stacktraces [Filebeat Kafka]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "All Kafka logs", + "_type": "search", + "_source": { + "columns": [ + "kafka.log.level", + "kafka.log.component", + "kafka.log.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"kafka\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"kafka\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"kafka\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"log\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"log\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"log\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "All logs [Filebeat Kafka]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "PostgreSQL All Logs", + "_type": "search", + "_source": { + "columns": [ + "postgresql.log.user", + "postgresql.log.database", + "postgresql.log.level", + "postgresql.log.message", + "postgresql.log.query" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"postgresql\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"postgresql\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"postgresql\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "All Logs [Filebeat PostgreSQL]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Slow PostgreSQL Queries", + "_type": "search", + "_source": { + "columns": [ + "postgresql.log.user", + "postgresql.log.database", + "postgresql.log.duration", + "postgresql.log.query" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"postgresql.log.duration:\\u003e30\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Slow Queries [Filebeat PostgreSQL]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "PostgreSQL Query Durations", + "_type": "search", + "_source": { + "columns": [ + "postgresql.log.user", + "postgresql.log.database", + "postgresql.log.duration", + "postgresql.log.query" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"postgresql.log.duration:*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Query Durations [Filebeat PostgreSQL]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e49fe000-0a7e-11e8-bffe-ff7d4f68cf94", + "_type": "search", + "_source": { + "columns": [ + "mongodb.log.timestamp", + "mongodb.log.severity", + "mongodb.log.component", + "mongodb.log.context", + "mongodb.log.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"mongodb.log.severity: F or mongodb.log.severity: W\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Error logs [Filebeat MongoDB]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "bfc96a60-0a80-11e8-bffe-ff7d4f68cf94", + "_type": "search", + "_source": { + "columns": [ + "mongodb.log.timestamp", + "mongodb.log.severity", + "mongodb.log.component", + "mongodb.log.context", + "mongodb.log.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"mongodb.log.severity: *\"},\"version\":true}" + }, + "sort": [ + "mongodb.log.timestamp", + "asc" + ], + "title": "All logs [Filebeat MongoDB]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "_type": "search", + "_source": { + "columns": [ + "host.name", + "event.type", + "suricata.eve.flow_id", + "suricata.eve.proto", + "source_ecs.ip", + "suricata.eve.src_port", + "suricata.eve.dest_ip", + "suricata.eve.dest_port", + "destination.geo.region_name", + "destination.geo.country_iso_code" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"event.type\",\"negate\":true,\"params\":{\"query\":\"stats\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"stats\"},\"query\":{\"match\":{\"event.type\":{\"query\":\"stats\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"suricata\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"suricata\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"suricata\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Events [Suricata]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d57a2db0-86ca-11e8-b59d-21efb914e65c", + "_type": "search", + "_source": { + "columns": [ + "host.name", + "suricata.eve.stats.detect.alert", + "suricata.eve.stats.app_layer.flow.dns_udp", + "suricata.eve.stats.app_layer.flow.tls", + "suricata.eve.stats.app_layer.flow.http", + "suricata.eve.stats.app_layer.flow.ssh", + "suricata.eve.stats.tcp.sessions" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"suricata\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"suricata\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"suricata\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"event.type\",\"negate\":false,\"params\":{\"query\":\"stats\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"stats\"},\"query\":{\"match\":{\"event.type\":{\"query\":\"stats\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Host Stats [Suricata]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-errors-log", + "_type": "search", + "_source": { + "columns": [ + "apache2.error.client", + "apache2.error.level", + "apache2.error.module", + "apache2.error.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:apache2.error\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Apache errors log [Filebeat Apache2]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-access-logs", + "_type": "search", + "_source": { + "columns": [ + "apache2.access.remote_ip", + "apache2.access.method", + "apache2.access.url", + "apache2.access.response_code" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:apache2.access\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Apache access logs [Filebeat Apache2]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4ac0a370-0a11-11e7-8b04-eb22a5669f27", + "_type": "search", + "_source": { + "columns": [ + "auditd.log.record_type", + "auditd.log.sequence", + "auditd.log.acct" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:auditd.log\"}},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Audit Events [Filebeat Auditd]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b6f321e0-fa25-11e6-bbd3-29c986c96e5a", + "_type": "search", + "_source": { + "columns": [ + "system.auth.user", + "system.auth.sudo.user", + "system.auth.sudo.pwd", + "system.auth.sudo.command" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.sudo\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Sudo commands [Filebeat System]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c876e6a0-2418-11e7-a83b-d5f4cebac9ff", + "_type": "search", + "_source": { + "columns": [ + "icinga.debug.facility", + "icinga.debug.severity", + "icinga.debug.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"icinga\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"icinga\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"icinga\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"debug\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"debug\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"debug\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Debug Log [Filebeat Icinga]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ffaf5a30-2413-11e7-a0d9-39604d45ca7f", + "_type": "search", + "_source": { + "columns": [ + "icinga.main.facility", + "icinga.main.severity", + "icinga.main.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"icinga\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"icinga\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"icinga\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"main\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"main\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"main\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Main Log [Filebeat Icinga]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "710043e0-2417-11e7-a83b-d5f4cebac9ff", + "_type": "search", + "_source": { + "columns": [ + "icinga.startup.facility", + "icinga.startup.severity", + "icinga.startup.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"icinga.startup.severity:critical\"}}},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Startup Errors [Filebeat Icinga]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Nginx-module", + "_type": "search", + "_source": { + "columns": [ + "nginx.access.url", + "nginx.access.method", + "nginx.access.response_code", + "nginx.access.referrer", + "nginx.access.body_sent.bytes" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:nginx\"}}},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Nginx logs [Filebeat Nginx]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-MySQL-error-log", + "_type": "search", + "_source": { + "columns": [ + "mysql.error.level", + "mysql.error.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"mysql\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"mysql\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"mysql\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"error\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"error\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"error\",\"type\":\"phrase\"}}}}],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Error logs [Filebeat MySQL]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-MySQL-Slow-log", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"mysql\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"mysql\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"mysql\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"slowlog\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"slowlog\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"slowlog\",\"type\":\"phrase\"}}}}],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Slow logs [Filebeat MySQL]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "73613570-4791-11e7-be88-2ddb32f3df97", + "_type": "search", + "_source": { + "columns": [ + "beat.name", + "redis.log.level", + "redis.log.role", + "redis.log.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"redis\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"redis\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"redis\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"log\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"log\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"log\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Logs [Filebeat Redis]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0ab87b80-478e-11e7-b1f0-cb29bac6bf8b", + "_type": "search", + "_source": { + "columns": [ + "beat.name", + "message", + "redis.slowlog.duration.us", + "redis.slowlog.key" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:redis.slowlog\"}}},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Slow logs [Filebeat Redis]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "742e45d0-cbdd-11e7-9852-73e0a9df1bb6", + "_type": "search", + "_source": { + "columns": [ + "logstash.slowlog.level", + "logstash.slowlog.plugin_type", + "logstash.slowlog.plugin_name", + "logstash.slowlog.message", + "logstash.slowlog.plugin_params", + "logstash.slowlog.execution_time_ns" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"logstash\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"logstash\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"logstash\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"slowlog\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"slowlog\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"slowlog\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "logstash.slowlog.level", + "asc" + ], + "title": "Slow logs [Filebeat Logstash]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "cfaba090-cbda-11e7-9852-73e0a9df1bb6", + "_type": "search", + "_source": { + "columns": [ + "logstash.log.level", + "logstash.log.module", + "logstash.log.message", + "source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"logstash\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"logstash\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"logstash\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"log\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"log\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"log\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "logs [Filebeat Logstash]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "_type": "search", + "_source": { + "columns": [ + "system.auth.useradd.name", + "system.auth.useradd.uid", + "system.auth.useradd.gid", + "system.auth.useradd.home", + "system.auth.useradd.shell" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.useradd\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "useradd logs [Filebeat System]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "eb0039f0-fa7f-11e6-a1df-a78bd7504d38", + "_type": "search", + "_source": { + "columns": [ + "system.auth.groupadd.name", + "system.auth.groupadd.gid" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.groupadd\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "groupadd logs [Filebeat System]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "62439dc0-f9c9-11e6-a747-6121780e0414", + "_type": "search", + "_source": { + "columns": [ + "system.auth.ssh.event", + "system.auth.ssh.method", + "system.auth.user", + "system.auth.ssh.ip", + "system.auth.ssh.geoip.country_iso_code" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.ssh.event\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "SSH login attempts [Filebeat System]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Syslog-system-logs", + "_type": "search", + "_source": { + "columns": [ + "system.syslog.hostname", + "system.syslog.program", + "system.syslog.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.syslog\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Syslog logs [Filebeat System]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9eb25600-a1f0-11e7-928f-5dbe6f6f5519", + "_type": "search", + "_source": { + "columns": [ + "nginx.error.level", + "nginx.error.message" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"_exists_:nginx AND _exists_:nginx.error.message\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Nginx error logs [Filebeat Nginx]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "6d9e66d0-a1f0-11e7-928f-5dbe6f6f5519", + "_type": "search", + "_source": { + "columns": [ + "nginx.access.url", + "nginx.access.method", + "nginx.access.response_code", + "nginx.access.body_sent.bytes" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"_exists_:nginx AND _exists_:nginx.access.url\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Nginx access logs [Filebeat Nginx]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Filebeat-Traefik-Access", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "Filebeat Traefik Access Data", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:traefik.access\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "ML Access Data [Filebeat Traefik]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Filebeat-Nginx-Access", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "Filebeat Nginx Access Data", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:nginx.access\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "ML Access Data [Filebeat Nginx]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Traefik-module", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:traefik\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Traefik logs [Filebeat Traefik]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7a9482d0-eb00-11e7-8f04-51231daa5b05", + "_type": "search", + "_source": { + "columns": [ + "osquery.result.columns.path", + "osquery.result.columns.type", + "osquery.result.columns.flags" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.name\",\"negate\":false,\"params\":{\"query\":\"pack_it-compliance_mounts\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"pack_it-compliance_mounts\"},\"query\":{\"match\":{\"osquery.result.name\":{\"query\":\"pack_it-compliance_mounts\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Mounts [Osquery results]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3824b080-eb02-11e7-8f04-51231daa5b05", + "_type": "search", + "_source": { + "columns": [ + "osquery.result.columns.name", + "osquery.result.columns.version", + "osquery.result.columns.revision" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.name\",\"negate\":false,\"params\":{\"query\":\"pack_it-compliance_deb_packages\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"pack_it-compliance_deb_packages\"},\"query\":{\"match\":{\"osquery.result.name\":{\"query\":\"pack_it-compliance_deb_packages\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "DEB packages installed [Osquery results]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b5d6baa0-eb02-11e7-8f04-51231daa5b05", + "_type": "search", + "_source": { + "columns": [ + "osquery.result.name" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.name\",\"negate\":false,\"params\":{\"query\":\"pack_it-compliance_os_version\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"pack_it-compliance_os_version\"},\"query\":{\"match\":{\"osquery.result.name\":{\"query\":\"pack_it-compliance_os_version\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "OS versions [Osquery results]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f59e21e0-eb03-11e7-8f04-51231daa5b05", + "_type": "search", + "_source": { + "columns": [ + "osquery.result.name", + "osquery.result.columns.name", + "osquery.result.columns.status" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.name\",\"negate\":false,\"params\":{\"query\":\"pack_it-compliance_kernel_modules\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"pack_it-compliance_kernel_modules\"},\"query\":{\"match\":{\"osquery.result.name\":{\"query\":\"pack_it-compliance_kernel_modules\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Kernel modules [Osquery results]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0fe5dc00-f49b-11e7-8647-534bb4c21040", + "_type": "search", + "_source": { + "columns": [ + "osquery.result.name", + "osquery.result.columns.path", + "beat.hostname" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"query\",\"negate\":false,\"type\":\"custom\",\"value\":\"{\\\"prefix\\\":{\\\"osquery.result.name\\\":\\\"pack_ossec-rootkit\\\"}}\"},\"query\":{\"prefix\":{\"osquery.result.name\":\"pack_ossec-rootkit\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"osquery\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"osquery\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"osquery\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"result\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"result\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"result\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "OSSEC Rootkits [Osquery Result]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "20280fd0-a624-11e8-8538-f34fec203819", + "_type": "search", + "_source": { + "title": "jobqueue_validation", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "device.timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"b1578e40-a606-11e8-9dd0-e5c705b98d0d\",\"type\":\"phrase\",\"key\":\"device.lava_server\",\"value\":\"validation.linaro.org\",\"params\":{\"query\":\"validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"device.lava_server\":{\"query\":\"validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "43f85670-a6da-11e8-83fb-2d7acaa76fd6", + "_type": "search", + "_source": { + "title": "jobqueue_pwmg", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "device.timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\"highlightAll\":true,\"version\":true,\"query\":{\"query\":\"\",\"language\":\"lucene\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"e29da230-a6d0-11e8-9f01-ff6e57cf4784\",\"type\":\"phrase\",\"key\":\"device.lava_server\",\"value\":\"pmwg.validation.linaro.org\",\"params\":{\"query\":\"pmwg.validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"device.lava_server\":{\"query\":\"pmwg.validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7ca82c00-a60a-11e8-9dd0-e5c705b98d0d", + "_type": "search", + "_source": { + "title": "jobqueue_lkft", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "device.timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"b1578e40-a606-11e8-9dd0-e5c705b98d0d\",\"type\":\"phrase\",\"key\":\"device.lava_server\",\"value\":\"lkft.validation.linaro.org\",\"params\":{\"query\":\"lkft.validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"device.lava_server\":{\"query\":\"lkft.validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "324e8c50-a6da-11e8-83fb-2d7acaa76fd6", + "_type": "search", + "_source": { + "title": "jobqueue_lng", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "device.timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\n \"index\": \"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\n \"highlightAll\": true,\n \"version\": true,\n \"query\": {\n \"language\": \"lucene\",\n \"query\": \"\"\n },\n \"filter\": [\n {\n \"meta\": {\n \"negate\": false,\n \"index\": \"e29da230-a6d0-11e8-9f01-ff6e57cf4784\",\n \"type\": \"phrase\",\n \"key\": \"device.lava_server\",\n \"value\": \"lng.validation.linaro.org\",\n \"params\": {\n \"query\": \"lng.validation.linaro.org\",\n \"type\": \"phrase\"\n },\n \"disabled\": false,\n \"alias\": null\n },\n \"query\": {\n \"match\": {\n \"device.lava_server\": {\n \"query\": \"lng.validation.linaro.org\",\n \"type\": \"phrase\"\n }\n }\n },\n \"$state\": {\n \"store\": \"appState\"\n }\n }\n ]\n}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4710ee00-71b2-11e9-8ab9-1b38609ca045", + "_type": "search", + "_source": { + "title": "jobfailure_lkft", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "time_stamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"a64fb940-c1b7-11ea-9cf6-c19e3a7fac53\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[{\"meta\":{\"negate\":false,\"index\":\"9a1184c0-70bd-11e9-8ab9-1b38609ca045\",\"type\":\"phrase\",\"key\":\"lava_server\",\"value\":\"lkft.validation.linaro.org\",\"params\":{\"query\":\"lkft.validation.linaro.org\",\"type\":\"phrase\"},\"disabled\":false,\"alias\":null},\"query\":{\"match\":{\"lava_server\":{\"query\":\"lkft.validation.linaro.org\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-Docker", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:docker\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Metricbeat Docker", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module: apache\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Apache HTTPD", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-search", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:mongodb\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "MongoDB search", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-Redis", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:redis\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Metricbeat Redis", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-Rabbitmq", + "_type": "search", + "_source": { + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:rabbitmq\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Metricbeat-Rabbitmq", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat uWSGI status", + "_type": "search", + "_source": { + "columns": [ + "_source" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"metricset.module: uwsgi\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Metricbeat uWSGI status", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "_type": "search", + "_source": { + "columns": [ + "beat.name", + "windows.service.display_name", + "windows.service.state", + "windows.service.start_type", + "windows.service.uptime.ms", + "windows.service.pid", + "windows.service.exit_code" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"metricset.module\",\"negate\":false,\"params\":{\"query\":\"windows\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"windows\"},\"query\":{\"match\":{\"metricset.module\":{\"query\":\"windows\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"metricset.name\",\"negate\":false,\"params\":{\"query\":\"service\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"service\"},\"query\":{\"match\":{\"metricset.name\":{\"query\":\"service\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Services [Metricbeat Windows]", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "29de5430-a624-11e8-8538-f34fec203819", + "_type": "search", + "_source": { + "title": "jobqueue_lite", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "device.timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\n \"index\": \"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\n \"highlightAll\": true,\n \"version\": true,\n \"query\": {\n \"language\": \"lucene\",\n \"query\": \"\"\n },\n \"filter\": [\n {\n \"meta\": {\n \"negate\": false,\n \"index\": \"b1578e40-a606-11e8-9dd0-e5c705b98d0d\",\n \"type\": \"phrase\",\n \"key\": \"device.lava_server\",\n \"value\": \"lite.validation.linaro.org\",\n \"params\": {\n \"query\": \"lite.validation.linaro.org\",\n \"type\": \"phrase\"\n },\n \"disabled\": false,\n \"alias\": null\n },\n \"query\": {\n \"match\": {\n \"device.lava_server\": {\n \"query\": \"lite.validation.linaro.org\",\n \"type\": \"phrase\"\n }\n }\n },\n \"$state\": {\n \"store\": \"appState\"\n }\n }\n ]\n}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a291c0d0-860d-11eb-ab35-ab7823fa4527", + "_type": "search", + "_source": { + "title": "jobqueue_morello", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"device.lava_server: lava.morello-project.org\"},\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "749b2d00-8285-11eb-b4ce-c7a87883d896", + "_type": "search", + "_source": { + "title": "jobqueue_tf", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"highlightAll\":true,\"version\":true,\"query\":{\"language\":\"lucene\",\"query\":\"device.lava_server: tf.validation.linaro.org\"},\"filter\":[],\"index\":\"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\"}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "758b3620-1fda-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "c4e80aa0-1fd4-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Event Timeline [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"deny\": \"#E24D42\", \"allow\": \"#64B0C8\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"top\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"timeRange\": {\"to\": \"2019-01-24T15:47:52.785Z\", \"from\": \"2019-01-24T15:47:12.171Z\", \"mode\": \"absolute\"}, \"extended_bounds\": {}, \"field\": \"@timestamp\", \"interval\": \"auto\", \"time_zone\": \"Europe/Berlin\", \"useNormalizedEsInterval\": true, \"drop_partials\": false, \"min_doc_count\": 1, \"customInterval\": \"2h\"}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"_key\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"event.outcome\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Ubiquiti Firewall Event Timeline [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1ba82fd0-1ff0-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "9f7d97c0-1fe9-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Top Blocked IPs [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Source IP\", \"missingBucketLabel\": \"Missing\", \"field\": \"source_ecs.ip\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Ubiquiti Firewall Top Blocked IPs [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5bd53050-1fe9-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "7862cab0-1fdb-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Allowed Traffic Map [Filebeat Iptables]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"maxZoom\": 18, \"origin\": \"elastic_maps_service\", \"minZoom\": 0, \"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"id\": \"road_map\"}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"source_ecs.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Ubiquiti Firewall Allowed Traffic Map [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8853aa20-1fef-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "9f7d97c0-1fe9-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Blocked Traffic Map [Filebeat Iptables]", + "uiStateJSON": "{\"mapCenter\": [19.228176737766262, -22.851562500000004], \"mapZoom\": 3}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"maxZoom\": 18, \"origin\": \"elastic_maps_service\", \"minZoom\": 0, \"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"id\": \"road_map\"}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"source_ecs.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Ubiquiti Firewall Blocked Traffic Map [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fdea1ad0-1ff4-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "c4e80aa0-1fd4-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Traffic Breakdown [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"deny\": \"#E24D42\", \"udp\": \"#F2C96D\", \"tcp\": \"#447EBC\", \"ipv6-icmp\": \"#EA6460\", \"ipv4\": \"#65C5DB\", \"ipv6\": \"#D683CE\", \"icmp\": \"#F29191\"}}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": false, \"last_level\": false, \"truncate\": 100, \"show\": true}, \"legendPosition\": \"top\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"event.outcome\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"network.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"network.transport\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"segment\"}], \"title\": \"Ubiquiti Firewall Traffic Breakdown [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "190bcb50-1ff6-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "c4e80aa0-1fd4-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Traffic by Port [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"event.outcome\", \"missingBucketLabel\": \"Missing\", \"field\": \"event.outcome\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"size\": 5, \"order\": \"desc\", \"row\": false}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"split\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Destination port\", \"missingBucketLabel\": \"Missing\", \"field\": \"destination.port\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"Ubiquiti Firewall Traffic by Port [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "494fa290-86d2-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Top Alerting Hosts [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"host.name\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Top Alerting Hosts [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "16033310-86d3-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Top Alert Signatures [Suricata]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Alert Signature\", \"missingBucketLabel\": \"Missing\", \"field\": \"suricata.eve.alert.signature\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Alert Category\", \"missingBucketLabel\": \"Missing\", \"field\": \"suricata.eve.alert.category\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"Top Alert Signatures [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "85fed080-86d7-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Alert - Source Location [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"url\": \"https://tiles.maps.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana&my_app_version=6.3.0&license=fc9de2c1-5f06-4080-8dd0-8a334171d89a\", \"subdomains\": [], \"minZoom\": 0, \"maxZoom\": 18, \"id\": \"road_map\"}, \"baseLayersAreLoaded\": {}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}, \"tmsLayers\": [{\"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"url\": \"https://tiles.maps.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana&my_app_version=6.3.0&license=fc9de2c1-5f06-4080-8dd0-8a334171d89a\", \"subdomains\": [], \"minZoom\": 0, \"maxZoom\": 18, \"id\": \"road_map\"}]}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"source_ecs.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Alert - Source Location [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a09ca070-86d7-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Alert - Destination Location [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"url\": \"https://tiles.maps.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana&my_app_version=6.3.0&license=fc9de2c1-5f06-4080-8dd0-8a334171d89a\", \"subdomains\": [], \"minZoom\": 0, \"maxZoom\": 18, \"id\": \"road_map\"}, \"baseLayersAreLoaded\": {}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}, \"tmsLayers\": [{\"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"url\": \"https://tiles.maps.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana&my_app_version=6.3.0&license=fc9de2c1-5f06-4080-8dd0-8a334171d89a\", \"subdomains\": [], \"minZoom\": 0, \"maxZoom\": 18, \"id\": \"road_map\"}]}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"destination.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Alert - Destination Location [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2ccdc1a0-86d8-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Alerts - Top Destination Countries [Suricata]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 5, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Source Country\", \"missingBucketLabel\": \"Missing\", \"field\": \"destination.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Alerts - Top Destination Countries [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c7b8b8f0-86d8-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Alerts - Top Source Countries [Suricata]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 5, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Source Country\", \"missingBucketLabel\": \"Missing\", \"field\": \"source_ecs.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Alerts - Top Source Countries [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4c913eb0-1f51-11e9-93ed-f7e068f4aebb", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Events Timeline [Filebeat Iptables]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"type\": \"area\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"extended_bounds\": {}, \"field\": \"@timestamp\", \"interval\": \"auto\", \"time_zone\": \"Europe/Berlin\", \"useNormalizedEsInterval\": true, \"drop_partials\": false, \"min_doc_count\": 1, \"customInterval\": \"2h\"}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Events Timeline [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2599f5e0-1e98-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Top Source Countries [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Country\", \"missingBucketLabel\": \"Missing\", \"field\": \"source_ecs.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Top Source Countries [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c4394ec0-1efd-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Source Map [Filebeat Iptables]", + "uiStateJSON": "{\"mapCenter\": [45.02695045318546, -44.82421875000001], \"mapZoom\": 3}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"maxZoom\": 18, \"origin\": \"elastic_maps_service\", \"minZoom\": 0, \"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"id\": \"road_map\"}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"source_ecs.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Source Map [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d8cea010-1efd-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Destination Map [Filebeat Iptables]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"maxZoom\": 18, \"origin\": \"elastic_maps_service\", \"minZoom\": 0, \"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"id\": \"road_map\"}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"destination.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Destination Map [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b57b7370-1f1d-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Network Type Breakdown [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": true}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"network.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Network Type Breakdown [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "35fe0910-1f26-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Network Transport Breakdown [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": true}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"network.transport\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Network Transport Breakdown [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "683402b0-1f29-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Top Destination Ports [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Port\", \"missingBucketLabel\": \"Missing\", \"field\": \"destination.port\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Top Destination Ports [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Number of Kafka stracktraces by class", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Kafka stacktraces", + "title": "Number of stracktraces by class [Filebeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 30 minutes\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"kafka.log.trace.class\", \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Number of Kafka stracktraces by class [Filebeat Kafka]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3f7c33c0-87ee-11e7-ad9c-db80de0bf8d3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "All Kafka logs", + "title": "Log levels over time [Filebeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per day\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"kafka.log.level\", \"customLabel\": \"Log Level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Log levels over time [Filebeat Kafka]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "PostgreSQL Log Level Count", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "PostgreSQL All Logs", + "title": "Log Level Count [Filebeat PostgreSQL]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"postgresql.log.level\", \"order\": \"desc\", \"size\": 12}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Log Level Count [Filebeat PostgreSQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3dbd5370-87f3-11e7-ad9c-db80de0bf8d3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "PostgreSQL All Logs", + "title": "Logs by level over time [Filebeat PostgreSQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per month\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"postgresql.log.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Logs by level over time [Filebeat PostgreSQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "PostgreSQL Query Count and Duration", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\"}}" + }, + "savedSearchId": "PostgreSQL Query Durations", + "title": "Query count and cumulated duration [Filebeat PostgreSQL]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Number of queries\": \"#0A437C\", \"Sum of query duration\": \"#6ED0E0\"}, \"legendOpen\": true}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": true, \"type\": \"histogram\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"lineWidth\": 2, \"data\": {\"id\": \"4\", \"label\": \"Number of queries\"}}, {\"showCircles\": true, \"show\": true, \"type\": \"histogram\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"lineWidth\": 2, \"data\": {\"id\": \"2\", \"label\": \"Sum of query duration\"}}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 3 hours\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"customLabel\": \"Number of queries\"}, \"type\": \"count\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"postgresql.log.duration\", \"customLabel\": \"Sum of query duration\"}, \"type\": \"sum\", \"enabled\": true, \"id\": \"2\", \"schema\": \"metric\"}], \"title\": \"Query count and cumulated duration [Filebeat PostgreSQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0fef5710-0a82-11e8-bffe-ff7d4f68cf94", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "bfc96a60-0a80-11e8-bffe-ff7d4f68cf94", + "title": "Logs Severity [Filebeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"legendPosition\": \"right\", \"type\": \"pie\", \"isDonut\": true, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mongodb.log.severity\", \"customLabel\": \"Log severity\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Logs Severity [Filebeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c7d46c60-86da-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Activity Types over Time [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"event.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 20}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Activity Types over Time [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0a0aa630-86db-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Event Types [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"bottom\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"event.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 20}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Event Types [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "728f64c0-86db-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Application Protocols [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"bottom\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"suricata.eve.app_proto\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top Application Protocols [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9d5b5b50-86db-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Hosts Generating Events [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"host.name\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Top Hosts Generating Events [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5f99eb50-86dc-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Connection Source Countries [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tagcloud\", \"params\": {\"maxFontSize\": 72, \"showLabel\": true, \"minFontSize\": 18, \"orientation\": \"single\", \"scale\": \"linear\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Top Connection Source Countries\", \"missingBucketLabel\": \"Missing\", \"field\": \"source_ecs.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top Connection Source Countries [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8e7f88d0-86dc-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Connection Destination Countries [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tagcloud\", \"params\": {\"maxFontSize\": 72, \"showLabel\": true, \"minFontSize\": 18, \"orientation\": \"single\", \"scale\": \"linear\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Top Connection Destination Countries\", \"missingBucketLabel\": \"Missing\", \"field\": \"destination.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top Connection Destination Countries [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0a363820-86dd-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Network Protocols [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"bottom\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"suricata.eve.proto\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top Network Protocols [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-access-unique-IPs-map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Unique IPs map [Filebeat Apache2]", + "uiStateJSON": "{\"mapCenter\": [14.944784875088372, 5.09765625]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {\"field\": \"apache2.access.remote_ip\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"apache2.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Apache2 access unique IPs map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-response-codes-of-top-URLs", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Top URLs by response code [Filebeat Apache2]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#7EB26D\", \"404\": \"#EF843C\"}}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"customLabel\": \"URL\", \"field\": \"apache2.access.url\", \"row\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"split\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Apache2 response codes of top URLs\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-browsers", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Browsers breakdown [Filebeat Apache2]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"apache2.access.remote_ip\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.user_agent.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.user_agent.major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Apache2 browsers\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-operating-systems", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Operating systems breakdown [Filebeat Apache2]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"apache2.access.remote_ip\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.user_agent.os_name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.user_agent.os_major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Apache2 operating systems\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-error-logs-over-time", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-errors-log", + "title": "Error logs over time [Filebeat Apache2]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.error.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Apache2 error logs over time\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-response-codes-over-time", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Response codes over time [Filebeat Apache2]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#629E51\", \"404\": \"#EF843C\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Apache2 response codes over time\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "6295bdd0-0a0e-11e7-825f-6748cda7d858", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Event types breakdown [Filebeat Auditd]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": true, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"auditd.log.record_type\", \"order\": \"desc\", \"size\": 50}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Audit Event Types\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5ebdbe50-0a0f-11e7-825f-6748cda7d858", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"auditd.log.record_type:EXECVE\"}}}" + }, + "title": "Top Exec Commands [Filebeat Auditd]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"auditd.log.a0\", \"customLabel\": \"Command (arg 0)\", \"order\": \"desc\", \"size\": 30}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Audit Top Exec Commands\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2bb0fa70-0a11-11e7-9e84-43da493ad0c7", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Event Results [Filebeat Auditd]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"auto\", \"expression\": \".es(q=\\\"_exists_:auditd.log NOT auditd.log.res:failure\\\").label(\\\"Success\\\"), .es(q=\\\"auditd.log.res:failed\\\").label(\\\"Failure\\\").title(\\\"Audit Event Results\\\")\"}, \"aggs\": [], \"title\": \"Event Results [Filebeat Auditd]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d1726930-0a7f-11e7-8b04-eb22a5669f27", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Event Address Geo Location [Filebeat Auditd]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"auditd.log.geoip.location\", \"precision\": 2, \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Audit Event Address Geo Location\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c5411910-0a87-11e7-8b04-eb22a5669f27", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Event Account Tag Cloud [Filebeat Auditd]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tagcloud\", \"listeners\": {}, \"params\": {\"maxFontSize\": 42, \"scale\": \"linear\", \"hideLabel\": false, \"orientation\": \"single\", \"minFontSize\": 15}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"auditd.log.acct\", \"order\": \"desc\", \"size\": 15}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Audit Event Account Tag Cloud\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5c7af030-fa2a-11e6-bbd3-29c986c96e5a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "b6f321e0-fa25-11e6-bbd3-29c986c96e5a", + "title": "Sudo commands by user [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.user\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Sudo commands by user\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "51164310-fa2b-11e6-bbd3-29c986c96e5a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.sudo.error\"}}}" + }, + "title": "Sudo errors [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.sudo.error\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Sudo errors\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dc589770-fa2b-11e6-bbd3-29c986c96e5a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "b6f321e0-fa25-11e6-bbd3-29c986c96e5a", + "title": "Top sudo commands [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.sudo.command\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.user\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"Top sudo commands\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0bc34b60-2419-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "c876e6a0-2418-11e7-a83b-d5f4cebac9ff", + "title": "Debuglog Facility [Filebeat Icinga]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"icinga.debug.facility\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Icinga Debuglog Facility\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fb09d4b0-2418-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "c876e6a0-2418-11e7-a83b-d5f4cebac9ff", + "title": "Debuglog Severity [Filebeat Icinga]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"debug\": \"#BA43A9\", \"information\": \"#629E51\", \"notice\": \"#6ED0E0\", \"warning\": \"#E5AC0E\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"icinga.debug.severity\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Icinga Debuglog Severity\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d8e5dc40-2417-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ffaf5a30-2413-11e7-a0d9-39604d45ca7f", + "title": "Mainlog Severity [Filebeat Icinga]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"critical\": \"#BF1B00\", \"warning\": \"#E5AC0E\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"icinga.main.severity\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Icinga Mainlog Severity\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2cf77780-2418-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ffaf5a30-2413-11e7-a0d9-39604d45ca7f", + "title": "Mainlog Facility [Filebeat Icinga]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"icinga.main.facility\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Icinga Mainlog Facility\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "eb2db5b0-fe11-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Access map [Filebeat IIS]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"wms\": {\"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"iis.access.geoip.location\", \"isFilteredByCollar\": true, \"precision\": 2, \"autoPrecision\": true, \"useGeocentroid\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Access map [Filebeat IIS]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f31414b0-fe14-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Response codes over time [Filebeat IIS]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"iis.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Response codes over time [Filebeat IIS]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "63129c80-fe12-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Browsers breakdown [Filebeat IIS]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"iis.access.user_agent.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"iis.access.user_agent.major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Browsers breakdown [Filebeat IIS]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ccd3f9c0-fe12-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Operating systems breakdown [Filebeat IIS]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"iis.access.user_agent.os_name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"iis.access.user_agent.os_major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Operating systems breakdown [Filebeat IIS]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "41f38230-fe17-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Error logs over time [Filebeat IIS]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"iis.error.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Error logs over time [Filebeat IIS]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c0d02cd0-fe1b-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Top URLs by response code [Filebeat IIS]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": false, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"customLabel\": \"URL\", \"field\": \"iis.access.url\", \"row\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"split\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"iis.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Top URLs by response code [Filebeat IIS]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "55251360-aa32-11e8-9c06-877f0445e3e0", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Backend breakdown [Filebeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"haproxy.backend_name\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Backend breakdown [Filebeat HAProxy]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7fb671f0-aa32-11e8-9c06-877f0445e3e0", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Frontend breakdown [Filebeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"haproxy.frontend_name\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Frontend breakdown [Filebeat HAProxy]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "11f8b9c0-aa32-11e8-9c06-877f0445e3e0", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "IP Geohashes [Filebeat HAProxy]", + "uiStateJSON": "{\"mapCenter\": [14.944784875088372, 5.09765625]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {\"field\": \"haproxy.client.ip\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"haproxy.geoip.location\", \"isFilteredByCollar\": true, \"precision\": 2, \"autoPrecision\": true, \"useGeocentroid\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"IP Geohashes [Filebeat HAProxy]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "68af8ef0-aa33-11e8-9c06-877f0445e3e0", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Response codes over time [Filebeat HAProxy]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#508642\", \"302\": \"#6ED0E0\", \"404\": \"#EAB839\", \"204\": \"#629E51\", \"503\": \"#705DA0\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"_term\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"haproxy.http.response.status_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Response codes over time [Filebeat HAProxy]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a59b5e00-2417-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "710043e0-2417-11e7-a83b-d5f4cebac9ff", + "title": "Startup Errors [Filebeat Icinga]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Count\": \"#BF1B00\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Icinga Startup Errors\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Nginx-Access-Browsers", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Browsers breakdown [Filebeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.user_agent.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.user_agent.major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Nginx Access Browsers\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Nginx-Access-OSes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Operating systems breakdown [Filebeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.user_agent.os_name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.user_agent.os_major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Nginx Access OSes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Nginx-Access-Map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-Nginx-module", + "title": "Access Map [Filebeat Nginx]", + "uiStateJSON": "{\"mapCenter\": [12.039320557540572, -0.17578125]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"nginx.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Nginx Access Map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b70b1b20-a1f4-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Response codes over time [Filebeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"fileset.module:nginx AND fileset.name:access\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"bar\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":\"nginx.access.response_code:[200 TO 299]\",\"id\":\"5acdc750-a29d-11e7-a062-a1c3587f4874\",\"label\":\"200s\"},{\"color\":\"rgba(252,196,0,1)\",\"filter\":\"nginx.access.response_code:[300 TO 399]\",\"id\":\"6efd2ae0-a29d-11e7-a062-a1c3587f4874\",\"label\":\"300s\"},{\"color\":\"rgba(211,49,21,1)\",\"filter\":\"nginx.access.response_code:[400 TO 499]\",\"id\":\"76089a90-a29d-11e7-a062-a1c3587f4874\",\"label\":\"400s\"},{\"color\":\"rgba(171,20,158,1)\",\"filter\":\"nginx.access.response_code:[500 TO 599]\",\"id\":\"7c7929d0-a29d-11e7-a062-a1c3587f4874\",\"label\":\"500s\"}],\"split_mode\":\"filters\",\"stacked\":\"stacked\",\"terms_field\":\"nginx.access.response_code\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Response codes over time [Filebeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9184fa00-a1f5-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Top pages [Filebeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"6252c320-a1f5-11e7-92ba-5d0b8663aece\"}],\"filter\":\"fileset.module:nginx AND fileset.name:access\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"line_width\":1,\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"nginx.access.url\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"value_template\":\"\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Top pages [Filebeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "46322e50-a1f6-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Errors over time [Filebeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"fileset.module:nginx AND fileset.name:error\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"bar\",\"color\":\"rgba(211,49,21,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"line_width\":1,\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"nginx.error.level\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Errors over time [Filebeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0dd6f320-a29f-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Data Volume [Filebeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"fileset.module: nginx AND fileset.name: access\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.access.body_sent.bytes\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":\"nginx.access.response_code:[200 TO 299]\",\"id\":\"7c343c20-a29e-11e7-a062-a1c3587f4874\",\"label\":\"200s\"}],\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":null}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Data Volume [Filebeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "97109780-a2a5-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Dashboards [Filebeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"markdown\", \"params\": {\"markdown\": \"[Nginx logs overview](#/dashboard/55a9e6e0-a29e-11e7-928f-5dbe6f6f5519) | [Nginx access and error logs](#/dashboard/046212a0-a2a1-11e7-928f-5dbe6f6f5519)\", \"fontSize\": 12}, \"aggs\": [], \"title\": \"Dashboards [Filebeat Nginx]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-slowest-queries", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-MySQL-Slow-log", + "title": "Top slowest queries [Filebeat MySQL]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"mysql.slowlog.query_time.sec\", \"customLabel\": \"Query time\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mysql.slowlog.query\", \"customLabel\": \"Query\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mysql.slowlog.user\", \"customLabel\": \"User\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"Top slowest queries [Filebeat MySQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-Slow-queries-over-time", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-MySQL-Slow-log", + "title": "Slow queries over time [Filebeat MySQL]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Slow queries\": \"#EF843C\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Slow queries\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"yAxis\": {}, \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 30 seconds\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Slow queries\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"customLabel\": \"Slow queries\"}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Slow queries over time [Filebeat MySQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-error-logs", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-MySQL-error-log", + "title": "Error logs over time [Filebeat MySQL]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Count\": \"#447EBC\", \"Error logs\": \"#1F78C1\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Error logs\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"yAxis\": {}, \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 30 seconds\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Error logs\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"customLabel\": \"Error logs\"}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Error logs over time [Filebeat MySQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-Error-logs-levels", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-MySQL-error-log", + "title": "Error logs levels breakdown [Filebeat MySQL]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Note\": \"#9AC48A\", \"Warning\": \"#F9934E\", \"ERROR\": \"#E24D42\"}}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"addTooltip\": true, \"isDonut\": false, \"legendPosition\": \"bottom\", \"addLegend\": true, \"shareYAxis\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mysql.error.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Error logs levels breakdown [Filebeat MySQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-Slow-logs-by-count", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-MySQL-Slow-log", + "title": "Slow logs breakdown [Filebeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"addTooltip\": true, \"isDonut\": false, \"legendPosition\": \"bottom\", \"addLegend\": true, \"shareYAxis\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mysql.slowlog.query\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Slow logs breakdown [Filebeat MySQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "78b9afe0-478f-11e7-b1f0-cb29bac6bf8b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:redis.log\"}}},\"version\":true}" + }, + "title": "Log levels and roles breakdown [Filebeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"legendPosition\": \"bottom\", \"type\": \"pie\", \"isDonut\": false, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.log.role\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.log.level\", \"customLabel\": \"Log level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Log levels and roles breakdown [Filebeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d2864600-478f-11e7-be88-2ddb32f3df97", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:redis.log\"}}},\"version\":true}" + }, + "title": "Logs over time [Filebeat Redis]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"notice\": \"#629E51\", \"warning\": \"#EF843C\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per month\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.log.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Logs over time [Filebeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dcccaa80-4791-11e7-be88-2ddb32f3df97", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "0ab87b80-478e-11e7-b1f0-cb29bac6bf8b", + "title": "Top slowest commands [Filebeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": true, \"data\": {\"id\": \"1\", \"label\": \"Command\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"Duration (microseconds)\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 200, \"show\": true}, \"position\": \"left\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Command\"}, \"labels\": {\"filter\": true, \"rotate\": 75, \"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {\"field\": \"redis.slowlog.duration.us\", \"customLabel\": \"Command\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.slowlog.cmd\", \"customLabel\": \"Duration (microseconds)\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top slowest commands [Filebeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0b1dace0-cbdb-11e7-9852-73e0a9df1bb6", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "cfaba090-cbda-11e7-9852-73e0a9df1bb6", + "title": "Logs Severity [Filebeat Logstash]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"legendPosition\": \"right\", \"type\": \"pie\", \"isDonut\": true, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"logstash.log.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Logs Severity [Filebeat Logstash]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e90b7240-cbda-11e7-9852-73e0a9df1bb6", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "cfaba090-cbda-11e7-9852-73e0a9df1bb6", + "title": "logs over time [Filebeat Logstash]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"logstash.log.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"logs over time [Filebeat Logstash]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b3315630-cbdf-11e7-9852-73e0a9df1bb6", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "742e45d0-cbdd-11e7-9852-73e0a9df1bb6", + "title": "Slowest plugins [Filebeat Logstash]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": 3, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"logstash.slowlog.took_in_millis\", \"customLabel\": \"Average\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"logstash.slowlog.took_in_millis\", \"customLabel\": \"Min\"}, \"type\": \"min\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"5\", \"field\": \"logstash.slowlog.plugin_name\", \"customLabel\": \"Plugin Name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"8\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"logstash.slowlog.took_in_millis\", \"customLabel\": \"Max\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"7\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"5\", \"field\": \"logstash.slowlog.plugin_type\", \"customLabel\": \"Plugin Type\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"9\", \"schema\": \"bucket\"}], \"title\": \"Slowest plugins [Filebeat Logstash]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f398d2f0-fa77-11e6-ae9b-81e5311e8cab", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "title": "New users [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.hostname\", \"customLabel\": \"Host\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.name\", \"customLabel\": \"User\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.uid\", \"customLabel\": \"UID\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.gid\", \"customLabel\": \"GID\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"5\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.home\", \"customLabel\": \"Home\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"6\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.shell\", \"customLabel\": \"Shell\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"7\", \"schema\": \"bucket\"}], \"title\": \"New users\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5dd15c00-fa78-11e6-ae9b-81e5311e8cab", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "title": "New users over time [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"New users over time\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e121b140-fa78-11e6-a1df-a78bd7504d38", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "title": "New users by shell [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"/sbin/nologin\": \"#7EB26D\", \"/bin/false\": \"#508642\", \"/bin/bash\": \"#E24D42\"}, \"legendOpen\": true}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.shell\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"New users by shell\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d56ee420-fa79-11e6-a1df-a78bd7504d38", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "title": "New users by home directory [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"/nonexistent\": \"#629E51\", \"/sbin/nologin\": \"#7EB26D\", \"/bin/false\": \"#508642\", \"/bin/bash\": \"#E24D42\"}, \"legendOpen\": true}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.home\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"New users by home directory\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "12667040-fa80-11e6-a1df-a78bd7504d38", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "eb0039f0-fa7f-11e6-a1df-a78bd7504d38", + "title": "New groups [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.groupadd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.groupadd.gid\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"New groups\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "346bb290-fa80-11e6-a1df-a78bd7504d38", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "eb0039f0-fa7f-11e6-a1df-a78bd7504d38", + "title": "New groups over time [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.groupadd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"New groups over time\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d16bb400-f9cc-11e6-8115-a7c18106d86a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"system.auth.ssh.event:Accepted\"}}}" + }, + "title": "Successful SSH logins [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Failed\": \"#F9934E\", \"password\": \"#BF1B00\", \"Accepted\": \"#3F6833\", \"Invalid\": \"#447EBC\", \"publickey\": \"#629E51\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.ssh.method\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Successful SSH logins\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "78b74f30-f9cd-11e6-8115-a7c18106d86a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\"}" + }, + "title": "SSH login attempts [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Failed\": \"#F9934E\", \"Accepted\": \"#3F6833\", \"Invalid\": \"#447EBC\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.ssh.event\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"SSH login attempts\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "341ffe70-f9ce-11e6-8115-a7c18106d86a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"system.auth.ssh.event:Failed OR system.auth.ssh.event:Invalid\"}}}" + }, + "title": "SSH users of failed login attempts [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tagcloud\", \"listeners\": {}, \"params\": {\"maxFontSize\": 72, \"minFontSize\": 18, \"orientation\": \"single\", \"scale\": \"linear\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.user\", \"order\": \"desc\", \"size\": 50}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"SSH users of failed login attempts\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3cec3eb0-f9d3-11e6-8a3e-2b904044ea1d", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"system.auth.ssh.event:Failed OR system.auth.ssh.event:Invalid\"}}}" + }, + "title": "SSH failed login attempts source locations [Filebeat System]", + "uiStateJSON": "{\"mapCenter\": [17.602139123350838, 69.697265625], \"mapZoom\": 2}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Shaded Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.auth.ssh.geoip.location\", \"precision\": 2, \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"SSH failed login attempts source locations\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Syslog-events-by-hostname", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Syslog-system-logs", + "title": "Syslog events by hostname [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.syslog.hostname\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Syslog events by hostname\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Syslog-hostnames-and-processes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Syslog-system-logs", + "title": "Syslog hostnames and processes [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.syslog.hostname\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.syslog.program\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Syslog hostnames and processes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "327417e0-8462-11e7-bab8-bd2f0fb42c54", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Dashboards [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"markdown\", \"params\": {\"markdown\": \"[Syslog](#/dashboard/Filebeat-syslog-dashboard) | [Sudo commands](#/dashboard/277876d0-fa2c-11e6-bbd3-29c986c96e5a) | [SSH logins](#/dashboard/5517a150-f9ce-11e6-8115-a7c18106d86a) | [New users and groups](#/dashboard/0d3f2380-fa78-11e6-ae9b-81e5311e8cab)\", \"fontSize\": 12}, \"aggs\": [], \"title\": \"Dashboards [Filebeat System]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1cfb1a80-a1f4-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Access logs over time [Filebeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"annotations\":[{\"color\":\"#F00\",\"icon\":\"fa-tag\",\"id\":\"970b1420-a1f3-11e7-a062-a1c3587f4874\",\"ignore_global_filters\":1,\"ignore_panel_filters\":1,\"index_pattern\":\"filebeat-*\",\"time_field\":\"@timestamp\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"3189aa80-a1f3-11e7-a062-a1c3587f4874\"}],\"filter\":\"fileset.module:nginx AND fileset.name:access\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Access logs\",\"line_width\":1,\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"1db649a0-a1f3-11e7-a062-a1c3587f4874\"}],\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"nginx.access.url\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Access logs over time [Filebeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Unique-Count-URL-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Unique Count URL Timechart [Filebeat Traefik] [ML]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": true, \"type\": \"line\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"lineWidth\": 2, \"data\": {\"id\": \"1\", \"label\": \"Unique count of traefik.access.url\"}}], \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per day\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Unique count of traefik.access.url\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {\"field\": \"traefik.access.url\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"ML Traefik Access Unique Count URL Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Response-Code-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Response Code Timechart [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#7EB26D\", \"404\": \"#614D93\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"ML Traefik Access Response Code Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Top-Remote-IPs-Table", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Top Remote IPs [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.remote_ip\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"ML Traefik Access Top Remote IPs Table\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Access Map [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"mapCenter\": [12.039320557540572, -0.17578125]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"traefik.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"ML Traefik Access Map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Top-URLs-Table", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Top URLs [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 100, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.url\", \"order\": \"desc\", \"size\": 1000}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"ML Traefik Access Top URLs Table\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Unique-Count-URL-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Unique Count URL Timechart [Filebeat Nginx] [ML]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": true, \"type\": \"line\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"lineWidth\": 2, \"data\": {\"id\": \"1\", \"label\": \"Unique count of nginx.access.url\"}}], \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per day\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Unique count of nginx.access.url\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {\"field\": \"nginx.access.url\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"ML Nginx Access Unique Count URL Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Response-Code-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Response Code Timechart [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#7EB26D\", \"404\": \"#614D93\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"ML Nginx Access Response Code Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Top-Remote-IPs-Table", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Top Remote IPs [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.remote_ip\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"ML Nginx Access Top Remote IPs Table\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Access Map [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"mapCenter\": [12.039320557540572, -0.17578125]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"nginx.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"ML Nginx Access Map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Top-URLs-Table", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Top URLs [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 100, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.url\", \"order\": \"desc\", \"size\": 1000}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"ML Nginx Access Top URLs Table\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Traefik-Access-Browsers", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Browsers breakdown [Filebeat Traefik]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.user_agent.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.user_agent.major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Traefik Access Browsers\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Traefik-Access-OSes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Operating systems breakdown [Filebeat Traefik]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.user_agent.os_name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.user_agent.os_major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Traefik Access OSes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "New-Visualization", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-Traefik-module", + "title": "Response codes over time [Filebeat Traefik]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#7EB26D\", \"404\": \"#614D93\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"New Visualization\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Traefik-Access-Response-codes-by-top-URLs", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Response codes by top URLs [Filebeat Traefik]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#629E51\", \"404\": \"#0A50A1\"}}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.url\", \"size\": 5, \"order\": \"desc\", \"row\": false}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"split\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Traefik Access Response codes by top URLs\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Sent-sizes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:traefik.access\"}}}" + }, + "title": "Sent Byte Size [Filebeat Traefik]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": true, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": \"17\", \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"traefik.access.body_sent.bytes\", \"customLabel\": \"Data sent\"}, \"type\": \"sum\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"3\", \"schema\": \"radius\"}], \"title\": \"Sent sizes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Traefik-Access-Map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-Traefik-module", + "title": "Access Map [Filebeat Traefik]", + "uiStateJSON": "{\"mapCenter\": [12.039320557540572, -0.17578125]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"traefik.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Traefik Access Map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a9fd8bb0-eb01-11e7-8f04-51231daa5b05", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "7a9482d0-eb00-11e7-8f04-51231daa5b05", + "title": "Mounts by type [Osquery Result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.path\", \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.type\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Mounts by type [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1da1ed30-eb03-11e7-8f04-51231daa5b05", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b5d6baa0-eb02-11e7-8f04-51231daa5b05", + "title": "OS versions [Osquery result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {\"field\": \"osquery.result.host_identifier\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.platform_like\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.version\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"OS versions [Osquery result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "240f3630-eb05-11e7-8f04-51231daa5b05", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.columns.status\",\"negate\":false,\"params\":{\"query\":\"Live\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"Live\"},\"query\":{\"match\":{\"osquery.result.columns.status\":{\"query\":\"Live\",\"type\":\"phrase\"}}}}],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "f59e21e0-eb03-11e7-8f04-51231daa5b05", + "title": "Number of Kernel modules [Osquery Result]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"gauge\", \"params\": {\"gauge\": {\"gaugeType\": \"Arc\", \"style\": {\"bgWidth\": 0.9, \"subText\": \"\", \"maskBars\": 50, \"labelColor\": true, \"mask\": false, \"bgFill\": \"#eee\", \"bgColor\": false, \"fontSize\": 60, \"bgMask\": false, \"width\": 0.9}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"type\": \"meter\", \"labels\": {\"color\": \"black\", \"show\": true}, \"gaugeColorMode\": \"Labels\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"labels\": false, \"show\": true}, \"verticalSplit\": false, \"percentageMode\": false, \"extendRange\": true, \"backStyle\": \"Full\"}, \"type\": \"gauge\", \"addTooltip\": true, \"isDisplayWarning\": false, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"osquery.result.columns.name\", \"customLabel\": \"Live Kernel modules\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Number of Kernel modules [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "6ec10290-f4aa-11e7-8647-534bb4c21040", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Info OSSEC rootkit [Osquery Result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"markdown\", \"params\": {\"markdown\": \"This dashboard shows data collected by the ossec-rootkit pack from osquery.\", \"fontSize\": 12}, \"aggs\": [], \"title\": \"Info OSSEC rootkit [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ffdbba50-f4a9-11e7-8647-534bb4c21040", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "0fe5dc00-f49b-11e7-8647-534bb4c21040", + "title": "Number of rootkits found [Osquery Result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"type\": \"metric\", \"metric\": {\"style\": {\"bgFill\": \"#000\", \"bgColor\": false, \"fontSize\": 40, \"subText\": \"\", \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"labels\": {\"show\": true}, \"useRanges\": false, \"percentageMode\": false, \"colorsRange\": [{\"to\": 10000, \"from\": 0}], \"metricColorMode\": \"None\"}, \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"osquery.result.name\", \"customLabel\": \"Rootkits\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Number of rootkits found [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ab587180-f4a9-11e7-8647-534bb4c21040", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "0fe5dc00-f49b-11e7-8647-534bb4c21040", + "title": "Number of hosts infected [Osquery Result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"type\": \"metric\", \"metric\": {\"style\": {\"bgFill\": \"#000\", \"bgColor\": false, \"fontSize\": 40, \"subText\": \"\", \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"labels\": {\"show\": true}, \"useRanges\": false, \"percentageMode\": false, \"colorsRange\": [{\"to\": 10000, \"from\": 0}], \"metricColorMode\": \"None\"}, \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"beat.hostname\", \"customLabel\": \"Hosts\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Number of hosts infected [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2d6e0760-f4ab-11e7-8647-534bb4c21040", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Navigation [Osquery Result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"markdown\", \"params\": {\"markdown\": \"[Compilance](#/dashboard/69f5ae20-eb02-11e7-8f04-51231daa5b05) | [OSSEC Rootkit](#/dashboard/c0a7ce90-f4aa-11e7-8647-534bb4c21040)\", \"fontSize\": 10}, \"aggs\": [], \"title\": \"Navigation [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Remote-IP-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Remote IP Timechart [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 5 minutes\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.remote_ip\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"ML Traefik Access Remote IP Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Remote-IP-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Remote IP Timechart [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 5 minutes\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.remote_ip\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"ML Nginx Access Remote IP Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "41626300-8492-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_resources_total", + "visState": "{\"title\":\"kisscache_resources_total\",\"type\":\"metric\",\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":60}}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_successes\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Successes\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_failures\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Failures\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5bbc4230-b1ed-11e8-852d-55393e7ce617", + "_type": "visualization", + "_source": { + "title": "lava_queue_lng", + "visState": "{\"title\":\"lava_queue_lng\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"m\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"otherBucket\":false,\"otherBucketLabel\":\"Other\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "324e8c50-a6da-11e8-83fb-2d7acaa76fd6", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "daff3a10-725f-11e9-8ab9-1b38609ca045", + "_type": "visualization", + "_source": { + "title": "jobfailure_lkft", + "visState": "{\"title\":\"jobfailure_lkft\",\"type\":\"pie\",\"params\":{\"type\":\"pie\",\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"isDonut\":true,\"labels\":{\"show\":false,\"values\":true,\"last_level\":true,\"truncate\":100}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"error_message.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"device.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "4710ee00-71b2-11e9-8ab9-1b38609ca045", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8b13dac0-8491-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_requests_total", + "visState": "{\"title\":\"kisscache_requests_total\",\"type\":\"metric\",\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":60}}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_requests\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"requests\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-containers", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Docker", + "title": "Docker containers [Metricbeat Docker]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": 1, \"direction\": \"asc\"}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 8, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": true, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"orderBy\": \"1\", \"field\": \"docker.container.name\", \"customLabel\": \"Name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"docker.cpu.total.pct\", \"customLabel\": \"CPU usage (%)\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"docker.diskio.total\", \"customLabel\": \"DiskIO\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"docker.memory.usage.pct\", \"customLabel\": \"Mem (%)\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"docker.memory.rss.total\", \"customLabel\": \"Mem RSS\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"docker.container.id\", \"customLabel\": \"Number of Containers\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Docker containers [Metricbeat Docker]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-Number-of-Containers", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Docker", + "title": "Number of Containers [Metricbeat Docker]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"addTooltip\": true, \"addLegend\": false, \"fontSize\": \"36\", \"handleNoResults\": true, \"gauge\": {\"useRange\": false, \"gaugeType\": \"Metric\", \"style\": {\"subText\": \"\", \"bgColor\": false, \"fontSize\": 60, \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"autoExtend\": false, \"labels\": {\"color\": \"black\", \"show\": true}, \"backStyle\": \"Full\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"width\": 2, \"labels\": false, \"show\": false}, \"verticalSplit\": false, \"percentageMode\": false, \"type\": \"simple\", \"gaugeColorMode\": \"None\"}, \"type\": \"gauge\"}, \"aggs\": [{\"params\": {\"field\": \"docker.info.containers.running\", \"customLabel\": \"Running\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"2\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"docker.info.containers.paused\", \"customLabel\": \"Paused\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"docker.info.containers.stopped\", \"customLabel\": \"Stopped\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}], \"title\": \"Number of Containers [Metricbeat Docker]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-containers-per-host", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Docker", + "title": "Docker containers per host [Metricbeat Docker]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"docker.container.id\", \"customLabel\": \"Number of containers\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"beat.hostname\", \"customLabel\": \"Hosts\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Docker containers per host [Metricbeat Docker]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-images-and-names", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Docker", + "title": "Docker images and names [Metricbeat Docker]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"docker.container.image\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"docker.container.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Docker images and names [Metricbeat Docker]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-CPU-usage", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:docker AND metricset.name:cpu\"}}}" + }, + "title": "CPU usage [Metricbeat Docker]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": true, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"docker.cpu.total.pct\", \"customLabel\": \"Total CPU time\", \"percents\": [75]}, \"type\": \"percentiles\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1.75\", \"field\": \"docker.container.name\", \"customLabel\": \"Container name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"CPU usage [Metricbeat Docker]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-memory-usage", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:docker AND metricset.name:memory\"}}}" + }, + "title": "Memory usage [Metricbeat Docker]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"docker.memory.usage.total\", \"customLabel\": \"Memory\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"docker.container.name\", \"customLabel\": \"Container name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Memory usage [Metricbeat Docker]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-Network-IO", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:docker AND metricset.name:network\"}}}" + }, + "title": "Network IO [Metricbeat Docker]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": true, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"docker.network.in.bytes\", \"customLabel\": \"IN bytes\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"docker.container.name\", \"customLabel\": \"Container name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}, {\"params\": {\"field\": \"docker.network.out.bytes\", \"customLabel\": \"OUT bytes\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}], \"title\": \"Network IO [Metricbeat Docker]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-CPU", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "CPU usage [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": false, \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.load\", \"customLabel\": \"CPU load\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"date_histogram\", \"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"id\": \"2\", \"schema\": \"segment\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"field\": \"apache.status.hostname\", \"size\": 5, \"order\": \"desc\", \"row\": true}, \"id\": \"3\", \"schema\": \"split\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.user\", \"customLabel\": \"CPU user\"}, \"id\": \"4\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.system\", \"customLabel\": \"CPU system\"}, \"id\": \"5\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.children_user\", \"customLabel\": \"CPU children user\"}, \"id\": \"6\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.children_system\", \"customLabel\": \"CPU children system\"}, \"id\": \"7\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - CPU\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Hostname-list", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Hostname list [Metricbeat Apache]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"type\": \"count\", \"params\": {\"customLabel\": \"Events count\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"field\": \"apache.status.hostname\", \"customLabel\": \"Apache HTTD Hostname\", \"order\": \"desc\", \"size\": 5}, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Apache HTTPD - Hostname list\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Load1-slash-5-slash-15", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Load1/5/15 [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": false, \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"type\": \"avg\", \"params\": {\"field\": \"apache.status.load.5\", \"customLabel\": \"Load 5\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"date_histogram\", \"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"id\": \"2\", \"schema\": \"segment\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.load.1\", \"customLabel\": \"Load 1\"}, \"id\": \"3\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.load.15\", \"customLabel\": \"Load 15\"}, \"id\": \"4\", \"schema\": \"metric\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"customLabel\": \"Hostname\", \"field\": \"apache.status.hostname\", \"row\": true, \"order\": \"desc\", \"size\": 5}, \"id\": \"5\", \"schema\": \"split\"}], \"title\": \"Apache HTTPD - Load1/5/15\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Scoreboard", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Scoreboard [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": false, \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.closing_connection\", \"customLabel\": \"Closing connection\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"date_histogram\", \"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"id\": \"2\", \"schema\": \"segment\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"customLabel\": \"Hostname\", \"field\": \"apache.status.hostname\", \"row\": true, \"order\": \"desc\", \"size\": 5}, \"id\": \"3\", \"schema\": \"split\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.dns_lookup\", \"customLabel\": \"DNS lookup\"}, \"id\": \"4\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.gracefully_finishing\", \"customLabel\": \"Gracefully finishing\"}, \"id\": \"5\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.idle_cleanup\", \"customLabel\": \"Idle cleanup\"}, \"id\": \"6\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.keepalive\", \"customLabel\": \"Keepalive\"}, \"id\": \"7\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.logging\", \"customLabel\": \"Logging\"}, \"id\": \"8\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.open_slot\", \"customLabel\": \"Open slot\"}, \"id\": \"9\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.reading_request\", \"customLabel\": \"Reading request\"}, \"id\": \"10\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.sending_reply\", \"customLabel\": \"Sending reply\"}, \"id\": \"11\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.starting_up\", \"customLabel\": \"Starting up\"}, \"id\": \"12\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.total\", \"customLabel\": \"Total\"}, \"id\": \"13\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.waiting_for_connection\", \"customLabel\": \"Waiting for connection\"}, \"id\": \"14\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - Scoreboard\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Total-accesses-and-kbytes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Total accesses and kbytes [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"handleNoResults\": true, \"fontSize\": 60}, \"aggs\": [{\"type\": \"max\", \"params\": {\"field\": \"apache.status.total_kbytes\", \"customLabel\": \"Total kbytes\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"max\", \"params\": {\"field\": \"apache.status.total_accesses\", \"customLabel\": \"Total accesses\"}, \"id\": \"2\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - Total accesses and kbytes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Uptime", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Uptime [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"handleNoResults\": true, \"fontSize\": 60}, \"aggs\": [{\"type\": \"max\", \"params\": {\"field\": \"apache.status.uptime.uptime\", \"customLabel\": \"Uptime\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"max\", \"params\": {\"field\": \"apache.status.uptime.server_uptime\", \"customLabel\": \"Server uptime\"}, \"id\": \"2\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - Uptime\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Workers", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Workers [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": false, \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"type\": \"avg\", \"params\": {\"field\": \"apache.status.workers.busy\", \"customLabel\": \"Busy workers\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"date_histogram\", \"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"id\": \"2\", \"schema\": \"segment\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"customLabel\": \"Hostname\", \"field\": \"apache.status.hostname\", \"row\": true, \"order\": \"desc\", \"size\": 5}, \"id\": \"3\", \"schema\": \"split\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.workers.idle\", \"customLabel\": \"Idle workers\"}, \"id\": \"4\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - Workers\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Container-CPU-usage", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Container CPU usage [Metricbeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"system.process.cgroup.cpuacct.stats.user.ns\", \"customLabel\": \"CPU user\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.cpu.cfs.quota.us\", \"customLabel\": \"CPU quota\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"2\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.process.cgroup.id\", \"customLabel\": \"Container ID\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"system.process.cgroup.cpu.stats.throttled.ns\", \"customLabel\": \"CPU throttling\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.cpuacct.stats.system.ns\", \"customLabel\": \"CPU kernel\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.process.name\", \"customLabel\": \"Process name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"6\", \"schema\": \"bucket\"}], \"title\": \"Container CPU usage [Metricbeat System]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Container-Memory-stats", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Container Memory stats [Metricbeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"system.process.cgroup.memory.mem.usage.bytes\", \"customLabel\": \"Usage\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"13\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.mem.usage.max.bytes\", \"customLabel\": \"Max usage\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"14\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.stats.page_faults\", \"customLabel\": \"Page faults\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.stats.pages_in\", \"customLabel\": \"Pages in memory\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"2\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.stats.pages_out\", \"customLabel\": \"Pages out of memory\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.process.cgroup.id\", \"customLabel\": \"Container ID\", \"order\": \"desc\", \"size\": 50}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.stats.inactive_file.bytes\", \"customLabel\": \"Inactive files\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.stats.major_page_faults\", \"customLabel\": \"# Major page faults\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.process.name\", \"customLabel\": \"Process name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"8\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.mem.failures\", \"customLabel\": \"Failures\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"12\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.kmem_tcp.usage.bytes\", \"customLabel\": \"TCP buffers\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"10\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.stats.rss_huge.bytes\", \"customLabel\": \"Huge pages\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"11\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.stats.rss.bytes\", \"customLabel\": \"Swap caches\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"7\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.memory.stats.swap.bytes\", \"customLabel\": \"Swap usage\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"15\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.blkio.total.ios\", \"customLabel\": \"Block I/O\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"16\", \"schema\": \"metric\"}], \"title\": \"Container Memory stats [Metricbeat System]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Container-Block-IO", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Container Block IO [Metricbeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"system.process.cgroup.blkio.total.bytes\", \"customLabel\": \"Total\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"system.process.cgroup.blkio.total.ios\", \"customLabel\": \"I/O\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"2\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.process.cgroup.id\", \"customLabel\": \"Container ID\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.process.name\", \"customLabel\": \"Process name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"bucket\"}], \"title\": \"Container Block IO [Metricbeat System]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "58000780-f529-11e6-844d-b170e2f0a07e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Heap Summary [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.total\\\").label(\\\"System Total Memory\\\").yaxis(label=\\\"Bytes\\\",units=bytes),.es(index=\\\"metricbeat*\\\",metric=\\\"min:golang.heap.allocations.allocated\\\").label(\\\"Bytes Allocated(min)\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.allocations.allocated\\\").label(\\\"Bytes Allocated(max)\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.gc.next_gc_limit\\\").label(\\\"GC Limit\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.gc.pause.count\\\").condition(lt,1, null).points().label(\\\"GC Cycles(count)\\\").yaxis(2,label=\\\"Count\\\")\"}, \"aggs\": [], \"title\": \"Heap Summary [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "95388680-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Heap [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.allocations.total\\\").label(\\\"Heap Total\\\").derivative().movingaverage(30).yaxis(label=\\\"Bytes\\\",units=bytes),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.allocations.active\\\").label(\\\"Heap Inuse\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.allocations.allocated\\\").label(\\\"Heap Allocated\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.allocations.idle\\\").label(\\\"Heap Idle\\\").movingaverage(30)\"}, \"aggs\": [], \"title\": \"Heap [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b59a5200-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Objects [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.allocations.objects\\\").label(\\\"Object Count(avg)\\\").yaxis(1,label=\\\"Count\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.allocations.total\\\").derivative().label(\\\"Allocation Rate\\\").yaxis(2,label=\\\"Rate\\\").movingaverage(30)\"}, \"aggs\": [], \"title\": \"Objects [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9a9a8bf0-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "System [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.total\\\").label(\\\"System Total\\\").yaxis(label=\\\"Bytes\\\",units=bytes),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.obtained\\\").label(\\\"System Obtained\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.stack\\\").label(\\\"System Stack\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.released\\\").label(\\\"System Released\\\")\"}, \"aggs\": [], \"title\": \"System [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b046cb80-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "GC count [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.pause.count\\\").label(\\\"GC Count\\\").bars().yaxis(label=\\\"Count\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.total_count\\\").label(\\\"GC Rate\\\").derivative().movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.cpu_fraction\\\").label(\\\"CPU Fraction\\\").yaxis(2,label=\\\"Fraction\\\")\"}, \"aggs\": [], \"title\": \"GC count [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ab226b50-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "GC durations [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.pause.sum.ns\\\").bars().label(\\\"sum of GC Pause durations(ns)\\\").yaxis(label=\\\"Durations(ns)\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.total_pause.ns\\\").derivative().movingaverage(30).label(\\\"Total GC Pause(ns) Rate\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.pause.max.ns\\\").label(\\\"Max GC Pause(ns)\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.gc.pause.avg.ns\\\").label(\\\"Avg GC Pause(ns)\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.pause.count\\\").condition(lt,1, null).label(\\\"GC Pause count\\\").points().yaxis(2,label=\\\"Count\\\")\"}, \"aggs\": [], \"title\": \"GC durations [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4d546850-1b15-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "System Load [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"f6264ad0-1b14-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(115,216,255,1)\",\"fill\":\"0\",\"formatter\":\"number\",\"id\":\"f62671e0-1b14-11e7-b09e-037021c4f8df\",\"label\":\"1m\",\"line_width\":\"3\",\"metrics\":[{\"field\":\"system.load.1\",\"id\":\"f62671e1-1b14-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"0\",\"formatter\":\"number\",\"id\":\"1c324850-1b15-11e7-b09e-037021c4f8df\",\"label\":\"5m\",\"line_width\":\"3\",\"metrics\":[{\"field\":\"system.load.5\",\"id\":\"1c324851-1b15-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,98,177,1)\",\"fill\":\"0\",\"formatter\":\"number\",\"id\":\"3287e740-1b15-11e7-b09e-037021c4f8df\",\"label\":\"15m\",\"line_width\":\"3\",\"metrics\":[{\"field\":\"system.load.15\",\"id\":\"32880e50-1b15-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"System Load [Metricbeat System]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "bfa5e400-1b16-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Memory Usage [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(211,49,21,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"label\":\"Used\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.bytes\",\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"label\":\"Cache\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.bytes\",\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"type\":\"avg\"},{\"field\":\"system.memory.used.bytes\",\"id\":\"7c9d3f00-1b16-11e7-b09e-037021c4f8df\",\"type\":\"avg\"},{\"id\":\"869cc160-1b16-11e7-b09e-037021c4f8df\",\"script\":\"params.actual != null \\u0026\\u0026 params.used != null ? params.used - params.actual : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"id\":\"890f9620-1b16-11e7-b09e-037021c4f8df\",\"name\":\"actual\"},{\"field\":\"7c9d3f00-1b16-11e7-b09e-037021c4f8df\",\"id\":\"8f3ab7f0-1b16-11e7-b09e-037021c4f8df\",\"name\":\"used\"}]}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"label\":\"Free\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.free\",\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Memory Usage [Metricbeat System]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ab2d1e90-1b1a-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "CPU Usage [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"label\":\"user\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.user.pct\",\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(211,49,21,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"label\":\"system\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.system.pct\",\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(123,100,255,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"65ca35e0-1b1a-11e7-b09e-037021c4f8df\",\"label\":\"nice\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.nice.pct\",\"id\":\"65ca5cf0-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(226,115,0,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"741b5f20-1b1a-11e7-b09e-037021c4f8df\",\"label\":\"irq\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.irq.pct\",\"id\":\"741b5f21-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(176,188,0,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"2efc5d40-1b1a-11e7-b09e-037021c4f8df\",\"label\":\"softirq\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.softirq.pct\",\"id\":\"2efc5d41-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(15,20,25,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"ae644a30-1b19-11e7-b09e-037021c4f8df\",\"label\":\"iowait\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.iowait.pct\",\"id\":\"ae644a31-1b19-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"CPU Usage [Metricbeat System]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "26732e20-1b91-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Load Gauge [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"feefabd0-1b90-11e7-bec4-a5e9ec5cab8b\"}],\"gauge_color_rules\":[{\"id\":\"ffd94880-1b90-11e7-bec4-a5e9ec5cab8b\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"fdcc6180-1b90-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"fdcc6181-1b90-11e7-bec4-a5e9ec5cab8b\",\"label\":\"5m Load\",\"line_width\":1,\"metrics\":[{\"field\":\"system.load.5\",\"id\":\"fdcc6182-1b90-11e7-bec4-a5e9ec5cab8b\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"title\":\"Load Gauge [Metricbeat System]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "19e123b0-4d5a-11e7-aee5-fdc812cc3bec", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Swap usage [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"gauge_color_rules\":[{\"gauge\":\"rgba(104,188,0,1)\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"operator\":\"gte\",\"value\":0},{\"gauge\":\"rgba(251,158,0,1)\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"operator\":\"gte\",\"value\":0.7},{\"gauge\":\"rgba(211,49,21,1)\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"operator\":\"gte\",\"value\":0.85}],\"gauge_inner_width\":10,\"gauge_max\":\"\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"label\":\"Swap usage\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.swap.used.pct\",\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"title\":\"Swap usage [Metricbeat System]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d2e80340-4d5c-11e7-aa29-87a97a796de6", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Memory usage vs total", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"6f7618b0-4d5c-11e7-aa29-87a97a796de6\"}],\"id\":\"6bc65720-4d5c-11e7-aa29-87a97a796de6\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"6bc65721-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Memory usage\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.bytes\",\"id\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"b8fe6820-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Total Memory\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.total\",\"id\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Memory usage vs total\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "96976150-4d5d-11e7-aa29-87a97a796de6", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Packetloss [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"6ba9b1f0-4d5d-11e7-aa29-87a97a796de6\"}],\"id\":\"6984af10-4d5d-11e7-aa29-87a97a796de6\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"6984af11-4d5d-11e7-aa29-87a97a796de6\",\"label\":\"In Packetloss\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.in.dropped\",\"id\":\"6984af12-4d5d-11e7-aa29-87a97a796de6\",\"type\":\"max\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"ac2e6b30-4d5d-11e7-aa29-87a97a796de6\",\"label\":\"Out Packetloss\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.out.dropped\",\"id\":\"ac2e6b31-4d5d-11e7-aa29-87a97a796de6\",\"type\":\"max\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Packetloss [Metricbeat System]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "590a60f0-5d87-11e7-8884-1bb4c3b890e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "title": "Number of processes [Metricbeat System]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"gauge\": {\"useRange\": false, \"gaugeType\": \"Metric\", \"style\": {\"bgFill\": \"#000\", \"bgColor\": false, \"fontSize\": 60, \"subText\": \"\", \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"autoExtend\": false, \"labels\": {\"color\": \"black\", \"show\": true}, \"backStyle\": \"Full\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"width\": 2, \"labels\": false, \"show\": false}, \"verticalSplit\": false, \"percentageMode\": false, \"type\": \"simple\", \"gaugeColorMode\": \"None\"}, \"type\": \"gauge\", \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"system.process.pid\", \"customLabel\": \"Processes\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Number of processes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3d65d450-a9c3-11e7-af20-67db8aecb295", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Tip [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"markdown\", \"params\": {\"markdown\": \"**TIP:** To select another host, go to the [System Overview](#/dashboard/Metricbeat-system-overview) dashboard and double-click a host name.\", \"fontSize\": 12}, \"aggs\": [], \"title\": \"Tip [Metricbeat System]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b9d12c80-8e63-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Kafka Topic & Consumer Offsets [Metricbeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"8b27e6a0-8e61-11e8-b741-c3e458b74a68\"}],\"filter\":\"NOT kafka.topic.name:__consumer_offsets\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"bar\",\"color\":\"rgba(244,78,59,1)\",\"fill\":\"0.1\",\"filter\":\"metricset.name: partition AND kafka.partition.partition.is_leader: true\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Topic Offsets\",\"line_width\":\"0.5\",\"metrics\":[{\"field\":\"kafka.partition.offset.newest\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_color_mode\":\"rainbow\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.topic.name\",\"terms_order_by\":\"_term\",\"value_template\":\"{{value}}\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(244,78,59,0.52)\",\"fill\":\"0\",\"filter\":\"metricset.name: consumergroup\",\"formatter\":\"number\",\"id\":\"d43034c0-8f1e-11e8-8784-cd0acd161a28\",\"label\":\"Consumer Offsets\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"kafka.consumergroup.offset\",\"id\":\"d43034c1-8f1e-11e8-8784-cd0acd161a28\",\"type\":\"sum\"}],\"point_size\":\"1.5\",\"seperate_axis\":0,\"split_color_mode\":\"rainbow\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"dd41ada0-8f1e-11e8-8784-cd0acd161a28\"}],\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.consumergroup.id\",\"terms_order_by\":\"_term\",\"value_template\":\"{{value}}\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Kafka Topic \\u0026 Consumer Offsets [Metricbeat Kafka]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8d2f79a0-8e65-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Kafka Controls [Metricbeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"input_control_vis\", \"params\": {\"pinFilters\": false, \"useTimeFilter\": false, \"updateFiltersOnChange\": true, \"controls\": [{\"parent\": \"\", \"id\": \"1532342651170\", \"fieldName\": \"kafka.topic.name\", \"indexPattern\": \"metricbeat-*\", \"label\": \"Topic Name\", \"type\": \"list\", \"options\": {\"type\": \"terms\", \"multiselect\": true, \"order\": \"desc\", \"size\": 10}}, {\"parent\": \"1532342651170\", \"id\": \"1539799686678\", \"fieldName\": \"kafka.partition.id\", \"indexPattern\": \"metricbeat-*\", \"label\": \"Partition\", \"type\": \"list\", \"options\": {\"type\": \"terms\", \"multiselect\": true, \"order\": \"desc\", \"size\": 5}}]}, \"aggs\": [], \"title\": \"Kafka Controls [Metricbeat Kafka]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "944188f0-8e79-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Kafka Consumer Group Lag vs Time [Metricbeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"((metricset.name: partition AND kafka.partition.partition.is_leader: true) OR metricset.name: consumergroup) AND NOT kafka.topic.name:__consumer_offsets\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"0dcb8020-8e6d-11e8-bfab-6f29bad3a6f2\",\"label\":\"Consumer Groups\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.offset.newest\",\"id\":\"0dcb8021-8e6d-11e8-bfab-6f29bad3a6f2\",\"type\":\"max\"},{\"field\":\"kafka.consumergroup.offset\",\"id\":\"4bd11db0-8e6f-11e8-bfab-6f29bad3a6f2\",\"type\":\"max\"},{\"id\":\"e0742d50-8e78-11e8-abb3-cf57ca7a810c\",\"script\":\"def lag = params.partition - params.consumergroup; if (lag \\u003c 0) { return 0 } return lag\",\"type\":\"calculation\",\"variables\":[{\"field\":\"0dcb8021-8e6d-11e8-bfab-6f29bad3a6f2\",\"id\":\"e20d6af0-8e78-11e8-abb3-cf57ca7a810c\",\"name\":\"partition\"},{\"field\":\"4bd11db0-8e6f-11e8-bfab-6f29bad3a6f2\",\"id\":\"e6cc2b80-8e78-11e8-abb3-cf57ca7a810c\",\"name\":\"consumergroup\"}]}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_color_mode\":\"rainbow\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.topic.name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Kafka Consumer Group Lag vs Time [Metricbeat Kafka]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dc89f8d0-8e8e-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"Partition Metricset\",\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"metricset.name\",\"negate\":false,\"params\":{\"query\":\"partition\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"partition\"},\"query\":{\"match\":{\"metricset.name\":{\"query\":\"partition\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"kafka.topic.name\",\"negate\":true,\"params\":{\"query\":\"__consumer_offsets\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"__consumer_offsets\"},\"query\":{\"match\":{\"kafka.topic.name\":{\"query\":\"__consumer_offsets\",\"type\":\"phrase\"}}}}],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "title": "Kafka Metrics [Metricbeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"type\": \"metric\", \"metric\": {\"style\": {\"bgFill\": \"#000\", \"bgColor\": false, \"fontSize\": 32, \"subText\": \"\", \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"labels\": {\"show\": true}, \"useRanges\": false, \"percentageMode\": false, \"colorsRange\": [{\"to\": 10000, \"from\": 0}], \"metricColorMode\": \"None\"}, \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"kafka.topic.name\", \"customLabel\": \"Topics\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"kafka.partition.broker.id\", \"customLabel\": \"Brokers\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"kafka.partition.topic_id\", \"customLabel\": \"Partitions\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"kafka.partition.topic_broker_id\", \"customLabel\": \"Replicas\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}], \"title\": \"Kafka Metrics [Metricbeat Kafka]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "587f2360-8f21-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Consumer Partition Reassignments [Metricbeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_max\":\"1\",\"axis_min\":\"-1\",\"axis_position\":\"right\",\"filter\":\"NOT kafka.topic.name:__consumer_offsets\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0\",\"formatter\":\"number\",\"hide_in_legend\":0,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Consumer -\\u003e Partition Reassignment\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"kafka.consumergroup.partition\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"6b69c760-8f20-11e8-8927-d7e991b5b6ab\",\"type\":\"derivative\",\"unit\":\"\"},{\"id\":\"976f9d80-8f20-11e8-8927-d7e991b5b6ab\",\"script\":\"if (params.sum_partition \\u003c 0) { return -1 } else if (params.sum_partition \\u003e 0) { return 1 }\",\"type\":\"calculation\",\"variables\":[{\"field\":\"6b69c760-8f20-11e8-8927-d7e991b5b6ab\",\"id\":\"99cc2b20-8f20-11e8-8927-d7e991b5b6ab\",\"name\":\"sum_partition\"}]}],\"point_size\":\"20\",\"seperate_axis\":0,\"split_color_mode\":\"rainbow\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.consumergroup.id\",\"value_template\":\"\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Consumer Partition Reassignments [Metricbeat Kafka]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1681f1a0-90e7-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"kafka.topic.name\",\"negate\":true,\"params\":{\"query\":\"__consumer_offsets\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"__consumer_offsets\"},\"query\":{\"match\":{\"kafka.topic.name\":{\"query\":\"__consumer_offsets\",\"type\":\"phrase\"}}}}],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Consumer Metrics [Metricbeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"type\": \"metric\", \"metric\": {\"style\": {\"bgFill\": \"#000\", \"bgColor\": false, \"fontSize\": 32, \"subText\": \"\", \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"labels\": {\"show\": true}, \"useRanges\": false, \"percentageMode\": false, \"colorsRange\": [{\"to\": 10000, \"from\": 0}], \"metricColorMode\": \"None\"}, \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"kafka.consumergroup.id\", \"customLabel\": \"Consumer Groups\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Consumer Metrics [Metricbeat Kafka]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9a7576e0-d231-11e8-8766-dbbdc39e7ba9", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Kafka Consumer Group Clients [Metricbeat Kafka]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"kafka.consumergroup.offset\", \"customLabel\": \"Newest Offset\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"_term\", \"missingBucket\": false, \"customLabel\": \"Consumer group client\", \"missingBucketLabel\": \"Missing\", \"field\": \"kafka.consumergroup.client.id\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 64}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Topic\", \"missingBucketLabel\": \"Missing\", \"field\": \"kafka.topic.name\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 64}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Partition\", \"missingBucketLabel\": \"Missing\", \"field\": \"kafka.partition.id\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 256}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"bucket\"}], \"title\": \"Kafka Consumer Group Clients [Metricbeat Kafka]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "27dd5960-d2ed-11e8-8766-dbbdc39e7ba9", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Kafka Broker Details [Metricbeat Kafka]", + "uiStateJSON": "{\"table\": {\"sort\": {\"column\": \"cf09c940-d2ec-11e8-88c8-af5b2a9ee6b2\", \"order\": \"asc\"}}}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"7fb31e00-d2ec-11e8-88c8-af5b2a9ee6b2\"}],\"filter\":\"\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"pivot_id\":\"kafka.partition.partition.replica\",\"pivot_label\":\"Broker ID\",\"pivot_rows\":\"256\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Topics\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.topic.name\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.broker.id\",\"terms_size\":\"100\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"7e9ee780-d2ef-11e8-9dd4-c5f03280d7b0\"}],\"fill\":0.5,\"filter\":\"kafka.partition.partition.is_leader: true\",\"formatter\":\"number\",\"id\":\"b38e91a0-d2ec-11e8-88c8-af5b2a9ee6b2\",\"label\":\"Leader Partitions\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.topic_id\",\"id\":\"b38eb8b0-d2ec-11e8-88c8-af5b2a9ee6b2\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"d4d9d2c0-d2ec-11e8-88c8-af5b2a9ee6b2\"}],\"fill\":0.5,\"filter\":\"\",\"formatter\":\"number\",\"id\":\"cf09c940-d2ec-11e8-88c8-af5b2a9ee6b2\",\"label\":\"Replicas\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.topic_broker_id\",\"id\":\"cf09f050-d2ec-11e8-88c8-af5b2a9ee6b2\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"table\"},\"title\":\"Kafka Broker Details [Metricbeat Kafka]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "491fee50-d2f5-11e8-8766-dbbdc39e7ba9", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Kafka Topic Details [Metricbeat Kafka]", + "uiStateJSON": "{\"table\": {\"sort\": {\"column\": \"_default_\", \"order\": \"asc\"}}}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"f81e47a0-d2f3-11e8-9dd4-c5f03280d7b0\"}],\"filter\":\"NOT kafka.topic.name: __consumer_offsets\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"pivot_id\":\"kafka.topic.name\",\"pivot_label\":\"Topic Name\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"f07881d0-d2f5-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Brokers\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.broker.id\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"fb759e10-d2f5-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"7d640440-d2f4-11e8-9dd4-c5f03280d7b0\",\"label\":\"Partitions\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.id\",\"id\":\"7d640441-d2f4-11e8-9dd4-c5f03280d7b0\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"fdb1ab60-d2f5-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"ad26e260-d2f4-11e8-9dd4-c5f03280d7b0\",\"label\":\"Replicas\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.topic_broker_id\",\"id\":\"ad26e261-d2f4-11e8-9dd4-c5f03280d7b0\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"ff90f2b0-d2f5-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: consumergroup\",\"formatter\":\"number\",\"id\":\"26d2cd90-d2f5-11e8-9dd4-c5f03280d7b0\",\"label\":\"Consumers\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.consumergroup.client.id\",\"id\":\"26d2cd91-d2f5-11e8-9dd4-c5f03280d7b0\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"ea4984e0-d2f4-11e8-9dd4-c5f03280d7b0\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"dc390e20-d2f4-11e8-9dd4-c5f03280d7b0\",\"label\":\"Newest Offset\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.offset.newest\",\"id\":\"dc393530-d2f4-11e8-9dd4-c5f03280d7b0\",\"type\":\"max\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"043b67f0-d2f6-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"11366c80-d2f5-11e8-9dd4-c5f03280d7b0\",\"label\":\"Oldest Offset\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.offset.oldest\",\"id\":\"11366c81-d2f5-11e8-9dd4-c5f03280d7b0\",\"type\":\"min\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"table\"},\"title\":\"Kafka Topic Details [Metricbeat Kafka]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a64b4fd0-471c-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Connections [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"4e35d500-471b-11e8-a520-3f46123ab5eb\"}],\"bar_color_rules\":[{\"id\":\"69899960-4719-11e8-a520-3f46123ab5eb\"}],\"filter\":\"haproxy.stat.component_type:(0 OR 1)\",\"gauge_color_rules\":[{\"id\":\"6f171ba0-4719-11e8-a520-3f46123ab5eb\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Number of connections\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"41ff3940-4719-11e8-a520-3f46123ab5eb\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"41ff3940-4719-11e8-a520-3f46123ab5eb\",\"id\":\"456a5fa0-4738-11e8-8633-8f8b3acf1566\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"series_drop_last_bucket\":1,\"split_color_mode\":\"rainbow\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"0ceb7740-471a-11e8-a520-3f46123ab5eb\"}],\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy connections\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "794b6cd0-471d-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Active servers in backend [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"color\":\"rgba(255,0,6,1)\",\"id\":\"1ec0dde0-471d-11e8-9876-09cc6c85f5f2\",\"operator\":\"lte\",\"value\":0}],\"bar_color_rules\":[{\"id\":\"297160c0-471d-11e8-9876-09cc6c85f5f2\"}],\"filter\":\"haproxy.stat.component_type:(2 OR 3)\",\"gauge_color_rules\":[{\"gauge\":\"rgba(255,0,5,1)\",\"id\":\"4ce156a0-471d-11e8-9876-09cc6c85f5f2\",\"operator\":\"lte\",\"text\":null,\"value\":0},{\"gauge\":\"rgba(255,196,0,1)\",\"id\":\"f8458a80-4721-11e8-b854-2f6d2b452362\",\"operator\":\"lte\",\"value\":0.5}],\"gauge_inner_width\":10,\"gauge_max\":\"1\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.status:UP\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Active servers\",\"line_width\":1,\"metrics\":[{\"denominator\":\"*\",\"field\":\"haproxy.stat.server.id\",\"id\":\"b754d060-471e-11e8-9876-09cc6c85f5f2\",\"metric_agg\":\"count\",\"numerator\":\"*\",\"script\":\"params.up / (params.down + params.up)\",\"type\":\"cardinality\",\"variables\":[{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"cfd51780-471e-11e8-9d35-6baabcdce3dc\",\"name\":\"down\"},{\"field\":\"a049c420-471e-11e8-9876-09cc6c85f5f2\",\"id\":\"45e6ec00-471f-11e8-9d35-6baabcdce3dc\",\"name\":\"up\"}]}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2cba9420-4724-11e8-b854-2f6d2b452362\",\"label\":\"Total servers\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.server.id\",\"id\":\"2cba9421-4724-11e8-b854-2f6d2b452362\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"HAProxy active servers in backend\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "bb0ab500-4735-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Connections per server [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"978f2660-4735-11e8-b619-8f82b8185e96\"}],\"drilldown_url\":\"../app/kibana#/dashboard/8cc50a50-47e0-11e8-bc13-1397384faad3?_a=(query:(language:lucene,query:'haproxy.stat.service_name:\\\"{{ key }}\\\"'))\",\"filter\":\"haproxy.stat.component_type:(2 OR 3)\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Connections per server\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"3ea29000-4735-11e8-b619-8f82b8185e96\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.service_name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"HAProxy connections per server\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "40bed190-473b-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Downtime seconds [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"c86b8e00-4739-11e8-8953-55bbe33e1362\"}],\"filter\":\"haproxy.stat.component_type:1\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,0,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Downtime\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.downtime\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"91aa6a20-473a-11e8-8953-55bbe33e1362\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"91aa6a20-473a-11e8-8953-55bbe33e1362\",\"id\":\"a8ce7ca0-473a-11e8-8953-55bbe33e1362\",\"sigma\":\"\",\"type\":\"sum_bucket\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\",\"value_template\":\"{{value}}s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"HAProxy downtime seconds\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b3463670-47a1-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Average time in queue [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Average time in queue\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.queue.time.avg\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy average time in queue\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "86159190-47c5-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Traffic volume [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(164,221,0,1)\",\"fill\":\"0.5\",\"formatter\":\"bytes\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Incoming\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"haproxy.stat.in.bytes\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"9814c420-47c4-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":\"1\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(25,77,51,1)\",\"fill\":\"0.5\",\"formatter\":\"bytes\",\"id\":\"c89d1520-47c4-11e8-994c-81d2daeb7c86\",\"label\":\"Outgoing\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"haproxy.stat.out.bytes\",\"id\":\"c89d6340-47c4-11e8-994c-81d2daeb7c86\",\"type\":\"sum\"},{\"field\":\"c89d6340-47c4-11e8-994c-81d2daeb7c86\",\"id\":\"c89d6341-47c4-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"}],\"override_index_pattern\":0,\"point_size\":\"1\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy traffic volume\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fcbdfa60-47bd-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "HTTP response codes [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"200s\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.2xx\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"973a6de0-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"973a6de0-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"4971d580-47e5-11e8-b45e-f10c3845381c\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(64,240,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"aafd05e0-47bd-11e8-b7ab-dff70b15977c\",\"label\":\"300s\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.3xx\",\"id\":\"aafd05e1-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"aafd05e1-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"aafd05e2-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,246,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"c77191a0-47bd-11e8-b7ab-dff70b15977c\",\"label\":\"400s\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.4xx\",\"id\":\"c77191a1-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"c77191a1-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"c77191a2-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,0,4,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"d574e900-47bd-11e8-b7ab-dff70b15977c\",\"label\":\"500s\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.5xx\",\"id\":\"d574e901-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"d574e901-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"d5753720-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,251,255,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"e3b8a4c0-47bd-11e8-b7ab-dff70b15977c\",\"label\":\"Other\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.other\",\"id\":\"e3b8a4c1-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"e3b8a4c1-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"e3b8a4c2-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(15,20,25,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"f9217d40-47be-11e8-b7ab-dff70b15977c\",\"label\":\"Response errors\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.errors\",\"id\":\"f9217d41-47be-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"f9217d41-47be-11e8-b7ab-dff70b15977c\",\"id\":\"1b7d4400-47bf-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy HTTP response codes\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "981d1040-47be-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Average response time [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"ms,ms,0\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Average response time\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.time.avg\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}}ms\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy average response time\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "30956d00-47d7-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Requests [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Requests\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.request.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"ad38e2c0-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"ad38e2c0-47d6-11e8-994c-81d2daeb7c86\",\"id\":\"b1ca03a0-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,0,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"c2f30500-47d6-11e8-994c-81d2daeb7c86\",\"label\":\"Request errors\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.request.errors\",\"id\":\"c2f30501-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"max\"},{\"field\":\"c2f30501-47d6-11e8-994c-81d2daeb7c86\",\"id\":\"c2f30502-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"c2f30502-47d6-11e8-994c-81d2daeb7c86\",\"id\":\"c2f30503-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,0,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"11968ce0-47d7-11e8-994c-81d2daeb7c86\",\"label\":\"Denied requests\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.request.denied\",\"id\":\"11968ce1-47d7-11e8-994c-81d2daeb7c86\",\"type\":\"max\"},{\"field\":\"11968ce1-47d7-11e8-994c-81d2daeb7c86\",\"id\":\"11968ce2-47d7-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"11968ce2-47d7-11e8-994c-81d2daeb7c86\",\"id\":\"11968ce3-47d7-11e8-994c-81d2daeb7c86\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy requests\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0751ed00-479c-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Average connection time [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.1\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Percentile\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"haproxy.stat.connection.time.avg\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"percentiles\":[{\"id\":\"9fa517e0-479b-11e8-9590-e34c5ed2dd95\",\"mode\":\"line\",\"percentile\":\"\",\"shade\":0.2,\"value\":\"99\"},{\"id\":\"daafd6e0-479b-11e8-9590-e34c5ed2dd95\",\"mode\":\"line\",\"percentile\":\"\",\"shade\":0.2,\"value\":\"90\"},{\"id\":\"e006b8c0-479b-11e8-9590-e34c5ed2dd95\",\"mode\":\"line\",\"percentile\":\"\",\"shade\":0.2,\"value\":\"50\"}],\"type\":\"percentile\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.service_name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy average connection time\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "72e84b00-47e1-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Number of server connections [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.component_type:(2 OR 3)\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Number of connections\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"22668d40-47e1-11e8-96ee-d767c73d008a\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"22668d40-47e1-11e8-96ee-d767c73d008a\",\"id\":\"2a1d0a00-47e1-11e8-96ee-d767c73d008a\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.service_name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy number of server connections\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "976b0910-47e4-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Healthcheck [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,0,4,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"198f56e0-47e4-11e8-b45e-f10c3845381c\",\"label\":\"Down\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.downtime\",\"id\":\"198f56e1-47e4-11e8-b45e-f10c3845381c\",\"type\":\"sum\"},{\"field\":\"198f56e1-47e4-11e8-b45e-f10c3845381c\",\"id\":\"dbf38560-47e6-11e8-b45e-f10c3845381c\",\"sigma\":\"\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"dbf38560-47e6-11e8-b45e-f10c3845381c\",\"id\":\"62274b80-47e7-11e8-b45e-f10c3845381c\",\"type\":\"positive_only\",\"unit\":\"\"},{\"id\":\"7b7a7300-47e7-11e8-b45e-f10c3845381c\",\"script\":\"(params.down \\u003e 0) ? 1 : 0\",\"type\":\"calculation\",\"variables\":[{\"field\":\"62274b80-47e7-11e8-b45e-f10c3845381c\",\"id\":\"7e577b40-47e7-11e8-b45e-f10c3845381c\",\"name\":\"down\"}]}],\"point_size\":1,\"seperate_axis\":1,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,218,0,1)\",\"fill\":0.5,\"formatter\":\"ms,ms,0\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Duration (ms)\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.check.duration\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HAProxy healthcheck\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "79350d50-47db-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Servers per connection [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"50830800-47d9-11e8-9db9-274c7a5e25e4\"}],\"drilldown_url\":\"../app/kibana#/dashboard/8cc50a50-47e0-11e8-bc13-1397384faad3?_a=(query:(language:lucene,query:'haproxy.stat.service_name:\\\"{{ key }}\\\"'))\",\"filter\":\"\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"ignore_global_filter\":0,\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"markdown\":\"{{#each _all}}\\n{{ label }}\\n\\n{{/each}}\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.component_type:(2 OR 3)\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Servers\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.service_name\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"20\",\"var_name\":\"\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"HAProxy servers per connection\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8c8f0300-47dc-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Backends per connection [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"4aeddd40-47dc-11e8-9db9-274c7a5e25e4\"}],\"drilldown_url\":\"../app/kibana#/dashboard/0836a4b0-47bd-11e8-bc13-1397384faad3?_a=(query:(language:lucene,query:'haproxy.stat.proxy.name:\\\"{{ key }}\\\"'))\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.component_type:1\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Backends\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"20\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"HAProxy backends per connection\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f1e27ed0-47dc-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Frontends per connection [Metricbeat HAProxy]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"b81d8640-47dc-11e8-9a25-99b107967d82\"}],\"drilldown_url\":\"../app/kibana#/dashboard/e9057ae0-47c5-11e8-bc13-1397384faad3?_a=(query:(language:lucene,query:'haproxy.stat.proxy.name:\\\"{{ key }}\\\"'))\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.component_type:0\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Frontends\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"20\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"HAProxy frontends per connection\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7cbeb750-5794-11e8-afa2-e9067ea62228", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Kubernetes API Server: Top clients by number of requests", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"61a13010-5794-11e8-8bd0-2180975e72dd\"}],\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"5m\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"filter\":\"\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Top clients by number of requests (5m)\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.apiserver.request.count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"0e6ff4a0-5792-11e8-8bd0-2180975e72dd\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"9e4b8030-5792-11e8-8bd0-2180975e72dd\"}],\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.apiserver.request.client\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"10\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Kubernetes API Server: Top clients by number of requests\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ec360ff0-57a0-11e8-afa2-e9067ea62228", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Kubernetes API Server: Requests", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(159,5,0,1)\",\"fill\":\"0\",\"filter\":\"NOT (kubernetes.apiserver.request.verb: WATCH or kubernetes.apiserver.request.verb: CONNECT)\",\"formatter\":\"us,ms,2\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Avg response time\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.apiserver.request.latency.sum\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"kubernetes.apiserver.request.count\",\"id\":\"a2185e50-57a0-11e8-af57-a1d645d2b569\",\"type\":\"sum\"},{\"id\":\"b09133d0-57a0-11e8-af57-a1d645d2b569\",\"script\":\"params.sum / params.count\",\"type\":\"calculation\",\"variables\":[{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"b27c8910-57a0-11e8-af57-a1d645d2b569\",\"name\":\"sum\"},{\"field\":\"a2185e50-57a0-11e8-af57-a1d645d2b569\",\"id\":\"b5fc8810-57a0-11e8-af57-a1d645d2b569\",\"name\":\"count\"}]}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}} ms\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(22,165,165,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"c0019340-57a1-11e8-a049-ff54cef064a2\",\"label\":\"Requests rate\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.apiserver.request.count\",\"id\":\"c001ba50-57a1-11e8-a049-ff54cef064a2\",\"type\":\"sum\"},{\"field\":\"c001ba50-57a1-11e8-a049-ff54cef064a2\",\"id\":\"dc83b390-57a1-11e8-a049-ff54cef064a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":1,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Kubernetes API Server: Requests\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "95a7f110-57a2-11e8-afa2-e9067ea62228", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Kubernetes API Server: Top clients by resource", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"61a13010-5794-11e8-8bd0-2180975e72dd\"}],\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"5m\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"filter\":\"\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Top clients by number of requests (5m)\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.apiserver.request.count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"0e6ff4a0-5792-11e8-8bd0-2180975e72dd\",\"type\":\"derivative\",\"unit\":\"\"}],\"override_index_pattern\":0,\"point_size\":1,\"seperate_axis\":0,\"series_drop_last_bucket\":1,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"9e4b8030-5792-11e8-8bd0-2180975e72dd\"}],\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.apiserver.request.resource\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"10\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Kubernetes API Server: Top clients by resource\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "System-Navigation", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "System Navigation [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"markdown\", \"params\": {\"markdown\": \"[System Overview](#/dashboard/Metricbeat-system-overview) | [Host Overview](#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8) |\\n[Containers overview](#/dashboard/CPU-slash-Memory-per-container)\", \"fontSize\": 12}, \"aggs\": [], \"title\": \"System Navigation [Metricbeat System]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d3166e80-1b91-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Memory Usage Gauge [Metricbeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"gauge_color_rules\":[{\"gauge\":\"rgba(104,188,0,1)\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"value\":0},{\"gauge\":\"rgba(254,146,0,1)\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"value\":0.7},{\"gauge\":\"rgba(211,49,21,1)\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"value\":0.85}],\"gauge_inner_width\":10,\"gauge_max\":\"1\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Memory Usage\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.pct\",\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"title\":\"Memory Usage Gauge [Metricbeat System]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "022a54c0-2bf5-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Available pods per deployment [Metricbeat Kubernetes]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"id\":\"117fadf0-30df-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"64456840-30df-11e7-8df8-6d3604a72912\",\"label\":\"Available pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.available\",\"id\":\"64456841-30df-11e7-8df8-6d3604a72912\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"53d35ad0-30df-11e7-8df8-6d3604a72912\"}],\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.deployment.name\",\"terms_size\":\"10000\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Available pods per deployment [Metricbeat Kubernetes]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "44f12b40-2bf4-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "CPU usage by node [Metricbeat Kubernetes]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND (metricset.name:container OR metricset.name:state_node)\",\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.5\",\"formatter\":\"0.0a\",\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.container.cpu.usage.nanocores\",\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\"}],\"override_index_pattern\":0,\"point_size\":1,\"seperate_axis\":0,\"series_interval\":\"10s\",\"series_time_field\":\"@timestamp\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"terms_size\":\"10000\",\"value_template\":\"{{value}} nanocores\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(211,49,21,1)\",\"fill\":\"0\",\"formatter\":\"0.0a\",\"hide_in_legend\":1,\"id\":\"22f65d40-31a7-11e7-84cc-096d2b38e6e5\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.node.cpu.capacity.cores\",\"id\":\"22f65d41-31a7-11e7-84cc-096d2b38e6e5\",\"type\":\"avg\"},{\"id\":\"4af4c390-34d6-11e7-be88-cb6a123dc1bb\",\"script\":\"params.cores * 1000000000\",\"type\":\"calculation\",\"variables\":[{\"field\":\"22f65d41-31a7-11e7-84cc-096d2b38e6e5\",\"id\":\"4cd32080-34d6-11e7-be88-cb6a123dc1bb\",\"name\":\"cores\"}]}],\"override_index_pattern\":0,\"point_size\":\"0\",\"seperate_axis\":0,\"series_interval\":\"10s\",\"series_time_field\":\"@timestamp\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"22f65d41-31a7-11e7-84cc-096d2b38e6e5\",\"terms_size\":\"10000\",\"value_template\":\"{{value}} nanocores\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"CPU usage by node [Metricbeat Kubernetes]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "cd059410-2bfb-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Kubernetes - Deployments", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"67ee7da0-30e0-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"68cdba10-30e0-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"gauge_color_rules\":[{\"id\":\"69765620-30e0-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"4c4690b0-30e0-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"4c4690b1-30e0-11e7-8df8-6d3604a72912\",\"label\":\"Deployments\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.name\",\"id\":\"4c4690b2-30e0-11e7-8df8-6d3604a72912\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.deployment.name\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Deployments\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e1018b90-2bfb-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Kubernetes - Desired pods", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"508ffb30-30d5-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"674d83b0-30d5-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"gauge_color_rules\":[{\"id\":\"50f9b980-30d5-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":\"10\",\"gauge_max\":\"5\",\"gauge_style\":\"half\",\"gauge_width\":\"10\",\"id\":\"2fe9d3b0-30d5-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2fe9d3b1-30d5-11e7-8df8-6d3604a72912\",\"label\":\"Desired Pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.desired\",\"id\":\"54cf79a0-30d5-11e7-8df8-6d3604a72912\",\"type\":\"sum\"}],\"override_index_pattern\":1,\"point_size\":1,\"seperate_axis\":0,\"series_interval\":\"10s\",\"series_time_field\":\"@timestamp\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Desired pods\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d6564360-2bfc-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Memory usage by node [Metricbeat Kubernetes]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND (metricset.name:container OR metricset.name:state_node)\",\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.container.memory.usage.bytes\",\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"id\":\"9f0cf900-1ffb-11e8-81f2-43be86397500\",\"type\":\"cumulative_sum\"},{\"field\":\"9f0cf900-1ffb-11e8-81f2-43be86397500\",\"id\":\"a926e130-1ffb-11e8-81f2-43be86397500\",\"type\":\"derivative\",\"unit\":\"10s\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"terms_size\":\"10000\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(211,49,21,1)\",\"fill\":\"0\",\"formatter\":\"bytes\",\"hide_in_legend\":1,\"id\":\"8ba3b270-31a7-11e7-84cc-096d2b38e6e5\",\"label\":\"Node capacity\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.node.memory.capacity.bytes\",\"id\":\"8ba3b271-31a7-11e7-84cc-096d2b38e6e5\",\"type\":\"sum\"},{\"field\":\"8ba3b271-31a7-11e7-84cc-096d2b38e6e5\",\"id\":\"d1fb2670-1ffb-11e8-81f2-43be86397500\",\"type\":\"cumulative_sum\"},{\"field\":\"d1fb2670-1ffb-11e8-81f2-43be86397500\",\"id\":\"dc8b01f0-1ffb-11e8-81f2-43be86397500\",\"type\":\"derivative\",\"unit\":\"10s\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"8ba3b271-31a7-11e7-84cc-096d2b38e6e5\",\"terms_size\":\"10000\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Memory usage by node [Metricbeat Kubernetes]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "16fa4470-2bfd-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Network in by node [Metricbeat Kubernetes]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:pod\",\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.pod.network.rx.bytes\",\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"id\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"id\":\"37c72a70-3598-11e7-aa4a-8313a0c92a88\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"terms_size\":\"100000\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Network in by node [Metricbeat Kubernetes]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "294546b0-30d6-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Network out by node [Metricbeat Kubernetes]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:pod\",\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.pod.network.tx.bytes\",\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"id\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"id\":\"244c70e0-3598-11e7-aa4a-8313a0c92a88\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"terms_size\":\"10000\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Network out by node [Metricbeat Kubernetes]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "408fccf0-30d6-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Kubernetes - Nodes", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"67ee7da0-30e0-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"68cdba10-30e0-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_node\",\"gauge_color_rules\":[{\"id\":\"69765620-30e0-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"4c4690b0-30e0-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"4c4690b1-30e0-11e7-8df8-6d3604a72912\",\"label\":\"Nodes\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.node.name\",\"id\":\"4c4690b2-30e0-11e7-8df8-6d3604a72912\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.deployment.name\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Nodes\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "58e644f0-30d6-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Top CPU intensive pods [Metricbeat Kubernetes]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"802104d0-2bfc-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:container\",\"id\":\"5d3692a0-2bfc-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"0.0 a\",\"id\":\"5d3692a1-2bfc-11e7-859b-f78b612cde28\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.container.cpu.usage.core.ns\",\"id\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"id\":\"6c905240-2bfc-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"field\":\"6c905240-2bfc-11e7-859b-f78b612cde28\",\"id\":\"9a51f710-359d-11e7-aa4a-8313a0c92a88\",\"type\":\"positive_only\",\"unit\":\"\"}],\"offset_time\":\"\",\"override_index_pattern\":0,\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.pod.name\",\"terms_order_by\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"value_template\":\"{{value}} ns\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Top CPU intensive pods [Metricbeat Kubernetes]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a4c9d360-30df-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Top memory intensive pods [Metricbeat Kubernetes]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"802104d0-2bfc-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:container\",\"id\":\"5d3692a0-2bfc-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"5d3692a1-2bfc-11e7-859b-f78b612cde28\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.container.memory.usage.bytes\",\"id\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"id\":\"3972e9f0-256f-11e8-84e6-87221f87ae3b\",\"type\":\"cumulative_sum\"},{\"field\":\"3972e9f0-256f-11e8-84e6-87221f87ae3b\",\"id\":\"3e9fd5a0-256f-11e8-84e6-87221f87ae3b\",\"type\":\"derivative\",\"unit\":\"10s\"}],\"offset_time\":\"\",\"override_index_pattern\":0,\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.pod.name\",\"terms_order_by\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"terms_size\":\"10\",\"value_template\":\"\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Top memory intensive pods [Metricbeat Kubernetes]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "174a6ad0-30e0-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Kubernetes - Unavailable pods", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"508ffb30-30d5-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"674d83b0-30d5-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"gauge_color_rules\":[{\"id\":\"50f9b980-30d5-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":\"10\",\"gauge_max\":\"\",\"gauge_style\":\"half\",\"gauge_width\":\"10\",\"id\":\"2fe9d3b0-30d5-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2fe9d3b1-30d5-11e7-8df8-6d3604a72912\",\"label\":\"Unavailable Pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.unavailable\",\"id\":\"54cf79a0-30d5-11e7-8df8-6d3604a72912\",\"type\":\"sum\"}],\"override_index_pattern\":1,\"point_size\":1,\"seperate_axis\":0,\"series_interval\":\"10s\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Unavailable pods\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7aac4fd0-30e0-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + }, + "title": "Unavailable pods per deployment [Metricbeat Kubernetes]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"id\":\"117fadf0-30df-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(254,146,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"64456840-30df-11e7-8df8-6d3604a72912\",\"label\":\"Unavailable pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.unavailable\",\"id\":\"64456841-30df-11e7-8df8-6d3604a72912\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"53d35ad0-30df-11e7-8df8-6d3604a72912\"}],\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.deployment.name\",\"terms_size\":\"10000\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Unavailable pods per deployment [Metricbeat Kubernetes]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "da1ff7c0-30ed-11e7-b9e5-2b5b07213ab3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query_string\":{\"query\":\"*\"}}}" + }, + "title": "Kubernetes - Available pods", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"508ffb30-30d5-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"674d83b0-30d5-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"gauge_color_rules\":[{\"id\":\"50f9b980-30d5-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":\"10\",\"gauge_max\":\"5\",\"gauge_style\":\"half\",\"gauge_width\":\"10\",\"id\":\"2fe9d3b0-30d5-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2fe9d3b1-30d5-11e7-8df8-6d3604a72912\",\"label\":\"Available Pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.available\",\"id\":\"54cf79a0-30d5-11e7-8df8-6d3604a72912\",\"type\":\"sum\"}],\"override_index_pattern\":1,\"point_size\":1,\"seperate_axis\":0,\"series_index_pattern\":\"*\",\"series_interval\":\"10s\",\"series_time_field\":\"@timestamp\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Available pods\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-hosts", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Hosts [Metricbeat MongoDB]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.connections.current\", \"customLabel\": \"Number of connections\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"metricset.host\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"mongodb.status.memory.bits\", \"customLabel\": \"Arch\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.memory.resident.mb\", \"customLabel\": \"Resident memory\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.memory.virtual.mb\", \"customLabel\": \"Virtual memory\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}], \"title\": \"Hosts [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-Engine-ampersand-Version", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Engine & Version [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"addTooltip\": true, \"isDonut\": true, \"legendPosition\": \"bottom\", \"addLegend\": true, \"shareYAxis\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {\"field\": \"metricset.host\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mongodb.status.storage_engine.name\", \"customLabel\": \"Engine\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mongodb.status.version\", \"customLabel\": \"Version\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Engine & Version [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-operation-counters", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Operation counters [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.ops.counters.command\", \"customLabel\": \"command\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.ops.counters.delete\", \"customLabel\": \"delete\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.ops.counters.getmore\", \"customLabel\": \"getmore\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.ops.counters.insert\", \"customLabel\": \"insert\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.ops.counters.query\", \"customLabel\": \"query\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.ops.replicated.update\", \"customLabel\": \"update\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"7\", \"schema\": \"metric\"}], \"title\": \"Operation counters [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-Concurrent-transactions-Read", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Concurrent transactions Read [Metricbeat MongoDB]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Read Used\": \"#BF1B00\", \"Read Available\": \"#508642\"}}}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.wired_tiger.concurrent_transactions.read.available\", \"customLabel\": \"Read Available\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.wired_tiger.concurrent_transactions.read.out\", \"customLabel\": \"Read Used\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}], \"title\": \"Concurrent transactions Read [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-Concurrent-transactions-Write", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Concurrent transactions Write [Metricbeat MongoDB]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Write Used\": \"#BF1B00\", \"Write Available\": \"#629E51\"}}}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.wired_tiger.concurrent_transactions.write.available\", \"customLabel\": \"Write Available\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.wired_tiger.concurrent_transactions.write.out\", \"customLabel\": \"Write Used\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}], \"title\": \"Concurrent transactions Write [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-memory-stats", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Memory stats [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"params\": {\"scale\": \"log\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"line\"}], \"yAxis\": {}, \"smoothLines\": false, \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"type\": \"line\", \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.memory.mapped.mb\", \"customLabel\": \"Mapped\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.memory.mapped_with_journal.mb\", \"customLabel\": \"Mapped with journal\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.memory.resident.mb\", \"customLabel\": \"Rezident\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.memory.virtual.mb\", \"customLabel\": \"Virtual\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}], \"title\": \"Memory stats [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-asserts", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Asserts [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.asserts.msg\", \"customLabel\": \"message\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.asserts.regular\", \"customLabel\": \"regular\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.asserts.rollovers\", \"customLabel\": \"rollover\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.asserts.user\", \"customLabel\": \"user\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.asserts.warning\", \"customLabel\": \"warning\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}], \"title\": \"Asserts [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-WiredTiger-Cache", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "WiredTiger Cache [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"overlap\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.wired_tiger.cache.maximum.bytes\", \"customLabel\": \"max\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.wired_tiger.cache.used.bytes\", \"customLabel\": \"used\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.wired_tiger.cache.dirty.bytes\", \"customLabel\": \"dirty\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}], \"title\": \"WiredTiger Cache [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-Clients-Metrics", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Clients [Metricbeat Redis]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"addTooltip\": true, \"addLegend\": false, \"fontSize\": 60, \"handleNoResults\": true, \"gauge\": {\"useRange\": false, \"gaugeType\": \"Metric\", \"style\": {\"subText\": \"\", \"bgColor\": false, \"fontSize\": 60, \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"autoExtend\": false, \"labels\": {\"color\": \"black\", \"show\": true}, \"backStyle\": \"Full\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"width\": 2, \"labels\": false, \"show\": false}, \"verticalSplit\": false, \"percentageMode\": false, \"type\": \"simple\", \"gaugeColorMode\": \"None\"}, \"type\": \"gauge\"}, \"aggs\": [{\"params\": {\"field\": \"redis.info.clients.connected\", \"customLabel\": \"Connected clients\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Clients [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-Connected-clients", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Connected clients [Metricbeat Redis]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Blocked\": \"#C15C17\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"yAxis\": {}, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"grouped\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"redis.info.clients.connected\", \"customLabel\": \"Connected\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"redis.info.clients.blocked\", \"customLabel\": \"Blocked\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}], \"title\": \"Connected clients [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-hosts", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Hosts [Metricbeat Redis]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"orderBy\": \"1\", \"field\": \"metricset.host\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"redis.info.server.uptime\", \"customLabel\": \"Uptime (s)\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"redis.info.server.process_id\", \"customLabel\": \"PID\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"redis.info.memory.used.peak\", \"customLabel\": \"Memory\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"redis.info.cpu.used.user\", \"customLabel\": \"CPU used (user)\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"redis.info.cpu.used.sys\", \"customLabel\": \"CPU used (system)\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}], \"title\": \"Hosts [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-Server-Versions", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Server Versions [Metricbeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"metricset.host\", \"customLabel\": \"Hosts\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.info.server.version\", \"customLabel\": \"Multiplexing API\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Server Versions [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-server-mode", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Server mode [Metricbeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"metricset.host\", \"customLabel\": \"Hosts\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.info.server.mode\", \"customLabel\": \"Server mode\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Server mode [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-multiplexing-API", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Multiplexing API [Metricbeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"metricset.host\", \"customLabel\": \"Hosts\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.info.server.multiplexing_api\", \"customLabel\": \"Multiplexing API\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Multiplexing API [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-Keyspaces", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Keyspaces [Metricbeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"redis.keyspace.keys\", \"customLabel\": \"Number of keys\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.keyspace.id\", \"customLabel\": \"Keyspaces\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Keyspaces [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "00d39210-050d-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "title": "Keyspace selector [Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"input_control_vis\", \"params\": {\"pinFilters\": false, \"useTimeFilter\": false, \"updateFiltersOnChange\": true, \"controls\": [{\"parent\": \"\", \"id\": \"1545388837304\", \"fieldName\": \"redis.keyspace.id\", \"indexPattern\": \"bc2e8280-0509-11e9-9c60-d582a238e2c5\", \"label\": \"Keyspace\", \"type\": \"list\", \"options\": {\"type\": \"terms\", \"size\": 5, \"multiselect\": true, \"dynamicOptions\": true, \"order\": \"desc\"}}]}, \"aggs\": [], \"title\": \"Keyspace selector [Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7f4bc7d0-050c-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"key\":\"redis.key.type\",\"negate\":false,\"params\":{\"query\":\"list\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"list\"},\"query\":{\"match\":{\"redis.key.type\":{\"query\":\"list\",\"type\":\"phrase\"}}}}],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "title": "Lists length [Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"line\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Number of elements\"}}], \"type\": \"line\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Number of elements\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {\"field\": \"redis.key.length\", \"customLabel\": \"Number of elements\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Keyspace\", \"missingBucketLabel\": \"Missing\", \"field\": \"redis.keyspace.id\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 16}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Key name\", \"missingBucketLabel\": \"Missing\", \"field\": \"redis.key.name\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 20}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"group\"}, {\"params\": {\"timeRange\": {\"to\": \"now\", \"from\": \"now-15m\", \"mode\": \"quick\"}, \"extended_bounds\": {}, \"field\": \"@timestamp\", \"interval\": \"auto\", \"time_zone\": \"Europe/Berlin\", \"useNormalizedEsInterval\": true, \"drop_partials\": false, \"min_doc_count\": 1, \"customInterval\": \"2h\"}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"4\", \"schema\": \"segment\"}], \"title\": \"Lists length [Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4435ac40-050e-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "title": "Keys by type [Redis]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"line\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Number of keys\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"line\"}], \"type\": \"line\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Number of keys\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {\"field\": \"redis.key.id\", \"customLabel\": \"Number of keys\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Key type\", \"missingBucketLabel\": \"Missing\", \"field\": \"redis.key.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"group\"}, {\"params\": {\"timeRange\": {\"to\": \"now\", \"from\": \"now-15m\", \"mode\": \"quick\"}, \"min_doc_count\": 1, \"field\": \"@timestamp\", \"customLabel\": \"\", \"interval\": \"auto\", \"time_zone\": \"Europe/Berlin\", \"useNormalizedEsInterval\": true, \"drop_partials\": false, \"extended_bounds\": {}, \"customInterval\": \"2h\"}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Keys by type [Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8541a4a0-0513-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"key\":\"redis.key.type\",\"negate\":false,\"params\":{\"query\":\"string\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"string\"},\"query\":{\"match\":{\"redis.key.type\":{\"query\":\"string\",\"type\":\"phrase\"}}}}],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "title": "Average string key size [Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Average key size\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"line\"}], \"type\": \"line\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Average key size\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {\"field\": \"redis.key.length\", \"customLabel\": \"Average key size\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Keyspace\", \"missingBucketLabel\": \"Missing\", \"field\": \"redis.keyspace.id\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}, {\"params\": {\"timeRange\": {\"to\": \"now\", \"from\": \"now-15m\", \"mode\": \"quick\"}, \"extended_bounds\": {}, \"field\": \"@timestamp\", \"interval\": \"auto\", \"time_zone\": \"Europe/Berlin\", \"useNormalizedEsInterval\": true, \"drop_partials\": false, \"min_doc_count\": 1, \"customInterval\": \"2h\"}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Average string key size [Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "517a5fd0-0514-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"key\":\"redis.key.expire.ttl\",\"negate\":false,\"params\":{\"gte\":0,\"lt\":null},\"type\":\"range\",\"value\":\"0 to +∞\"},\"range\":{\"redis.key.expire.ttl\":{\"gte\":0,\"lt\":null}}}],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "title": "Average keys TTL [Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Average TTL\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"line\"}], \"type\": \"line\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Average TTL\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {\"field\": \"redis.key.expire.ttl\", \"customLabel\": \"Average TTL\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Keyspace\", \"missingBucketLabel\": \"Missing\", \"field\": \"redis.keyspace.id\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"group\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Key type\", \"missingBucketLabel\": \"Missing\", \"field\": \"redis.key.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"group\"}, {\"params\": {\"timeRange\": {\"to\": \"now\", \"from\": \"now-15m\", \"mode\": \"quick\"}, \"extended_bounds\": {}, \"field\": \"@timestamp\", \"interval\": \"auto\", \"time_zone\": \"Europe/Berlin\", \"useNormalizedEsInterval\": true, \"drop_partials\": false, \"min_doc_count\": 1, \"customInterval\": \"2h\"}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Average keys TTL [Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "RabbitMQ-Memory-Usage", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Rabbitmq", + "title": "Memory Usage [Metricbeat RabbitMQ]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": false, \"yAxis\": {}, \"smoothLines\": true, \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": true, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"rabbitmq.node.mem.used.bytes\", \"customLabel\": \"Used memory\", \"json\": \"\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"30s\", \"field\": \"@timestamp\", \"interval\": \"custom\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"rabbitmq.node.name\", \"customLabel\": \"Node name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"group\"}], \"title\": \"RabbitMQ Memory Usage\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Rabbitmq-Number-of-Nodes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Rabbitmq", + "title": "Number of Nodes [Metricbeat RabbitMQ]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"handleNoResults\": true, \"fontSize\": 60}, \"aggs\": [{\"params\": {\"field\": \"rabbitmq.node.name\", \"customLabel\": \"RabbitMQ Nodes\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Rabbitmq-Number-of-Nodes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "RabbitMQ-Erlang-Process-Usage", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Rabbitmq", + "title": "Erlang Process Usage [Metricbeat RabbitMQ]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": false, \"yAxis\": {}, \"smoothLines\": true, \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"rabbitmq.node.proc.used\", \"customLabel\": \"Used Process\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"30s\", \"field\": \"@timestamp\", \"interval\": \"custom\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"rabbitmq.node.name\", \"customLabel\": \"Node name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"group\"}], \"title\": \"RabbitMQ Erlang Process Usage\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "RabbitMQ-Queue-Index-Operations", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Rabbitmq", + "title": "Queue Index Operations [Metricbeat RabbitMQ]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"line\"}], \"yAxis\": {}, \"smoothLines\": false, \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"type\": \"line\", \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": false}, \"aggs\": [{\"params\": {\"field\": \"rabbitmq.node.queue.index.read.count\", \"customLabel\": \"Queue Index Read\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"30s\", \"field\": \"@timestamp\", \"interval\": \"custom\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"rabbitmq.node.queue.index.journal_write.count\", \"customLabel\": \"Queue Index Jornal Write\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"rabbitmq.node.queue.index.write.count\", \"customLabel\": \"Queue Index Write\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}], \"title\": \"Queue Index Operations [Metricbeat RabbitMQ]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d7e6bee0-f1f3-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Connections rate [Metricbeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Connections rate\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.connections\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"aee9bbf0-f1f3-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Connections rate [Metricbeat MySQL]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "695a4f90-f1f4-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Command rates [Metricbeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"SELECT\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.command.select\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"2d149f90-f1f4-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,204,202,1)\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"3c2a2a40-f1f4-11e7-a752-236fe3270d99\",\"label\":\"INSERT\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.command.insert\",\"id\":\"3c2a2a41-f1f4-11e7-a752-236fe3270d99\",\"type\":\"avg\"},{\"field\":\"3c2a2a41-f1f4-11e7-a752-236fe3270d99\",\"id\":\"3c2a2a42-f1f4-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(252,220,0,1)\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"485ce050-f1f4-11e7-a752-236fe3270d99\",\"label\":\"UPDATE\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.command.update\",\"id\":\"485ce051-f1f4-11e7-a752-236fe3270d99\",\"type\":\"avg\"},{\"field\":\"485ce051-f1f4-11e7-a752-236fe3270d99\",\"id\":\"485ce052-f1f4-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(244,78,59,1)\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"543a4a70-f1f4-11e7-a752-236fe3270d99\",\"label\":\"DELETE\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.command.delete\",\"id\":\"543a4a71-f1f4-11e7-a752-236fe3270d99\",\"type\":\"avg\"},{\"field\":\"543a4a71-f1f4-11e7-a752-236fe3270d99\",\"id\":\"543a4a72-f1f4-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Command rates [Metricbeat MySQL]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "124dce60-f1f5-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Running threads [Metricbeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(174,161,255,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Running threads\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.threads.running\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Running threads [Metricbeat MySQL]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "aaa326b0-f1f5-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Opened tables rate [Metricbeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(252,196,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Opened tables rate\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.opened_tables\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"9972d250-f1f5-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Opened tables rate [Metricbeat MySQL]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fb1f3f20-f1f5-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Threads created rate [Metricbeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(123,100,255,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Threads created rate\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.threads.created\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"9972d250-f1f5-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Threads created rate [Metricbeat MySQL]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f5b35930-f1f6-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Open files [Metricbeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(22,165,165,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Open files\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.open.files\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Open files [Metricbeat MySQL]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7404feb0-f1f7-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Sent and received bytes rates [Metricbeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,98,177,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2b1c2390-f1f7-11e7-a752-236fe3270d99\",\"label\":\"Received bytes\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.bytes.received\",\"id\":\"2b1c2391-f1f7-11e7-a752-236fe3270d99\",\"type\":\"avg\"},{\"field\":\"2b1c2391-f1f7-11e7-a752-236fe3270d99\",\"id\":\"2b1c2392-f1f7-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Sent bytes\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.bytes.sent\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"23cfda50-f1f7-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Sent and received bytes rates [Metricbeat MySQL]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8d3b7770-2319-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Approximate data size [Metricbeat Zookeeper]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_min\":\"0\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Approximate data size\",\"line_width\":1,\"metrics\":[{\"field\":\"zookeeper.mntr.approximate_data_size\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Approximate data size [Metricbeat Zookeeper]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c0be43c0-2319-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Latency [Metricbeat Zookeeper]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_min\":\"0\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"ms,ms,2\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Latency\",\"line_width\":1,\"metrics\":[{\"field\":\"zookeeper.mntr.latency.avg\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Latency [Metricbeat Zookeeper]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1c2f8930-231a-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Alive Connections [Metricbeat Zookeeper]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_min\":\"0\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"0,0.[00]\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Alive connections\",\"line_width\":1,\"metrics\":[{\"field\":\"zookeeper.mntr.num_alive_connections\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Alive Connections [Metricbeat Zookeeper]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ddb13c60-231b-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Used file descriptors [Metricbeat Zookeeper]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_min\":\"0\",\"axis_position\":\"left\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.1\",\"formatter\":\"percent\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Used file descriptors\",\"line_width\":1,\"metrics\":[{\"field\":\"zookeeper.mntr.open_file_descriptor_count\",\"id\":\"b92e4550-231a-11e9-9e57-679640dc0c7c\",\"metric_agg\":\"avg\",\"type\":\"avg\"},{\"field\":\"zookeeper.mntr.max_file_descriptor_count\",\"id\":\"918d0c60-231b-11e9-9e57-679640dc0c7c\",\"type\":\"avg\"},{\"id\":\"7e4d11e0-231b-11e9-9e57-679640dc0c7c\",\"script\":\"params.a/params.b\",\"type\":\"math\",\"variables\":[{\"field\":\"b92e4550-231a-11e9-9e57-679640dc0c7c\",\"id\":\"81c03fa0-231b-11e9-9e57-679640dc0c7c\",\"name\":\"a\"},{\"field\":\"918d0c60-231b-11e9-9e57-679640dc0c7c\",\"id\":\"8a3af6c0-231b-11e9-9e57-679640dc0c7c\",\"name\":\"b\"}]}],\"point_size\":1,\"separate_axis\":1,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}}\"},{\"axis_min\":\"0\",\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,98,177,1)\",\"fill\":\"0\",\"formatter\":\"0,0.[00]\",\"id\":\"dffaffe0-23cc-11e9-b1ff-37c851471450\",\"label\":\"Open file descriptors\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"zookeeper.mntr.open_file_descriptor_count\",\"id\":\"dffaffe1-23cc-11e9-b1ff-37c851471450\",\"type\":\"avg\"}],\"point_size\":1,\"separate_axis\":1,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Used file descriptors [Metricbeat Zookeeper]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d2f52b50-231c-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Packets received / sent [Metricbeat Zookeeper]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_min\":\"0\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0\",\"formatter\":\"0,0.[00]\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Packets received\",\"line_width\":\"2\",\"metrics\":[{\"field\":\"zookeeper.mntr.packets.received\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"34949540-231c-11e9-9707-f128cdaa3bf2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":\"0\",\"separate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"5811d190-231c-11e9-9707-f128cdaa3bf2\"}],\"split_mode\":\"terms\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(115,216,255,1)\",\"fill\":\"0\",\"formatter\":\"0,0.[00]\",\"id\":\"753b2e60-231c-11e9-9707-f128cdaa3bf2\",\"label\":\"Packets sent\",\"line_width\":\"2\",\"metrics\":[{\"field\":\"zookeeper.mntr.packets.sent\",\"id\":\"753b2e61-231c-11e9-9707-f128cdaa3bf2\",\"type\":\"avg\"},{\"field\":\"753b2e61-231c-11e9-9707-f128cdaa3bf2\",\"id\":\"7ed33c60-231c-11e9-9707-f128cdaa3bf2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":\"0\",\"separate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Packets received / sent [Metricbeat Zookeeper]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a5058e70-f0ae-11e7-b9ff-9f96241065de", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Overview [Metricbeat uWSGI]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"15s\", \"expression\": \".es(metric=avg:uwsgi.status.total.requests).derivative().label('Requests').title('Overview of requests per period'),\\n.es(metric=avg:uwsgi.status.total.exceptions).derivative().label('Exceptions'),\\n.es(metric=max:uwsgi.status.worker.avg_rt).label('Average response time').yaxis(2)\"}, \"title\": \"Overview [Metricbeat uWSGI]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ac7194b0-f0ae-11e7-b9ff-9f96241065de", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Memory usage [Metricbeat uWSGI]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"15s\", \"expression\": \".es(metric=max:uwsgi.status.worker.rss).label('Currently used (rss)').title('Memory usage'),\\n.es(metric=max:uwsgi.status.worker.vsz).label('Assigned (vsz)').yaxis(2)\"}, \"title\": \"Memory usage [Metricbeat uWSGI]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8c5f96e0-f0ae-11e7-b9ff-9f96241065de", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Workers [Metricbeat uWSGI]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"15s\", \"expression\": \".es(split=uwsgi.status.core.id:16,metric=max:uwsgi.status.core.requests.total).derivative().bars().title('Requests handled by each thread (core) per period')\"}, \"title\": \"Workers [Metricbeat uWSGI]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ba4a80b0-f0ae-11e7-b9ff-9f96241065de", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Errors [Metricbeat uWSGI]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"15s\", \"expression\": \".es(metric=max:uwsgi.status.total.read_errors).label('Read errors').title('Errors'),\\n.es(metric=max:uwsgi.status.total.write_errors).label('Write errors'),\\n.es(metric=max:uwsgi.status.worker.harakiri_count).label('Timeouted requests')\"}, \"title\": \"Errors [Metricbeat uWSGI]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "eb8277d0-c98c-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "title": "Service States [Metricbeat Windows]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"sortField\": \"@timestamp\", \"customLabel\": \"Latest Report\", \"field\": \"@timestamp\", \"sortOrder\": \"desc\", \"aggregate\": \"concat\", \"size\": 1}, \"type\": \"top_hits\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"_term\", \"field\": \"windows.service.display_name\", \"customLabel\": \"Service\", \"order\": \"asc\", \"size\": 100}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"_term\", \"field\": \"beat.name\", \"customLabel\": \"Host\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"5\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"custom\", \"customLabel\": \"State\", \"field\": \"windows.service.state\", \"orderAgg\": {\"params\": {\"field\": \"@timestamp\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3-orderAgg\", \"schema\": {\"group\": \"none\", \"name\": \"orderAgg\", \"min\": 0, \"aggFilter\": [\"!top_hits\", \"!percentiles\", \"!median\", \"!std_dev\", \"!derivative\", \"!moving_avg\", \"!serial_diff\", \"!cumulative_sum\", \"!avg_bucket\", \"!max_bucket\", \"!min_bucket\", \"!sum_bucket\"], \"max\": null, \"title\": \"Order Agg\", \"hideCustomLabel\": true, \"params\": [], \"editor\": false, \"deprecate\": false}}, \"order\": \"desc\", \"size\": 1}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"custom\", \"customLabel\": \"Startup Type\", \"field\": \"windows.service.start_type\", \"orderAgg\": {\"params\": {\"field\": \"@timestamp\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4-orderAgg\", \"schema\": {\"group\": \"none\", \"name\": \"orderAgg\", \"min\": 0, \"aggFilter\": [\"!top_hits\", \"!percentiles\", \"!median\", \"!std_dev\", \"!derivative\", \"!moving_avg\", \"!serial_diff\", \"!cumulative_sum\", \"!avg_bucket\", \"!max_bucket\", \"!min_bucket\", \"!sum_bucket\"], \"max\": null, \"title\": \"Order Agg\", \"hideCustomLabel\": true, \"params\": [], \"editor\": false, \"deprecate\": false}}, \"order\": \"desc\", \"size\": 1}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"bucket\"}], \"title\": \"Service States [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "23a5fff0-c98e-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "title": "Hosts [Metricbeat Windows]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"windows.service.id\", \"customLabel\": \"Total Services\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"beat.name\", \"customLabel\": \"Host\", \"order\": \"desc\", \"size\": 100}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Hosts [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "830c45f0-c991-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "title": "Startup States [Metricbeat Windows]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"legendPosition\": \"right\", \"type\": \"pie\", \"isDonut\": true, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"windows.service.id\", \"customLabel\": \"Service Count\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"windows.service.start_type\", \"customLabel\": \"Startup Type\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"windows.service.state\", \"customLabel\": \"State\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Startup States [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "35f5ad60-c996-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "title": "Unique Services [Metricbeat Windows]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"gauge\": {\"useRange\": false, \"gaugeType\": \"Metric\", \"style\": {\"subText\": \"\", \"bgColor\": false, \"fontSize\": 60, \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"autoExtend\": false, \"labels\": {\"color\": \"black\", \"show\": false}, \"backStyle\": \"Full\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"width\": 2, \"labels\": false, \"show\": false}, \"verticalSplit\": false, \"percentageMode\": false, \"type\": \"simple\", \"gaugeColorMode\": \"None\"}, \"type\": \"gauge\", \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"windows.service.id\", \"customLabel\": \"Services\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Unique Services [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c36b2ba0-ca29-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"exists\":{\"field\":\"windows.service.exit_code\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"windows.service.exit_code\",\"negate\":false,\"type\":\"exists\",\"value\":\"exists\"}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"windows.service.exit_code\",\"negate\":true,\"params\":{\"query\":\"0\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"0\"},\"query\":{\"match\":{\"windows.service.exit_code\":{\"query\":\"0\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"windows.service.exit_code\",\"negate\":true,\"params\":{\"query\":\"ERROR_SERVICE_NEVER_STARTED\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"ERROR_SERVICE_NEVER_STARTED\"},\"query\":{\"match\":{\"windows.service.exit_code\":{\"query\":\"ERROR_SERVICE_NEVER_STARTED\",\"type\":\"phrase\"}}}}],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "title": "Non-zero Service Exit Codes [Metricbeat Windows]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"gauge\": {\"useRange\": false, \"gaugeType\": \"Metric\", \"style\": {\"subText\": \"\", \"bgColor\": false, \"fontSize\": 60, \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"autoExtend\": false, \"labels\": {\"color\": \"black\", \"show\": false}, \"backStyle\": \"Full\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"width\": 2, \"labels\": false, \"show\": false}, \"verticalSplit\": false, \"percentageMode\": false, \"type\": \"simple\", \"gaugeColorMode\": \"None\"}, \"type\": \"gauge\", \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"windows.service.id\", \"customLabel\": \"Non-zero Exit Codes\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Non-zero Service Exit Codes [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "555df8a0-f1a1-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Request Rate [Metricbeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Request rate\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.requests\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"396ec980-f1a1-11e7-95d0-8ddf041d42a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Request Rate [Metricbeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a1d92240-f1a1-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Accepts and Handled Rate [Metricbeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"annotations\":[{\"color\":\"#F00\",\"icon\":\"fa-tag\",\"id\":\"8644f980-f1a3-11e7-95d0-8ddf041d42a2\",\"ignore_global_filters\":1,\"ignore_panel_filters\":1,\"index_pattern\":\"*\",\"time_field\":\"@timestamp\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.5\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Accepts rate\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.accepts\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"396ec980-f1a1-11e7-95d0-8ddf041d42a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"0.9\",\"formatter\":\"number\",\"id\":\"56dd33b0-f1a3-11e7-95d0-8ddf041d42a2\",\"label\":\"Handled rate\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.handled\",\"id\":\"56dd33b1-f1a3-11e7-95d0-8ddf041d42a2\",\"type\":\"avg\"},{\"field\":\"56dd33b1-f1a3-11e7-95d0-8ddf041d42a2\",\"id\":\"56dd33b2-f1a3-11e7-95d0-8ddf041d42a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":\"3\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Accepts and Handled Rate [Metricbeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d763a570-f1a1-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Drops Rate [Metricbeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(188,0,65,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Drops rate\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.dropped\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"396ec980-f1a1-11e7-95d0-8ddf041d42a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Drops Rate [Metricbeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "47a8e0f0-f1a4-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Active connections [Metricbeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.active\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Active connections [Metricbeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dcbffe30-f1a4-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Reading / Writing / Waiting Rates [Metricbeat Nginx]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Reading\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.reading\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"b1773680-f1a4-11e7-95d0-8ddf041d42a2\",\"label\":\"Writing\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.writing\",\"id\":\"b1773681-f1a4-11e7-95d0-8ddf041d42a2\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(252,220,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"b68aa6c0-f1a4-11e7-95d0-8ddf041d42a2\",\"label\":\"Waiting\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.waiting\",\"id\":\"b68aa6c1-f1a4-11e7-95d0-8ddf041d42a2\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Reading / Writing / Waiting Rates [Metricbeat Nginx]\",\"type\":\"metrics\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "825fdb80-4d1d-11e7-b5f2-2b7c1895bf32", + "_type": "visualization", + "_source": { + "title": "Disk used [Metricbeat System]", + "visState": "{\"title\":\"Disk used [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"gauge_color_rules\":[{\"value\":0,\"gauge\":\"rgba(104,188,0,1)\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"operator\":\"gte\",\"opperator\":\"gt\"},{\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"operator\":\"gte\",\"opperator\":\"gte\"},{\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"operator\":\"gte\",\"opperator\":\"gte\"}],\"gauge_inner_width\":10,\"gauge_max\":\"1\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"label\":\"Disk used\",\"line_width\":1,\"metrics\":[{\"field\":\"system.fsstat.total_size.used\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"type\":\"avg\"},{\"field\":\"system.fsstat.total_size.total\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"type\":\"avg\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"script\":\"params.total != null && params.total > 0 ? params.used/params.total : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}]}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7cdb1330-4d1a-11e7-a196-69b9a7a020a9", + "_type": "visualization", + "_source": { + "title": "Hosts histogram by CPU usage [Metricbeat System]", + "visState": "{\"title\":\"Hosts histogram by CPU usage [Metricbeat System]\",\"type\":\"heatmap\",\"params\":{\"colorSchema\":\"Greens\",\"invertColors\":false,\"type\":\"heatmap\",\"legendPosition\":\"right\",\"addLegend\":true,\"colorsRange\":[],\"colorsNumber\":4,\"setColorRange\":false,\"percentageMode\":false,\"addTooltip\":true,\"valueAxes\":[{\"show\":false,\"labels\":{\"color\":\"#555\",\"rotate\":0,\"show\":true},\"type\":\"value\",\"id\":\"ValueAxis-1\",\"scale\":{\"defaultYExtents\":false,\"type\":\"linear\"}}],\"enableHover\":false,\"times\":[]},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.cpu.user.pct\",\"customLabel\":\"CPU usage\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"beat.hostname.keyword\",\"size\":20,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Hosts\"}}]}", + "uiStateJSON": "{\"vis\":{\"defaultColors\":{\"0% - 20%\":\"rgb(247,252,245)\",\"20% - 40%\":\"rgb(199,233,192)\",\"40% - 60%\":\"rgb(116,196,118)\",\"60% - 80%\":\"rgb(35,139,69)\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-lavalab-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\",\"default_field\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "83e12df0-1b91-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "title": "CPU Usage Gauge [Metricbeat System]", + "visState": "{\"title\":\"CPU Usage Gauge [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"gauge_color_rules\":[{\"value\":0,\"gauge\":\"rgba(104,188,0,1)\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"opperator\":\"gt\"},{\"value\":0.7,\"gauge\":\"rgba(254,146,0,1)\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"opperator\":\"gte\"},{\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"opperator\":\"gt\"}],\"gauge_inner_width\":10,\"gauge_max\":\"1\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"label\":\"CPU Usage\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.user.pct\",\"id\":\"4c9e2552-1b91-11e7-bec4-a5e9ec5cab8b\",\"type\":\"avg\"},{\"field\":\"system.cpu.system.pct\",\"id\":\"225c2140-5fd7-11e7-a63a-a937b7c1a7e1\",\"type\":\"avg\"},{\"field\":\"system.cpu.cores\",\"id\":\"837a30c0-5fd7-11e7-a63a-a937b7c1a7e1\",\"type\":\"avg\"},{\"id\":\"587aa510-1b91-11e7-bec4-a5e9ec5cab8b\",\"script\":\"params.n > 0 ? (params.user+params.system)/params.n : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"4c9e2552-1b91-11e7-bec4-a5e9ec5cab8b\",\"id\":\"5a19af10-1b91-11e7-bec4-a5e9ec5cab8b\",\"name\":\"user\"},{\"field\":\"225c2140-5fd7-11e7-a63a-a937b7c1a7e1\",\"id\":\"32b54f80-5fd7-11e7-a63a-a937b7c1a7e1\",\"name\":\"system\"},{\"field\":\"837a30c0-5fd7-11e7-a63a-a937b7c1a7e1\",\"id\":\"8ba6eef0-5fd7-11e7-a63a-a937b7c1a7e1\",\"name\":\"n\"}]}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"beat.hostname.keyword\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1aae9140-1b93-11e7-8ada-3df93aab833e", + "_type": "visualization", + "_source": { + "title": "Outbound Traffic [Metricbeat System]", + "visState": "{\"title\":\"Outbound Traffic [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"filter\":\"-system.network.name.keyword:l*\",\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Outbound Traffic\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.out.bytes\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"max\"},{\"unit\":\"1s\",\"function\":\"sum\",\"id\":\"a1737470-2c55-11e7-a0ad-277ce466684d\",\"type\":\"derivative\",\"field\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\"},{\"id\":\"5645de30-c2b5-11ea-a805-ed7a667554aa\",\"type\":\"series_agg\",\"function\":\"overall_sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name.keyword\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Total Transferred\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.out.bytes\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"max\"},{\"field\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"id\":\"37f72b51-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"f9da2dd0-1b92-11e7-a416-41f5ccdba2e6\",\"function\":\"overall_sum\",\"id\":\"3e63c2f0-1b92-11e7-bec4-a5e9ec5cab8b\",\"sigma\":\"\",\"type\":\"series_agg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"beat.hostname.keyword\",\"value_template\":\"{{value}}\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "522ee670-1b92-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "title": "Inbound Traffic [Metricbeat System]", + "visState": "{\"title\":\"Inbound Traffic [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"filter\":\"-system.network.name:l*\",\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.in.bytes\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"max\"},{\"field\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"id\":\"1d659060-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"function\":\"overall_sum\",\"id\":\"c40e18f0-2c55-11e7-a0ad-277ce466684d\",\"type\":\"series_agg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name.keyword\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Total Transferred\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.in.bytes\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"max\"},{\"field\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"id\":\"37f72b51-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"f9da2dd0-1b92-11e7-a416-41f5ccdba2e6\",\"function\":\"overall_sum\",\"id\":\"3e63c2f0-1b92-11e7-bec4-a5e9ec5cab8b\",\"sigma\":\"\",\"type\":\"series_agg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"beat.name.keyword\",\"value_template\":\"{{value}}\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4e4bb1e0-1b1b-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Disk IO (Bytes) [Metricbeat System]", + "visState": "{\"title\":\"Disk IO (Bytes) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(22,165,165,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"label\":\"reads\",\"line_width\":1,\"metrics\":[{\"field\":\"system.diskio.read.bytes\",\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"max\"},{\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"id\":\"f55b9910-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"derivative\",\"unit\":\"1s\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(251,158,0,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"label\":\"writes\",\"line_width\":1,\"metrics\":[{\"field\":\"system.diskio.write.bytes\",\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"type\":\"max\"},{\"field\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"id\":\"144124d2-1b1b-11e7-b09e-037021c4f8df\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"id\":\"144124d4-1b1b-11e7-b09e-037021c4f8df\",\"script\":\"params.rate > 0 ? params.rate * -1 : 0\",\"type\":\"calculation\",\"variables\":[{\"field\":\"144124d2-1b1b-11e7-b09e-037021c4f8df\",\"id\":\"144124d3-1b1b-11e7-b09e-037021c4f8df\",\"name\":\"rate\"}]}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0fb2b0c0-c6c4-11ea-9cf6-c19e3a7fac53", + "_type": "visualization", + "_source": { + "title": "lava_queue_lkft_1day", + "visState": "{\"title\":\"lava_queue_lkft_1day\",\"type\":\"line\",\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"},\"valueAxis\":null},\"legendPosition\":\"right\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Max device.queue\"},\"drawLinesBetweenPoints\":true,\"mode\":\"normal\",\"show\":\"true\",\"showCircles\":true,\"type\":\"line\",\"valueAxis\":\"ValueAxis-1\"}],\"times\":[],\"type\":\"line\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"Max device.queue\"},\"type\":\"value\"},{\"id\":\"ValueAxis-2\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"RightAxis-1\",\"position\":\"right\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"Max device.queue\"},\"type\":\"value\"}]},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"m\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "7ca82c00-a60a-11e8-9dd0-e5c705b98d0d", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a8581090-a623-11e8-8538-f34fec203819", + "_type": "visualization", + "_source": { + "title": "lava_queue_lkft", + "visState": "{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"field\":\"device.queue\"},\"schema\":\"metric\",\"type\":\"max\"},{\"enabled\":true,\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"extended_bounds\":{},\"field\":\"device.timestamp\",\"interval\":\"h\",\"min_doc_count\":1},\"schema\":\"segment\",\"type\":\"date_histogram\"},{\"enabled\":true,\"id\":\"3\",\"params\":{\"field\":\"device.type.keyword\",\"order\":\"desc\",\"orderBy\":\"1\",\"size\":5},\"schema\":\"group\",\"type\":\"terms\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"},\"valueAxis\":null},\"legendPosition\":\"right\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"Max device.queue\"},\"drawLinesBetweenPoints\":true,\"mode\":\"normal\",\"show\":\"true\",\"showCircles\":true,\"type\":\"line\",\"valueAxis\":\"ValueAxis-1\"}],\"times\":[],\"type\":\"line\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"Max device.queue\"},\"type\":\"value\"},{\"id\":\"ValueAxis-2\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"RightAxis-1\",\"position\":\"right\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"Max device.queue\"},\"type\":\"value\"}]},\"title\":\"lava_queue_lkft\",\"type\":\"line\"}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "7ca82c00-a60a-11e8-9dd0-e5c705b98d0d", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c6670080-a625-11e8-8538-f34fec203819", + "_type": "visualization", + "_source": { + "title": "lava_queue_validation", + "visState": "{\"title\":\"lava_queue_validation\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"h\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "20280fd0-a624-11e8-8538-f34fec203819", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e0e68790-b1ed-11e8-852d-55393e7ce617", + "_type": "visualization", + "_source": { + "title": "lava_queue_pwmg", + "visState": "{\"title\":\"lava_queue_pwmg\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"h\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "43f85670-a6da-11e8-83fb-2d7acaa76fd6", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "59e66790-847a-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_diskusage_percent", + "visState": "{\"title\":\"kisscache_diskusage_percent\",\"type\":\"gauge\",\"params\":{\"type\":\"gauge\",\"addTooltip\":true,\"addLegend\":true,\"isDisplayWarning\":false,\"gauge\":{\"verticalSplit\":true,\"extendRange\":true,\"percentageMode\":true,\"gaugeType\":\"Arc\",\"gaugeStyle\":\"Full\",\"backStyle\":\"Full\",\"orientation\":\"vertical\",\"colorSchema\":\"Green to Red\",\"gaugeColorMode\":\"Labels\",\"colorsRange\":[{\"from\":0,\"to\":50},{\"from\":50,\"to\":75},{\"from\":75,\"to\":100}],\"invertColors\":false,\"labels\":{\"show\":true,\"color\":\"black\"},\"scale\":{\"show\":true,\"labels\":false,\"color\":\"#333\"},\"type\":\"meter\",\"style\":{\"bgWidth\":0.9,\"width\":0.9,\"mask\":false,\"bgMask\":false,\"maskBars\":50,\"bgFill\":\"#eee\",\"bgColor\":false,\"subText\":\"\",\"fontSize\":60,\"labelColor\":true}}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"disk_usage_percent\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Disk usage\"}}]}", + "uiStateJSON": "{\"vis\":{\"defaultColors\":{\"0 - 50\":\"rgb(0,104,55)\",\"50 - 75\":\"rgb(255,255,190)\",\"75 - 100\":\"rgb(165,0,38)\"},\"colors\":{\"50 - 75\":\"#E0752D\",\"75 - 100\":\"#BF1B00\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7df7b9a0-8492-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_download_upload_total", + "visState": "{\"title\":\"kisscache_download_upload_total\",\"type\":\"metric\",\"params\":{\"addTooltip\":true,\"addLegend\":false,\"type\":\"metric\",\"metric\":{\"percentageMode\":false,\"useRanges\":false,\"colorSchema\":\"Green to Red\",\"metricColorMode\":\"None\",\"colorsRange\":[{\"from\":0,\"to\":10000}],\"labels\":{\"show\":true},\"invertColors\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"labelColor\":false,\"subText\":\"\",\"fontSize\":34}}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_download\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Download\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"statistics_upload\",\"aggregate\":\"average\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"Upload\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "187dd8d0-848c-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_download_upload", + "visState": "{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"customLabel\":\"upload\",\"customMetric\":{\"enabled\":true,\"id\":\"1-metric\",\"params\":{\"field\":\"statistics_upload\"},\"schema\":{\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!percentile_ranks\",\"!median\",\"!std_dev\"],\"deprecate\":false,\"editor\":false,\"group\":\"none\",\"hideCustomLabel\":true,\"max\":null,\"min\":0,\"name\":\"metricAgg\",\"params\":[],\"title\":\"Metric Agg\"},\"type\":\"max\"},\"metricAgg\":\"custom\"},\"schema\":\"metric\",\"type\":\"derivative\"},{\"enabled\":true,\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"extended_bounds\":{},\"field\":\"timestamp\",\"interval\":\"auto\",\"min_doc_count\":0},\"schema\":\"segment\",\"type\":\"date_histogram\"},{\"enabled\":true,\"id\":\"3\",\"params\":{\"customLabel\":\"download\",\"customMetric\":{\"enabled\":true,\"id\":\"3-metric\",\"params\":{\"field\":\"statistics_download\"},\"schema\":{\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!percentile_ranks\",\"!median\",\"!std_dev\"],\"deprecate\":false,\"editor\":false,\"group\":\"none\",\"hideCustomLabel\":true,\"max\":null,\"min\":0,\"name\":\"metricAgg\",\"params\":[],\"title\":\"Metric Agg\"},\"type\":\"max\"},\"metricAgg\":\"custom\"},\"schema\":\"metric\",\"type\":\"derivative\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":true,\"style\":{\"color\":\"#eee\"},\"valueAxis\":null},\"legendPosition\":\"right\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"upload\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"cardinal\",\"mode\":\"normal\",\"show\":\"true\",\"showCircles\":true,\"type\":\"area\",\"valueAxis\":\"ValueAxis-1\"},{\"data\":{\"id\":\"3\",\"label\":\"download\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"cardinal\",\"mode\":\"normal\",\"show\":true,\"showCircles\":true,\"type\":\"area\",\"valueAxis\":\"ValueAxis-1\"}],\"times\":[],\"type\":\"line\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"Size\"},\"type\":\"value\"}]},\"title\":\"kisscache_download_upload\",\"type\":\"line\"}", + "uiStateJSON": "{\"vis\":{\"colors\":{\"download\":\"#BF1B00\",\"upload\":\"#508642\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "70a79ef0-848d-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_requests", + "visState": "{\"aggs\":[{\"enabled\":true,\"id\":\"1\",\"params\":{\"customLabel\":\"requests\",\"customMetric\":{\"enabled\":true,\"id\":\"1-metric\",\"params\":{\"field\":\"statistics_requests\"},\"schema\":{\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!percentile_ranks\",\"!median\",\"!std_dev\"],\"deprecate\":false,\"editor\":false,\"group\":\"none\",\"hideCustomLabel\":true,\"max\":null,\"min\":0,\"name\":\"metricAgg\",\"params\":[],\"title\":\"Metric Agg\"},\"type\":\"max\"},\"metricAgg\":\"custom\"},\"schema\":\"metric\",\"type\":\"derivative\"},{\"enabled\":true,\"id\":\"2\",\"params\":{\"customInterval\":\"2h\",\"extended_bounds\":{},\"field\":\"timestamp\",\"interval\":\"auto\",\"min_doc_count\":0},\"schema\":\"segment\",\"type\":\"date_histogram\"}],\"params\":{\"addLegend\":true,\"addTimeMarker\":false,\"addTooltip\":true,\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"labels\":{\"show\":true,\"truncate\":100},\"position\":\"bottom\",\"scale\":{\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{},\"type\":\"category\"}],\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"legendPosition\":\"right\",\"seriesParams\":[{\"data\":{\"id\":\"1\",\"label\":\"requests\"},\"drawLinesBetweenPoints\":true,\"interpolate\":\"cardinal\",\"mode\":\"normal\",\"show\":\"true\",\"showCircles\":true,\"type\":\"line\",\"valueAxis\":\"ValueAxis-1\"}],\"times\":[],\"type\":\"line\",\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"labels\":{\"filter\":false,\"rotate\":0,\"show\":true,\"truncate\":100},\"name\":\"LeftAxis-1\",\"position\":\"left\",\"scale\":{\"mode\":\"normal\",\"type\":\"linear\"},\"show\":true,\"style\":{},\"title\":{\"text\":\"requests\"},\"type\":\"value\"}]},\"title\":\"kisscache_requests\",\"type\":\"line\"}", + "uiStateJSON": "{\"vis\":{\"colors\":{\"requests\":\"#447EBC\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "720a7fc0-848c-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_diskusage", + "visState": "{\"title\":\"kisscache_diskusage\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"usage\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"usage\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\"},{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"data\":{\"id\":\"3\",\"label\":\"quota\"},\"valueAxis\":\"ValueAxis-1\",\"interpolate\":\"cardinal\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"disk_usage\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"usage\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"disk_quota\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"quota\"}}]}", + "uiStateJSON": "{\"vis\":{\"colors\":{\"quota\":\"#BF1B00\",\"usage\":\"#447EBC\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c6f2ffd0-4d17-11e7-a196-69b9a7a020a9", + "_type": "visualization", + "_source": { + "title": "Number of hosts [Metricbeat System]", + "visState": "{\n \"title\": \"Number of hosts [Metricbeat System]\",\n \"type\": \"metric\",\n \"params\": {\n \"type\": \"metric\",\n \"addTooltip\": true,\n \"addLegend\": false,\n \"metric\": {\n \"useRange\": false,\n \"style\": {\n \"bgFill\": \"#000\",\n \"bgColor\": false,\n \"fontSize\": \"63\",\n \"subText\": \"\",\n \"labelColor\": false\n },\n \"colorSchema\": \"Green to Red\",\n \"invertColors\": false,\n \"labels\": {\n \"color\": \"black\",\n \"show\": false\n },\n \"colorsRange\": [\n {\n \"to\": 100,\n \"from\": 0\n }\n ],\n \"percentageMode\": false,\n \"metricColorMode\": \"None\"\n }\n },\n \"aggs\": [\n {\n \"id\": \"1\",\n \"enabled\": true,\n \"type\": \"cardinality\",\n \"schema\": \"metric\",\n \"params\": {\n \"field\": \"beat.hostname\"\n }\n }\n ]\n}", + "uiStateJSON": "{\n \"vis\": {\n \"defaultColors\": {\n \"0 - 100\": \"rgb(0,104,55)\"\n }\n }\n}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\n \"filter\": [],\n \"index\": \"metricbeat-lavalab-*\",\n \"query\": {\n \"language\": \"lucene\",\n \"query\": {\n \"query_string\": {\n \"analyze_wildcard\": true,\n \"query\": \"*\",\n \"default_field\": \"*\"\n }\n }\n }\n}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5ed8f9f0-c2a2-11ea-9cf6-c19e3a7fac53", + "_type": "visualization", + "_source": { + "title": "[Linaro] Simple Host List", + "visState": "{\"title\":\"[Linaro] Simple Host List\",\"type\":\"table\",\"params\":{\"perPage\":25,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"@timestamp\",\"customLabel\":\"Last Check\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"beat.hostname\",\"size\":30,\"order\":\"asc\",\"orderBy\":\"_term\",\"customLabel\":\"Hostname\"}}]}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"metricbeat-lavalab-*\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "550e1470-848e-11ea-a795-b501b684e6e8", + "_type": "visualization", + "_source": { + "title": "kisscache_resources", + "visState": "{\"title\":\"kisscache_resources\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"successes\"}},{\"id\":\"ValueAxis-2\",\"name\":\"RightAxis-1\",\"type\":\"value\",\"position\":\"right\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"scheduled\"}}],\"seriesParams\":[{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\",\"data\":{\"id\":\"3\",\"label\":\"scheduled\"},\"valueAxis\":\"ValueAxis-2\"},{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"downloading\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-2\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\"},{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\",\"data\":{\"id\":\"4\",\"label\":\"failures\"},\"valueAxis\":\"ValueAxis-2\"},{\"show\":true,\"mode\":\"normal\",\"type\":\"line\",\"drawLinesBetweenPoints\":true,\"showCircles\":true,\"interpolate\":\"cardinal\",\"data\":{\"id\":\"5\",\"label\":\"successes\"},\"valueAxis\":\"ValueAxis-1\"}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"resources_scheduled\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"scheduled\"}},{\"id\":\"1\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"resources_downloading\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"downloading\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"resources_failures\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"failures\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"top_hits\",\"schema\":\"metric\",\"params\":{\"field\":\"resources_successes\",\"aggregate\":\"max\",\"size\":1,\"sortField\":\"timestamp\",\"sortOrder\":\"desc\",\"customLabel\":\"successes\"}}]}", + "uiStateJSON": "{\"vis\":{\"colors\":{\"Successes\":\"#629E51\",\"failures\":\"#BF1B00\",\"scheduled\":\"#64B0C8\",\"downloading\":\"#962D82\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"f26b34f0-c12e-11ea-9cf6-c19e3a7fac53\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fe064790-1b1f-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "title": "Top Hosts By Memory (Realtime) [Metricbeat System]", + "visState": "{\"title\":\"Top Hosts By Memory (Realtime) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0},{\"bar_color\":\"rgba(254,146,0,1)\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.6},{\"bar_color\":\"rgba(211,49,21,1)\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.85}],\"drilldown_url\":\"../app/kibana#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8?_a=(query:(query_string:(analyze_wildcard:!t,query:'beat.hostname:\\\"{{key}}\\\"')))\",\"filter\":\"\",\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.pct\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"beat.hostname\",\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"terms_size\":\"10\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "855899e0-1b1c-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Top Hosts By CPU (Realtime) [Metricbeat System]", + "visState": "{\"title\":\"Top Hosts By CPU (Realtime) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0},{\"bar_color\":\"rgba(254,146,0,1)\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.6},{\"bar_color\":\"rgba(211,49,21,1)\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.85}],\"drilldown_url\":\"../app/kibana#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8?_a=(query:(query_string:(analyze_wildcard:!t,query:'beat.hostname:\\\"{{key}}\\\"')))\",\"filter\":\"\",\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.user.pct\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"beat.hostname\",\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"terms_size\":\"10\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d635d060-1f39-11eb-8c52-ad3754e13144", + "_type": "visualization", + "_source": { + "title": "Host List", + "visState": "{\"title\":\"Host List\",\"type\":\"metrics\",\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"4a4a91d0-1f39-11eb-b84d-1ddab8f9c759\"}],\"aggregate_by\":\"@timestamp\",\"aggregate_function\":\"max\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"*\",\"interval\":\"auto\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"show_legend\":1,\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"c80543f0-1f38-11eb-b84d-1ddab8f9c759\"}],\"pivot_id\":\"beat.hostname\",\"pivot_label\":\"Host\",\"pivot_rows\":\"25\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0a6c35a0-860e-11eb-ab35-ab7823fa4527", + "_type": "visualization", + "_source": { + "title": "lava_queue_morello", + "visState": "{\"title\":\"lava_queue_morello\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"h\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "a291c0d0-860d-11eb-ab35-ab7823fa4527", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "21bd8920-864f-11eb-ab35-ab7823fa4527", + "_type": "visualization", + "_source": { + "title": "lava_queue_ledge", + "visState": "{\"title\":\"lava_queue_ledge\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"h\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":\"device.lava_server: ledge.validation.linaro.org\",\"language\":\"lucene\"},\"index\":\"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "02361660-a625-11e8-8538-f34fec203819", + "_type": "visualization", + "_source": { + "title": "lava_queue_lite", + "visState": "{\"title\":\"lava_queue_lite\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"h\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":\"device.lava_server: lite.validation.linaro.org\",\"language\":\"lucene\"},\"index\":\"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d2128630-8286-11eb-b4ce-c7a87883d896", + "_type": "visualization", + "_source": { + "title": "lava_queue_tf", + "visState": "{\"title\":\"lava_queue_tf\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max device.queue\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max device.queue\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"device.queue\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"device.timestamp\",\"interval\":\"h\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"device.type.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":\"device.lava_server: tf.validation.linaro.org\",\"language\":\"lucene\"},\"index\":\"e7f71ed0-c12e-11ea-9cf6-c19e3a7fac53\",\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2e224660-1b19-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Processes By Memory [Metricbeat System]", + "visState": "{\"title\":\"Processes By Memory [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"efb9b660-1b18-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0},{\"bar_color\":\"rgba(254,146,0,1)\",\"id\":\"17fcb820-1b19-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.7},{\"bar_color\":\"rgba(211,49,21,1)\",\"id\":\"1dd61070-1b19-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.85}],\"drilldown_url\":\"\",\"filter\":\"\",\"id\":\"edfceb30-1b18-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"edfceb31-1b18-11e7-b09e-037021c4f8df\",\"line_width\":1,\"metrics\":[{\"field\":\"system.process.memory.rss.pct\",\"id\":\"edfceb32-1b18-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.process.name\",\"terms_order_by\":\"edfceb32-1b18-11e7-b09e-037021c4f8df\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e0f001c0-1b18-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Top Processes By CPU [Metricbeat System]", + "visState": "{\"title\":\"Top Processes By CPU [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"60e11be0-1b18-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0}],\"drilldown_url\":\"\",\"filter\":\"\",\"id\":\"5f5b8d50-1b18-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"5f5b8d51-1b18-11e7-b09e-037021c4f8df\",\"line_width\":1,\"metrics\":[{\"field\":\"system.process.cpu.total.pct\",\"id\":\"5f5b8d52-1b18-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.process.name\",\"terms_order_by\":\"5f5b8d52-1b18-11e7-b09e-037021c4f8df\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "99381c80-4d60-11e7-9a4c-ed99bbcaa42b", + "_type": "visualization", + "_source": { + "title": "Interfaces by Incoming traffic [Metricbeat System]", + "visState": "{\"title\":\"Interfaces by Incoming traffic [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"label\":\"Interfaces by Incoming traffic\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.in.bytes\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"terms_order_by\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c5e3cf90-4d60-11e7-9a4c-ed99bbcaa42b", + "_type": "visualization", + "_source": { + "title": "Interfaces by Outgoing traffic [Metricbeat System]", + "visState": "{\"title\":\"Interfaces by Outgoing traffic [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"label\":\"Interfaces by Outgoing traffic\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.out.bytes\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"terms_order_by\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "34f97ee0-1b96-11e7-8ada-3df93aab833e", + "_type": "visualization", + "_source": { + "title": "Disk Usage [Metricbeat System]", + "visState": "{\"title\":\"Disk Usage [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"bf525310-1b95-11e7-8ada-3df93aab833e\",\"operator\":\"gte\",\"value\":0},{\"bar_color\":\"rgba(254,146,0,1)\",\"id\":\"125fc4c0-1b96-11e7-8ada-3df93aab833e\",\"operator\":\"gte\",\"value\":0.7},{\"bar_color\":\"rgba(211,49,21,1)\",\"id\":\"1a5c7240-1b96-11e7-8ada-3df93aab833e\",\"operator\":\"gte\",\"value\":0.85}],\"drilldown_url\":\"\",\"filter\":\"-system.filesystem.mount_point:\\\\/run* AND -system.filesystem.mount_point:\\\\/sys* AND -system.filesystem.mount_point:\\\\/dev* AND -system.filesystem.mount_point:\\\\/proc* AND -system.filesystem.mount_point:\\\\/var* AND -system.filesystem.mount_point:\\\\/boot\",\"id\":\"9f7e48a0-1b95-11e7-8ada-3df93aab833e\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"9f7e48a1-1b95-11e7-8ada-3df93aab833e\",\"line_width\":1,\"metrics\":[{\"field\":\"system.filesystem.used.pct\",\"id\":\"9f7e48a2-1b95-11e7-8ada-3df93aab833e\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.filesystem.mount_point\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "6b7b9a40-faa1-11e6-86b1-cd7735ff7e23", + "_type": "visualization", + "_source": { + "title": "Network Traffic (Packets) [Metricbeat System]", + "visState": "{\"title\":\"Network Traffic (Packets) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"-system.network.name:l*\",\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"1\",\"formatter\":\"0.[00]a\",\"id\":\"da1046f1-faa0-11e6-86b1-cd7735ff7e23\",\"label\":\"Inbound\",\"line_width\":\"0\",\"metrics\":[{\"field\":\"system.network.in.packets\",\"id\":\"da1046f2-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"max\"},{\"field\":\"da1046f2-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"f41f9280-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"function\":\"sum\",\"id\":\"ecaad010-2c2c-11e7-be71-3162da85303f\",\"type\":\"series_agg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(250,40,255,1)\",\"fill\":\"1\",\"formatter\":\"0.[00]a\",\"id\":\"fbbd5720-faa0-11e6-86b1-cd7735ff7e23\",\"label\":\"Outbound\",\"line_width\":\"0\",\"metrics\":[{\"field\":\"system.network.out.packets\",\"id\":\"fbbd7e30-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"max\"},{\"field\":\"fbbd7e30-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"fbbd7e31-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"id\":\"17e597a0-faa1-11e6-86b1-cd7735ff7e23\",\"script\":\"params.rate != null && params.rate > 0 ? params.rate * -1 : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"fbbd7e31-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"1940bad0-faa1-11e6-86b1-cd7735ff7e23\",\"name\":\"rate\"}]},{\"function\":\"sum\",\"id\":\"fe5fbdc0-2c2c-11e7-be71-3162da85303f\",\"type\":\"series_agg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"value_template\":\"{{value}}/s\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\",\"show_grid\":1},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "089b85d0-1b16-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Network Traffic (Bytes) [Metricbeat System]", + "visState": "{\"title\":\"Network Traffic (Bytes) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"-system.network.name:l*\",\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"metricbeat-lavalab-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"da1046f1-faa0-11e6-86b1-cd7735ff7e23\",\"label\":\"Inbound \",\"line_width\":\"0\",\"metrics\":[{\"field\":\"system.network.in.bytes\",\"id\":\"da1046f2-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"max\"},{\"field\":\"da1046f2-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"f41f9280-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"function\":\"sum\",\"id\":\"2d533df0-2c2d-11e7-be71-3162da85303f\",\"type\":\"series_agg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(250,40,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"fbbd5720-faa0-11e6-86b1-cd7735ff7e23\",\"label\":\"Outbound \",\"line_width\":\"0\",\"metrics\":[{\"field\":\"system.network.out.bytes\",\"id\":\"fbbd7e30-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"max\"},{\"field\":\"fbbd7e30-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"fbbd7e31-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"id\":\"17e597a0-faa1-11e6-86b1-cd7735ff7e23\",\"script\":\"params.rate != null && params.rate > 0 ? params.rate * -1 : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"fbbd7e31-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"1940bad0-faa1-11e6-86b1-cd7735ff7e23\",\"name\":\"rate\"}]},{\"function\":\"sum\",\"id\":\"533da9b0-2c2d-11e7-be71-3162da85303f\",\"type\":\"series_agg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"value_template\":\"{{value}}/s\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\",\"show_grid\":1},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + } +]
\ No newline at end of file diff --git a/roles/lava-elk-deps/files/morello_dashboard.json b/roles/lava-elk-deps/files/morello_dashboard.json new file mode 100644 index 00000000..b44c8124 --- /dev/null +++ b/roles/lava-elk-deps/files/morello_dashboard.json @@ -0,0 +1,26 @@ +[ + { + "_id": "60c70e00-25ad-11eb-bb21-bdd65cbe708e", + "_type": "dashboard", + "_source": { + "title": "Morello HTTPS Clone Dashboard", + "hits": 0, + "description": "", + "panelsJSON": "[{\"panelIndex\":\"1\",\"gridData\":{\"x\":0,\"y\":0,\"w\":12,\"h\":5,\"i\":\"1\"},\"id\":\"90cbf3a0-25ac-11eb-bb21-bdd65cbe708e\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"panelIndex\":\"2\",\"gridData\":{\"x\":4,\"y\":5,\"w\":3,\"h\":2,\"i\":\"2\"},\"id\":\"397f4a40-25af-11eb-bb21-bdd65cbe708e\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-15d", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + } + } +]
\ No newline at end of file diff --git a/roles/lava-elk-deps/files/morello_visualization.json b/roles/lava-elk-deps/files/morello_visualization.json new file mode 100644 index 00000000..bb54a278 --- /dev/null +++ b/roles/lava-elk-deps/files/morello_visualization.json @@ -0,0 +1,30 @@ +[ + { + "_id": "90cbf3a0-25ac-11eb-bb21-bdd65cbe708e", + "_type": "visualization", + "_source": { + "title": "Morello HTTPS Clone Stats", + "visState": "{\"title\":\"Morello HTTPS Clone Stats\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"count\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"date\",\"interval\":\"d\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"project_name.keyword\",\"size\":50,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"47b5f8d0-250e-11eb-b5df-05d360d75584\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + } + }, + { + "_id": "397f4a40-25af-11eb-bb21-bdd65cbe708e", + "_type": "visualization", + "_source": { + "title": "Morello Server Overview Navigation", + "visState": "{\"title\":\"Morello Server Overview Navigation\",\"type\":\"markdown\",\"params\":{\"fontSize\":12,\"markdown\":\"[Morello Server Overview](https://systems-monitoring.linaro.org/goto/d17eeda445ccb68cb23490c69509685c)\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + } + } +]
\ No newline at end of file diff --git a/roles/lava-elk-deps/files/systems-kibana.json b/roles/lava-elk-deps/files/systems-kibana.json new file mode 100644 index 00000000..3c384b35 --- /dev/null +++ b/roles/lava-elk-deps/files/systems-kibana.json @@ -0,0 +1,7340 @@ +[ + { + "_id": "f3e771c0-eb19-11e6-be20-559646f8b9ba", + "_type": "dashboard", + "_source": { + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}]}" + }, + "optionsJSON": "{\"darkTheme\": false}", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"c65ef340-eb19-11e6-be20-559646f8b9ba\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 7}, {\"type\": \"visualization\", \"id\": \"920e8140-eb1a-11e6-be20-559646f8b9ba\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 2, \"col\": 9, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"1738dbc0-eb1d-11e6-be20-559646f8b9ba\", \"size_x\": 8, \"size_y\": 4, \"panelIndex\": 3, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"091c3a90-eb1e-11e6-be20-559646f8b9ba\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 4, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"0f4c0560-eb20-11e6-9f11-159ff202874a\", \"size_x\": 12, \"size_y\": 5, \"panelIndex\": 5, \"col\": 1, \"row\": 11}]", + "timeRestore": false, + "title": "Heartbeat HTTP monitoring", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"defaultColors\": {\"8 - 9\": \"rgb(74,152,201)\", \"5 - 6\": \"rgb(148,196,223)\", \"11 - 12\": \"rgb(8,74,145)\", \"2 - 3\": \"rgb(227,238,249)\", \"3 - 4\": \"rgb(208,225,242)\", \"9 - 10\": \"rgb(46,126,188)\", \"4 - 5\": \"rgb(182,212,233)\", \"0 - 2\": \"rgb(247,251,255)\", \"10 - 11\": \"rgb(23,100,171)\", \"6 - 8\": \"rgb(107,174,214)\"}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d39f0980-1ff3-11e9-ae2a-939083c6a64e", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Iptables] Ubiquiti Firewall Overview", + "hits": 0, + "description": "Overview of the Ubiquiti Firewall iptables events dashboard.", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 15, \"y\": 0, \"w\": 33, \"x\": 0}, \"title\": \"Event Timeline\", \"panelIndex\": \"1\", \"embeddableConfig\": {\"vis\": {\"colors\": {\"deny\": \"#E24D42\", \"allow\": \"#64B0C8\"}, \"legendOpen\": true}}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"758b3620-1fda-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 0, \"w\": 15, \"x\": 33}, \"title\": \"Top Blocked by source IP\", \"panelIndex\": \"2\", \"embeddableConfig\": {}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"1ba82fd0-1ff0-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"3\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 0}, \"title\": \"Allowed Traffic Map\", \"panelIndex\": \"3\", \"embeddableConfig\": {\"mapCenter\": [39.095962936305476, -22.148437500000004], \"mapZoom\": 2}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"5bd53050-1fe9-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 24}, \"title\": \"Blocked Traffic Map\", \"panelIndex\": \"4\", \"embeddableConfig\": {\"mapCenter\": [46.31658418182218, -34.10156250000001], \"mapZoom\": 2}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"8853aa20-1fef-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"5\", \"h\": 18, \"y\": 30, \"w\": 24, \"x\": 0}, \"title\": \"Traffic Breakdown by Protocol\", \"panelIndex\": \"5\", \"embeddableConfig\": {\"vis\": {\"colors\": {\"deny\": \"#E24D42\", \"udp\": \"#F2C96D\", \"tcp\": \"#447EBC\", \"ipv6-icmp\": \"#EA6460\", \"ipv4\": \"#65C5DB\", \"allow\": \"#7EB26D\", \"ipv6\": \"#D683CE\", \"icmp\": \"#F29191\"}}}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"fdea1ad0-1ff4-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"6\", \"h\": 27, \"y\": 48, \"w\": 48, \"x\": 0}, \"title\": \"Event View\", \"panelIndex\": \"6\", \"embeddableConfig\": {}, \"version\": \"6.6.0\", \"type\": \"search\", \"id\": \"c4e80aa0-1fd4-11e9-ae2a-939083c6a64e\"}, {\"gridData\": {\"i\": \"7\", \"h\": 18, \"y\": 30, \"w\": 24, \"x\": 24}, \"title\": \"Traffic Breakdown by Port\", \"panelIndex\": \"7\", \"embeddableConfig\": {}, \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"190bcb50-1ff6-11e9-ae2a-939083c6a64e\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "05268ee0-86d1-11e8-b59d-21efb914e65c", + "_type": "dashboard", + "_source": { + "title": "[Suricata] Alert Overview", + "hits": 0, + "description": "Overview of the Suricata Alerts dashboard.", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 10, \"y\": 0, \"w\": 23, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"1\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"494fa290-86d2-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"2\", \"h\": 22, \"y\": 0, \"w\": 25, \"x\": 23}, \"embeddableConfig\": {}, \"panelIndex\": \"2\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"16033310-86d3-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"3\", \"h\": 16, \"y\": 37, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"3\", \"version\": \"6.3.0\", \"type\": \"search\", \"id\": \"1c2bcec0-86d1-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 22, \"w\": 23, \"x\": 0}, \"embeddableConfig\": {\"mapCenter\": [38.548165423046584, -6.328125000000001], \"mapZoom\": 2}, \"panelIndex\": \"4\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"85fed080-86d7-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"5\", \"h\": 15, \"y\": 22, \"w\": 25, \"x\": 23}, \"embeddableConfig\": {\"mapCenter\": [41.77131167976407, 1.9335937500000002], \"mapZoom\": 2}, \"panelIndex\": \"5\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"a09ca070-86d7-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"7\", \"h\": 12, \"y\": 10, \"w\": 12, \"x\": 11}, \"embeddableConfig\": {}, \"panelIndex\": \"7\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"2ccdc1a0-86d8-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"8\", \"h\": 12, \"y\": 10, \"w\": 11, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"8\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"c7b8b8f0-86d8-11e8-b59d-21efb914e65c\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ceefb9e0-1f51-11e9-93ed-f7e068f4aebb", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Iptables] Overview", + "hits": 0, + "description": "Overview of the iptables events dashboard.", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 15, \"y\": 0, \"w\": 37, \"x\": 0}, \"embeddableConfig\": {\"vis\": {\"legendOpen\": false}}, \"panelIndex\": \"1\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"4c913eb0-1f51-11e9-93ed-f7e068f4aebb\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 0, \"w\": 11, \"x\": 37}, \"embeddableConfig\": {}, \"panelIndex\": \"2\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"2599f5e0-1e98-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 0}, \"embeddableConfig\": {\"mapCenter\": [47.15984001304432, -47.02148437500001], \"mapZoom\": 2}, \"panelIndex\": \"3\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"c4394ec0-1efd-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 24}, \"embeddableConfig\": {\"mapCenter\": [49.15296965617042, -27.949218750000004], \"mapZoom\": 2}, \"panelIndex\": \"4\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"d8cea010-1efd-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 15, \"y\": 30, \"w\": 19, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"5\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"b57b7370-1f1d-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"6\", \"h\": 15, \"y\": 30, \"w\": 18, \"x\": 19}, \"embeddableConfig\": {}, \"panelIndex\": \"6\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"35fe0910-1f26-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"7\", \"h\": 15, \"y\": 30, \"w\": 11, \"x\": 37}, \"embeddableConfig\": {}, \"panelIndex\": \"7\", \"version\": \"6.6.0\", \"type\": \"visualization\", \"id\": \"683402b0-1f29-11e9-8ec4-cf5d91a864b3\"}, {\"gridData\": {\"i\": \"8\", \"h\": 19, \"y\": 45, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"8\", \"version\": \"6.6.0\", \"type\": \"search\", \"id\": \"b3f1b010-1f26-11e9-8ec4-cf5d91a864b3\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "943caca0-87ee-11e7-ad9c-db80de0bf8d3", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Kafka] Overview", + "hits": 0, + "description": "Filebeat Kafka module dashboard", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Number of Kafka stracktraces by class\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Kafka stacktraces\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"columns\": [\"kafka.log.class\", \"kafka.log.trace.class\", \"kafka.log.trace.full\"], \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"All Kafka logs\", \"size_x\": 12, \"size_y\": 5, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"kafka.log.level\", \"kafka.log.component\", \"kafka.log.message\"], \"row\": 6}, {\"type\": \"visualization\", \"id\": \"3f7c33c0-87ee-11e7-ad9c-db80de0bf8d3\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 4, \"col\": 1, \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e4c5f230-87f3-11e7-ad9c-db80de0bf8d3", + "_type": "dashboard", + "_source": { + "title": "[Filebeat PostgreSQL] Query Duration Overview", + "hits": 0, + "description": "Dashboard for analyzing the query durations of the Filebeat PostgreSQL module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"PostgreSQL Query Count and Duration\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Slow PostgreSQL Queries\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"columns\": [\"postgresql.log.user\", \"postgresql.log.database\", \"postgresql.log.duration\", \"postgresql.log.query\"], \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"PostgreSQL Query Durations\", \"size_x\": 12, \"size_y\": 5, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"postgresql.log.user\", \"postgresql.log.database\", \"postgresql.log.duration\", \"postgresql.log.query\"], \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"postgresql.log.query:*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "158be870-87f4-11e7-ad9c-db80de0bf8d3", + "_type": "dashboard", + "_source": { + "title": "[Filebeat PostgreSQL] Overview", + "hits": 0, + "description": "Overview dashboard for the Filebeat PostgreSQL module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"PostgreSQL Log Level Count\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"PostgreSQL All Logs\", \"size_x\": 12, \"size_y\": 6, \"panelIndex\": 2, \"col\": 1, \"columns\": [\"postgresql.log.user\", \"postgresql.log.database\", \"postgresql.log.level\", \"postgresql.log.message\", \"postgresql.log.query\"], \"row\": 4}, {\"type\": \"visualization\", \"id\": \"3dbd5370-87f3-11e7-ad9c-db80de0bf8d3\", \"size_x\": 9, \"size_y\": 3, \"panelIndex\": 3, \"col\": 4, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "abcf35b0-0a82-11e8-bffe-ff7d4f68cf94", + "_type": "dashboard", + "_source": { + "title": "Overview [Filebeat MongoDB]", + "hits": 0, + "description": "Filebeat MongoDB module overview", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"0fef5710-0a82-11e8-bffe-ff7d4f68cf94\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"e49fe000-0a7e-11e8-bffe-ff7d4f68cf94\", \"size_x\": 8, \"size_y\": 3, \"panelIndex\": 2, \"col\": 5, \"columns\": [\"mongodb.log.timestamp\", \"mongodb.log.severity\", \"mongodb.log.component\", \"mongodb.log.context\", \"mongodb.log.message\"], \"row\": 1}, {\"sort\": [\"mongodb.log.timestamp\", \"asc\"], \"type\": \"search\", \"id\": \"bfc96a60-0a80-11e8-bffe-ff7d4f68cf94\", \"size_x\": 12, \"size_y\": 6, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"mongodb.log.timestamp\", \"mongodb.log.severity\", \"mongodb.log.component\", \"mongodb.log.context\", \"mongodb.log.message\"], \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "78289c40-86da-11e8-b59d-21efb914e65c", + "_type": "dashboard", + "_source": { + "title": "[Suricata] Events Overview", + "hits": 0, + "description": "Overview of the Surcata events dashboard.", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 10, \"y\": 0, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"1\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"c7d46c60-86da-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"2\", \"h\": 14, \"y\": 20, \"w\": 9, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"2\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"0a0aa630-86db-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"3\", \"h\": 14, \"y\": 20, \"w\": 11, \"x\": 19}, \"embeddableConfig\": {}, \"panelIndex\": \"3\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"728f64c0-86db-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"4\", \"h\": 10, \"y\": 10, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"4\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"9d5b5b50-86db-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"5\", \"h\": 19, \"y\": 34, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"5\", \"version\": \"6.3.0\", \"type\": \"search\", \"id\": \"13dd22f0-86cc-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"6\", \"h\": 14, \"y\": 20, \"w\": 9, \"x\": 30}, \"embeddableConfig\": {}, \"panelIndex\": \"6\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"5f99eb50-86dc-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"7\", \"h\": 14, \"y\": 20, \"w\": 9, \"x\": 39}, \"embeddableConfig\": {}, \"panelIndex\": \"7\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"8e7f88d0-86dc-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"8\", \"h\": 14, \"y\": 20, \"w\": 10, \"x\": 9}, \"embeddableConfig\": {}, \"panelIndex\": \"8\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"0a363820-86dd-11e8-b59d-21efb914e65c\"}, {\"gridData\": {\"i\": \"9\", \"h\": 16, \"y\": 53, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"9\", \"version\": \"6.3.0\", \"type\": \"search\", \"id\": \"d57a2db0-86ca-11e8-b59d-21efb914e65c\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Apache2-Dashboard", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Apache2] Access and error logs", + "hits": 0, + "description": "Filebeat Apache2 module dashboard", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Apache2-access-unique-IPs-map\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Apache2-response-codes-of-top-URLs\", \"size_x\": 8, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Apache2-browsers\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 3, \"col\": 9, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Apache2-operating-systems\", \"size_x\": 2, \"size_y\": 2, \"panelIndex\": 4, \"col\": 11, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"Apache2-error-logs-over-time\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 5, \"col\": 1, \"row\": 9}, {\"type\": \"visualization\", \"id\": \"Apache2-response-codes-over-time\", \"size_x\": 10, \"size_y\": 2, \"panelIndex\": 6, \"col\": 1, \"row\": 4}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Apache2-errors-log\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 7, \"col\": 1, \"columns\": [\"apache2.error.client\", \"apache2.error.level\", \"apache2.error.module\", \"apache2.error.message\"], \"row\": 11}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-1\": {\"mapCenter\": [40.713955826286046, -0.17578125], \"mapCollar\": {\"zoom\": 2, \"bottom_right\": {\"lat\": -39.667755, \"lon\": 180}, \"top_left\": {\"lat\": 90, \"lon\": -180}}, \"mapBounds\": {\"bottom_right\": {\"lat\": -3.864254615721396, \"lon\": 205.3125}, \"top_left\": {\"lat\": 67.7427590666639, \"lon\": -205.6640625}}, \"mapZoom\": 2}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dfbb49f0-0a0f-11e7-8a62-2d05eaaac5cb", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Auditd] Audit Events", + "hits": 0, + "description": "Dashboard for the Auditd Filebeat module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"6295bdd0-0a0e-11e7-825f-6748cda7d858\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"5ebdbe50-0a0f-11e7-825f-6748cda7d858\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 2, \"col\": 9, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"2bb0fa70-0a11-11e7-9e84-43da493ad0c7\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"d1726930-0a7f-11e7-8b04-eb22a5669f27\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 5, \"col\": 7, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"c5411910-0a87-11e7-8b04-eb22a5669f27\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 6, \"col\": 5, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"4ac0a370-0a11-11e7-8b04-eb22a5669f27\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 7, \"col\": 1, \"columns\": [\"auditd.log.record_type\", \"auditd.log.sequence\", \"auditd.log.acct\"], \"row\": 8}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"mapCollar\": {\"zoom\": 2, \"bottom_right\": {\"lat\": -87.16078, \"lon\": 180}, \"top_left\": {\"lat\": 87.16078, \"lon\": -180}}, \"mapZoom\": 2, \"mapBounds\": {\"bottom_right\": {\"lat\": -43.580390855607845, \"lon\": 102.65625}, \"top_left\": {\"lat\": 43.58039085560784, \"lon\": -102.3046875}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "277876d0-fa2c-11e6-bbd3-29c986c96e5a", + "_type": "dashboard", + "_source": { + "title": "[Filebeat System] Sudo commands", + "hits": 0, + "description": "Sudo commands dashboard from the Filebeat System module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"5c7af030-fa2a-11e6-bbd3-29c986c96e5a\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"51164310-fa2b-11e6-bbd3-29c986c96e5a\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"dc589770-fa2b-11e6-bbd3-29c986c96e5a\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 3, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"327417e0-8462-11e7-bab8-bd2f0fb42c54\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 4, \"col\": 1, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "26309570-2419-11e7-a83b-d5f4cebac9ff", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Icinga] Debug Log", + "hits": 0, + "description": "Filebeat Icinga module dashboard for the debug logs", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"0bc34b60-2419-11e7-a83b-d5f4cebac9ff\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"fb09d4b0-2418-11e7-a83b-d5f4cebac9ff\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"c876e6a0-2418-11e7-a83b-d5f4cebac9ff\", \"size_x\": 12, \"size_y\": 29, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"icinga.debug.facility\", \"icinga.debug.severity\", \"icinga.debug.message\"], \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "AV4REOpp5NkDleZmzKkE", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Docker] Overview", + "hits": 0, + "description": "Overview of docker containers", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Docker-containers\", \"size_x\": 7, \"size_y\": 5, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Docker-Number-of-Containers\", \"size_x\": 5, \"size_y\": 2, \"panelIndex\": 2, \"col\": 8, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Docker-containers-per-host\", \"size_x\": 2, \"size_y\": 3, \"panelIndex\": 3, \"col\": 8, \"row\": 3}, {\"type\": \"visualization\", \"id\": \"Docker-images-and-names\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 7, \"col\": 10, \"row\": 3}, {\"type\": \"visualization\", \"id\": \"Docker-CPU-usage\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Docker-memory-usage\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 5, \"col\": 7, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Docker-Network-IO\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 6, \"col\": 1, \"row\": 9}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"legendOpen\": true}}, \"P-7\": {\"vis\": {\"legendOpen\": true}}, \"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": 1, \"direction\": \"asc\"}}}}, \"P-2\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-3\": {\"vis\": {\"legendOpen\": true}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-Apache-HTTPD-server-status", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Apache] Overview", + "hits": 0, + "description": "Overview of Apache server status", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Apache-HTTPD-CPU\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 7, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Hostname-list\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Load1-slash-5-slash-15\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Scoreboard\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 4, \"col\": 1, \"row\": 7}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Total-accesses-and-kbytes\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 5, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Uptime\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 6, \"col\": 4, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Apache-HTTPD-Workers\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 7, \"col\": 1, \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-6\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f2dc7320-f519-11e6-a3c9-9d1f7c42b045", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Golang] Overview", + "hits": 0, + "description": "Overview of Go profiling information", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"58000780-f529-11e6-844d-b170e2f0a07e\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 8, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"95388680-f52a-11e6-969c-518c48c913e4\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 9, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"b59a5200-f52a-11e6-969c-518c48c913e4\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 10, \"col\": 9, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"9a9a8bf0-f52a-11e6-969c-518c48c913e4\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 11, \"col\": 5, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"b046cb80-f52a-11e6-969c-518c48c913e4\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 12, \"col\": 7, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"ab226b50-f52a-11e6-969c-518c48c913e4\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 13, \"col\": 1, \"row\": 8}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ea488d90-8e63-11e8-8fa2-3d5f811fbd0f", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Kafka] Overview", + "hits": 0, + "description": "Kafka analysis of topics and consumer groups", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 13, \"y\": 20, \"w\": 24, \"x\": 0}, \"title\": \"Kafka Topic & Consumer Offsets\", \"panelIndex\": \"1\", \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"b9d12c80-8e63-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"3\", \"h\": 6, \"y\": 0, \"w\": 16, \"x\": 0}, \"title\": \"Kafka Controls\", \"panelIndex\": \"3\", \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"8d2f79a0-8e65-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"6\", \"h\": 14, \"y\": 6, \"w\": 24, \"x\": 0}, \"title\": \"Consumer Group Lag by Topic\", \"panelIndex\": \"6\", \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"944188f0-8e79-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"10\", \"h\": 6, \"y\": 0, \"w\": 25, \"x\": 16}, \"title\": \"Kafka Metrics\", \"panelIndex\": \"10\", \"embeddableConfig\": {\"spy\": null}, \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"dc89f8d0-8e8e-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"12\", \"h\": 7, \"y\": 33, \"w\": 24, \"x\": 0}, \"title\": \"Consumer Partition Reassignments\", \"panelIndex\": \"12\", \"embeddableConfig\": {}, \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"587f2360-8f21-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"13\", \"h\": 6, \"y\": 0, \"w\": 7, \"x\": 41}, \"title\": \"Consumer Metrics\", \"panelIndex\": \"13\", \"embeddableConfig\": {}, \"version\": \"6.3.1\", \"type\": \"visualization\", \"id\": \"1681f1a0-90e7-11e8-8fa2-3d5f811fbd0f\"}, {\"gridData\": {\"i\": \"14\", \"h\": 13, \"y\": 27, \"w\": 24, \"x\": 24}, \"title\": \"Kafka Consumer Group Clients\", \"panelIndex\": \"14\", \"embeddableConfig\": {\"spy\": null, \"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"9a7576e0-d231-11e8-8766-dbbdc39e7ba9\"}, {\"gridData\": {\"i\": \"15\", \"h\": 10, \"y\": 6, \"w\": 24, \"x\": 24}, \"title\": \"Kafka Brokers\", \"panelIndex\": \"15\", \"embeddableConfig\": {}, \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"27dd5960-d2ed-11e8-8766-dbbdc39e7ba9\"}, {\"gridData\": {\"i\": \"16\", \"h\": 11, \"y\": 16, \"w\": 24, \"x\": 24}, \"title\": \"Kafka Topic Details\", \"panelIndex\": \"16\", \"embeddableConfig\": {\"table\": {\"sort\": {\"column\": \"26d2cd90-d2f5-11e8-9dd4-c5f03280d7b0\", \"order\": \"desc\"}}}, \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"491fee50-d2f5-11e8-8766-dbbdc39e7ba9\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9151c900-471d-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat HAProxy] Backend", + "hits": 0, + "description": "HAProxy backend metrics", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 2, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"1\", \"id\": \"a64b4fd0-471c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"2\", \"h\": 2, \"y\": 0, \"w\": 3, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"2\", \"id\": \"794b6cd0-471d-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 4, \"y\": 2, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"3\", \"id\": \"bb0ab500-4735-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 2, \"y\": 0, \"w\": 3, \"x\": 9}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"4\", \"id\": \"40bed190-473b-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 2, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"0751ed00-479c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"6\", \"h\": 2, \"y\": 4, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"6\", \"id\": \"b3463670-47a1-11e8-bc13-1397384faad3\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7fea2930-478e-11e7-b1f0-cb29bac6bf8b", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Redis] Overview", + "hits": 0, + "description": "Overview dashboard for the FIlebeat Redis module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"78b9afe0-478f-11e7-b1f0-cb29bac6bf8b\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"d2864600-478f-11e7-be88-2ddb32f3df97\", \"size_x\": 9, \"size_y\": 3, \"panelIndex\": 3, \"col\": 4, \"row\": 5}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"73613570-4791-11e7-be88-2ddb32f3df97\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 4, \"col\": 1, \"columns\": [\"beat.name\", \"redis.log.level\", \"redis.log.role\", \"redis.log.message\"], \"row\": 8}, {\"type\": \"visualization\", \"id\": \"dcccaa80-4791-11e7-be88-2ddb32f3df97\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 5, \"col\": 7, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"0ab87b80-478e-11e7-b1f0-cb29bac6bf8b\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 6, \"col\": 1, \"columns\": [\"beat.name\", \"message\", \"redis.slowlog.duration.us\", \"redis.slowlog.key\"], \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"legendOpen\": false}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Logstash-Slowlog-Dashboard", + "_type": "dashboard", + "_source": { + "title": "Slowlogs [Filebeat Logstash]", + "hits": 0, + "description": "", + "panelsJSON": "[{\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"742e45d0-cbdd-11e7-9852-73e0a9df1bb6\", \"size_x\": 12, \"size_y\": 9, \"panelIndex\": 1, \"col\": 1, \"columns\": [\"logstash.slowlog.level\", \"logstash.slowlog.plugin_type\", \"logstash.slowlog.plugin_name\", \"logstash.slowlog.message\", \"logstash.slowlog.plugin_params\", \"logstash.slowlog.execution_time_ns\"], \"row\": 7}, {\"type\": \"visualization\", \"id\": \"0b1dace0-cbdb-11e7-9852-73e0a9df1bb6\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"e90b7240-cbda-11e7-9852-73e0a9df1bb6\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"b3315630-cbdf-11e7-9852-73e0a9df1bb6\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 4, \"col\": 1, \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": 3, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0d3f2380-fa78-11e6-ae9b-81e5311e8cab", + "_type": "dashboard", + "_source": { + "title": "[Filebeat System] New users and groups", + "hits": 0, + "description": "New users and groups dashboard for the System module in Filebeat", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"f398d2f0-fa77-11e6-ae9b-81e5311e8cab\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"5dd15c00-fa78-11e6-ae9b-81e5311e8cab\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"e121b140-fa78-11e6-a1df-a78bd7504d38\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"d56ee420-fa79-11e6-a1df-a78bd7504d38\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"12667040-fa80-11e6-a1df-a78bd7504d38\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 5, \"col\": 1, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"346bb290-fa80-11e6-a1df-a78bd7504d38\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 6, \"col\": 7, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"327417e0-8462-11e7-bab8-bd2f0fb42c54\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 7, \"col\": 1, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5517a150-f9ce-11e6-8115-a7c18106d86a", + "_type": "dashboard", + "_source": { + "title": "[Filebeat System] SSH login attempts", + "hits": 0, + "description": "SSH dashboard for the System module in Filebeat", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"d16bb400-f9cc-11e6-8115-a7c18106d86a\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 5}, {\"type\": \"visualization\", \"id\": \"78b74f30-f9cd-11e6-8115-a7c18106d86a\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"341ffe70-f9ce-11e6-8115-a7c18106d86a\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 3, \"col\": 1, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"3cec3eb0-f9d3-11e6-8a3e-2b904044ea1d\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 4, \"col\": 7, \"row\": 8}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"62439dc0-f9c9-11e6-a747-6121780e0414\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 5, \"col\": 1, \"columns\": [\"system.auth.ssh.event\", \"system.auth.ssh.method\", \"system.auth.user\", \"system.auth.ssh.ip\", \"system.auth.ssh.geoip.country_iso_code\"], \"row\": 12}, {\"type\": \"visualization\", \"id\": \"327417e0-8462-11e7-bab8-bd2f0fb42c54\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 6, \"col\": 1, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-4\": {\"mapCenter\": [39.774769485295465, 23.203125], \"mapCollar\": {\"zoom\": 3, \"bottom_right\": {\"lat\": -14.777884999999998, \"lon\": 125.771485}, \"top_left\": {\"lat\": 85.593335, \"lon\": -79.189455}}, \"mapBounds\": {\"bottom_right\": {\"lat\": 10.31491928581316, \"lon\": 74.53125}, \"top_left\": {\"lat\": 60.50052541051131, \"lon\": -27.94921875}}, \"mapZoom\": 3}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "046212a0-a2a1-11e7-928f-5dbe6f6f5519", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Nginx] Access and error logs", + "hits": 0, + "description": "Dashboard for the Filebeat Nginx module", + "panelsJSON": "[{\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"9eb25600-a1f0-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 11, \"col\": 1, \"columns\": [\"nginx.error.level\", \"nginx.error.message\"], \"row\": 5}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"6d9e66d0-a1f0-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 7, \"panelIndex\": 16, \"col\": 1, \"columns\": [\"nginx.access.url\", \"nginx.access.method\", \"nginx.access.response_code\", \"nginx.access.body_sent.bytes\"], \"row\": 8}, {\"type\": \"visualization\", \"id\": \"1cfb1a80-a1f4-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 18, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"97109780-a2a5-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 19, \"col\": 1, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-syslog-dashboard", + "_type": "dashboard", + "_source": { + "title": "[Filebeat System] Syslog dashboard", + "hits": 0, + "description": "Syslog dashboard from the Filebeat System module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Syslog-events-by-hostname\", \"size_x\": 8, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"Syslog-hostnames-and-processes\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 2, \"col\": 9, \"row\": 2}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Syslog-system-logs\", \"size_x\": 12, \"size_y\": 7, \"panelIndex\": 3, \"col\": 1, \"columns\": [\"system.syslog.hostname\", \"system.syslog.program\", \"system.syslog.message\"], \"row\": 6}, {\"type\": \"visualization\", \"id\": \"327417e0-8462-11e7-bab8-bd2f0fb42c54\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 4, \"col\": 1, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Remote-IP-Count-Explorer", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Nginx] [ML] Remote IP Count Explorer", + "hits": 0, + "description": "Machine learning dashboard, for the Filebeat Nginx module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Remote-IP-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Response-Code-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Top-Remote-IPs-Table\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Map\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Top-URLs-Table\", \"size_x\": 12, \"size_y\": 9, \"panelIndex\": 5, \"col\": 1, \"row\": 7}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9458e6d0-1a79-11e9-98b1-8df03cb1ed5f", + "_type": "dashboard", + "_source": { + "title": "LKFT Dashboard", + "hits": 0, + "description": "", + "panelsJSON": "[{\"gridData\":{\"w\":24,\"h\":15,\"x\":0,\"y\":0,\"i\":\"1\"},\"version\":\"6.5.1\",\"panelIndex\":\"1\",\"type\":\"visualization\",\"id\":\"a8581090-a623-11e8-8538-f34fec203819\",\"embeddableConfig\":{}}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-7d", + "refreshInterval": { + "pause": true, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "27e87f10-83e1-11ea-a795-b501b684e6e8", + "_type": "dashboard", + "_source": { + "title": "Kisscache", + "hits": 0, + "description": "", + "panelsJSON": "[{\"gridData\":{\"h\":3,\"i\":\"3\",\"w\":6,\"x\":6,\"y\":0},\"id\":\"59e66790-847a-11ea-a795-b501b684e6e8\",\"panelIndex\":\"3\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"4\",\"w\":6,\"x\":0,\"y\":0},\"id\":\"720a7fc0-848c-11ea-a795-b501b684e6e8\",\"panelIndex\":\"4\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"5\",\"w\":6,\"x\":0,\"y\":3},\"id\":\"59e66790-847a-11ea-a795-b501b684e6e8\",\"panelIndex\":\"5\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"6\",\"w\":6,\"x\":6,\"y\":3},\"id\":\"187dd8d0-848c-11ea-a795-b501b684e6e8\",\"panelIndex\":\"6\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"7\",\"w\":6,\"x\":0,\"y\":6},\"id\":\"70a79ef0-848d-11ea-a795-b501b684e6e8\",\"panelIndex\":\"7\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"8\",\"w\":6,\"x\":6,\"y\":6},\"id\":\"8b13dac0-8491-11ea-a795-b501b684e6e8\",\"panelIndex\":\"8\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"9\",\"w\":6,\"x\":0,\"y\":9},\"id\":\"550e1470-848e-11ea-a795-b501b684e6e8\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{\"P-3\":{\"vis\":{\"defaultColors\":{\"0 - 50\":\"rgb(0,104,55)\",\"50 - 75\":\"rgb(255,255,190)\",\"75 - 100\":\"rgb(165,0,38)\"}}},\"P-5\":{\"vis\":{\"defaultColors\":{\"0 - 50\":\"rgb(0,104,55)\",\"50 - 75\":\"rgb(255,255,190)\",\"75 - 100\":\"rgb(165,0,38)\"}}}}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-24h", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "861f0220-a625-11e8-8538-f34fec203819", + "_type": "dashboard", + "_source": { + "title": "LAVA Jobqueue Length", + "hits": 0, + "description": "", + "panelsJSON": "[{\"panelIndex\":\"2\",\"gridData\":{\"x\":5,\"y\":0,\"w\":5,\"h\":6,\"i\":\"2\"},\"embeddableConfig\":{},\"id\":\"02361660-a625-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue LEDGE\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"3\",\"gridData\":{\"x\":0,\"y\":0,\"w\":5,\"h\":6,\"i\":\"3\"},\"embeddableConfig\":{},\"id\":\"a8581090-a623-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue LKFT\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"4\",\"gridData\":{\"x\":0,\"y\":6,\"w\":5,\"h\":5,\"i\":\"4\"},\"embeddableConfig\":{},\"id\":\"c6670080-a625-11e8-8538-f34fec203819\",\"title\":\"LAVA Queue Validation\",\"type\":\"visualization\",\"version\":\"6.3.2\"},{\"panelIndex\":\"5\",\"gridData\":{\"x\":5,\"y\":6,\"w\":5,\"h\":5,\"i\":\"5\"},\"embeddableConfig\":{},\"id\":\"e0e68790-b1ed-11e8-852d-55393e7ce617\",\"title\":\"LAVA Queue PMWG\",\"type\":\"visualization\",\"version\":\"6.3.2\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "158314c0-70be-11e9-8ab9-1b38609ca045", + "_type": "dashboard", + "_source": { + "title": "LKFT Jobfailure", + "hits": 0, + "description": "", + "panelsJSON": "[{\"panelIndex\":\"1\",\"gridData\":{\"x\":0,\"y\":0,\"w\":8,\"h\":4,\"i\":\"1\"},\"version\":\"6.1.4-1\",\"type\":\"visualization\",\"id\":\"daff3a10-725f-11e9-8ab9-1b38609ca045\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-4h", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3560d580-aa34-11e8-9c06-877f0445e3e0", + "_type": "dashboard", + "_source": { + "title": "[Filebeat HAProxy] Overview", + "hits": 0, + "description": "Filebeat HAProxy module dashboard", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 15, \"y\": 0, \"w\": 24, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"1\", \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"55251360-aa32-11e8-9c06-877f0445e3e0\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 0, \"w\": 24, \"x\": 24}, \"embeddableConfig\": {}, \"panelIndex\": \"2\", \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"7fb671f0-aa32-11e8-9c06-877f0445e3e0\"}, {\"gridData\": {\"i\": \"3\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"3\", \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"11f8b9c0-aa32-11e8-9c06-877f0445e3e0\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 24}, \"embeddableConfig\": {}, \"panelIndex\": \"4\", \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"68af8ef0-aa33-11e8-9c06-877f0445e3e0\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4278ad30-fe16-11e7-a3b0-d13028918f9f", + "_type": "dashboard", + "_source": { + "title": "[Filebeat IIS] Access and error logs", + "hits": 0, + "description": "Dashboard for the Filebeat IIS module", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 3, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"1\", \"id\": \"eb2db5b0-fe11-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"2\", \"h\": 3, \"y\": 3, \"w\": 7, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"2\", \"id\": \"f31414b0-fe14-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"4\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"4\", \"id\": \"63129c80-fe12-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"5\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"5\", \"id\": \"ccd3f9c0-fe12-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"6\", \"h\": 3, \"y\": 3, \"w\": 5, \"x\": 7}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"6\", \"id\": \"41f38230-fe17-11e7-a3b0-d13028918f9f\"}, {\"gridData\": {\"i\": \"7\", \"h\": 3, \"y\": 6, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.2\", \"panelIndex\": \"7\", \"id\": \"c0d02cd0-fe1b-11e7-a3b0-d13028918f9f\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b9163ea0-2417-11e7-a83b-d5f4cebac9ff", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Icinga] Startup Errors", + "hits": 0, + "description": "Filebeat Icinga module dashboard for startup errors", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"a59b5e00-2417-11e7-a83b-d5f4cebac9ff\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"710043e0-2417-11e7-a83b-d5f4cebac9ff\", \"size_x\": 12, \"size_y\": 13, \"panelIndex\": 2, \"col\": 1, \"columns\": [\"icinga.startup.facility\", \"icinga.startup.severity\", \"icinga.startup.message\"], \"row\": 3}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "55a9e6e0-a29e-11e7-928f-5dbe6f6f5519", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Nginx] Overview", + "hits": 0, + "description": "Dashboard for the Filebeat Nginx module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Nginx-Access-Browsers\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 3, \"col\": 10, \"row\": 12}, {\"type\": \"visualization\", \"id\": \"Nginx-Access-OSes\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 12}, {\"type\": \"visualization\", \"id\": \"Nginx-Access-Map\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 8, \"col\": 1, \"row\": 2}, {\"type\": \"visualization\", \"id\": \"b70b1b20-a1f4-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 13, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"9184fa00-a1f5-11e7-928f-5dbe6f6f5519\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 14, \"col\": 7, \"row\": 9}, {\"type\": \"visualization\", \"id\": \"46322e50-a1f6-11e7-928f-5dbe6f6f5519\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 15, \"col\": 1, \"row\": 9}, {\"type\": \"visualization\", \"id\": \"0dd6f320-a29f-11e7-928f-5dbe6f6f5519\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 16, \"col\": 1, \"row\": 12}, {\"type\": \"visualization\", \"id\": \"97109780-a2a5-11e7-928f-5dbe6f6f5519\", \"size_x\": 12, \"size_y\": 1, \"panelIndex\": 17, \"col\": 1, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"legendOpen\": true}}, \"P-8\": {\"mapCenter\": [50.51342652633956, -0.17578125], \"mapCollar\": {\"zoom\": 2, \"bottom_right\": {\"lat\": -49.583095, \"lon\": 180}, \"top_left\": {\"lat\": 90, \"lon\": -180}}, \"mapBounds\": {\"bottom_right\": {\"lat\": -7.362466865535738, \"lon\": 245.39062500000003}, \"top_left\": {\"lat\": 77.07878389624943, \"lon\": -245.74218750000003}}, \"mapZoom\": 2}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-MySQL-Dashboard", + "_type": "dashboard", + "_source": { + "title": "[Filebeat MySQL] Overview", + "hits": 0, + "description": "Overview dashboard for the Filebeat MySQL module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"MySQL-slowest-queries\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 1, \"col\": 1, \"row\": 8}, {\"type\": \"visualization\", \"id\": \"MySQL-Slow-queries-over-time\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"MySQL-error-logs\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 7, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"Filebeat-MySQL-error-log\", \"size_x\": 6, \"size_y\": 5, \"panelIndex\": 4, \"col\": 7, \"columns\": [\"mysql.error.level\", \"mysql.error.message\"], \"row\": 8}, {\"type\": \"visualization\", \"id\": \"MySQL-Error-logs-levels\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 5, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"MySQL-Slow-logs-by-count\", \"size_x\": 6, \"size_y\": 4, \"panelIndex\": 6, \"col\": 1, \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f693d260-2417-11e7-a83b-d5f4cebac9ff", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Icinga] Main Log", + "hits": 0, + "description": "Filebeat Icinga module dashboard for the main log files", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"d8e5dc40-2417-11e7-a83b-d5f4cebac9ff\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 7, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"ffaf5a30-2413-11e7-a0d9-39604d45ca7f\", \"size_x\": 12, \"size_y\": 25, \"panelIndex\": 2, \"col\": 1, \"columns\": [\"icinga.main.facility\", \"icinga.main.severity\", \"icinga.main.message\"], \"row\": 4}, {\"type\": \"visualization\", \"id\": \"2cf77780-2418-11e7-a83b-d5f4cebac9ff\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Logstash-Log-Dashboard", + "_type": "dashboard", + "_source": { + "title": "Logstash Logs [Filebeat Logstash]", + "hits": 0, + "description": "", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"0b1dace0-cbdb-11e7-9852-73e0a9df1bb6\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"e90b7240-cbda-11e7-9852-73e0a9df1bb6\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 1}, {\"sort\": [\"@timestamp\", \"desc\"], \"type\": \"search\", \"id\": \"cfaba090-cbda-11e7-9852-73e0a9df1bb6\", \"size_x\": 12, \"size_y\": 10, \"panelIndex\": 4, \"col\": 1, \"columns\": [\"logstash.log.level\", \"logstash.log.module\", \"logstash.log.message\", \"source\"], \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Remote-IP-URL-Explorer", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Traefik] [ML] Remote IP URL Explorer", + "hits": 0, + "description": "Machine Learning dashboard for the Filebeat Traefik module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Unique-Count-URL-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Response-Code-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Top-Remote-IPs-Table\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Map\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Top-URLs-Table\", \"size_x\": 12, \"size_y\": 8, \"panelIndex\": 5, \"col\": 1, \"row\": 7}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Remote-IP-URL-Explorer", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Nginx] [ML] Remote IP URL Explorer", + "hits": 0, + "description": "Machine Learning dashboard for the Filebeat Nginx module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Unique-Count-URL-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Response-Code-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Top-Remote-IPs-Table\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Map\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Nginx-Access-Top-URLs-Table\", \"size_x\": 12, \"size_y\": 8, \"panelIndex\": 5, \"col\": 1, \"row\": 7}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Traefik-Dashboard", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Traefik] Access logs", + "hits": 0, + "description": "Dashboard for the Filebeat Traefik module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Traefik-Access-Browsers\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 3, \"col\": 1, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"Traefik-Access-OSes\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 4, \"col\": 5, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"New-Visualization\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 5, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"Traefik-Access-Response-codes-by-top-URLs\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 6, \"col\": 1, \"row\": 7}, {\"type\": \"visualization\", \"id\": \"Sent-sizes\", \"size_x\": 4, \"size_y\": 4, \"panelIndex\": 7, \"col\": 9, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"Traefik-Access-Map\", \"size_x\": 12, \"size_y\": 3, \"panelIndex\": 8, \"col\": 1, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"legendOpen\": true}}, \"P-8\": {\"mapCenter\": [50.51342652633956, -0.17578125]}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c0a7ce90-f4aa-11e7-8647-534bb4c21040", + "_type": "dashboard", + "_source": { + "title": "[Osquery Result] OSSEC rootkit pack", + "hits": 0, + "description": "This dashboard shows data collected by the OSSEC rootkit pack from osquery", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 2, \"y\": 1, \"w\": 4, \"x\": 8}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"1\", \"id\": \"6ec10290-f4aa-11e7-8647-534bb4c21040\"}, {\"gridData\": {\"i\": \"2\", \"h\": 2, \"y\": 1, \"w\": 4, \"x\": 4}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"2\", \"id\": \"ffdbba50-f4a9-11e7-8647-534bb4c21040\"}, {\"gridData\": {\"i\": \"3\", \"h\": 2, \"y\": 1, \"w\": 4, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"3\", \"id\": \"ab587180-f4a9-11e7-8647-534bb4c21040\"}, {\"gridData\": {\"i\": \"4\", \"h\": 1, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"4\", \"id\": \"2d6e0760-f4ab-11e7-8647-534bb4c21040\"}, {\"gridData\": {\"i\": \"5\", \"h\": 4, \"y\": 3, \"w\": 12, \"x\": 0}, \"type\": \"search\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"5\", \"id\": \"0fe5dc00-f49b-11e7-8647-534bb4c21040\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "69f5ae20-eb02-11e7-8f04-51231daa5b05", + "_type": "dashboard", + "_source": { + "title": "[Osquery Result] Compliance pack", + "hits": 0, + "description": "Dashboard for visualizing the data collected by the Osquery compliance pack.", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 4, \"y\": 6, \"w\": 6, \"x\": 6}, \"type\": \"search\", \"version\": \"6.2.4\", \"panelIndex\": \"1\", \"id\": \"7a9482d0-eb00-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"2\", \"h\": 5, \"y\": 1, \"w\": 7, \"x\": 5}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"2\", \"id\": \"a9fd8bb0-eb01-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"3\", \"h\": 4, \"y\": 6, \"w\": 6, \"x\": 0}, \"type\": \"search\", \"version\": \"6.2.4\", \"panelIndex\": \"3\", \"id\": \"3824b080-eb02-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"4\", \"h\": 3, \"y\": 1, \"w\": 5, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"4\", \"id\": \"1da1ed30-eb03-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 4, \"w\": 5, \"x\": 0}, \"embeddableConfig\": {\"vis\": {\"legendOpen\": false, \"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"panelIndex\": \"5\", \"version\": \"6.2.4\", \"type\": \"visualization\", \"id\": \"240f3630-eb05-11e7-8f04-51231daa5b05\"}, {\"gridData\": {\"i\": \"6\", \"h\": 1, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.1.0-SNAPSHOT\", \"panelIndex\": \"6\", \"id\": \"2d6e0760-f4ab-11e7-8647-534bb4c21040\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "af7225b0-5794-11e8-afa2-e9067ea62228", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Kubernetes] API server", + "hits": 0, + "description": "Kubernetes API server metrics", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 24, \"y\": 22, \"w\": 24, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"1\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"7cbeb750-5794-11e8-afa2-e9067ea62228\"}, {\"gridData\": {\"i\": \"3\", \"h\": 22, \"y\": 0, \"w\": 48, \"x\": 0}, \"embeddableConfig\": {}, \"panelIndex\": \"3\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"ec360ff0-57a0-11e8-afa2-e9067ea62228\"}, {\"gridData\": {\"i\": \"4\", \"h\": 24, \"y\": 22, \"w\": 24, \"x\": 24}, \"embeddableConfig\": {}, \"panelIndex\": \"4\", \"version\": \"6.3.0\", \"type\": \"visualization\", \"id\": \"95a7f110-57a2-11e8-afa2-e9067ea62228\"}]", + "optionsJSON": "{\"useMargins\": false, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0836a4b0-47bd-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat HAProxy] HTTP backend", + "hits": 0, + "description": "HAProxy HTTP backend metrics", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 2, \"y\": 5, \"w\": 4, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"1\", \"id\": \"a64b4fd0-471c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"2\", \"h\": 2, \"y\": 0, \"w\": 3, \"x\": 9}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"2\", \"id\": \"794b6cd0-471d-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 3, \"y\": 2, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"3\", \"id\": \"bb0ab500-4735-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 2, \"y\": 0, \"w\": 3, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"4\", \"id\": \"40bed190-473b-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 5, \"w\": 4, \"x\": 4}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"0751ed00-479c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"6\", \"h\": 2, \"y\": 5, \"w\": 4, \"x\": 8}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"6\", \"id\": \"b3463670-47a1-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"7\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"7\", \"id\": \"fcbdfa60-47bd-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"8\", \"h\": 2, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"8\", \"id\": \"981d1040-47be-11e8-bc13-1397384faad3\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8cc50a50-47e0-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat HAProxy] HTTP server", + "hits": 0, + "description": "HAProxy metrics for HTTP mode", + "panelsJSON": "[{\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 5, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"0751ed00-479c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"6\", \"h\": 2, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"6\", \"id\": \"b3463670-47a1-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"7\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"7\", \"id\": \"fcbdfa60-47bd-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"8\", \"h\": 2, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"8\", \"id\": \"981d1040-47be-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"10\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"10\", \"id\": \"72e84b00-47e1-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"11\", \"h\": 2, \"y\": 5, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"11\", \"id\": \"976b0910-47e4-11e8-bc13-1397384faad3\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4b555c30-47dd-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat HAProxy] Overview", + "hits": 0, + "description": "HAProxy overview", + "panelsJSON": "[{\"gridData\": {\"i\": \"2\", \"h\": 6, \"y\": 2, \"w\": 4, \"x\": 8}, \"title\": \"Servers\", \"panelIndex\": \"2\", \"version\": \"6.2.2\", \"type\": \"visualization\", \"id\": \"79350d50-47db-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 6, \"y\": 2, \"w\": 4, \"x\": 4}, \"title\": \"Backends\", \"panelIndex\": \"3\", \"version\": \"6.2.2\", \"type\": \"visualization\", \"id\": \"8c8f0300-47dc-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 6, \"y\": 2, \"w\": 4, \"x\": 0}, \"title\": \"Frontends\", \"panelIndex\": \"4\", \"version\": \"6.2.2\", \"type\": \"visualization\", \"id\": \"f1e27ed0-47dc-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 2, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"a64b4fd0-471c-11e8-bc13-1397384faad3\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d5878d00-47c5-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat HAProxy] Frontend", + "hits": 0, + "description": "HAProxy frontend metrics", + "panelsJSON": "[{\"gridData\": {\"i\": \"2\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"2\", \"id\": \"a64b4fd0-471c-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"3\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"3\", \"id\": \"86159190-47c5-11e8-bc13-1397384faad3\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e9057ae0-47c5-11e8-bc13-1397384faad3", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat HAProxy] HTTP frontend", + "hits": 0, + "description": "HAProxy frontend metrics", + "panelsJSON": "[{\"gridData\": {\"i\": \"3\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"3\", \"id\": \"86159190-47c5-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"4\", \"h\": 3, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"4\", \"id\": \"fcbdfa60-47bd-11e8-bc13-1397384faad3\"}, {\"gridData\": {\"i\": \"5\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"30956d00-47d7-11e8-bc13-1397384faad3\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Remote-IP-Count-Explorer", + "_type": "dashboard", + "_source": { + "title": "[Filebeat Traefik] [ML] Remote IP Count Explorer", + "hits": 0, + "description": "Machine learning dashboard, for the Filebeat Traefik module", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Remote-IP-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Response-Code-Timechart\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Top-Remote-IPs-Table\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Map\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ML-Traefik-Access-Top-URLs-Table\", \"size_x\": 12, \"size_y\": 9, \"panelIndex\": 5, \"col\": 1, \"row\": 7}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-5\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "32fca290-f0af-11e7-b9ff-9f96241065de", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat uWSGI] Overview", + "hits": 0, + "description": "Overview of uWSGI service metrics", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"a5058e70-f0ae-11e7-b9ff-9f96241065de\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"ac7194b0-f0ae-11e7-b9ff-9f96241065de\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 7, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"8c5f96e0-f0ae-11e7-b9ff-9f96241065de\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"ba4a80b0-f0ae-11e7-b9ff-9f96241065de\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 4, \"col\": 7, \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d9eba730-c991-11e7-9835-2f31fe08873b", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Windows] Services", + "hits": 0, + "description": "Overview of the Windows Service States", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"eb8277d0-c98c-11e7-9835-2f31fe08873b\", \"size_x\": 9, \"size_y\": 5, \"panelIndex\": 1, \"col\": 4, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"23a5fff0-c98e-11e7-9835-2f31fe08873b\", \"size_x\": 3, \"size_y\": 5, \"panelIndex\": 2, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"830c45f0-c991-11e7-9835-2f31fe08873b\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 3, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"35f5ad60-c996-11e7-9835-2f31fe08873b\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 4, \"col\": 5, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"c36b2ba0-ca29-11e7-9835-2f31fe08873b\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 5, \"col\": 9, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-5\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}, \"P-2\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-system-overview", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat System] Overview", + "hits": 0, + "description": "Overview of system metrics", + "panelsJSON": "[{\"gridData\":{\"h\":1,\"i\":\"9\",\"w\":12,\"x\":0,\"y\":0},\"id\":\"System-Navigation\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"11\",\"w\":2,\"x\":0,\"y\":1},\"id\":\"c6f2ffd0-4d17-11e7-a196-69b9a7a020a9\",\"panelIndex\":\"11\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":5,\"i\":\"12\",\"w\":6,\"x\":6,\"y\":3},\"id\":\"fe064790-1b1f-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"12\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":5,\"i\":\"13\",\"w\":6,\"x\":0,\"y\":3},\"id\":\"855899e0-1b1c-11e7-b09e-037021c4f8df\",\"panelIndex\":\"13\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":6,\"i\":\"14\",\"w\":12,\"x\":0,\"y\":8},\"id\":\"7cdb1330-4d1a-11e7-a196-69b9a7a020a9\",\"panelIndex\":\"14\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"16\",\"w\":2,\"x\":8,\"y\":1},\"id\":\"522ee670-1b92-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"16\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"17\",\"w\":2,\"x\":10,\"y\":1},\"id\":\"1aae9140-1b93-11e7-8ada-3df93aab833e\",\"panelIndex\":\"17\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"18\",\"w\":2,\"x\":6,\"y\":1},\"id\":\"825fdb80-4d1d-11e7-b5f2-2b7c1895bf32\",\"panelIndex\":\"18\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"19\",\"w\":2,\"x\":4,\"y\":1},\"id\":\"d3166e80-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"19\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"20\",\"w\":2,\"x\":2,\"y\":1},\"id\":\"83e12df0-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"20\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"useMargins\":false}", + "uiStateJSON": "{\"P-11\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-12\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-14\":{\"vis\":{\"defaultColors\":{\"0% - 20%\":\"rgb(247,252,245)\",\"20% - 40%\":\"rgb(199,233,192)\",\"40% - 60%\":\"rgb(116,196,118)\",\"60% - 80%\":\"rgb(35,139,69)\"}}},\"P-16\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-2\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-3\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}}}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-7d", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"default_field\":\"*\",\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "467207a0-231e-11e9-bb66-8baac426dfd4", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Zookeeper] Overview", + "hits": 0, + "description": "", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 15, \"y\": 15, \"w\": 15, \"x\": 0}, \"title\": \"Approximate data size\", \"panelIndex\": \"1\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"8d3b7770-2319-11e9-bb66-8baac426dfd4\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 15, \"w\": 17, \"x\": 15}, \"title\": \"Latency\", \"panelIndex\": \"2\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"c0be43c0-2319-11e9-bb66-8baac426dfd4\"}, {\"gridData\": {\"i\": \"3\", \"h\": 15, \"y\": 15, \"w\": 16, \"x\": 32}, \"title\": \"Alive Connections\", \"panelIndex\": \"3\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"1c2f8930-231a-11e9-bb66-8baac426dfd4\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 0, \"w\": 25, \"x\": 23}, \"title\": \"Used file descriptors\", \"panelIndex\": \"4\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"ddb13c60-231b-11e9-bb66-8baac426dfd4\"}, {\"gridData\": {\"i\": \"5\", \"h\": 15, \"y\": 0, \"w\": 23, \"x\": 0}, \"title\": \"Packets received / sent\", \"panelIndex\": \"5\", \"embeddableConfig\": {}, \"version\": \"7.0.0-alpha2\", \"type\": \"visualization\", \"id\": \"d2f52b50-231c-11e9-bb66-8baac426dfd4\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "023d2930-f1a5-11e7-a9ef-93c69af7b129", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Nginx] Overview", + "hits": 0, + "description": "Overview dashboard for the Nginx module in Metricbeat", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"1\", \"id\": \"555df8a0-f1a1-11e7-a9ef-93c69af7b129\"}, {\"gridData\": {\"i\": \"2\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"2\", \"id\": \"a1d92240-f1a1-11e7-a9ef-93c69af7b129\"}, {\"gridData\": {\"i\": \"3\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"3\", \"id\": \"d763a570-f1a1-11e7-a9ef-93c69af7b129\"}, {\"gridData\": {\"i\": \"4\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"4\", \"id\": \"47a8e0f0-f1a4-11e7-a9ef-93c69af7b129\"}, {\"gridData\": {\"i\": \"5\", \"h\": 3, \"y\": 6, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"5\", \"id\": \"dcbffe30-f1a4-11e7-a9ef-93c69af7b129\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "79ffd6e0-faa0-11e6-947f-177f697178b8", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat System] Host overview", + "hits": 0, + "description": "Overviw of host metrics", + "panelsJSON": "[{\"gridData\":{\"h\":3,\"i\":\"1\",\"w\":6,\"x\":0,\"y\":11},\"id\":\"6b7b9a40-faa1-11e6-86b1-cd7735ff7e23\",\"panelIndex\":\"1\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"2\",\"w\":6,\"x\":6,\"y\":5},\"id\":\"4d546850-1b15-11e7-b09e-037021c4f8df\",\"panelIndex\":\"2\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"3\",\"w\":6,\"x\":6,\"y\":11},\"id\":\"089b85d0-1b16-11e7-b09e-037021c4f8df\",\"panelIndex\":\"3\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"4\",\"w\":6,\"x\":0,\"y\":8},\"id\":\"bfa5e400-1b16-11e7-b09e-037021c4f8df\",\"panelIndex\":\"4\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"5\",\"w\":6,\"x\":6,\"y\":14},\"id\":\"e0f001c0-1b18-11e7-b09e-037021c4f8df\",\"panelIndex\":\"5\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"6\",\"w\":6,\"x\":0,\"y\":14},\"id\":\"2e224660-1b19-11e7-b09e-037021c4f8df\",\"panelIndex\":\"6\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"7\",\"w\":6,\"x\":0,\"y\":5},\"id\":\"ab2d1e90-1b1a-11e7-b09e-037021c4f8df\",\"panelIndex\":\"7\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"8\",\"w\":6,\"x\":6,\"y\":8},\"id\":\"4e4bb1e0-1b1b-11e7-b09e-037021c4f8df\",\"panelIndex\":\"8\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"9\",\"w\":2,\"x\":4,\"y\":1},\"id\":\"26732e20-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"10\",\"w\":2,\"x\":0,\"y\":1},\"id\":\"83e12df0-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"10\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"11\",\"w\":2,\"x\":2,\"y\":1},\"id\":\"d3166e80-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"11\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"12\",\"w\":2,\"x\":6,\"y\":1},\"id\":\"522ee670-1b92-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"12\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"13\",\"w\":2,\"x\":8,\"y\":1},\"id\":\"1aae9140-1b93-11e7-8ada-3df93aab833e\",\"panelIndex\":\"13\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"14\",\"w\":4,\"x\":8,\"y\":3},\"id\":\"34f97ee0-1b96-11e7-8ada-3df93aab833e\",\"panelIndex\":\"14\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":1,\"i\":\"16\",\"w\":6,\"x\":0,\"y\":0},\"id\":\"System-Navigation\",\"panelIndex\":\"16\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"21\",\"w\":2,\"x\":0,\"y\":3},\"id\":\"19e123b0-4d5a-11e7-aee5-fdc812cc3bec\",\"panelIndex\":\"21\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"22\",\"w\":2,\"x\":2,\"y\":3},\"id\":\"d2e80340-4d5c-11e7-aa29-87a97a796de6\",\"panelIndex\":\"22\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"23\",\"w\":2,\"x\":6,\"y\":3},\"id\":\"825fdb80-4d1d-11e7-b5f2-2b7c1895bf32\",\"panelIndex\":\"23\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"25\",\"w\":2,\"x\":10,\"y\":1},\"id\":\"96976150-4d5d-11e7-aa29-87a97a796de6\",\"panelIndex\":\"25\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"27\",\"w\":6,\"x\":0,\"y\":17},\"id\":\"99381c80-4d60-11e7-9a4c-ed99bbcaa42b\",\"panelIndex\":\"27\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"28\",\"w\":6,\"x\":6,\"y\":17},\"id\":\"c5e3cf90-4d60-11e7-9a4c-ed99bbcaa42b\",\"panelIndex\":\"28\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"29\",\"w\":2,\"x\":4,\"y\":3},\"id\":\"590a60f0-5d87-11e7-8884-1bb4c3b890e4\",\"panelIndex\":\"29\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":1,\"i\":\"30\",\"w\":6,\"x\":6,\"y\":0},\"id\":\"3d65d450-a9c3-11e7-af20-67db8aecb295\",\"panelIndex\":\"30\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"useMargins\":false}", + "uiStateJSON": "{\"P-29\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}}}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-7d", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"default_field\":\"*\",\"query\":\"beat.name:\\\"lkft-master.systems\\\"\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "AV4RGUqo5NkDleZmzKuZ", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Kubernetes] Overview", + "hits": 0, + "description": "Overview of Kubernetes cluster metrics", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 3, \"y\": 0, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"1\", \"id\": \"022a54c0-2bf5-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"2\", \"h\": 3, \"y\": 6, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"2\", \"id\": \"44f12b40-2bf4-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"5\", \"h\": 3, \"y\": 0, \"w\": 3, \"x\": 3}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"5\", \"id\": \"cd059410-2bfb-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"6\", \"h\": 3, \"y\": 3, \"w\": 2, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"6\", \"id\": \"e1018b90-2bfb-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"7\", \"h\": 3, \"y\": 6, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"7\", \"id\": \"d6564360-2bfc-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"8\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"8\", \"id\": \"16fa4470-2bfd-11e7-859b-f78b612cde28\"}, {\"gridData\": {\"i\": \"9\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"9\", \"id\": \"294546b0-30d6-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"10\", \"h\": 3, \"y\": 0, \"w\": 3, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"10\", \"id\": \"408fccf0-30d6-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"11\", \"h\": 3, \"y\": 12, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"11\", \"id\": \"58e644f0-30d6-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"12\", \"h\": 3, \"y\": 12, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"12\", \"id\": \"a4c9d360-30df-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"13\", \"h\": 3, \"y\": 3, \"w\": 2, \"x\": 4}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"13\", \"id\": \"174a6ad0-30e0-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"14\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"14\", \"id\": \"7aac4fd0-30e0-11e7-8df8-6d3604a72912\"}, {\"gridData\": {\"i\": \"15\", \"h\": 3, \"y\": 3, \"w\": 2, \"x\": 2}, \"type\": \"visualization\", \"version\": \"6.2.2\", \"panelIndex\": \"15\", \"id\": \"da1ff7c0-30ed-11e7-b9e5-2b5b07213ab3\"}]", + "optionsJSON": "{\"darkTheme\": false, \"useMargins\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-MongoDB", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat MongoDB] Overview", + "hits": 0, + "description": "Overview of MongoDB server status", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"MongoDB-hosts\", \"size_x\": 8, \"size_y\": 3, \"panelIndex\": 1, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"MongoDB-Engine-ampersand-Version\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 4, \"col\": 9, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"MongoDB-operation-counters\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"MongoDB-Concurrent-transactions-Read\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 6, \"col\": 7, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"MongoDB-Concurrent-transactions-Write\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 7, \"col\": 10, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"MongoDB-memory-stats\", \"size_x\": 12, \"size_y\": 4, \"panelIndex\": 5, \"col\": 1, \"row\": 10}, {\"type\": \"visualization\", \"id\": \"MongoDB-asserts\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 3, \"col\": 7, \"row\": 7}, {\"type\": \"visualization\", \"id\": \"MongoDB-WiredTiger-Cache\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 8, \"col\": 1, \"row\": 7}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-1\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "AV4YjZ5pux-M-tCAunxK", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Redis] Overview", + "hits": 0, + "description": "Overview of Redis server metrics", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"Redis-Clients-Metrics\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 2, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Redis-Connected-clients\", \"size_x\": 5, \"size_y\": 3, \"panelIndex\": 1, \"col\": 4, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Redis-hosts\", \"size_x\": 12, \"size_y\": 2, \"panelIndex\": 3, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"Redis-Server-Versions\", \"size_x\": 4, \"size_y\": 2, \"panelIndex\": 4, \"col\": 1, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Redis-server-mode\", \"size_x\": 4, \"size_y\": 2, \"panelIndex\": 5, \"col\": 5, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Redis-multiplexing-API\", \"size_x\": 3, \"size_y\": 2, \"panelIndex\": 6, \"col\": 9, \"row\": 6}, {\"type\": \"visualization\", \"id\": \"Redis-Keyspaces\", \"size_x\": 4, \"size_y\": 3, \"panelIndex\": 7, \"col\": 9, \"row\": 1}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-4\": {\"vis\": {\"legendOpen\": true}}, \"P-2\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}, \"P-3\": {\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "28969190-0511-11e9-9c60-d582a238e2c5", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat Redis] Keys", + "hits": 0, + "description": "Redis keys metrics", + "panelsJSON": "[{\"gridData\": {\"i\": \"1\", \"h\": 5, \"y\": 0, \"w\": 12, \"x\": 0}, \"title\": \"Keyspace selector\", \"panelIndex\": \"1\", \"embeddableConfig\": {}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"00d39210-050d-11e9-9c60-d582a238e2c5\"}, {\"gridData\": {\"i\": \"2\", \"h\": 15, \"y\": 0, \"w\": 36, \"x\": 12}, \"title\": \"Lists length\", \"panelIndex\": \"2\", \"embeddableConfig\": {}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"7f4bc7d0-050c-11e9-9c60-d582a238e2c5\"}, {\"gridData\": {\"i\": \"3\", \"h\": 10, \"y\": 5, \"w\": 12, \"x\": 0}, \"title\": \"Keys by type\", \"panelIndex\": \"3\", \"embeddableConfig\": {\"vis\": {\"legendOpen\": false}}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"4435ac40-050e-11e9-9c60-d582a238e2c5\"}, {\"gridData\": {\"i\": \"4\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 0}, \"title\": \"Average size of string keys\", \"panelIndex\": \"4\", \"embeddableConfig\": {}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"8541a4a0-0513-11e9-9c60-d582a238e2c5\"}, {\"gridData\": {\"i\": \"5\", \"h\": 15, \"y\": 15, \"w\": 24, \"x\": 24}, \"title\": \"Average keys TTL\", \"panelIndex\": \"5\", \"embeddableConfig\": {}, \"version\": \"6.5.2\", \"type\": \"visualization\", \"id\": \"517a5fd0-0514-11e9-9c60-d582a238e2c5\"}]", + "optionsJSON": "{\"useMargins\": true, \"darkTheme\": false, \"hidePanelTitles\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"controlledBy\":\"1545388837304\",\"disabled\":false,\"index\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"key\":\"redis.keyspace.id\",\"negate\":false,\"params\":[\"db0\",\"db1\"],\"type\":\"phrases\",\"value\":\"db0, db1\"},\"query\":{\"bool\":{\"minimum_should_match\":1,\"should\":[{\"match_phrase\":{\"redis.keyspace.id\":\"db0\"}},{\"match_phrase\":{\"redis.keyspace.id\":\"db1\"}}]}}}],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "66881e90-0006-11e7-bf7f-c9acc3d3e306", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat MySQL] Overview", + "hits": 0, + "description": "Overview of MySQL server", + "panelsJSON": "[{\"gridData\": {\"i\": \"10\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"10\", \"id\": \"d7e6bee0-f1f3-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"11\", \"h\": 3, \"y\": 0, \"w\": 12, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"11\", \"id\": \"695a4f90-f1f4-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"13\", \"h\": 3, \"y\": 3, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"13\", \"id\": \"124dce60-f1f5-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"14\", \"h\": 3, \"y\": 6, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"14\", \"id\": \"aaa326b0-f1f5-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"15\", \"h\": 3, \"y\": 6, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"15\", \"id\": \"fb1f3f20-f1f5-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"16\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 6}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"16\", \"id\": \"f5b35930-f1f6-11e7-85ab-594b1652e0d1\"}, {\"gridData\": {\"i\": \"17\", \"h\": 3, \"y\": 9, \"w\": 6, \"x\": 0}, \"type\": \"visualization\", \"version\": \"6.2.4\", \"panelIndex\": \"17\", \"id\": \"7404feb0-f1f7-11e7-85ab-594b1652e0d1\"}]", + "optionsJSON": "{\"darkTheme\": false, \"useMargins\": false}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "AV4YobKIge1VCbKU_qVo", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat RabbitMQ] Overview", + "hits": 0, + "description": "Overview of RabbitMQ status", + "panelsJSON": "[{\"type\": \"visualization\", \"id\": \"RabbitMQ-Memory-Usage\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 8, \"col\": 1, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"Rabbitmq-Number-of-Nodes\", \"size_x\": 3, \"size_y\": 3, \"panelIndex\": 2, \"col\": 8, \"row\": 1}, {\"type\": \"visualization\", \"id\": \"RabbitMQ-Erlang-Process-Usage\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 10, \"col\": 1, \"row\": 4}, {\"type\": \"visualization\", \"id\": \"RabbitMQ-Queue-Index-Operations\", \"size_x\": 6, \"size_y\": 3, \"panelIndex\": 9, \"col\": 7, \"row\": 4}]", + "optionsJSON": "{\"darkTheme\": false}", + "uiStateJSON": "{\"P-2\": {\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "git-protocol-mlplatform", + "_type": "dashboard", + "_source": { + "title": "git-protocol-mlplatform", + "hits": 0, + "description": "", + "panelsJSON": "[{\"panelIndex\":\"11\",\"gridData\":{\"x\":0,\"y\":0,\"w\":6,\"h\":5,\"i\":\"11\"},\"id\":\"0b343080-6bf5-11e9-acbc-09dcf1b097d9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"panelIndex\":\"12\",\"gridData\":{\"x\":6,\"y\":0,\"w\":6,\"h\":5,\"i\":\"12\"},\"id\":\"68bc1660-6bf4-11e9-acbc-09dcf1b097d9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"panelIndex\":\"14\",\"gridData\":{\"x\":0,\"y\":5,\"w\":6,\"h\":6,\"i\":\"14\"},\"version\":\"6.1.4-1\",\"type\":\"visualization\",\"id\":\"c5f8b280-70c1-11e9-8c1d-734f928b6f03\"},{\"panelIndex\":\"15\",\"gridData\":{\"x\":6,\"y\":5,\"w\":6,\"h\":6,\"i\":\"15\"},\"version\":\"6.1.4-1\",\"type\":\"visualization\",\"id\":\"e82a7ec0-b91d-11e9-a1f4-0fc233ae73cb\"}]", + "optionsJSON": "{\"darkTheme\":false,\"useMargins\":false}", + "uiStateJSON": "{\"P-1\":{\"vis\":{\"params\":{\"config\":{\"searchKeyword\":\"\"},\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"P-11\":{\"vis\":{\"params\":{\"config\":{\"searchKeyword\":\"\"},\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"}}}},\"P-2\":{\"vis\":{\"params\":{\"config\":{\"searchKeyword\":\"\"},\"sort\":{\"columnIndex\":null,\"direction\":null}}}},\"P-3\":{\"spy\":{\"mode\":{\"fill\":false,\"name\":null}}},\"P-13\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"},\"config\":{\"searchKeyword\":\"\"}}}},\"P-14\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}}}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-7d", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"meta\":{\"index\":\"fcb828f0-6db0-11e9-8943-b9c8a07bb3fc\",\"type\":\"phrase\",\"key\":\"clientip.keyword\",\"value\":\"172.31.43.253\",\"params\":{\"query\":\"172.31.43.253\",\"type\":\"phrase\"},\"disabled\":false,\"negate\":true,\"alias\":null},\"query\":{\"match\":{\"clientip.keyword\":{\"query\":\"172.31.43.253\",\"type\":\"phrase\"}}},\"$state\":{\"store\":\"appState\"}}],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"default_field\":\"*\",\"query\":\"*\"}}},\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "CPU-slash-Memory-per-container", + "_type": "dashboard", + "_source": { + "title": "[Metricbeat System] Containers overview", + "hits": 0, + "description": "Overview of container metrics", + "panelsJSON": "[{\"gridData\":{\"h\":3,\"i\":\"2\",\"w\":12,\"x\":0,\"y\":1},\"id\":\"Container-CPU-usage\",\"panelIndex\":\"2\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":1,\"i\":\"3\",\"w\":12,\"x\":0,\"y\":0},\"id\":\"System-Navigation\",\"panelIndex\":\"3\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":3,\"i\":\"4\",\"w\":12,\"x\":0,\"y\":4},\"id\":\"Container-Memory-stats\",\"panelIndex\":\"4\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":4,\"i\":\"5\",\"w\":12,\"x\":0,\"y\":7},\"id\":\"Container-Block-IO\",\"panelIndex\":\"5\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"useMargins\":false}", + "uiStateJSON": "{\"P-2\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}},\"P-4\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}},\"P-5\":{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\",\"default_field\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "60c70e00-25ad-11eb-bb21-bdd65cbe708e", + "_type": "dashboard", + "_source": { + "title": "Morello HTTPS Clone Dashboard", + "hits": 0, + "description": "", + "panelsJSON": "[{\"panelIndex\":\"1\",\"gridData\":{\"x\":0,\"y\":0,\"w\":12,\"h\":5,\"i\":\"1\"},\"id\":\"90cbf3a0-25ac-11eb-bb21-bdd65cbe708e\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"panelIndex\":\"2\",\"gridData\":{\"x\":4,\"y\":5,\"w\":3,\"h\":2,\"i\":\"2\"},\"id\":\"397f4a40-25af-11eb-bb21-bdd65cbe708e\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"hidePanelTitles\":false,\"useMargins\":true}", + "uiStateJSON": "{}", + "version": 1, + "timeRestore": true, + "timeTo": "now", + "timeFrom": "now-15d", + "refreshInterval": { + "display": "Off", + "pause": false, + "value": 0 + }, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"filter\":[],\"highlightAll\":true,\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Overview", + "_type": "dashboard", + "_source": { + "title": "Overview", + "hits": 0, + "description": "Overview of system metrics", + "panelsJSON": "[{\"gridData\":{\"h\":1,\"i\":\"9\",\"w\":12,\"x\":0,\"y\":0},\"id\":\"System-Navigation\",\"panelIndex\":\"9\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"11\",\"w\":2,\"x\":0,\"y\":1},\"id\":\"c6f2ffd0-4d17-11e7-a196-69b9a7a020a9\",\"panelIndex\":\"11\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":4,\"i\":\"12\",\"w\":6,\"x\":6,\"y\":3},\"id\":\"fe064790-1b1f-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"12\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":4,\"i\":\"13\",\"w\":6,\"x\":0,\"y\":3},\"id\":\"855899e0-1b1c-11e7-b09e-037021c4f8df\",\"panelIndex\":\"13\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":6,\"i\":\"14\",\"w\":12,\"x\":0,\"y\":7},\"id\":\"7cdb1330-4d1a-11e7-a196-69b9a7a020a9\",\"panelIndex\":\"14\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"16\",\"w\":2,\"x\":8,\"y\":1},\"id\":\"522ee670-1b92-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"16\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"17\",\"w\":2,\"x\":10,\"y\":1},\"id\":\"1aae9140-1b93-11e7-8ada-3df93aab833e\",\"panelIndex\":\"17\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"18\",\"w\":2,\"x\":6,\"y\":1},\"id\":\"825fdb80-4d1d-11e7-b5f2-2b7c1895bf32\",\"panelIndex\":\"18\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"19\",\"w\":2,\"x\":4,\"y\":1},\"id\":\"d3166e80-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"19\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"},{\"gridData\":{\"h\":2,\"i\":\"20\",\"w\":2,\"x\":2,\"y\":1},\"id\":\"83e12df0-1b91-11e7-bec4-a5e9ec5cab8b\",\"panelIndex\":\"20\",\"type\":\"visualization\",\"version\":\"6.1.4-1\"}]", + "optionsJSON": "{\"darkTheme\":false,\"useMargins\":false}", + "uiStateJSON": "{\"P-11\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-12\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-14\":{\"vis\":{\"defaultColors\":{\"0 - 10\":\"rgb(247,252,245)\",\"10 - 100\":\"rgb(199,233,192)\",\"100 - 200\":\"rgb(116,196,118)\",\"200 - 0\":\"rgb(35,139,69)\"}}},\"P-16\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-2\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}},\"P-3\":{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}}}", + "version": 1, + "timeRestore": false, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"default_field\":\"*\",\"query\":\"*\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "02014c80-29d2-11e7-a68f-bfaa2341cc52", + "_type": "search", + "_source": { + "columns": [ + "monitor.id", + "http.url", + "monitor.status", + "http.response.status_code", + "monitor.duration.us", + "tcp.rtt.connect.us", + "tls.rtt.handshake.us", + "resolve.rtt.us", + "http.rtt.content.us" + ], + "description": "", + "hits": 0, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"heartbeat-*\",\"key\":\"monitor.type\",\"negate\":false,\"value\":\"http\"},\"query\":{\"match\":{\"monitor.type\":{\"query\":\"http\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"heartbeat-*\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}" + }, + "sort": [ + "@timestamp", + "desc" + ], + "title": "Heartbeat HTTP pings", + "version": 1 + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "_type": "search", + "_source": { + "title": "Services [Metricbeat Windows]", + "description": "", + "hits": 0, + "columns": [ + "beat.name", + "windows.service.display_name", + "windows.service.state", + "windows.service.start_type", + "windows.service.uptime.ms", + "windows.service.pid", + "windows.service.exit_code" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"metricset.module\",\"negate\":false,\"params\":{\"query\":\"windows\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"windows\"},\"query\":{\"match\":{\"metricset.module\":{\"query\":\"windows\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"metricset.name\",\"negate\":false,\"params\":{\"query\":\"service\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"service\"},\"query\":{\"match\":{\"metricset.name\":{\"query\":\"service\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c4e80aa0-1fd4-11e9-ae2a-939083c6a64e", + "_type": "search", + "_source": { + "title": "Ubiquiti Firewall Events [Filebeat Iptables]", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"iptables.ubiquiti.rule_set :*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9f7d97c0-1fe9-11e9-ae2a-939083c6a64e", + "_type": "search", + "_source": { + "title": "Ubiquiti Firewall Blocked Events [Filebeat Iptables]", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"iptables.ubiquiti.rule_set :* and event.outcome : \\\"deny\\\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7862cab0-1fdb-11e9-ae2a-939083c6a64e", + "_type": "search", + "_source": { + "title": "Ubiquiti Firewall Allowed Events [Filebeat Iptables]", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"iptables.ubiquiti.rule_set :* and event.outcome : \\\"allow\\\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "_type": "search", + "_source": { + "title": "Alerts [Suricata]", + "description": "", + "hits": 0, + "columns": [ + "host.name", + "suricata.eve.flow_id", + "suricata.eve.src_ip", + "suricata.eve.src_port", + "suricata.eve.dest_ip", + "suricata.eve.dest_port", + "source_ecs.geo.country_iso_code", + "destination.geo.country_iso_code" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"event.type\",\"negate\":false,\"params\":{\"query\":\"alert\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"alert\"},\"query\":{\"match\":{\"event.type\":{\"query\":\"alert\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"suricata\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"suricata\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"suricata\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "_type": "search", + "_source": { + "title": "Events Search [Filebeat Iptables]", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length :*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-Docker", + "_type": "search", + "_source": { + "title": "Metricbeat Docker", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:docker\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD", + "_type": "search", + "_source": { + "title": "Apache HTTPD", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module: apache\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-search", + "_type": "search", + "_source": { + "title": "MongoDB search", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:mongodb\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-Redis", + "_type": "search", + "_source": { + "title": "Metricbeat Redis", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:redis\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat-Rabbitmq", + "_type": "search", + "_source": { + "title": "Metricbeat-Rabbitmq", + "description": "", + "hits": 0, + "columns": [], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:rabbitmq\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Metricbeat uWSGI status", + "_type": "search", + "_source": { + "title": "Metricbeat uWSGI status", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"metricset.module: uwsgi\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "bfc96a60-0a80-11e8-bffe-ff7d4f68cf94", + "_type": "search", + "_source": { + "title": "All logs [Filebeat MongoDB]", + "description": "", + "hits": 0, + "columns": [ + "mongodb.log.timestamp", + "mongodb.log.severity", + "mongodb.log.component", + "mongodb.log.context", + "mongodb.log.message" + ], + "sort": [ + "mongodb.log.timestamp", + "asc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"mongodb.log.severity: *\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "_type": "search", + "_source": { + "title": "Events [Suricata]", + "description": "", + "hits": 0, + "columns": [ + "host.name", + "event.type", + "suricata.eve.flow_id", + "suricata.eve.proto", + "source_ecs.ip", + "suricata.eve.src_port", + "suricata.eve.dest_ip", + "suricata.eve.dest_port", + "destination.geo.region_name", + "destination.geo.country_iso_code" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"event.type\",\"negate\":true,\"params\":{\"query\":\"stats\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"stats\"},\"query\":{\"match\":{\"event.type\":{\"query\":\"stats\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"suricata\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"suricata\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"suricata\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d57a2db0-86ca-11e8-b59d-21efb914e65c", + "_type": "search", + "_source": { + "title": "Host Stats [Suricata]", + "description": "", + "hits": 0, + "columns": [ + "host.name", + "suricata.eve.stats.detect.alert", + "suricata.eve.stats.app_layer.flow.dns_udp", + "suricata.eve.stats.app_layer.flow.tls", + "suricata.eve.stats.app_layer.flow.http", + "suricata.eve.stats.app_layer.flow.ssh", + "suricata.eve.stats.tcp.sessions" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"suricata\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"suricata\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"suricata\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"event.type\",\"negate\":false,\"params\":{\"query\":\"stats\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"stats\"},\"query\":{\"match\":{\"event.type\":{\"query\":\"stats\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-errors-log", + "_type": "search", + "_source": { + "title": "Apache errors log [Filebeat Apache2]", + "description": "", + "hits": 0, + "columns": [ + "apache2.error.client", + "apache2.error.level", + "apache2.error.module", + "apache2.error.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:apache2.error\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-access-logs", + "_type": "search", + "_source": { + "title": "Apache access logs [Filebeat Apache2]", + "description": "", + "hits": 0, + "columns": [ + "apache2.access.remote_ip", + "apache2.access.method", + "apache2.access.url", + "apache2.access.response_code" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:apache2.access\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4ac0a370-0a11-11e7-8b04-eb22a5669f27", + "_type": "search", + "_source": { + "title": "Audit Events [Filebeat Auditd]", + "description": "", + "hits": 0, + "columns": [ + "auditd.log.record_type", + "auditd.log.sequence", + "auditd.log.acct" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:auditd.log\"}},\"language\":\"lucene\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-MySQL-Slow-log", + "_type": "search", + "_source": { + "title": "Slow logs [Filebeat MySQL]", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"mysql\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"mysql\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"mysql\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"slowlog\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"slowlog\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"slowlog\",\"type\":\"phrase\"}}}}],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "73613570-4791-11e7-be88-2ddb32f3df97", + "_type": "search", + "_source": { + "title": "Logs [Filebeat Redis]", + "description": "", + "hits": 0, + "columns": [ + "beat.name", + "redis.log.level", + "redis.log.role", + "redis.log.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"redis\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"redis\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"redis\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"log\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"log\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"log\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0ab87b80-478e-11e7-b1f0-cb29bac6bf8b", + "_type": "search", + "_source": { + "title": "Slow logs [Filebeat Redis]", + "description": "", + "hits": 0, + "columns": [ + "beat.name", + "message", + "redis.slowlog.duration.us", + "redis.slowlog.key" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:redis.slowlog\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "742e45d0-cbdd-11e7-9852-73e0a9df1bb6", + "_type": "search", + "_source": { + "title": "Slow logs [Filebeat Logstash]", + "description": "", + "hits": 0, + "columns": [ + "logstash.slowlog.level", + "logstash.slowlog.plugin_type", + "logstash.slowlog.plugin_name", + "logstash.slowlog.message", + "logstash.slowlog.plugin_params", + "logstash.slowlog.execution_time_ns" + ], + "sort": [ + "logstash.slowlog.level", + "asc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"logstash\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"logstash\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"logstash\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"slowlog\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"slowlog\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"slowlog\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "cfaba090-cbda-11e7-9852-73e0a9df1bb6", + "_type": "search", + "_source": { + "title": "logs [Filebeat Logstash]", + "description": "", + "hits": 0, + "columns": [ + "logstash.log.level", + "logstash.log.module", + "logstash.log.message", + "source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"logstash\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"logstash\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"logstash\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"log\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"log\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"log\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "_type": "search", + "_source": { + "title": "useradd logs [Filebeat System]", + "description": "", + "hits": 0, + "columns": [ + "system.auth.useradd.name", + "system.auth.useradd.uid", + "system.auth.useradd.gid", + "system.auth.useradd.home", + "system.auth.useradd.shell" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.useradd\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b6f321e0-fa25-11e6-bbd3-29c986c96e5a", + "_type": "search", + "_source": { + "title": "Sudo commands [Filebeat System]", + "description": "", + "hits": 0, + "columns": [ + "system.auth.user", + "system.auth.sudo.user", + "system.auth.sudo.pwd", + "system.auth.sudo.command" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.sudo\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c876e6a0-2418-11e7-a83b-d5f4cebac9ff", + "_type": "search", + "_source": { + "title": "Debug Log [Filebeat Icinga]", + "description": "", + "hits": 0, + "columns": [ + "icinga.debug.facility", + "icinga.debug.severity", + "icinga.debug.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"icinga\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"icinga\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"icinga\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"debug\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"debug\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"debug\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ffaf5a30-2413-11e7-a0d9-39604d45ca7f", + "_type": "search", + "_source": { + "title": "Main Log [Filebeat Icinga]", + "description": "", + "hits": 0, + "columns": [ + "icinga.main.facility", + "icinga.main.severity", + "icinga.main.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"icinga\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"icinga\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"icinga\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"main\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"main\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"main\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "710043e0-2417-11e7-a83b-d5f4cebac9ff", + "_type": "search", + "_source": { + "title": "Startup Errors [Filebeat Icinga]", + "description": "", + "hits": 0, + "columns": [ + "icinga.startup.facility", + "icinga.startup.severity", + "icinga.startup.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"icinga.startup.severity:critical\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Nginx-module", + "_type": "search", + "_source": { + "title": "Nginx logs [Filebeat Nginx]", + "description": "", + "hits": 0, + "columns": [ + "nginx.access.url", + "nginx.access.method", + "nginx.access.response_code", + "nginx.access.referrer", + "nginx.access.body_sent.bytes" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:nginx\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-MySQL-error-log", + "_type": "search", + "_source": { + "title": "Error logs [Filebeat MySQL]", + "description": "", + "hits": 0, + "columns": [ + "mysql.error.level", + "mysql.error.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"mysql\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"mysql\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"mysql\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"error\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"error\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"error\",\"type\":\"phrase\"}}}}],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Filebeat-Nginx-Access", + "_type": "search", + "_source": { + "title": "ML Access Data [Filebeat Nginx]", + "description": "Filebeat Nginx Access Data", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:nginx.access\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Filebeat-Traefik-module", + "_type": "search", + "_source": { + "title": "Traefik logs [Filebeat Traefik]", + "description": "", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:traefik\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7a9482d0-eb00-11e7-8f04-51231daa5b05", + "_type": "search", + "_source": { + "title": "Mounts [Osquery results]", + "description": "", + "hits": 0, + "columns": [ + "osquery.result.columns.path", + "osquery.result.columns.type", + "osquery.result.columns.flags" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.name\",\"negate\":false,\"params\":{\"query\":\"pack_it-compliance_mounts\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"pack_it-compliance_mounts\"},\"query\":{\"match\":{\"osquery.result.name\":{\"query\":\"pack_it-compliance_mounts\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3824b080-eb02-11e7-8f04-51231daa5b05", + "_type": "search", + "_source": { + "title": "DEB packages installed [Osquery results]", + "description": "", + "hits": 0, + "columns": [ + "osquery.result.columns.name", + "osquery.result.columns.version", + "osquery.result.columns.revision" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.name\",\"negate\":false,\"params\":{\"query\":\"pack_it-compliance_deb_packages\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"pack_it-compliance_deb_packages\"},\"query\":{\"match\":{\"osquery.result.name\":{\"query\":\"pack_it-compliance_deb_packages\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b5d6baa0-eb02-11e7-8f04-51231daa5b05", + "_type": "search", + "_source": { + "title": "OS versions [Osquery results]", + "description": "", + "hits": 0, + "columns": [ + "osquery.result.name" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.name\",\"negate\":false,\"params\":{\"query\":\"pack_it-compliance_os_version\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"pack_it-compliance_os_version\"},\"query\":{\"match\":{\"osquery.result.name\":{\"query\":\"pack_it-compliance_os_version\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f59e21e0-eb03-11e7-8f04-51231daa5b05", + "_type": "search", + "_source": { + "title": "Kernel modules [Osquery results]", + "description": "", + "hits": 0, + "columns": [ + "osquery.result.name", + "osquery.result.columns.name", + "osquery.result.columns.status" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.name\",\"negate\":false,\"params\":{\"query\":\"pack_it-compliance_kernel_modules\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"pack_it-compliance_kernel_modules\"},\"query\":{\"match\":{\"osquery.result.name\":{\"query\":\"pack_it-compliance_kernel_modules\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "eb0039f0-fa7f-11e6-a1df-a78bd7504d38", + "_type": "search", + "_source": { + "title": "groupadd logs [Filebeat System]", + "description": "", + "hits": 0, + "columns": [ + "system.auth.groupadd.name", + "system.auth.groupadd.gid" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.groupadd\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "62439dc0-f9c9-11e6-a747-6121780e0414", + "_type": "search", + "_source": { + "title": "SSH login attempts [Filebeat System]", + "description": "", + "hits": 0, + "columns": [ + "system.auth.ssh.event", + "system.auth.ssh.method", + "system.auth.user", + "system.auth.ssh.ip", + "system.auth.ssh.geoip.country_iso_code" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.ssh.event\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Syslog-system-logs", + "_type": "search", + "_source": { + "title": "Syslog logs [Filebeat System]", + "description": "", + "hits": 0, + "columns": [ + "system.syslog.hostname", + "system.syslog.program", + "system.syslog.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.syslog\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9eb25600-a1f0-11e7-928f-5dbe6f6f5519", + "_type": "search", + "_source": { + "title": "Nginx error logs [Filebeat Nginx]", + "description": "", + "hits": 0, + "columns": [ + "nginx.error.level", + "nginx.error.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"_exists_:nginx AND _exists_:nginx.error.message\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "6d9e66d0-a1f0-11e7-928f-5dbe6f6f5519", + "_type": "search", + "_source": { + "title": "Nginx access logs [Filebeat Nginx]", + "description": "", + "hits": 0, + "columns": [ + "nginx.access.url", + "nginx.access.method", + "nginx.access.response_code", + "nginx.access.body_sent.bytes" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"_exists_:nginx AND _exists_:nginx.access.url\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Filebeat-Traefik-Access", + "_type": "search", + "_source": { + "title": "ML Access Data [Filebeat Traefik]", + "description": "Filebeat Traefik Access Data", + "hits": 0, + "columns": [ + "_source" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:traefik.access\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Kafka stacktraces", + "_type": "search", + "_source": { + "title": "Stacktraces [Filebeat Kafka]", + "description": "", + "hits": 0, + "columns": [ + "kafka.log.class", + "kafka.log.trace.class", + "kafka.log.trace.full" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"_exists_:kafka.log.trace.class\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "PostgreSQL All Logs", + "_type": "search", + "_source": { + "title": "All Logs [Filebeat PostgreSQL]", + "description": "", + "hits": 0, + "columns": [ + "postgresql.log.user", + "postgresql.log.database", + "postgresql.log.level", + "postgresql.log.message", + "postgresql.log.query" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"postgresql\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"postgresql\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"postgresql\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Slow PostgreSQL Queries", + "_type": "search", + "_source": { + "title": "Slow Queries [Filebeat PostgreSQL]", + "description": "", + "hits": 0, + "columns": [ + "postgresql.log.user", + "postgresql.log.database", + "postgresql.log.duration", + "postgresql.log.query" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"postgresql.log.duration:>30\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0fe5dc00-f49b-11e7-8647-534bb4c21040", + "_type": "search", + "_source": { + "title": "OSSEC Rootkits [Osquery Result]", + "description": "", + "hits": 0, + "columns": [ + "osquery.result.name", + "osquery.result.columns.path", + "beat.hostname" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"query\",\"negate\":false,\"type\":\"custom\",\"value\":\"{\\\"prefix\\\":{\\\"osquery.result.name\\\":\\\"pack_ossec-rootkit\\\"}}\"},\"query\":{\"prefix\":{\"osquery.result.name\":\"pack_ossec-rootkit\"}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"osquery\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"osquery\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"osquery\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"result\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"result\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"result\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e49fe000-0a7e-11e8-bffe-ff7d4f68cf94", + "_type": "search", + "_source": { + "title": "Error logs [Filebeat MongoDB]", + "description": "", + "hits": 0, + "columns": [ + "mongodb.log.timestamp", + "mongodb.log.severity", + "mongodb.log.component", + "mongodb.log.context", + "mongodb.log.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"mongodb.log.severity: F or mongodb.log.severity: W\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "PostgreSQL Query Durations", + "_type": "search", + "_source": { + "title": "Query Durations [Filebeat PostgreSQL]", + "description": "", + "hits": 0, + "columns": [ + "postgresql.log.user", + "postgresql.log.database", + "postgresql.log.duration", + "postgresql.log.query" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"postgresql.log.duration:*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "All Kafka logs", + "_type": "search", + "_source": { + "title": "All logs [Filebeat Kafka]", + "description": "", + "hits": 0, + "columns": [ + "kafka.log.level", + "kafka.log.component", + "kafka.log.message" + ], + "sort": [ + "@timestamp", + "desc" + ], + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.module\",\"negate\":false,\"params\":{\"query\":\"kafka\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"kafka\"},\"query\":{\"match\":{\"fileset.module\":{\"query\":\"kafka\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"fileset.name\",\"negate\":false,\"params\":{\"query\":\"log\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"log\"},\"query\":{\"match\":{\"fileset.name\":{\"query\":\"log\",\"type\":\"phrase\"}}}}],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"*\"},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "758b3620-1fda-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "c4e80aa0-1fd4-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Event Timeline [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"deny\": \"#E24D42\", \"allow\": \"#64B0C8\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"top\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"timeRange\": {\"to\": \"2019-01-24T15:47:52.785Z\", \"from\": \"2019-01-24T15:47:12.171Z\", \"mode\": \"absolute\"}, \"extended_bounds\": {}, \"field\": \"@timestamp\", \"interval\": \"auto\", \"time_zone\": \"Europe/Berlin\", \"useNormalizedEsInterval\": true, \"drop_partials\": false, \"min_doc_count\": 1, \"customInterval\": \"2h\"}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"_key\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"event.outcome\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Ubiquiti Firewall Event Timeline [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1ba82fd0-1ff0-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "9f7d97c0-1fe9-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Top Blocked IPs [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Source IP\", \"missingBucketLabel\": \"Missing\", \"field\": \"source_ecs.ip\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Ubiquiti Firewall Top Blocked IPs [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5bd53050-1fe9-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "7862cab0-1fdb-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Allowed Traffic Map [Filebeat Iptables]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"maxZoom\": 18, \"origin\": \"elastic_maps_service\", \"minZoom\": 0, \"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"id\": \"road_map\"}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"source_ecs.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Ubiquiti Firewall Allowed Traffic Map [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8853aa20-1fef-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "9f7d97c0-1fe9-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Blocked Traffic Map [Filebeat Iptables]", + "uiStateJSON": "{\"mapCenter\": [19.228176737766262, -22.851562500000004], \"mapZoom\": 3}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"maxZoom\": 18, \"origin\": \"elastic_maps_service\", \"minZoom\": 0, \"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"id\": \"road_map\"}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"source_ecs.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Ubiquiti Firewall Blocked Traffic Map [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fdea1ad0-1ff4-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "c4e80aa0-1fd4-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Traffic Breakdown [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"deny\": \"#E24D42\", \"udp\": \"#F2C96D\", \"tcp\": \"#447EBC\", \"ipv6-icmp\": \"#EA6460\", \"ipv4\": \"#65C5DB\", \"ipv6\": \"#D683CE\", \"icmp\": \"#F29191\"}}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": false, \"last_level\": false, \"truncate\": 100, \"show\": true}, \"legendPosition\": \"top\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"event.outcome\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"network.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"network.transport\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"segment\"}], \"title\": \"Ubiquiti Firewall Traffic Breakdown [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "190bcb50-1ff6-11e9-ae2a-939083c6a64e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "c4e80aa0-1fd4-11e9-ae2a-939083c6a64e", + "title": "Ubiquiti Firewall Traffic by Port [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"event.outcome\", \"missingBucketLabel\": \"Missing\", \"field\": \"event.outcome\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"size\": 5, \"order\": \"desc\", \"row\": false}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"split\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Destination port\", \"missingBucketLabel\": \"Missing\", \"field\": \"destination.port\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"Ubiquiti Firewall Traffic by Port [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "16033310-86d3-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Top Alert Signatures [Suricata]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Alert Signature\", \"missingBucketLabel\": \"Missing\", \"field\": \"suricata.eve.alert.signature\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Alert Category\", \"missingBucketLabel\": \"Missing\", \"field\": \"suricata.eve.alert.category\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"Top Alert Signatures [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "85fed080-86d7-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Alert - Source Location [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"url\": \"https://tiles.maps.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana&my_app_version=6.3.0&license=fc9de2c1-5f06-4080-8dd0-8a334171d89a\", \"subdomains\": [], \"minZoom\": 0, \"maxZoom\": 18, \"id\": \"road_map\"}, \"baseLayersAreLoaded\": {}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}, \"tmsLayers\": [{\"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"url\": \"https://tiles.maps.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana&my_app_version=6.3.0&license=fc9de2c1-5f06-4080-8dd0-8a334171d89a\", \"subdomains\": [], \"minZoom\": 0, \"maxZoom\": 18, \"id\": \"road_map\"}]}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"source_ecs.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Alert - Source Location [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a09ca070-86d7-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Alert - Destination Location [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"url\": \"https://tiles.maps.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana&my_app_version=6.3.0&license=fc9de2c1-5f06-4080-8dd0-8a334171d89a\", \"subdomains\": [], \"minZoom\": 0, \"maxZoom\": 18, \"id\": \"road_map\"}, \"baseLayersAreLoaded\": {}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}, \"tmsLayers\": [{\"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"url\": \"https://tiles.maps.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana&my_app_version=6.3.0&license=fc9de2c1-5f06-4080-8dd0-8a334171d89a\", \"subdomains\": [], \"minZoom\": 0, \"maxZoom\": 18, \"id\": \"road_map\"}]}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"destination.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Alert - Destination Location [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2ccdc1a0-86d8-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Alerts - Top Destination Countries [Suricata]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 5, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Source Country\", \"missingBucketLabel\": \"Missing\", \"field\": \"destination.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Alerts - Top Destination Countries [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c7b8b8f0-86d8-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "title": "Alerts - Top Source Countries [Suricata]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 5, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Source Country\", \"missingBucketLabel\": \"Missing\", \"field\": \"source_ecs.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Alerts - Top Source Countries [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2599f5e0-1e98-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Top Source Countries [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Country\", \"missingBucketLabel\": \"Missing\", \"field\": \"source_ecs.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Top Source Countries [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c4394ec0-1efd-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Source Map [Filebeat Iptables]", + "uiStateJSON": "{\"mapCenter\": [45.02695045318546, -44.82421875000001], \"mapZoom\": 3}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"maxZoom\": 18, \"origin\": \"elastic_maps_service\", \"minZoom\": 0, \"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"id\": \"road_map\"}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"source_ecs.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Source Map [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d8cea010-1efd-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Destination Map [Filebeat Iptables]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"params\": {\"mapCenter\": [0, 0], \"mapZoom\": 2, \"colorSchema\": \"Yellow to Red\", \"wms\": {\"selectedTmsLayer\": {\"maxZoom\": 18, \"origin\": \"elastic_maps_service\", \"minZoom\": 0, \"attribution\": \"<p>© <a href=\\\"http://www.openstreetmap.org/copyright\\\">OpenStreetMap</a> contributors | <a href=\\\"https://www.elastic.co/elastic-maps-service\\\">Elastic Maps Service</a></p> \", \"id\": \"road_map\"}, \"enabled\": false, \"options\": {\"transparent\": true, \"format\": \"image/png\"}}, \"legendPosition\": \"bottomright\", \"heatClusterSize\": 1.5, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"mapCenter\": [0, 0], \"useGeocentroid\": true, \"isFilteredByCollar\": true, \"precision\": 2, \"mapZoom\": 2, \"field\": \"destination.geo.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Destination Map [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b57b7370-1f1d-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Network Type Breakdown [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": true}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"network.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Network Type Breakdown [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "35fe0910-1f26-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Network Transport Breakdown [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": true}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": true, \"missingBucketLabel\": \"Missing\", \"field\": \"network.transport\", \"otherBucketLabel\": \"Other\", \"otherBucket\": true, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Network Transport Breakdown [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "683402b0-1f29-11e9-8ec4-cf5d91a864b3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"iptables.length:*\"}}" + }, + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "title": "Top Destination Ports [Filebeat Iptables]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Port\", \"missingBucketLabel\": \"Missing\", \"field\": \"destination.port\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Top Destination Ports [Filebeat Iptables]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c7d46c60-86da-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Activity Types over Time [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"event.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 20}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Activity Types over Time [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0a0aa630-86db-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Event Types [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"bottom\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"event.type\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 20}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Event Types [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "728f64c0-86db-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Application Protocols [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"bottom\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"suricata.eve.app_proto\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top Application Protocols [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5f99eb50-86dc-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Connection Source Countries [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tagcloud\", \"params\": {\"maxFontSize\": 72, \"showLabel\": true, \"minFontSize\": 18, \"orientation\": \"single\", \"scale\": \"linear\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Top Connection Source Countries\", \"missingBucketLabel\": \"Missing\", \"field\": \"source_ecs.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top Connection Source Countries [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8e7f88d0-86dc-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Connection Destination Countries [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"tagcloud\", \"params\": {\"maxFontSize\": 72, \"showLabel\": true, \"minFontSize\": 18, \"orientation\": \"single\", \"scale\": \"linear\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"customLabel\": \"Top Connection Destination Countries\", \"missingBucketLabel\": \"Missing\", \"field\": \"destination.geo.country_iso_code\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top Connection Destination Countries [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0a363820-86dd-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "title": "Top Network Protocols [Suricata]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"bottom\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"suricata.eve.proto\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top Network Protocols [Suricata]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Number of Kafka stracktraces by class", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Kafka stacktraces", + "title": "Number of stracktraces by class [Filebeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 30 minutes\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"kafka.log.trace.class\", \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Number of Kafka stracktraces by class [Filebeat Kafka]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3f7c33c0-87ee-11e7-ad9c-db80de0bf8d3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "All Kafka logs", + "title": "Log levels over time [Filebeat Kafka]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per day\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"kafka.log.level\", \"customLabel\": \"Log Level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Log levels over time [Filebeat Kafka]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "PostgreSQL Log Level Count", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "PostgreSQL All Logs", + "title": "Log Level Count [Filebeat PostgreSQL]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"postgresql.log.level\", \"order\": \"desc\", \"size\": 12}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Log Level Count [Filebeat PostgreSQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3dbd5370-87f3-11e7-ad9c-db80de0bf8d3", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "PostgreSQL All Logs", + "title": "Logs by level over time [Filebeat PostgreSQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per month\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"postgresql.log.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Logs by level over time [Filebeat PostgreSQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "PostgreSQL Query Count and Duration", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\"}}" + }, + "savedSearchId": "PostgreSQL Query Durations", + "title": "Query count and cumulated duration [Filebeat PostgreSQL]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Number of queries\": \"#0A437C\", \"Sum of query duration\": \"#6ED0E0\"}, \"legendOpen\": true}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": true, \"type\": \"histogram\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"lineWidth\": 2, \"data\": {\"id\": \"4\", \"label\": \"Number of queries\"}}, {\"showCircles\": true, \"show\": true, \"type\": \"histogram\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"lineWidth\": 2, \"data\": {\"id\": \"2\", \"label\": \"Sum of query duration\"}}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 3 hours\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"customLabel\": \"Number of queries\"}, \"type\": \"count\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"postgresql.log.duration\", \"customLabel\": \"Sum of query duration\"}, \"type\": \"sum\", \"enabled\": true, \"id\": \"2\", \"schema\": \"metric\"}], \"title\": \"Query count and cumulated duration [Filebeat PostgreSQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0fef5710-0a82-11e8-bffe-ff7d4f68cf94", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "bfc96a60-0a80-11e8-bffe-ff7d4f68cf94", + "title": "Logs Severity [Filebeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"legendPosition\": \"right\", \"type\": \"pie\", \"isDonut\": true, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mongodb.log.severity\", \"customLabel\": \"Log severity\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Logs Severity [Filebeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-access-unique-IPs-map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Unique IPs map [Filebeat Apache2]", + "uiStateJSON": "{\"mapCenter\": [14.944784875088372, 5.09765625]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {\"field\": \"apache2.access.remote_ip\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"apache2.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Apache2 access unique IPs map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-response-codes-of-top-URLs", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Top URLs by response code [Filebeat Apache2]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#7EB26D\", \"404\": \"#EF843C\"}}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"customLabel\": \"URL\", \"field\": \"apache2.access.url\", \"row\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"split\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Apache2 response codes of top URLs\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-browsers", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Browsers breakdown [Filebeat Apache2]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"apache2.access.remote_ip\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.user_agent.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.user_agent.major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Apache2 browsers\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-operating-systems", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Operating systems breakdown [Filebeat Apache2]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"apache2.access.remote_ip\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.user_agent.os_name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.user_agent.os_major\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Apache2 operating systems\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-error-logs-over-time", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-errors-log", + "title": "Error logs over time [Filebeat Apache2]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.error.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Apache2 error logs over time\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache2-response-codes-over-time", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache2-access-logs", + "title": "Response codes over time [Filebeat Apache2]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#629E51\", \"404\": \"#EF843C\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"apache2.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Apache2 response codes over time\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2bb0fa70-0a11-11e7-9e84-43da493ad0c7", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Event Results [Filebeat Auditd]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"auto\", \"expression\": \".es(q=\\\"_exists_:auditd.log NOT auditd.log.res:failure\\\").label(\\\"Success\\\"), .es(q=\\\"auditd.log.res:failed\\\").label(\\\"Failure\\\").title(\\\"Audit Event Results\\\")\"}, \"aggs\": [], \"title\": \"Event Results [Filebeat Auditd]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5c7af030-fa2a-11e6-bbd3-29c986c96e5a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "b6f321e0-fa25-11e6-bbd3-29c986c96e5a", + "title": "Sudo commands by user [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.user\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Sudo commands by user\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dc589770-fa2b-11e6-bbd3-29c986c96e5a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "b6f321e0-fa25-11e6-bbd3-29c986c96e5a", + "title": "Top sudo commands [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.sudo.command\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.user\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"Top sudo commands\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0bc34b60-2419-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "c876e6a0-2418-11e7-a83b-d5f4cebac9ff", + "title": "Debuglog Facility [Filebeat Icinga]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"icinga.debug.facility\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Icinga Debuglog Facility\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fb09d4b0-2418-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "c876e6a0-2418-11e7-a83b-d5f4cebac9ff", + "title": "Debuglog Severity [Filebeat Icinga]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"debug\": \"#BA43A9\", \"information\": \"#629E51\", \"notice\": \"#6ED0E0\", \"warning\": \"#E5AC0E\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"icinga.debug.severity\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Icinga Debuglog Severity\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d8e5dc40-2417-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ffaf5a30-2413-11e7-a0d9-39604d45ca7f", + "title": "Mainlog Severity [Filebeat Icinga]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"critical\": \"#BF1B00\", \"warning\": \"#E5AC0E\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"icinga.main.severity\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Icinga Mainlog Severity\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2cf77780-2418-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ffaf5a30-2413-11e7-a0d9-39604d45ca7f", + "title": "Mainlog Facility [Filebeat Icinga]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"icinga.main.facility\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Icinga Mainlog Facility\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Nginx-Access-Map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-Nginx-module", + "title": "Access Map [Filebeat Nginx]", + "uiStateJSON": "{\"mapCenter\": [12.039320557540572, -0.17578125]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"nginx.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Nginx Access Map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-slowest-queries", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-MySQL-Slow-log", + "title": "Top slowest queries [Filebeat MySQL]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"mysql.slowlog.query_time.sec\", \"customLabel\": \"Query time\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mysql.slowlog.query\", \"customLabel\": \"Query\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mysql.slowlog.user\", \"customLabel\": \"User\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"Top slowest queries [Filebeat MySQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-Error-logs-levels", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-MySQL-error-log", + "title": "Error logs levels breakdown [Filebeat MySQL]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Note\": \"#9AC48A\", \"Warning\": \"#F9934E\", \"ERROR\": \"#E24D42\"}}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"addTooltip\": true, \"isDonut\": false, \"legendPosition\": \"bottom\", \"addLegend\": true, \"shareYAxis\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mysql.error.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Error logs levels breakdown [Filebeat MySQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-Slow-logs-by-count", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-MySQL-Slow-log", + "title": "Slow logs breakdown [Filebeat MySQL]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"addTooltip\": true, \"isDonut\": false, \"legendPosition\": \"bottom\", \"addLegend\": true, \"shareYAxis\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mysql.slowlog.query\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Slow logs breakdown [Filebeat MySQL]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "New-Visualization", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-Traefik-module", + "title": "Response codes over time [Filebeat Traefik]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#7EB26D\", \"404\": \"#614D93\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"New Visualization\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Traefik-Access-Map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Filebeat-Traefik-module", + "title": "Access Map [Filebeat Traefik]", + "uiStateJSON": "{\"mapCenter\": [12.039320557540572, -0.17578125]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"traefik.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Traefik Access Map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dcccaa80-4791-11e7-be88-2ddb32f3df97", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "0ab87b80-478e-11e7-b1f0-cb29bac6bf8b", + "title": "Top slowest commands [Filebeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": true, \"data\": {\"id\": \"1\", \"label\": \"Command\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"Duration (microseconds)\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 200, \"show\": true}, \"position\": \"left\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Command\"}, \"labels\": {\"filter\": true, \"rotate\": 75, \"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {\"field\": \"redis.slowlog.duration.us\", \"customLabel\": \"Command\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.slowlog.cmd\", \"customLabel\": \"Duration (microseconds)\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Top slowest commands [Filebeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0b1dace0-cbdb-11e7-9852-73e0a9df1bb6", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "cfaba090-cbda-11e7-9852-73e0a9df1bb6", + "title": "Logs Severity [Filebeat Logstash]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"legendPosition\": \"right\", \"type\": \"pie\", \"isDonut\": true, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"logstash.log.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Logs Severity [Filebeat Logstash]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e90b7240-cbda-11e7-9852-73e0a9df1bb6", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "cfaba090-cbda-11e7-9852-73e0a9df1bb6", + "title": "logs over time [Filebeat Logstash]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"params\": {\"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"type\": \"histogram\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"times\": [], \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}]}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"logstash.log.level\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"logs over time [Filebeat Logstash]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b3315630-cbdf-11e7-9852-73e0a9df1bb6", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "742e45d0-cbdd-11e7-9852-73e0a9df1bb6", + "title": "Slowest plugins [Filebeat Logstash]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": 3, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"logstash.slowlog.took_in_millis\", \"customLabel\": \"Average\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"logstash.slowlog.took_in_millis\", \"customLabel\": \"Min\"}, \"type\": \"min\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"5\", \"field\": \"logstash.slowlog.plugin_name\", \"customLabel\": \"Plugin Name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"8\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"logstash.slowlog.took_in_millis\", \"customLabel\": \"Max\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"7\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"5\", \"field\": \"logstash.slowlog.plugin_type\", \"customLabel\": \"Plugin Type\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"9\", \"schema\": \"bucket\"}], \"title\": \"Slowest plugins [Filebeat Logstash]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f398d2f0-fa77-11e6-ae9b-81e5311e8cab", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "title": "New users [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.hostname\", \"customLabel\": \"Host\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.name\", \"customLabel\": \"User\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.uid\", \"customLabel\": \"UID\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.gid\", \"customLabel\": \"GID\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"5\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.home\", \"customLabel\": \"Home\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"6\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.shell\", \"customLabel\": \"Shell\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"7\", \"schema\": \"bucket\"}], \"title\": \"New users\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5dd15c00-fa78-11e6-ae9b-81e5311e8cab", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "title": "New users over time [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"New users over time\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e121b140-fa78-11e6-a1df-a78bd7504d38", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "title": "New users by shell [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"/sbin/nologin\": \"#7EB26D\", \"/bin/false\": \"#508642\", \"/bin/bash\": \"#E24D42\"}, \"legendOpen\": true}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.shell\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"New users by shell\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d56ee420-fa79-11e6-a1df-a78bd7504d38", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "8030c1b0-fa77-11e6-ae9b-81e5311e8cab", + "title": "New users by home directory [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"/nonexistent\": \"#629E51\", \"/sbin/nologin\": \"#7EB26D\", \"/bin/false\": \"#508642\", \"/bin/bash\": \"#E24D42\"}, \"legendOpen\": true}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.home\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.useradd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"New users by home directory\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "12667040-fa80-11e6-a1df-a78bd7504d38", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "eb0039f0-fa7f-11e6-a1df-a78bd7504d38", + "title": "New groups [Filebeat System]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.groupadd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.groupadd.gid\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"bucket\"}], \"title\": \"New groups\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "346bb290-fa80-11e6-a1df-a78bd7504d38", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "eb0039f0-fa7f-11e6-a1df-a78bd7504d38", + "title": "New groups over time [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.auth.groupadd.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"New groups over time\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Syslog-events-by-hostname", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Syslog-system-logs", + "title": "Syslog events by hostname [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.syslog.hostname\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Syslog events by hostname\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Syslog-hostnames-and-processes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Syslog-system-logs", + "title": "Syslog hostnames and processes [Filebeat System]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": true, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.syslog.hostname\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"system.syslog.program\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Syslog hostnames and processes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c65ef340-eb19-11e6-be20-559646f8b9ba", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "02014c80-29d2-11e7-a68f-bfaa2341cc52", + "title": "HTTP ping times", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"resolve.rtt.us\", \"customLabel\": \"\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"tcp.rtt.connect.us\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"tls.rtt.handshake.us\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"http.rtt.response_header.us\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"HTTP ping times\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "920e8140-eb1a-11e6-be20-559646f8b9ba", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "02014c80-29d2-11e7-a68f-bfaa2341cc52", + "title": "HTTP monitors status", + "uiStateJSON": "{\"vis\": {\"colors\": {\"monitor.status: down\": \"#E24D42\", \"200\": \"#B7DBAB\", \"monitor.status: up\": \"#629E51\"}, \"legendOpen\": true}}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"bottom\", \"isDonut\": false, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"monitor.id\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"filters\": [{\"input\": {\"query\": {\"query_string\": {\"analyze_wildcard\": true, \"query\": \"monitor.status: up\"}}}, \"label\": \"\"}, {\"input\": {\"query\": {\"query_string\": {\"analyze_wildcard\": true, \"query\": \"monitor.status: down\"}}}}]}, \"type\": \"filters\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"http.response.status_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"HTTP monitors status\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1738dbc0-eb1d-11e6-be20-559646f8b9ba", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + }, + "savedSearchId": "02014c80-29d2-11e7-a68f-bfaa2341cc52", + "title": "HTTP monitors", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMetricsAtAllLevels\": false, \"totalFunc\": \"sum\", \"showTotal\": false}, \"aggs\": [{\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"monitor.id\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"aggregate\": \"concat\", \"field\": \"monitor.status\", \"sortOrder\": \"desc\", \"sortField\": \"@timestamp\", \"size\": 1}, \"type\": \"top_hits\", \"enabled\": true, \"id\": \"9\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"monitor.duration.us\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"resolve.rtt.us\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"tcp.rtt.connect.us\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"tls.rtt.handshake.us\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"7\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"http.rtt.response_header.us\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"8\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"missingBucket\": false, \"missingBucketLabel\": \"Missing\", \"field\": \"monitor.ip\", \"otherBucketLabel\": \"Other\", \"otherBucket\": false, \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"10\", \"schema\": \"bucket\"}], \"title\": \"HTTP monitors\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "091c3a90-eb1e-11e6-be20-559646f8b9ba", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "02014c80-29d2-11e7-a68f-bfaa2341cc52", + "title": "HTTP up status", + "uiStateJSON": "{\"vis\": {\"colors\": {\"monitor.status: down\": \"#E24D42\", \"monitor.status: up\": \"#629E51\"}}}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Percentage of Count\"}, \"interpolate\": \"linear\", \"mode\": \"stacked\", \"valueAxis\": \"ValueAxis-1\", \"type\": \"area\"}], \"yAxis\": {\"max\": 100, \"min\": 0}, \"type\": \"area\", \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"percentage\", \"defaultYExtents\": false, \"setYExtents\": true, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"min\": 0, \"max\": 100, \"mode\": \"percentage\", \"defaultYExtents\": false, \"setYExtents\": true, \"type\": \"linear\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Percentage of Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"filters\": [{\"input\": {\"query\": \"monitor.status: down\"}, \"label\": \"\"}, {\"input\": {\"query\": \"monitor.status: up\"}}]}, \"type\": \"filters\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"HTTP up status\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0f4c0560-eb20-11e6-9f11-159ff202874a", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "02014c80-29d2-11e7-a68f-bfaa2341cc52", + "title": "HTTP duration heatmap", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"8 - 9\": \"rgb(74,152,201)\", \"5 - 6\": \"rgb(148,196,223)\", \"11 - 12\": \"rgb(8,74,145)\", \"2 - 3\": \"rgb(227,238,249)\", \"3 - 4\": \"rgb(208,225,242)\", \"9 - 10\": \"rgb(46,126,188)\", \"4 - 5\": \"rgb(182,212,233)\", \"0 - 2\": \"rgb(247,251,255)\", \"10 - 11\": \"rgb(23,100,171)\", \"6 - 8\": \"rgb(107,174,214)\"}}}", + "version": 1, + "visState": "{\"type\": \"heatmap\", \"listeners\": {}, \"params\": {\"colorSchema\": \"Blues\", \"invertColors\": false, \"legendPosition\": \"right\", \"addLegend\": true, \"colorsRange\": [], \"colorsNumber\": 10, \"setColorRange\": false, \"percentageMode\": false, \"addTooltip\": true, \"valueAxes\": [{\"show\": false, \"labels\": {\"color\": \"#555\", \"rotate\": 0, \"show\": false}, \"type\": \"value\", \"id\": \"ValueAxis-1\", \"scale\": {\"defaultYExtents\": false, \"type\": \"linear\"}}], \"enableHover\": false, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"monitor.duration.us\", \"interval\": 50000, \"extended_bounds\": {}}, \"type\": \"histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"HTTP duration heatmap\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Unique-Count-URL-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Unique Count URL Timechart [Filebeat Traefik] [ML]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": true, \"type\": \"line\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"lineWidth\": 2, \"data\": {\"id\": \"1\", \"label\": \"Unique count of traefik.access.url\"}}], \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per day\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Unique count of traefik.access.url\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {\"field\": \"traefik.access.url\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"ML Traefik Access Unique Count URL Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Response-Code-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Response Code Timechart [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#7EB26D\", \"404\": \"#614D93\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"ML Traefik Access Response Code Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Top-Remote-IPs-Table", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Top Remote IPs [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.remote_ip\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"ML Traefik Access Top Remote IPs Table\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Access Map [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"mapCenter\": [12.039320557540572, -0.17578125]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"traefik.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"ML Traefik Access Map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Top-URLs-Table", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Top URLs [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 100, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.url\", \"order\": \"desc\", \"size\": 1000}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"ML Traefik Access Top URLs Table\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Unique-Count-URL-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Unique Count URL Timechart [Filebeat Nginx] [ML]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": true, \"type\": \"line\", \"interpolate\": \"linear\", \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"lineWidth\": 2, \"data\": {\"id\": \"1\", \"label\": \"Unique count of nginx.access.url\"}}], \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per day\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Unique count of nginx.access.url\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {\"field\": \"nginx.access.url\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"ML Nginx Access Unique Count URL Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Response-Code-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Response Code Timechart [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#7EB26D\", \"404\": \"#614D93\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"yAxis\": {}, \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.response_code\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"ML Nginx Access Response Code Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Top-Remote-IPs-Table", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Top Remote IPs [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.remote_ip\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"ML Nginx Access Top Remote IPs Table\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Map", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Access Map [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"mapCenter\": [12.039320557540572, -0.17578125]}", + "version": 1, + "visState": "{\"type\": \"tile_map\", \"listeners\": {}, \"params\": {\"mapCenter\": [15, 5], \"heatMaxZoom\": 16, \"wms\": {\"url\": \"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\", \"enabled\": false, \"options\": {\"layers\": \"0\", \"styles\": \"\", \"attribution\": \"Maps provided by USGS\", \"format\": \"image/png\", \"version\": \"1.3.0\", \"transparent\": true}}, \"heatBlur\": 15, \"heatRadius\": 25, \"heatMinOpacity\": 0.1, \"legendPosition\": \"bottomright\", \"mapZoom\": 2, \"heatNormalizeData\": true, \"mapType\": \"Scaled Circle Markers\", \"isDesaturated\": true, \"addTooltip\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"nginx.access.geoip.location\", \"autoPrecision\": true}, \"type\": \"geohash_grid\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"ML Nginx Access Map\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Top-URLs-Table", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Top URLs [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 100, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.url\", \"order\": \"desc\", \"size\": 1000}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"ML Nginx Access Top URLs Table\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a9fd8bb0-eb01-11e7-8f04-51231daa5b05", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "7a9482d0-eb00-11e7-8f04-51231daa5b05", + "title": "Mounts by type [Osquery Result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.path\", \"order\": \"desc\", \"size\": 10}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.type\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Mounts by type [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1da1ed30-eb03-11e7-8f04-51231daa5b05", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b5d6baa0-eb02-11e7-8f04-51231daa5b05", + "title": "OS versions [Osquery result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"isDonut\": true, \"addTooltip\": true, \"labels\": {\"values\": true, \"last_level\": true, \"truncate\": 100, \"show\": false}, \"legendPosition\": \"right\", \"addLegend\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {\"field\": \"osquery.result.host_identifier\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.platform_like\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"osquery.result.columns.version\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"OS versions [Osquery result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "240f3630-eb05-11e7-8f04-51231daa5b05", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"filebeat-*\",\"key\":\"osquery.result.columns.status\",\"negate\":false,\"params\":{\"query\":\"Live\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"Live\"},\"query\":{\"match\":{\"osquery.result.columns.status\":{\"query\":\"Live\",\"type\":\"phrase\"}}}}],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "f59e21e0-eb03-11e7-8f04-51231daa5b05", + "title": "Number of Kernel modules [Osquery Result]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"gauge\", \"params\": {\"gauge\": {\"gaugeType\": \"Arc\", \"style\": {\"bgWidth\": 0.9, \"subText\": \"\", \"maskBars\": 50, \"labelColor\": true, \"mask\": false, \"bgFill\": \"#eee\", \"bgColor\": false, \"fontSize\": 60, \"bgMask\": false, \"width\": 0.9}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"type\": \"meter\", \"labels\": {\"color\": \"black\", \"show\": true}, \"gaugeColorMode\": \"Labels\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"labels\": false, \"show\": true}, \"verticalSplit\": false, \"percentageMode\": false, \"extendRange\": true, \"backStyle\": \"Full\"}, \"type\": \"gauge\", \"addTooltip\": true, \"isDisplayWarning\": false, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"osquery.result.columns.name\", \"customLabel\": \"Live Kernel modules\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Number of Kernel modules [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ffdbba50-f4a9-11e7-8647-534bb4c21040", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "0fe5dc00-f49b-11e7-8647-534bb4c21040", + "title": "Number of rootkits found [Osquery Result]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"type\": \"metric\", \"metric\": {\"style\": {\"bgFill\": \"#000\", \"bgColor\": false, \"fontSize\": 40, \"subText\": \"\", \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"labels\": {\"show\": true}, \"useRanges\": false, \"percentageMode\": false, \"colorsRange\": [{\"to\": 10000, \"from\": 0}], \"metricColorMode\": \"None\"}, \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"osquery.result.name\", \"customLabel\": \"Rootkits\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Number of rootkits found [Osquery Result]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Traefik-Access-Remote-IP-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Traefik-Access", + "title": "Remote IP Timechart [Filebeat Traefik] [ML]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 5 minutes\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"traefik.access.remote_ip\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"ML Traefik Access Remote IP Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ML-Nginx-Access-Remote-IP-Timechart", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "savedSearchId": "ML-Filebeat-Nginx-Access", + "title": "Remote IP Timechart [Filebeat Nginx] [ML]", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {\"text\": \"@timestamp per 5 minutes\"}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {}, \"type\": \"count\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"nginx.access.remote_ip\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"ML Nginx Access Remote IP Timechart\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-CPU", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "CPU usage [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": false, \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.load\", \"customLabel\": \"CPU load\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"date_histogram\", \"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"id\": \"2\", \"schema\": \"segment\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"field\": \"apache.status.hostname\", \"size\": 5, \"order\": \"desc\", \"row\": true}, \"id\": \"3\", \"schema\": \"split\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.user\", \"customLabel\": \"CPU user\"}, \"id\": \"4\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.system\", \"customLabel\": \"CPU system\"}, \"id\": \"5\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.children_user\", \"customLabel\": \"CPU children user\"}, \"id\": \"6\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.cpu.children_system\", \"customLabel\": \"CPU children system\"}, \"id\": \"7\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - CPU\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Hostname-list", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Hostname list [Metricbeat Apache]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"type\": \"count\", \"params\": {\"customLabel\": \"Events count\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"field\": \"apache.status.hostname\", \"customLabel\": \"Apache HTTD Hostname\", \"order\": \"desc\", \"size\": 5}, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Apache HTTPD - Hostname list\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Load1-slash-5-slash-15", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Load1/5/15 [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": false, \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"type\": \"avg\", \"params\": {\"field\": \"apache.status.load.5\", \"customLabel\": \"Load 5\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"date_histogram\", \"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"id\": \"2\", \"schema\": \"segment\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.load.1\", \"customLabel\": \"Load 1\"}, \"id\": \"3\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.load.15\", \"customLabel\": \"Load 15\"}, \"id\": \"4\", \"schema\": \"metric\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"customLabel\": \"Hostname\", \"field\": \"apache.status.hostname\", \"row\": true, \"order\": \"desc\", \"size\": 5}, \"id\": \"5\", \"schema\": \"split\"}], \"title\": \"Apache HTTPD - Load1/5/15\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Scoreboard", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Scoreboard [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": false, \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.closing_connection\", \"customLabel\": \"Closing connection\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"date_histogram\", \"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"id\": \"2\", \"schema\": \"segment\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"customLabel\": \"Hostname\", \"field\": \"apache.status.hostname\", \"row\": true, \"order\": \"desc\", \"size\": 5}, \"id\": \"3\", \"schema\": \"split\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.dns_lookup\", \"customLabel\": \"DNS lookup\"}, \"id\": \"4\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.gracefully_finishing\", \"customLabel\": \"Gracefully finishing\"}, \"id\": \"5\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.idle_cleanup\", \"customLabel\": \"Idle cleanup\"}, \"id\": \"6\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.keepalive\", \"customLabel\": \"Keepalive\"}, \"id\": \"7\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.logging\", \"customLabel\": \"Logging\"}, \"id\": \"8\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.open_slot\", \"customLabel\": \"Open slot\"}, \"id\": \"9\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.reading_request\", \"customLabel\": \"Reading request\"}, \"id\": \"10\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.sending_reply\", \"customLabel\": \"Sending reply\"}, \"id\": \"11\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.starting_up\", \"customLabel\": \"Starting up\"}, \"id\": \"12\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.total\", \"customLabel\": \"Total\"}, \"id\": \"13\", \"schema\": \"metric\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.scoreboard.waiting_for_connection\", \"customLabel\": \"Waiting for connection\"}, \"id\": \"14\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - Scoreboard\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Total-accesses-and-kbytes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Total accesses and kbytes [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"handleNoResults\": true, \"fontSize\": 60}, \"aggs\": [{\"type\": \"max\", \"params\": {\"field\": \"apache.status.total_kbytes\", \"customLabel\": \"Total kbytes\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"max\", \"params\": {\"field\": \"apache.status.total_accesses\", \"customLabel\": \"Total accesses\"}, \"id\": \"2\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - Total accesses and kbytes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Uptime", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Uptime [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"handleNoResults\": true, \"fontSize\": 60}, \"aggs\": [{\"type\": \"max\", \"params\": {\"field\": \"apache.status.uptime.uptime\", \"customLabel\": \"Uptime\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"max\", \"params\": {\"field\": \"apache.status.uptime.server_uptime\", \"customLabel\": \"Server uptime\"}, \"id\": \"2\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - Uptime\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Apache-HTTPD-Workers", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Apache-HTTPD", + "title": "Workers [Metricbeat Apache]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": true, \"yAxis\": {}, \"smoothLines\": false, \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"type\": \"avg\", \"params\": {\"field\": \"apache.status.workers.busy\", \"customLabel\": \"Busy workers\"}, \"id\": \"1\", \"schema\": \"metric\"}, {\"type\": \"date_histogram\", \"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"id\": \"2\", \"schema\": \"segment\"}, {\"type\": \"terms\", \"params\": {\"orderBy\": \"1\", \"customLabel\": \"Hostname\", \"field\": \"apache.status.hostname\", \"row\": true, \"order\": \"desc\", \"size\": 5}, \"id\": \"3\", \"schema\": \"split\"}, {\"type\": \"avg\", \"params\": {\"field\": \"apache.status.workers.idle\", \"customLabel\": \"Idle workers\"}, \"id\": \"4\", \"schema\": \"metric\"}], \"title\": \"Apache HTTPD - Workers\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "58000780-f529-11e6-844d-b170e2f0a07e", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Heap Summary [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.total\\\").label(\\\"System Total Memory\\\").yaxis(label=\\\"Bytes\\\",units=bytes),.es(index=\\\"metricbeat*\\\",metric=\\\"min:golang.heap.allocations.allocated\\\").label(\\\"Bytes Allocated(min)\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.allocations.allocated\\\").label(\\\"Bytes Allocated(max)\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.gc.next_gc_limit\\\").label(\\\"GC Limit\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.gc.pause.count\\\").condition(lt,1, null).points().label(\\\"GC Cycles(count)\\\").yaxis(2,label=\\\"Count\\\")\"}, \"aggs\": [], \"title\": \"Heap Summary [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "95388680-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Heap [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.allocations.total\\\").label(\\\"Heap Total\\\").derivative().movingaverage(30).yaxis(label=\\\"Bytes\\\",units=bytes),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.allocations.active\\\").label(\\\"Heap Inuse\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.allocations.allocated\\\").label(\\\"Heap Allocated\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.allocations.idle\\\").label(\\\"Heap Idle\\\").movingaverage(30)\"}, \"aggs\": [], \"title\": \"Heap [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b59a5200-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "Objects [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.allocations.objects\\\").label(\\\"Object Count(avg)\\\").yaxis(1,label=\\\"Count\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.allocations.total\\\").derivative().label(\\\"Allocation Rate\\\").yaxis(2,label=\\\"Rate\\\").movingaverage(30)\"}, \"aggs\": [], \"title\": \"Objects [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9a9a8bf0-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "System [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.total\\\").label(\\\"System Total\\\").yaxis(label=\\\"Bytes\\\",units=bytes),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.obtained\\\").label(\\\"System Obtained\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.stack\\\").label(\\\"System Stack\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.system.released\\\").label(\\\"System Released\\\")\"}, \"aggs\": [], \"title\": \"System [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b046cb80-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "GC count [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.pause.count\\\").label(\\\"GC Count\\\").bars().yaxis(label=\\\"Count\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.total_count\\\").label(\\\"GC Rate\\\").derivative().movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.cpu_fraction\\\").label(\\\"CPU Fraction\\\").yaxis(2,label=\\\"Fraction\\\")\"}, \"aggs\": [], \"title\": \"GC count [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ab226b50-f52a-11e6-969c-518c48c913e4", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + }, + "title": "GC durations [Metricbeat Golang]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"10s\", \"expression\": \".es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.pause.sum.ns\\\").bars().label(\\\"sum of GC Pause durations(ns)\\\").yaxis(label=\\\"Durations(ns)\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.total_pause.ns\\\").derivative().movingaverage(30).label(\\\"Total GC Pause(ns) Rate\\\"),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.pause.max.ns\\\").label(\\\"Max GC Pause(ns)\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"avg:golang.heap.gc.pause.avg.ns\\\").label(\\\"Avg GC Pause(ns)\\\").movingaverage(30),.es(index=\\\"metricbeat*\\\",metric=\\\"max:golang.heap.gc.pause.count\\\").condition(lt,1, null).label(\\\"GC Pause count\\\").points().yaxis(2,label=\\\"Count\\\")\"}, \"aggs\": [], \"title\": \"GC durations [Metricbeat Golang]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-hosts", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Hosts [Metricbeat MongoDB]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.connections.current\", \"customLabel\": \"Number of connections\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"metricset.host\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"mongodb.status.memory.bits\", \"customLabel\": \"Arch\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.memory.resident.mb\", \"customLabel\": \"Resident memory\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.memory.virtual.mb\", \"customLabel\": \"Virtual memory\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}], \"title\": \"Hosts [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-Engine-ampersand-Version", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Engine & Version [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"addTooltip\": true, \"isDonut\": true, \"legendPosition\": \"bottom\", \"addLegend\": true, \"shareYAxis\": true, \"type\": \"pie\"}, \"aggs\": [{\"params\": {\"field\": \"metricset.host\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mongodb.status.storage_engine.name\", \"customLabel\": \"Engine\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"mongodb.status.version\", \"customLabel\": \"Version\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Engine & Version [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-operation-counters", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Operation counters [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.ops.counters.command\", \"customLabel\": \"command\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.ops.counters.delete\", \"customLabel\": \"delete\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.ops.counters.getmore\", \"customLabel\": \"getmore\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.ops.counters.insert\", \"customLabel\": \"insert\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.ops.counters.query\", \"customLabel\": \"query\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.ops.replicated.update\", \"customLabel\": \"update\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"7\", \"schema\": \"metric\"}], \"title\": \"Operation counters [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-Concurrent-transactions-Read", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Concurrent transactions Read [Metricbeat MongoDB]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Read Used\": \"#BF1B00\", \"Read Available\": \"#508642\"}}}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.wired_tiger.concurrent_transactions.read.available\", \"customLabel\": \"Read Available\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.wired_tiger.concurrent_transactions.read.out\", \"customLabel\": \"Read Used\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}], \"title\": \"Concurrent transactions Read [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-Concurrent-transactions-Write", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Concurrent transactions Write [Metricbeat MongoDB]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Write Used\": \"#BF1B00\", \"Write Available\": \"#629E51\"}}}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.wired_tiger.concurrent_transactions.write.available\", \"customLabel\": \"Write Available\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.wired_tiger.concurrent_transactions.write.out\", \"customLabel\": \"Write Used\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}], \"title\": \"Concurrent transactions Write [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-memory-stats", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Memory stats [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"params\": {\"scale\": \"log\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"line\"}], \"yAxis\": {}, \"smoothLines\": false, \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"type\": \"line\", \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": true}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.memory.mapped.mb\", \"customLabel\": \"Mapped\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.memory.mapped_with_journal.mb\", \"customLabel\": \"Mapped with journal\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.memory.resident.mb\", \"customLabel\": \"Rezident\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.memory.virtual.mb\", \"customLabel\": \"Virtual\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}], \"title\": \"Memory stats [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-asserts", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "Asserts [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.asserts.msg\", \"customLabel\": \"message\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.asserts.regular\", \"customLabel\": \"regular\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.asserts.rollovers\", \"customLabel\": \"rollover\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.asserts.user\", \"customLabel\": \"user\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.asserts.warning\", \"customLabel\": \"warning\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}], \"title\": \"Asserts [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MongoDB-WiredTiger-Cache", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "MongoDB-search", + "title": "WiredTiger Cache [Metricbeat MongoDB]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"bottom\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"overlap\", \"type\": \"area\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"mongodb.status.wired_tiger.cache.maximum.bytes\", \"customLabel\": \"max\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"mongodb.status.wired_tiger.cache.used.bytes\", \"customLabel\": \"used\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"mongodb.status.wired_tiger.cache.dirty.bytes\", \"customLabel\": \"dirty\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}], \"title\": \"WiredTiger Cache [Metricbeat MongoDB]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-Clients-Metrics", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Clients [Metricbeat Redis]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"addTooltip\": true, \"addLegend\": false, \"fontSize\": 60, \"handleNoResults\": true, \"gauge\": {\"useRange\": false, \"gaugeType\": \"Metric\", \"style\": {\"subText\": \"\", \"bgColor\": false, \"fontSize\": 60, \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"autoExtend\": false, \"labels\": {\"color\": \"black\", \"show\": true}, \"backStyle\": \"Full\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"width\": 2, \"labels\": false, \"show\": false}, \"verticalSplit\": false, \"percentageMode\": false, \"type\": \"simple\", \"gaugeColorMode\": \"None\"}, \"type\": \"gauge\"}, \"aggs\": [{\"params\": {\"field\": \"redis.info.clients.connected\", \"customLabel\": \"Connected clients\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Clients [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-Connected-clients", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Connected clients [Metricbeat Redis]", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Blocked\": \"#C15C17\"}}}", + "version": 1, + "visState": "{\"type\": \"histogram\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"histogram\"}], \"yAxis\": {}, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"grouped\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"redis.info.clients.connected\", \"customLabel\": \"Connected\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"redis.info.clients.blocked\", \"customLabel\": \"Blocked\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}], \"title\": \"Connected clients [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-hosts", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Hosts [Metricbeat Redis]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"listeners\": {}, \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"orderBy\": \"1\", \"field\": \"metricset.host\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}, {\"params\": {\"field\": \"redis.info.server.uptime\", \"customLabel\": \"Uptime (s)\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"redis.info.server.process_id\", \"customLabel\": \"PID\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"6\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"redis.info.memory.used.peak\", \"customLabel\": \"Memory\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"redis.info.cpu.used.user\", \"customLabel\": \"CPU used (user)\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"redis.info.cpu.used.sys\", \"customLabel\": \"CPU used (system)\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"5\", \"schema\": \"metric\"}], \"title\": \"Hosts [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-Server-Versions", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Server Versions [Metricbeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"metricset.host\", \"customLabel\": \"Hosts\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.info.server.version\", \"customLabel\": \"Multiplexing API\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Server Versions [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-server-mode", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Server mode [Metricbeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"metricset.host\", \"customLabel\": \"Hosts\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.info.server.mode\", \"customLabel\": \"Server mode\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Server mode [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-multiplexing-API", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Multiplexing API [Metricbeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"listeners\": {}, \"params\": {\"legendPosition\": \"right\", \"isDonut\": false, \"addTooltip\": true, \"shareYAxis\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"metricset.host\", \"customLabel\": \"Hosts\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.info.server.multiplexing_api\", \"customLabel\": \"Multiplexing API\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}], \"title\": \"Multiplexing API [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Redis-Keyspaces", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Redis", + "title": "Keyspaces [Metricbeat Redis]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"area\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"type\": \"area\", \"interpolate\": \"linear\", \"mode\": \"stacked\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}}], \"yAxis\": {}, \"smoothLines\": false, \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"right\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"mode\": \"stacked\", \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"redis.keyspace.keys\", \"customLabel\": \"Number of keys\"}, \"type\": \"avg\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"2h\", \"field\": \"@timestamp\", \"interval\": \"auto\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"redis.keyspace.id\", \"customLabel\": \"Keyspaces\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"group\"}], \"title\": \"Keyspaces [Metricbeat Redis]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "RabbitMQ-Memory-Usage", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Rabbitmq", + "title": "Memory Usage [Metricbeat RabbitMQ]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": false, \"yAxis\": {}, \"smoothLines\": true, \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": true, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"rabbitmq.node.mem.used.bytes\", \"customLabel\": \"Used memory\", \"json\": \"\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"30s\", \"field\": \"@timestamp\", \"interval\": \"custom\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"rabbitmq.node.name\", \"customLabel\": \"Node name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"group\"}], \"title\": \"RabbitMQ Memory Usage\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Rabbitmq-Number-of-Nodes", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Rabbitmq", + "title": "Number of Nodes [Metricbeat RabbitMQ]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"metric\", \"listeners\": {}, \"params\": {\"handleNoResults\": true, \"fontSize\": 60}, \"aggs\": [{\"params\": {\"field\": \"rabbitmq.node.name\", \"customLabel\": \"RabbitMQ Nodes\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Rabbitmq-Number-of-Nodes\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "RabbitMQ-Erlang-Process-Usage", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Rabbitmq", + "title": "Erlang Process Usage [Metricbeat RabbitMQ]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"listeners\": {}, \"params\": {\"scale\": \"linear\", \"showCircles\": false, \"yAxis\": {}, \"smoothLines\": true, \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"radiusRatio\": 9, \"drawLinesBetweenPoints\": true, \"defaultYExtents\": false, \"setYExtents\": false, \"addTooltip\": true, \"times\": []}, \"aggs\": [{\"params\": {\"field\": \"rabbitmq.node.proc.used\", \"customLabel\": \"Used Process\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"30s\", \"field\": \"@timestamp\", \"interval\": \"custom\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"rabbitmq.node.name\", \"customLabel\": \"Node name\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"group\"}], \"title\": \"RabbitMQ Erlang Process Usage\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "RabbitMQ-Queue-Index-Operations", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + }, + "savedSearchId": "Metricbeat-Rabbitmq", + "title": "Queue Index Operations [Metricbeat RabbitMQ]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"line\", \"params\": {\"scale\": \"linear\", \"seriesParams\": [{\"showCircles\": true, \"show\": \"true\", \"data\": {\"id\": \"1\", \"label\": \"Count\"}, \"mode\": \"normal\", \"drawLinesBetweenPoints\": true, \"valueAxis\": \"ValueAxis-1\", \"type\": \"line\"}], \"yAxis\": {}, \"smoothLines\": false, \"times\": [], \"categoryAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\"}, \"show\": true, \"title\": {}, \"labels\": {\"truncate\": 100, \"show\": true}, \"position\": \"bottom\", \"type\": \"category\", \"id\": \"CategoryAxis-1\"}], \"legendPosition\": \"top\", \"addTimeMarker\": false, \"interpolate\": \"linear\", \"addLegend\": true, \"shareYAxis\": true, \"grid\": {\"style\": {\"color\": \"#eee\"}, \"categoryLines\": false}, \"drawLinesBetweenPoints\": true, \"type\": \"line\", \"defaultYExtents\": false, \"radiusRatio\": 9, \"setYExtents\": false, \"addTooltip\": true, \"valueAxes\": [{\"style\": {}, \"scale\": {\"type\": \"linear\", \"mode\": \"normal\"}, \"name\": \"LeftAxis-1\", \"show\": true, \"title\": {\"text\": \"Count\"}, \"labels\": {\"filter\": false, \"rotate\": 0, \"truncate\": 100, \"show\": true}, \"position\": \"left\", \"type\": \"value\", \"id\": \"ValueAxis-1\"}], \"showCircles\": false}, \"aggs\": [{\"params\": {\"field\": \"rabbitmq.node.queue.index.read.count\", \"customLabel\": \"Queue Index Read\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"customInterval\": \"30s\", \"field\": \"@timestamp\", \"interval\": \"custom\", \"min_doc_count\": 1, \"extended_bounds\": {}}, \"type\": \"date_histogram\", \"enabled\": true, \"id\": \"2\", \"schema\": \"segment\"}, {\"params\": {\"field\": \"rabbitmq.node.queue.index.journal_write.count\", \"customLabel\": \"Queue Index Jornal Write\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"3\", \"schema\": \"metric\"}, {\"params\": {\"field\": \"rabbitmq.node.queue.index.write.count\", \"customLabel\": \"Queue Index Write\"}, \"type\": \"max\", \"enabled\": true, \"id\": \"4\", \"schema\": \"metric\"}], \"title\": \"Queue Index Operations [Metricbeat RabbitMQ]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a5058e70-f0ae-11e7-b9ff-9f96241065de", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Overview [Metricbeat uWSGI]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"15s\", \"expression\": \".es(metric=avg:uwsgi.status.total.requests).derivative().label('Requests').title('Overview of requests per period'),\\n.es(metric=avg:uwsgi.status.total.exceptions).derivative().label('Exceptions'),\\n.es(metric=max:uwsgi.status.worker.avg_rt).label('Average response time').yaxis(2)\"}, \"title\": \"Overview [Metricbeat uWSGI]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ac7194b0-f0ae-11e7-b9ff-9f96241065de", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Memory usage [Metricbeat uWSGI]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"15s\", \"expression\": \".es(metric=max:uwsgi.status.worker.rss).label('Currently used (rss)').title('Memory usage'),\\n.es(metric=max:uwsgi.status.worker.vsz).label('Assigned (vsz)').yaxis(2)\"}, \"title\": \"Memory usage [Metricbeat uWSGI]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8c5f96e0-f0ae-11e7-b9ff-9f96241065de", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Workers [Metricbeat uWSGI]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"15s\", \"expression\": \".es(split=uwsgi.status.core.id:16,metric=max:uwsgi.status.core.requests.total).derivative().bars().title('Requests handled by each thread (core) per period')\"}, \"title\": \"Workers [Metricbeat uWSGI]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ba4a80b0-f0ae-11e7-b9ff-9f96241065de", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + }, + "title": "Errors [Metricbeat uWSGI]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"timelion\", \"params\": {\"interval\": \"15s\", \"expression\": \".es(metric=max:uwsgi.status.total.read_errors).label('Read errors').title('Errors'),\\n.es(metric=max:uwsgi.status.total.write_errors).label('Write errors'),\\n.es(metric=max:uwsgi.status.worker.harakiri_count).label('Timeouted requests')\"}, \"title\": \"Errors [Metricbeat uWSGI]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "23a5fff0-c98e-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "title": "Hosts [Metricbeat Windows]", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "version": 1, + "visState": "{\"type\": \"table\", \"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}, \"perPage\": 10, \"showPartialRows\": false, \"totalFunc\": \"sum\", \"showTotal\": false, \"showMeticsAtAllLevels\": false}, \"aggs\": [{\"params\": {\"field\": \"windows.service.id\", \"customLabel\": \"Total Services\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"beat.name\", \"customLabel\": \"Host\", \"order\": \"desc\", \"size\": 100}, \"type\": \"terms\", \"enabled\": true, \"id\": \"2\", \"schema\": \"bucket\"}], \"title\": \"Hosts [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "830c45f0-c991-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "title": "Startup States [Metricbeat Windows]", + "uiStateJSON": "{}", + "version": 1, + "visState": "{\"type\": \"pie\", \"params\": {\"legendPosition\": \"right\", \"type\": \"pie\", \"isDonut\": true, \"addTooltip\": true, \"addLegend\": true}, \"aggs\": [{\"params\": {\"field\": \"windows.service.id\", \"customLabel\": \"Service Count\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"windows.service.start_type\", \"customLabel\": \"Startup Type\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"4\", \"schema\": \"segment\"}, {\"params\": {\"orderBy\": \"1\", \"field\": \"windows.service.state\", \"customLabel\": \"State\", \"order\": \"desc\", \"size\": 5}, \"type\": \"terms\", \"enabled\": true, \"id\": \"3\", \"schema\": \"segment\"}], \"title\": \"Startup States [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "35f5ad60-c996-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "title": "Unique Services [Metricbeat Windows]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"gauge\": {\"useRange\": false, \"gaugeType\": \"Metric\", \"style\": {\"subText\": \"\", \"bgColor\": false, \"fontSize\": 60, \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"autoExtend\": false, \"labels\": {\"color\": \"black\", \"show\": false}, \"backStyle\": \"Full\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"width\": 2, \"labels\": false, \"show\": false}, \"verticalSplit\": false, \"percentageMode\": false, \"type\": \"simple\", \"gaugeColorMode\": \"None\"}, \"type\": \"gauge\", \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"windows.service.id\", \"customLabel\": \"Services\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Unique Services [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c36b2ba0-ca29-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "description": "", + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"exists\":{\"field\":\"windows.service.exit_code\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"windows.service.exit_code\",\"negate\":false,\"type\":\"exists\",\"value\":\"exists\"}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"windows.service.exit_code\",\"negate\":true,\"params\":{\"query\":\"0\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"0\"},\"query\":{\"match\":{\"windows.service.exit_code\":{\"query\":\"0\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"windows.service.exit_code\",\"negate\":true,\"params\":{\"query\":\"ERROR_SERVICE_NEVER_STARTED\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"ERROR_SERVICE_NEVER_STARTED\"},\"query\":{\"match\":{\"windows.service.exit_code\":{\"query\":\"ERROR_SERVICE_NEVER_STARTED\",\"type\":\"phrase\"}}}}],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + }, + "savedSearchId": "b6b7ccc0-c98d-11e7-9835-2f31fe08873b", + "title": "Non-zero Service Exit Codes [Metricbeat Windows]", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "version": 1, + "visState": "{\"type\": \"metric\", \"params\": {\"gauge\": {\"useRange\": false, \"gaugeType\": \"Metric\", \"style\": {\"subText\": \"\", \"bgColor\": false, \"fontSize\": 60, \"labelColor\": false}, \"colorSchema\": \"Green to Red\", \"invertColors\": false, \"orientation\": \"vertical\", \"gaugeStyle\": \"Full\", \"autoExtend\": false, \"labels\": {\"color\": \"black\", \"show\": false}, \"backStyle\": \"Full\", \"colorsRange\": [{\"to\": 100, \"from\": 0}], \"scale\": {\"color\": \"#333\", \"width\": 2, \"labels\": false, \"show\": false}, \"verticalSplit\": false, \"percentageMode\": false, \"type\": \"simple\", \"gaugeColorMode\": \"None\"}, \"type\": \"gauge\", \"addTooltip\": true, \"addLegend\": false}, \"aggs\": [{\"params\": {\"field\": \"windows.service.id\", \"customLabel\": \"Non-zero Exit Codes\"}, \"type\": \"cardinality\", \"enabled\": true, \"id\": \"1\", \"schema\": \"metric\"}], \"title\": \"Non-zero Service Exit Codes [Metricbeat Windows]\"}" + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dc89f8d0-8e8e-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "title": "Kafka Metrics [Metricbeat Kafka]", + "visState": "{\"type\":\"metric\",\"params\":{\"type\":\"metric\",\"metric\":{\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"fontSize\":32,\"subText\":\"\",\"labelColor\":false},\"colorSchema\":\"Green to Red\",\"invertColors\":false,\"labels\":{\"show\":true},\"useRanges\":false,\"percentageMode\":false,\"colorsRange\":[{\"to\":10000,\"from\":0}],\"metricColorMode\":\"None\"},\"addTooltip\":true,\"addLegend\":false},\"aggs\":[{\"params\":{\"field\":\"kafka.topic.name\",\"customLabel\":\"Topics\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"field\":\"kafka.partition.broker.id\",\"customLabel\":\"Brokers\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"3\",\"schema\":\"metric\"},{\"params\":{\"field\":\"kafka.partition.topic_id\",\"customLabel\":\"Partitions\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"5\",\"schema\":\"metric\"},{\"params\":{\"field\":\"kafka.partition.topic_broker_id\",\"customLabel\":\"Replicas\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"6\",\"schema\":\"metric\"}],\"title\":\"Kafka Metrics [Metricbeat Kafka]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":\"Partition Metricset\",\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"metricset.name\",\"negate\":false,\"params\":{\"query\":\"partition\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"partition\"},\"query\":{\"match\":{\"metricset.name\":{\"query\":\"partition\",\"type\":\"phrase\"}}}},{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"kafka.topic.name\",\"negate\":true,\"params\":{\"query\":\"__consumer_offsets\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"__consumer_offsets\"},\"query\":{\"match\":{\"kafka.topic.name\":{\"query\":\"__consumer_offsets\",\"type\":\"phrase\"}}}}],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d16bb400-f9cc-11e6-8115-a7c18106d86a", + "_type": "visualization", + "_source": { + "title": "Successful SSH logins [Filebeat System]", + "visState": "{\"type\":\"histogram\",\"listeners\":{},\"params\":{\"scale\":\"linear\",\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"times\":[]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"system.auth.ssh.method\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Successful SSH logins\"}", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Failed\": \"#F9934E\", \"password\": \"#BF1B00\", \"Accepted\": \"#3F6833\", \"Invalid\": \"#447EBC\", \"publickey\": \"#629E51\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"system.auth.ssh.event:Accepted\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "78b74f30-f9cd-11e6-8115-a7c18106d86a", + "_type": "visualization", + "_source": { + "title": "SSH login attempts [Filebeat System]", + "visState": "{\"type\":\"histogram\",\"listeners\":{},\"params\":{\"scale\":\"linear\",\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"times\":[]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"system.auth.ssh.event\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"SSH login attempts\"}", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Failed\": \"#F9934E\", \"Accepted\": \"#3F6833\", \"Invalid\": \"#447EBC\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\"}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3cec3eb0-f9d3-11e6-8a3e-2b904044ea1d", + "_type": "visualization", + "_source": { + "title": "SSH failed login attempts source locations [Filebeat System]", + "visState": "{\"type\":\"tile_map\",\"listeners\":{},\"params\":{\"mapCenter\":[15,5],\"heatMaxZoom\":16,\"wms\":{\"url\":\"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\",\"enabled\":false,\"options\":{\"layers\":\"0\",\"styles\":\"\",\"attribution\":\"Maps provided by USGS\",\"format\":\"image/png\",\"version\":\"1.3.0\",\"transparent\":true}},\"heatBlur\":15,\"heatRadius\":25,\"heatMinOpacity\":0.1,\"legendPosition\":\"bottomright\",\"mapZoom\":2,\"heatNormalizeData\":true,\"mapType\":\"Shaded Circle Markers\",\"isDesaturated\":true,\"addTooltip\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"field\":\"system.auth.ssh.geoip.location\",\"precision\":2,\"autoPrecision\":true},\"type\":\"geohash_grid\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"SSH failed login attempts source locations\"}", + "uiStateJSON": "{\"mapCenter\": [17.602139123350838, 69.697265625], \"mapZoom\": 2}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"system.auth.ssh.event:Failed OR system.auth.ssh.event:Invalid\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Traefik-Access-Browsers", + "_type": "visualization", + "_source": { + "title": "Browsers breakdown [Filebeat Traefik]", + "visState": "{\"type\":\"pie\",\"listeners\":{},\"params\":{\"legendPosition\":\"bottom\",\"isDonut\":true,\"addTooltip\":true,\"shareYAxis\":true,\"addLegend\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"traefik.access.user_agent.name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"traefik.access.user_agent.major\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Traefik Access Browsers\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d2864600-478f-11e7-be88-2ddb32f3df97", + "_type": "visualization", + "_source": { + "title": "Logs over time [Filebeat Redis]", + "visState": "{\"type\":\"histogram\",\"params\":{\"scale\":\"linear\",\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"histogram\"}],\"type\":\"histogram\",\"times\":[],\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{\"text\":\"@timestamp per month\"},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"interpolate\":\"linear\",\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"drawLinesBetweenPoints\":true,\"defaultYExtents\":false,\"radiusRatio\":9,\"setYExtents\":false,\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}],\"showCircles\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"redis.log.level\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Logs over time [Filebeat Redis]\"}", + "uiStateJSON": "{\"vis\": {\"colors\": {\"notice\": \"#629E51\", \"warning\": \"#EF843C\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:redis.log\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "341ffe70-f9ce-11e6-8115-a7c18106d86a", + "_type": "visualization", + "_source": { + "title": "SSH users of failed login attempts [Filebeat System]", + "visState": "{\"type\":\"tagcloud\",\"listeners\":{},\"params\":{\"maxFontSize\":72,\"minFontSize\":18,\"orientation\":\"single\",\"scale\":\"linear\"},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"system.auth.user\",\"order\":\"desc\",\"size\":50},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"SSH users of failed login attempts\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"system.auth.ssh.event:Failed OR system.auth.ssh.event:Invalid\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7fb671f0-aa32-11e8-9c06-877f0445e3e0", + "_type": "visualization", + "_source": { + "title": "Frontend breakdown [Filebeat HAProxy]", + "visState": "{\"type\":\"pie\",\"params\":{\"isDonut\":true,\"addTooltip\":true,\"labels\":{\"values\":true,\"last_level\":true,\"truncate\":100,\"show\":false},\"legendPosition\":\"right\",\"addLegend\":true,\"type\":\"pie\"},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"field\":\"haproxy.frontend_name\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Frontend breakdown [Filebeat HAProxy]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "11f8b9c0-aa32-11e8-9c06-877f0445e3e0", + "_type": "visualization", + "_source": { + "title": "IP Geohashes [Filebeat HAProxy]", + "visState": "{\"type\":\"tile_map\",\"params\":{\"mapCenter\":[15,5],\"heatMaxZoom\":16,\"wms\":{\"url\":\"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\",\"enabled\":false,\"options\":{\"layers\":\"0\",\"styles\":\"\",\"attribution\":\"Maps provided by USGS\",\"format\":\"image/png\",\"version\":\"1.3.0\",\"transparent\":true}},\"heatBlur\":15,\"heatRadius\":25,\"heatMinOpacity\":0.1,\"legendPosition\":\"bottomright\",\"mapZoom\":2,\"heatNormalizeData\":true,\"mapType\":\"Scaled Circle Markers\",\"isDesaturated\":true,\"addTooltip\":true},\"aggs\":[{\"params\":{\"field\":\"haproxy.client.ip\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"field\":\"haproxy.geoip.location\",\"isFilteredByCollar\":true,\"precision\":2,\"autoPrecision\":true,\"useGeocentroid\":true},\"type\":\"geohash_grid\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"IP Geohashes [Filebeat HAProxy]\"}", + "uiStateJSON": "{\"mapCenter\": [14.944784875088372, 5.09765625]}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "68af8ef0-aa33-11e8-9c06-877f0445e3e0", + "_type": "visualization", + "_source": { + "title": "Response codes over time [Filebeat HAProxy]", + "visState": "{\"type\":\"histogram\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"histogram\"}],\"type\":\"histogram\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"_term\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"field\":\"haproxy.http.response.status_code\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Response codes over time [Filebeat HAProxy]\"}", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#508642\", \"302\": \"#6ED0E0\", \"404\": \"#EAB839\", \"204\": \"#629E51\", \"503\": \"#705DA0\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Nginx-Access-Browsers", + "_type": "visualization", + "_source": { + "title": "Browsers breakdown [Filebeat Nginx]", + "visState": "{\"type\":\"pie\",\"listeners\":{},\"params\":{\"legendPosition\":\"bottom\",\"isDonut\":true,\"addTooltip\":true,\"shareYAxis\":true,\"addLegend\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"nginx.access.user_agent.name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"nginx.access.user_agent.major\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Nginx Access Browsers\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Nginx-Access-OSes", + "_type": "visualization", + "_source": { + "title": "Operating systems breakdown [Filebeat Nginx]", + "visState": "{\"type\":\"pie\",\"listeners\":{},\"params\":{\"legendPosition\":\"bottom\",\"isDonut\":true,\"addTooltip\":true,\"shareYAxis\":true,\"addLegend\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"nginx.access.user_agent.os_name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"nginx.access.user_agent.os_major\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Nginx Access OSes\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "78b9afe0-478f-11e7-b1f0-cb29bac6bf8b", + "_type": "visualization", + "_source": { + "title": "Log levels and roles breakdown [Filebeat Redis]", + "visState": "{\"type\":\"pie\",\"params\":{\"legendPosition\":\"bottom\",\"type\":\"pie\",\"isDonut\":false,\"addTooltip\":true,\"addLegend\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"redis.log.role\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"redis.log.level\",\"customLabel\":\"Log level\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Log levels and roles breakdown [Filebeat Redis]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:redis.log\"}}},\"version\":true}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Traefik-Access-OSes", + "_type": "visualization", + "_source": { + "title": "Operating systems breakdown [Filebeat Traefik]", + "visState": "{\"type\":\"pie\",\"listeners\":{},\"params\":{\"legendPosition\":\"bottom\",\"isDonut\":true,\"addTooltip\":true,\"shareYAxis\":true,\"addLegend\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"traefik.access.user_agent.os_name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"traefik.access.user_agent.os_major\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Traefik Access OSes\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Traefik-Access-Response-codes-by-top-URLs", + "_type": "visualization", + "_source": { + "title": "Response codes by top URLs [Filebeat Traefik]", + "visState": "{\"type\":\"pie\",\"listeners\":{},\"params\":{\"legendPosition\":\"right\",\"isDonut\":false,\"addTooltip\":true,\"shareYAxis\":true,\"addLegend\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"traefik.access.url\",\"size\":5,\"order\":\"desc\",\"row\":false},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"split\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"traefik.access.response_code\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Traefik Access Response codes by top URLs\"}", + "uiStateJSON": "{\"vis\": {\"colors\": {\"200\": \"#629E51\", \"404\": \"#0A50A1\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Sent-sizes", + "_type": "visualization", + "_source": { + "title": "Sent Byte Size [Filebeat Traefik]", + "visState": "{\"type\":\"line\",\"listeners\":{},\"params\":{\"scale\":\"linear\",\"showCircles\":true,\"yAxis\":{},\"smoothLines\":true,\"legendPosition\":\"right\",\"addTimeMarker\":false,\"interpolate\":\"linear\",\"addLegend\":true,\"shareYAxis\":true,\"radiusRatio\":\"17\",\"drawLinesBetweenPoints\":true,\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"times\":[]},\"aggs\":[{\"params\":{\"field\":\"traefik.access.body_sent.bytes\",\"customLabel\":\"Data sent\"},\"type\":\"sum\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"3\",\"schema\":\"radius\"}],\"title\":\"Sent sizes\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:traefik.access\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "6295bdd0-0a0e-11e7-825f-6748cda7d858", + "_type": "visualization", + "_source": { + "title": "Event types breakdown [Filebeat Auditd]", + "visState": "{\"type\":\"pie\",\"listeners\":{},\"params\":{\"legendPosition\":\"right\",\"isDonut\":true,\"addTooltip\":true,\"addLegend\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"auditd.log.record_type\",\"order\":\"desc\",\"size\":50},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Audit Event Types\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5ebdbe50-0a0f-11e7-825f-6748cda7d858", + "_type": "visualization", + "_source": { + "title": "Top Exec Commands [Filebeat Auditd]", + "visState": "{\"type\":\"table\",\"listeners\":{},\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"perPage\":10,\"showPartialRows\":false,\"totalFunc\":\"sum\",\"showTotal\":false,\"showMeticsAtAllLevels\":false},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"auditd.log.a0\",\"customLabel\":\"Command (arg 0)\",\"order\":\"desc\",\"size\":30},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"bucket\"}],\"title\":\"Audit Top Exec Commands\"}", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"auditd.log.record_type:EXECVE\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d1726930-0a7f-11e7-8b04-eb22a5669f27", + "_type": "visualization", + "_source": { + "title": "Event Address Geo Location [Filebeat Auditd]", + "visState": "{\"type\":\"tile_map\",\"listeners\":{},\"params\":{\"mapCenter\":[15,5],\"heatMaxZoom\":16,\"wms\":{\"url\":\"https://basemap.nationalmap.gov/arcgis/services/USGSTopo/MapServer/WMSServer\",\"enabled\":false,\"options\":{\"layers\":\"0\",\"styles\":\"\",\"attribution\":\"Maps provided by USGS\",\"format\":\"image/png\",\"version\":\"1.3.0\",\"transparent\":true}},\"heatBlur\":15,\"heatRadius\":25,\"heatMinOpacity\":0.1,\"legendPosition\":\"bottomright\",\"mapZoom\":2,\"heatNormalizeData\":true,\"mapType\":\"Scaled Circle Markers\",\"isDesaturated\":true,\"addTooltip\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"field\":\"auditd.log.geoip.location\",\"precision\":2,\"autoPrecision\":true},\"type\":\"geohash_grid\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Audit Event Address Geo Location\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c5411910-0a87-11e7-8b04-eb22a5669f27", + "_type": "visualization", + "_source": { + "title": "Event Account Tag Cloud [Filebeat Auditd]", + "visState": "{\"type\":\"tagcloud\",\"listeners\":{},\"params\":{\"maxFontSize\":42,\"scale\":\"linear\",\"hideLabel\":false,\"orientation\":\"single\",\"minFontSize\":15},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"auditd.log.acct\",\"order\":\"desc\",\"size\":15},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Audit Event Account Tag Cloud\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "51164310-fa2b-11e6-bbd3-29c986c96e5a", + "_type": "visualization", + "_source": { + "title": "Sudo errors [Filebeat System]", + "visState": "{\"type\":\"histogram\",\"listeners\":{},\"params\":{\"scale\":\"linear\",\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"times\":[]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"system.auth.sudo.error\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Sudo errors\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlightAll\":true,\"index\":\"filebeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"_exists_:system.auth.sudo.error\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "eb2db5b0-fe11-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "title": "Access map [Filebeat IIS]", + "visState": "{\"type\":\"tile_map\",\"params\":{\"mapCenter\":[0,0],\"mapZoom\":2,\"wms\":{\"enabled\":false,\"options\":{\"transparent\":true,\"format\":\"image/png\"}},\"legendPosition\":\"bottomright\",\"heatClusterSize\":1.5,\"mapType\":\"Scaled Circle Markers\",\"isDesaturated\":true,\"addTooltip\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"field\":\"iis.access.geoip.location\",\"isFilteredByCollar\":true,\"precision\":2,\"autoPrecision\":true,\"useGeocentroid\":true},\"type\":\"geohash_grid\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Access map [Filebeat IIS]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f31414b0-fe14-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "title": "Response codes over time [Filebeat IIS]", + "visState": "{\"type\":\"histogram\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"histogram\"}],\"type\":\"histogram\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"iis.access.response_code\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Response codes over time [Filebeat IIS]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "63129c80-fe12-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "title": "Browsers breakdown [Filebeat IIS]", + "visState": "{\"type\":\"pie\",\"params\":{\"isDonut\":true,\"addTooltip\":true,\"labels\":{\"values\":true,\"last_level\":true,\"truncate\":100,\"show\":false},\"legendPosition\":\"right\",\"addLegend\":true,\"type\":\"pie\"},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"iis.access.user_agent.name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"iis.access.user_agent.major\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Browsers breakdown [Filebeat IIS]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ccd3f9c0-fe12-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "title": "Operating systems breakdown [Filebeat IIS]", + "visState": "{\"type\":\"pie\",\"params\":{\"isDonut\":true,\"addTooltip\":true,\"labels\":{\"values\":true,\"last_level\":true,\"truncate\":100,\"show\":false},\"legendPosition\":\"right\",\"addLegend\":true,\"type\":\"pie\"},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"iis.access.user_agent.os_name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"iis.access.user_agent.os_major\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Operating systems breakdown [Filebeat IIS]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "41f38230-fe17-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "title": "Error logs over time [Filebeat IIS]", + "visState": "{\"type\":\"histogram\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"histogram\"}],\"type\":\"histogram\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"iis.error.response_code\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Error logs over time [Filebeat IIS]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c0d02cd0-fe1b-11e7-a3b0-d13028918f9f", + "_type": "visualization", + "_source": { + "title": "Top URLs by response code [Filebeat IIS]", + "visState": "{\"type\":\"pie\",\"params\":{\"isDonut\":false,\"addTooltip\":true,\"labels\":{\"values\":true,\"last_level\":true,\"truncate\":100,\"show\":false},\"legendPosition\":\"right\",\"addLegend\":true,\"type\":\"pie\"},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"customLabel\":\"URL\",\"field\":\"iis.access.url\",\"row\":false,\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"split\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"iis.access.response_code\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Top URLs by response code [Filebeat IIS]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "55251360-aa32-11e8-9c06-877f0445e3e0", + "_type": "visualization", + "_source": { + "title": "Backend breakdown [Filebeat HAProxy]", + "visState": "{\"type\":\"pie\",\"params\":{\"isDonut\":true,\"addTooltip\":true,\"labels\":{\"values\":true,\"last_level\":true,\"truncate\":100,\"show\":false},\"legendPosition\":\"right\",\"addLegend\":true,\"type\":\"pie\"},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"field\":\"haproxy.backend_name\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Backend breakdown [Filebeat HAProxy]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"filebeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1681f1a0-90e7-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "title": "Consumer Metrics [Metricbeat Kafka]", + "visState": "{\"type\":\"metric\",\"params\":{\"type\":\"metric\",\"metric\":{\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"fontSize\":32,\"subText\":\"\",\"labelColor\":false},\"colorSchema\":\"Green to Red\",\"invertColors\":false,\"labels\":{\"show\":true},\"useRanges\":false,\"percentageMode\":false,\"colorsRange\":[{\"to\":10000,\"from\":0}],\"metricColorMode\":\"None\"},\"addTooltip\":true,\"addLegend\":false},\"aggs\":[{\"params\":{\"field\":\"kafka.consumergroup.id\",\"customLabel\":\"Consumer Groups\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"}],\"title\":\"Consumer Metrics [Metricbeat Kafka]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"metricbeat-*\",\"key\":\"kafka.topic.name\",\"negate\":true,\"params\":{\"query\":\"__consumer_offsets\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"__consumer_offsets\"},\"query\":{\"match\":{\"kafka.topic.name\":{\"query\":\"__consumer_offsets\",\"type\":\"phrase\"}}}}],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9a7576e0-d231-11e8-8766-dbbdc39e7ba9", + "_type": "visualization", + "_source": { + "title": "Kafka Consumer Group Clients [Metricbeat Kafka]", + "visState": "{\"type\":\"table\",\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"perPage\":10,\"showPartialRows\":false,\"totalFunc\":\"sum\",\"showTotal\":false,\"showMeticsAtAllLevels\":false},\"aggs\":[{\"params\":{\"field\":\"kafka.consumergroup.offset\",\"customLabel\":\"Newest Offset\"},\"type\":\"max\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"_term\",\"missingBucket\":false,\"customLabel\":\"Consumer group client\",\"missingBucketLabel\":\"Missing\",\"field\":\"kafka.consumergroup.client.id\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":64},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"bucket\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"customLabel\":\"Topic\",\"missingBucketLabel\":\"Missing\",\"field\":\"kafka.topic.name\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":64},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"bucket\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"customLabel\":\"Partition\",\"missingBucketLabel\":\"Missing\",\"field\":\"kafka.partition.id\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":256},\"type\":\"terms\",\"enabled\":true,\"id\":\"4\",\"schema\":\"bucket\"}],\"title\":\"Kafka Consumer Group Clients [Metricbeat Kafka]\"}", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7f4bc7d0-050c-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "title": "Lists length [Redis]", + "visState": "{\"type\":\"line\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"type\":\"line\",\"interpolate\":\"linear\",\"mode\":\"normal\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"data\":{\"id\":\"1\",\"label\":\"Number of elements\"}}],\"type\":\"line\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Number of elements\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{\"field\":\"redis.key.length\",\"customLabel\":\"Number of elements\"},\"type\":\"max\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"customLabel\":\"Keyspace\",\"missingBucketLabel\":\"Missing\",\"field\":\"redis.keyspace.id\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":16},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"customLabel\":\"Key name\",\"missingBucketLabel\":\"Missing\",\"field\":\"redis.key.name\",\"otherBucketLabel\":\"Other\",\"otherBucket\":true,\"order\":\"desc\",\"size\":20},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"group\"},{\"params\":{\"timeRange\":{\"to\":\"now\",\"from\":\"now-15m\",\"mode\":\"quick\"},\"extended_bounds\":{},\"field\":\"@timestamp\",\"interval\":\"auto\",\"time_zone\":\"Europe/Berlin\",\"useNormalizedEsInterval\":true,\"drop_partials\":false,\"min_doc_count\":1,\"customInterval\":\"2h\"},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"4\",\"schema\":\"segment\"}],\"title\":\"Lists length [Redis]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"key\":\"redis.key.type\",\"negate\":false,\"params\":{\"query\":\"list\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"list\"},\"query\":{\"match\":{\"redis.key.type\":{\"query\":\"list\",\"type\":\"phrase\"}}}}],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4435ac40-050e-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "title": "Keys by type [Redis]", + "visState": "{\"type\":\"line\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Number of keys\"},\"mode\":\"normal\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"line\"}],\"type\":\"line\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Number of keys\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{\"field\":\"redis.key.id\",\"customLabel\":\"Number of keys\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"customLabel\":\"Key type\",\"missingBucketLabel\":\"Missing\",\"field\":\"redis.key.type\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"group\"},{\"params\":{\"timeRange\":{\"to\":\"now\",\"from\":\"now-15m\",\"mode\":\"quick\"},\"min_doc_count\":1,\"field\":\"@timestamp\",\"customLabel\":\"\",\"interval\":\"auto\",\"time_zone\":\"Europe/Berlin\",\"useNormalizedEsInterval\":true,\"drop_partials\":false,\"extended_bounds\":{},\"customInterval\":\"2h\"},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Keys by type [Redis]\"}", + "uiStateJSON": "{\"vis\": {\"legendOpen\": false}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8541a4a0-0513-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "title": "Average string key size [Redis]", + "visState": "{\"type\":\"line\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Average key size\"},\"mode\":\"normal\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"line\"}],\"type\":\"line\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Average key size\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{\"field\":\"redis.key.length\",\"customLabel\":\"Average key size\"},\"type\":\"avg\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"customLabel\":\"Keyspace\",\"missingBucketLabel\":\"Missing\",\"field\":\"redis.keyspace.id\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"},{\"params\":{\"timeRange\":{\"to\":\"now\",\"from\":\"now-15m\",\"mode\":\"quick\"},\"extended_bounds\":{},\"field\":\"@timestamp\",\"interval\":\"auto\",\"time_zone\":\"Europe/Berlin\",\"useNormalizedEsInterval\":true,\"drop_partials\":false,\"min_doc_count\":1,\"customInterval\":\"2h\"},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Average string key size [Redis]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"key\":\"redis.key.type\",\"negate\":false,\"params\":{\"query\":\"string\",\"type\":\"phrase\"},\"type\":\"phrase\",\"value\":\"string\"},\"query\":{\"match\":{\"redis.key.type\":{\"query\":\"string\",\"type\":\"phrase\"}}}}],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "517a5fd0-0514-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "title": "Average keys TTL [Redis]", + "visState": "{\"type\":\"line\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Average TTL\"},\"mode\":\"normal\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"line\"}],\"type\":\"line\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Average TTL\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{\"field\":\"redis.key.expire.ttl\",\"customLabel\":\"Average TTL\"},\"type\":\"avg\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"customLabel\":\"Keyspace\",\"missingBucketLabel\":\"Missing\",\"field\":\"redis.keyspace.id\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"4\",\"schema\":\"group\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"customLabel\":\"Key type\",\"missingBucketLabel\":\"Missing\",\"field\":\"redis.key.type\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"group\"},{\"params\":{\"timeRange\":{\"to\":\"now\",\"from\":\"now-15m\",\"mode\":\"quick\"},\"extended_bounds\":{},\"field\":\"@timestamp\",\"interval\":\"auto\",\"time_zone\":\"Europe/Berlin\",\"useNormalizedEsInterval\":true,\"drop_partials\":false,\"min_doc_count\":1,\"customInterval\":\"2h\"},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Average keys TTL [Redis]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[{\"$state\":{\"store\":\"appState\"},\"meta\":{\"alias\":null,\"disabled\":false,\"index\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"key\":\"redis.key.expire.ttl\",\"negate\":false,\"params\":{\"gte\":0,\"lt\":null},\"type\":\"range\",\"value\":\"0 to +∞\"},\"range\":{\"redis.key.expire.ttl\":{\"gte\":0,\"lt\":null}}}],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "eb8277d0-c98c-11e7-9835-2f31fe08873b", + "_type": "visualization", + "_source": { + "title": "Service States [Metricbeat Windows]", + "visState": "{\"type\":\"table\",\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"perPage\":10,\"showPartialRows\":false,\"totalFunc\":\"sum\",\"showTotal\":false,\"showMeticsAtAllLevels\":false},\"aggs\":[{\"params\":{\"sortField\":\"@timestamp\",\"customLabel\":\"Latest Report\",\"field\":\"@timestamp\",\"sortOrder\":\"desc\",\"aggregate\":\"concat\",\"size\":1},\"type\":\"top_hits\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"_term\",\"field\":\"windows.service.display_name\",\"customLabel\":\"Service\",\"order\":\"asc\",\"size\":100},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"bucket\"},{\"params\":{\"orderBy\":\"_term\",\"field\":\"beat.name\",\"customLabel\":\"Host\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"5\",\"schema\":\"bucket\"},{\"params\":{\"orderBy\":\"custom\",\"customLabel\":\"State\",\"field\":\"windows.service.state\",\"orderAgg\":{\"params\":{\"field\":\"@timestamp\"},\"type\":\"max\",\"enabled\":true,\"id\":\"3-orderAgg\",\"schema\":{\"group\":\"none\",\"name\":\"orderAgg\",\"min\":0,\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!median\",\"!std_dev\",\"!derivative\",\"!moving_avg\",\"!serial_diff\",\"!cumulative_sum\",\"!avg_bucket\",\"!max_bucket\",\"!min_bucket\",\"!sum_bucket\"],\"max\":null,\"title\":\"Order Agg\",\"hideCustomLabel\":true,\"params\":[],\"editor\":false,\"deprecate\":false}},\"order\":\"desc\",\"size\":1},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"bucket\"},{\"params\":{\"orderBy\":\"custom\",\"customLabel\":\"Startup Type\",\"field\":\"windows.service.start_type\",\"orderAgg\":{\"params\":{\"field\":\"@timestamp\"},\"type\":\"max\",\"enabled\":true,\"id\":\"4-orderAgg\",\"schema\":{\"group\":\"none\",\"name\":\"orderAgg\",\"min\":0,\"aggFilter\":[\"!top_hits\",\"!percentiles\",\"!median\",\"!std_dev\",\"!derivative\",\"!moving_avg\",\"!serial_diff\",\"!cumulative_sum\",\"!avg_bucket\",\"!max_bucket\",\"!min_bucket\",\"!sum_bucket\"],\"max\":null,\"title\":\"Order Agg\",\"hideCustomLabel\":true,\"params\":[],\"editor\":false,\"deprecate\":false}},\"order\":\"desc\",\"size\":1},\"type\":\"terms\",\"enabled\":true,\"id\":\"4\",\"schema\":\"bucket\"}],\"title\":\"Service States [Metricbeat Windows]\"}", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": null, \"direction\": null}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8d2f79a0-8e65-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "title": "Kafka Controls [Metricbeat Kafka]", + "visState": "{\"type\":\"input_control_vis\",\"params\":{\"pinFilters\":false,\"useTimeFilter\":false,\"updateFiltersOnChange\":true,\"controls\":[{\"parent\":\"\",\"id\":\"1532342651170\",\"fieldName\":\"kafka.topic.name\",\"indexPattern\":\"metricbeat-*\",\"label\":\"Topic Name\",\"type\":\"list\",\"options\":{\"type\":\"terms\",\"multiselect\":true,\"order\":\"desc\",\"size\":10}},{\"parent\":\"1532342651170\",\"id\":\"1539799686678\",\"fieldName\":\"kafka.partition.id\",\"indexPattern\":\"metricbeat-*\",\"label\":\"Partition\",\"type\":\"list\",\"options\":{\"type\":\"terms\",\"multiselect\":true,\"order\":\"desc\",\"size\":5}}]},\"aggs\":[],\"title\":\"Kafka Controls [Metricbeat Kafka]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "944188f0-8e79-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "title": "Kafka Consumer Group Lag vs Time [Metricbeat Kafka]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"((metricset.name: partition AND kafka.partition.partition.is_leader: true) OR metricset.name: consumergroup) AND NOT kafka.topic.name:__consumer_offsets\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"0dcb8020-8e6d-11e8-bfab-6f29bad3a6f2\",\"label\":\"Consumer Groups\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.offset.newest\",\"id\":\"0dcb8021-8e6d-11e8-bfab-6f29bad3a6f2\",\"type\":\"max\"},{\"field\":\"kafka.consumergroup.offset\",\"id\":\"4bd11db0-8e6f-11e8-bfab-6f29bad3a6f2\",\"type\":\"max\"},{\"id\":\"e0742d50-8e78-11e8-abb3-cf57ca7a810c\",\"script\":\"def lag = params.partition - params.consumergroup; if (lag < 0) { return 0 } return lag\",\"type\":\"calculation\",\"variables\":[{\"field\":\"0dcb8021-8e6d-11e8-bfab-6f29bad3a6f2\",\"id\":\"e20d6af0-8e78-11e8-abb3-cf57ca7a810c\",\"name\":\"partition\"},{\"field\":\"4bd11db0-8e6f-11e8-bfab-6f29bad3a6f2\",\"id\":\"e6cc2b80-8e78-11e8-abb3-cf57ca7a810c\",\"name\":\"consumergroup\"}]}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_color_mode\":\"rainbow\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.topic.name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Kafka Consumer Group Lag vs Time [Metricbeat Kafka]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "587f2360-8f21-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "title": "Consumer Partition Reassignments [Metricbeat Kafka]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_max\":\"1\",\"axis_min\":\"-1\",\"axis_position\":\"right\",\"filter\":\"NOT kafka.topic.name:__consumer_offsets\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0\",\"formatter\":\"number\",\"hide_in_legend\":0,\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Consumer -> Partition Reassignment\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"kafka.consumergroup.partition\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"6b69c760-8f20-11e8-8927-d7e991b5b6ab\",\"type\":\"derivative\",\"unit\":\"\"},{\"id\":\"976f9d80-8f20-11e8-8927-d7e991b5b6ab\",\"script\":\"if (params.sum_partition < 0) { return -1 } else if (params.sum_partition > 0) { return 1 }\",\"type\":\"calculation\",\"variables\":[{\"field\":\"6b69c760-8f20-11e8-8927-d7e991b5b6ab\",\"id\":\"99cc2b20-8f20-11e8-8927-d7e991b5b6ab\",\"name\":\"sum_partition\"}]}],\"point_size\":\"20\",\"seperate_axis\":0,\"split_color_mode\":\"rainbow\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.consumergroup.id\",\"value_template\":\"\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Consumer Partition Reassignments [Metricbeat Kafka]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "27dd5960-d2ed-11e8-8766-dbbdc39e7ba9", + "_type": "visualization", + "_source": { + "title": "Kafka Broker Details [Metricbeat Kafka]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"7fb31e00-d2ec-11e8-88c8-af5b2a9ee6b2\"}],\"filter\":\"\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"pivot_id\":\"kafka.partition.partition.replica\",\"pivot_label\":\"Broker ID\",\"pivot_rows\":\"256\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Topics\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.topic.name\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.broker.id\",\"terms_size\":\"100\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"7e9ee780-d2ef-11e8-9dd4-c5f03280d7b0\"}],\"fill\":0.5,\"filter\":\"kafka.partition.partition.is_leader: true\",\"formatter\":\"number\",\"id\":\"b38e91a0-d2ec-11e8-88c8-af5b2a9ee6b2\",\"label\":\"Leader Partitions\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.topic_id\",\"id\":\"b38eb8b0-d2ec-11e8-88c8-af5b2a9ee6b2\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"d4d9d2c0-d2ec-11e8-88c8-af5b2a9ee6b2\"}],\"fill\":0.5,\"filter\":\"\",\"formatter\":\"number\",\"id\":\"cf09c940-d2ec-11e8-88c8-af5b2a9ee6b2\",\"label\":\"Replicas\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.topic_broker_id\",\"id\":\"cf09f050-d2ec-11e8-88c8-af5b2a9ee6b2\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"table\"},\"title\":\"Kafka Broker Details [Metricbeat Kafka]\",\"type\":\"metrics\"}", + "uiStateJSON": "{\"table\": {\"sort\": {\"column\": \"cf09c940-d2ec-11e8-88c8-af5b2a9ee6b2\", \"order\": \"asc\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "491fee50-d2f5-11e8-8766-dbbdc39e7ba9", + "_type": "visualization", + "_source": { + "title": "Kafka Topic Details [Metricbeat Kafka]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"f81e47a0-d2f3-11e8-9dd4-c5f03280d7b0\"}],\"filter\":\"NOT kafka.topic.name: __consumer_offsets\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"pivot_id\":\"kafka.topic.name\",\"pivot_label\":\"Topic Name\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"f07881d0-d2f5-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Brokers\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.broker.id\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"fb759e10-d2f5-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"7d640440-d2f4-11e8-9dd4-c5f03280d7b0\",\"label\":\"Partitions\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.id\",\"id\":\"7d640441-d2f4-11e8-9dd4-c5f03280d7b0\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"fdb1ab60-d2f5-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"ad26e260-d2f4-11e8-9dd4-c5f03280d7b0\",\"label\":\"Replicas\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.topic_broker_id\",\"id\":\"ad26e261-d2f4-11e8-9dd4-c5f03280d7b0\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"ff90f2b0-d2f5-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: consumergroup\",\"formatter\":\"number\",\"id\":\"26d2cd90-d2f5-11e8-9dd4-c5f03280d7b0\",\"label\":\"Consumers\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.consumergroup.client.id\",\"id\":\"26d2cd91-d2f5-11e8-9dd4-c5f03280d7b0\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"ea4984e0-d2f4-11e8-9dd4-c5f03280d7b0\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"dc390e20-d2f4-11e8-9dd4-c5f03280d7b0\",\"label\":\"Newest Offset\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.offset.newest\",\"id\":\"dc393530-d2f4-11e8-9dd4-c5f03280d7b0\",\"type\":\"max\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"color_rules\":[{\"id\":\"043b67f0-d2f6-11e8-95b9-eb9260148efc\"}],\"fill\":0.5,\"filter\":\" metricset.name: partition\",\"formatter\":\"number\",\"id\":\"11366c80-d2f5-11e8-9dd4-c5f03280d7b0\",\"label\":\"Oldest Offset\",\"line_width\":1,\"metrics\":[{\"field\":\"kafka.partition.offset.oldest\",\"id\":\"11366c81-d2f5-11e8-9dd4-c5f03280d7b0\",\"type\":\"min\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"table\"},\"title\":\"Kafka Topic Details [Metricbeat Kafka]\",\"type\":\"metrics\"}", + "uiStateJSON": "{\"table\": {\"sort\": {\"column\": \"_default_\", \"order\": \"asc\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a64b4fd0-471c-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Connections [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"4e35d500-471b-11e8-a520-3f46123ab5eb\"}],\"bar_color_rules\":[{\"id\":\"69899960-4719-11e8-a520-3f46123ab5eb\"}],\"filter\":\"haproxy.stat.component_type:(0 OR 1)\",\"gauge_color_rules\":[{\"id\":\"6f171ba0-4719-11e8-a520-3f46123ab5eb\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Number of connections\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"41ff3940-4719-11e8-a520-3f46123ab5eb\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"41ff3940-4719-11e8-a520-3f46123ab5eb\",\"id\":\"456a5fa0-4738-11e8-8633-8f8b3acf1566\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"series_drop_last_bucket\":1,\"split_color_mode\":\"rainbow\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"0ceb7740-471a-11e8-a520-3f46123ab5eb\"}],\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Connections [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "794b6cd0-471d-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Active servers in backend [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"color\":\"rgba(255,0,6,1)\",\"id\":\"1ec0dde0-471d-11e8-9876-09cc6c85f5f2\",\"operator\":\"lte\",\"value\":0}],\"bar_color_rules\":[{\"id\":\"297160c0-471d-11e8-9876-09cc6c85f5f2\"}],\"filter\":\"haproxy.stat.component_type:(2 OR 3)\",\"gauge_color_rules\":[{\"gauge\":\"rgba(255,0,5,1)\",\"id\":\"4ce156a0-471d-11e8-9876-09cc6c85f5f2\",\"operator\":\"lte\",\"text\":null,\"value\":0},{\"gauge\":\"rgba(255,196,0,1)\",\"id\":\"f8458a80-4721-11e8-b854-2f6d2b452362\",\"operator\":\"lte\",\"value\":0.5}],\"gauge_inner_width\":10,\"gauge_max\":\"1\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.status:UP\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Active servers\",\"line_width\":1,\"metrics\":[{\"denominator\":\"*\",\"field\":\"haproxy.stat.server.id\",\"id\":\"b754d060-471e-11e8-9876-09cc6c85f5f2\",\"metric_agg\":\"count\",\"numerator\":\"*\",\"script\":\"params.up / (params.down + params.up)\",\"type\":\"cardinality\",\"variables\":[{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"cfd51780-471e-11e8-9d35-6baabcdce3dc\",\"name\":\"down\"},{\"field\":\"a049c420-471e-11e8-9876-09cc6c85f5f2\",\"id\":\"45e6ec00-471f-11e8-9d35-6baabcdce3dc\",\"name\":\"up\"}]}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2cba9420-4724-11e8-b854-2f6d2b452362\",\"label\":\"Total servers\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.server.id\",\"id\":\"2cba9421-4724-11e8-b854-2f6d2b452362\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Active servers in backend [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "bb0ab500-4735-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Connections per server [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"978f2660-4735-11e8-b619-8f82b8185e96\"}],\"drilldown_url\":\"../app/kibana#/dashboard/8cc50a50-47e0-11e8-bc13-1397384faad3?_a=(query:(language:lucene,query:'haproxy.stat.service_name:\\\"{{ key }}\\\"'))\",\"filter\":\"haproxy.stat.component_type:(2 OR 3)\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Connections per server\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"3ea29000-4735-11e8-b619-8f82b8185e96\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.service_name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Connections per server [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "40bed190-473b-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Downtime seconds [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"c86b8e00-4739-11e8-8953-55bbe33e1362\"}],\"filter\":\"haproxy.stat.component_type:1\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,0,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Downtime\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.downtime\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"91aa6a20-473a-11e8-8953-55bbe33e1362\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"91aa6a20-473a-11e8-8953-55bbe33e1362\",\"id\":\"a8ce7ca0-473a-11e8-8953-55bbe33e1362\",\"sigma\":\"\",\"type\":\"sum_bucket\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\",\"value_template\":\"{{value}}s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Downtime seconds [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b3463670-47a1-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Average time in queue [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Average time in queue\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.queue.time.avg\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Average time in queue [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "86159190-47c5-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Traffic volume [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(164,221,0,1)\",\"fill\":\"0.5\",\"formatter\":\"bytes\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Incoming\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"haproxy.stat.in.bytes\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"9814c420-47c4-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":\"1\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(25,77,51,1)\",\"fill\":\"0.5\",\"formatter\":\"bytes\",\"id\":\"c89d1520-47c4-11e8-994c-81d2daeb7c86\",\"label\":\"Outgoing\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"haproxy.stat.out.bytes\",\"id\":\"c89d6340-47c4-11e8-994c-81d2daeb7c86\",\"type\":\"sum\"},{\"field\":\"c89d6340-47c4-11e8-994c-81d2daeb7c86\",\"id\":\"c89d6341-47c4-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"}],\"override_index_pattern\":0,\"point_size\":\"1\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Traffic volume [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fcbdfa60-47bd-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "HTTP response codes [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"200s\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.2xx\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"973a6de0-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"973a6de0-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"4971d580-47e5-11e8-b45e-f10c3845381c\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(64,240,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"aafd05e0-47bd-11e8-b7ab-dff70b15977c\",\"label\":\"300s\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.3xx\",\"id\":\"aafd05e1-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"aafd05e1-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"aafd05e2-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,246,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"c77191a0-47bd-11e8-b7ab-dff70b15977c\",\"label\":\"400s\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.4xx\",\"id\":\"c77191a1-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"c77191a1-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"c77191a2-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,0,4,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"d574e900-47bd-11e8-b7ab-dff70b15977c\",\"label\":\"500s\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.5xx\",\"id\":\"d574e901-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"d574e901-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"d5753720-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,251,255,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"e3b8a4c0-47bd-11e8-b7ab-dff70b15977c\",\"label\":\"Other\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.http.other\",\"id\":\"e3b8a4c1-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"e3b8a4c1-47bd-11e8-b7ab-dff70b15977c\",\"id\":\"e3b8a4c2-47bd-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(15,20,25,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"f9217d40-47be-11e8-b7ab-dff70b15977c\",\"label\":\"Response errors\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.errors\",\"id\":\"f9217d41-47be-11e8-b7ab-dff70b15977c\",\"type\":\"sum\"},{\"field\":\"f9217d41-47be-11e8-b7ab-dff70b15977c\",\"id\":\"1b7d4400-47bf-11e8-b7ab-dff70b15977c\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"HTTP response codes [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d3166e80-1b91-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "title": "Memory Usage Gauge [Metricbeat System]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"gauge_color_rules\":[{\"gauge\":\"rgba(104,188,0,1)\",\"id\":\"a0d522e0-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"value\":0},{\"gauge\":\"rgba(254,146,0,1)\",\"id\":\"b45ad8f0-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"value\":0.7},{\"gauge\":\"rgba(211,49,21,1)\",\"id\":\"c06e9550-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"value\":0.85}],\"gauge_inner_width\":10,\"gauge_max\":\"1\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"9f51b730-1b91-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"9f51b731-1b91-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Memory Usage\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.pct\",\"id\":\"9f51b732-1b91-11e7-bec4-a5e9ec5cab8b\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"title\":\"Memory Usage Gauge [Metricbeat System]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "022a54c0-2bf5-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "title": "Available pods per deployment [Metricbeat Kubernetes]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"id\":\"117fadf0-30df-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"64456840-30df-11e7-8df8-6d3604a72912\",\"label\":\"Available pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.available\",\"id\":\"64456841-30df-11e7-8df8-6d3604a72912\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"53d35ad0-30df-11e7-8df8-6d3604a72912\"}],\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.deployment.name\",\"terms_size\":\"10000\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Available pods per deployment [Metricbeat Kubernetes]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "44f12b40-2bf4-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "title": "CPU usage by node [Metricbeat Kubernetes]", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND (metricset.name:container OR metricset.name:state_node)\",\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.5\",\"formatter\":\"0.0a\",\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.container.cpu.usage.nanocores\",\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\"}],\"override_index_pattern\":0,\"point_size\":1,\"seperate_axis\":0,\"series_interval\":\"10s\",\"series_time_field\":\"@timestamp\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"terms_size\":\"10000\",\"value_template\":\"{{value}} nanocores\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(211,49,21,1)\",\"fill\":\"0\",\"formatter\":\"0.0a\",\"hide_in_legend\":1,\"id\":\"22f65d40-31a7-11e7-84cc-096d2b38e6e5\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.node.cpu.capacity.cores\",\"id\":\"22f65d41-31a7-11e7-84cc-096d2b38e6e5\",\"type\":\"avg\"},{\"id\":\"4af4c390-34d6-11e7-be88-cb6a123dc1bb\",\"script\":\"params.cores * 1000000000\",\"type\":\"calculation\",\"variables\":[{\"field\":\"22f65d41-31a7-11e7-84cc-096d2b38e6e5\",\"id\":\"4cd32080-34d6-11e7-be88-cb6a123dc1bb\",\"name\":\"cores\"}]}],\"override_index_pattern\":0,\"point_size\":\"0\",\"seperate_axis\":0,\"series_interval\":\"10s\",\"series_time_field\":\"@timestamp\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"22f65d41-31a7-11e7-84cc-096d2b38e6e5\",\"terms_size\":\"10000\",\"value_template\":\"{{value}} nanocores\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"CPU usage by node [Metricbeat Kubernetes]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "cd059410-2bfb-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "title": "Kubernetes - Deployments", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"67ee7da0-30e0-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"68cdba10-30e0-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"gauge_color_rules\":[{\"id\":\"69765620-30e0-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"4c4690b0-30e0-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"4c4690b1-30e0-11e7-8df8-6d3604a72912\",\"label\":\"Deployments\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.name\",\"id\":\"4c4690b2-30e0-11e7-8df8-6d3604a72912\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.deployment.name\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Deployments\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e1018b90-2bfb-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "title": "Kubernetes - Desired pods", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"508ffb30-30d5-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"674d83b0-30d5-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"gauge_color_rules\":[{\"id\":\"50f9b980-30d5-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":\"10\",\"gauge_max\":\"5\",\"gauge_style\":\"half\",\"gauge_width\":\"10\",\"id\":\"2fe9d3b0-30d5-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2fe9d3b1-30d5-11e7-8df8-6d3604a72912\",\"label\":\"Desired Pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.desired\",\"id\":\"54cf79a0-30d5-11e7-8df8-6d3604a72912\",\"type\":\"sum\"}],\"override_index_pattern\":1,\"point_size\":1,\"seperate_axis\":0,\"series_interval\":\"10s\",\"series_time_field\":\"@timestamp\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Desired pods\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d6564360-2bfc-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "title": "Memory usage by node [Metricbeat Kubernetes]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND (metricset.name:container OR metricset.name:state_node)\",\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.container.memory.usage.bytes\",\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"id\":\"9f0cf900-1ffb-11e8-81f2-43be86397500\",\"type\":\"cumulative_sum\"},{\"field\":\"9f0cf900-1ffb-11e8-81f2-43be86397500\",\"id\":\"a926e130-1ffb-11e8-81f2-43be86397500\",\"type\":\"derivative\",\"unit\":\"10s\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"terms_size\":\"10000\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(211,49,21,1)\",\"fill\":\"0\",\"formatter\":\"bytes\",\"hide_in_legend\":1,\"id\":\"8ba3b270-31a7-11e7-84cc-096d2b38e6e5\",\"label\":\"Node capacity\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.node.memory.capacity.bytes\",\"id\":\"8ba3b271-31a7-11e7-84cc-096d2b38e6e5\",\"type\":\"sum\"},{\"field\":\"8ba3b271-31a7-11e7-84cc-096d2b38e6e5\",\"id\":\"d1fb2670-1ffb-11e8-81f2-43be86397500\",\"type\":\"cumulative_sum\"},{\"field\":\"d1fb2670-1ffb-11e8-81f2-43be86397500\",\"id\":\"dc8b01f0-1ffb-11e8-81f2-43be86397500\",\"type\":\"derivative\",\"unit\":\"10s\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"8ba3b271-31a7-11e7-84cc-096d2b38e6e5\",\"terms_size\":\"10000\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Memory usage by node [Metricbeat Kubernetes]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1cfb1a80-a1f4-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "title": "Access logs over time [Filebeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"annotations\":[{\"color\":\"#F00\",\"icon\":\"fa-tag\",\"id\":\"970b1420-a1f3-11e7-a062-a1c3587f4874\",\"ignore_global_filters\":1,\"ignore_panel_filters\":1,\"index_pattern\":\"filebeat-*\",\"time_field\":\"@timestamp\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"3189aa80-a1f3-11e7-a062-a1c3587f4874\"}],\"filter\":\"fileset.module:nginx AND fileset.name:access\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Access logs\",\"line_width\":1,\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"1db649a0-a1f3-11e7-a062-a1c3587f4874\"}],\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"nginx.access.url\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Access logs over time [Filebeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ab2d1e90-1b1a-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "CPU Usage [Metricbeat System]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"80a04950-1b19-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"80a04951-1b19-11e7-b09e-037021c4f8df\",\"label\":\"user\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.user.pct\",\"id\":\"80a04952-1b19-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(211,49,21,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"993acf30-1b19-11e7-b09e-037021c4f8df\",\"label\":\"system\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.system.pct\",\"id\":\"993acf31-1b19-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(123,100,255,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"65ca35e0-1b1a-11e7-b09e-037021c4f8df\",\"label\":\"nice\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.nice.pct\",\"id\":\"65ca5cf0-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(226,115,0,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"741b5f20-1b1a-11e7-b09e-037021c4f8df\",\"label\":\"irq\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.irq.pct\",\"id\":\"741b5f21-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(176,188,0,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"2efc5d40-1b1a-11e7-b09e-037021c4f8df\",\"label\":\"softirq\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.softirq.pct\",\"id\":\"2efc5d41-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(15,20,25,1)\",\"fill\":\"1\",\"formatter\":\"percent\",\"id\":\"ae644a30-1b19-11e7-b09e-037021c4f8df\",\"label\":\"iowait\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.iowait.pct\",\"id\":\"ae644a31-1b19-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"CPU Usage [Metricbeat System]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "6ec10290-f4aa-11e7-8647-534bb4c21040", + "_type": "visualization", + "_source": { + "title": "Info OSSEC rootkit [Osquery Result]", + "visState": "{\"type\":\"markdown\",\"params\":{\"markdown\":\"This dashboard shows data collected by the ossec-rootkit pack from osquery.\",\"fontSize\":12},\"aggs\":[],\"title\":\"Info OSSEC rootkit [Osquery Result]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2d6e0760-f4ab-11e7-8647-534bb4c21040", + "_type": "visualization", + "_source": { + "title": "Navigation [Osquery Result]", + "visState": "{\"type\":\"markdown\",\"params\":{\"markdown\":\"[Compilance](#/dashboard/69f5ae20-eb02-11e7-8f04-51231daa5b05) | [OSSEC Rootkit](#/dashboard/c0a7ce90-f4aa-11e7-8647-534bb4c21040)\",\"fontSize\":10},\"aggs\":[],\"title\":\"Navigation [Osquery Result]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4d546850-1b15-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "System Load [Metricbeat System]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"f6264ad0-1b14-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(115,216,255,1)\",\"fill\":\"0\",\"formatter\":\"number\",\"id\":\"f62671e0-1b14-11e7-b09e-037021c4f8df\",\"label\":\"1m\",\"line_width\":\"3\",\"metrics\":[{\"field\":\"system.load.1\",\"id\":\"f62671e1-1b14-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"0\",\"formatter\":\"number\",\"id\":\"1c324850-1b15-11e7-b09e-037021c4f8df\",\"label\":\"5m\",\"line_width\":\"3\",\"metrics\":[{\"field\":\"system.load.5\",\"id\":\"1c324851-1b15-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,98,177,1)\",\"fill\":\"0\",\"formatter\":\"number\",\"id\":\"3287e740-1b15-11e7-b09e-037021c4f8df\",\"label\":\"15m\",\"line_width\":\"3\",\"metrics\":[{\"field\":\"system.load.15\",\"id\":\"32880e50-1b15-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"System Load [Metricbeat System]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "bfa5e400-1b16-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Memory Usage [Metricbeat System]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"32f46f40-1b16-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(211,49,21,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"4ff61fd0-1b16-11e7-b09e-037021c4f8df\",\"label\":\"Used\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.bytes\",\"id\":\"4ff61fd1-1b16-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"753a6080-1b16-11e7-b09e-037021c4f8df\",\"label\":\"Cache\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.bytes\",\"id\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"type\":\"avg\"},{\"field\":\"system.memory.used.bytes\",\"id\":\"7c9d3f00-1b16-11e7-b09e-037021c4f8df\",\"type\":\"avg\"},{\"id\":\"869cc160-1b16-11e7-b09e-037021c4f8df\",\"script\":\"params.actual != null && params.used != null ? params.used - params.actual : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"753a6081-1b16-11e7-b09e-037021c4f8df\",\"id\":\"890f9620-1b16-11e7-b09e-037021c4f8df\",\"name\":\"actual\"},{\"field\":\"7c9d3f00-1b16-11e7-b09e-037021c4f8df\",\"id\":\"8f3ab7f0-1b16-11e7-b09e-037021c4f8df\",\"name\":\"used\"}]}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"32f46f41-1b16-11e7-b09e-037021c4f8df\",\"label\":\"Free\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.free\",\"id\":\"32f46f42-1b16-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"stacked\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Memory Usage [Metricbeat System]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b9d12c80-8e63-11e8-8fa2-3d5f811fbd0f", + "_type": "visualization", + "_source": { + "title": "Kafka Topic & Consumer Offsets [Metricbeat Kafka]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"8b27e6a0-8e61-11e8-b741-c3e458b74a68\"}],\"filter\":\"NOT kafka.topic.name:__consumer_offsets\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"bar\",\"color\":\"rgba(244,78,59,1)\",\"fill\":\"0.1\",\"filter\":\"metricset.name: partition AND kafka.partition.partition.is_leader: true\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Topic Offsets\",\"line_width\":\"0.5\",\"metrics\":[{\"field\":\"kafka.partition.offset.newest\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_color_mode\":\"rainbow\",\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.topic.name\",\"terms_order_by\":\"_term\",\"value_template\":\"{{value}}\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(244,78,59,0.52)\",\"fill\":\"0\",\"filter\":\"metricset.name: consumergroup\",\"formatter\":\"number\",\"id\":\"d43034c0-8f1e-11e8-8784-cd0acd161a28\",\"label\":\"Consumer Offsets\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"kafka.consumergroup.offset\",\"id\":\"d43034c1-8f1e-11e8-8784-cd0acd161a28\",\"type\":\"sum\"}],\"point_size\":\"1.5\",\"seperate_axis\":0,\"split_color_mode\":\"rainbow\",\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"dd41ada0-8f1e-11e8-8784-cd0acd161a28\"}],\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kafka.consumergroup.id\",\"terms_order_by\":\"_term\",\"value_template\":\"{{value}}\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Kafka Topic & Consumer Offsets [Metricbeat Kafka]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "26732e20-1b91-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "title": "Load Gauge [Metricbeat System]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"feefabd0-1b90-11e7-bec4-a5e9ec5cab8b\"}],\"gauge_color_rules\":[{\"id\":\"ffd94880-1b90-11e7-bec4-a5e9ec5cab8b\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"fdcc6180-1b90-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"fdcc6181-1b90-11e7-bec4-a5e9ec5cab8b\",\"label\":\"5m Load\",\"line_width\":1,\"metrics\":[{\"field\":\"system.load.5\",\"id\":\"fdcc6182-1b90-11e7-bec4-a5e9ec5cab8b\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"title\":\"Load Gauge [Metricbeat System]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "19e123b0-4d5a-11e7-aee5-fdc812cc3bec", + "_type": "visualization", + "_source": { + "title": "Swap usage [Metricbeat System]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"gauge_color_rules\":[{\"gauge\":\"rgba(104,188,0,1)\",\"id\":\"d17c1e90-4d59-11e7-aee5-fdc812cc3bec\",\"operator\":\"gte\",\"value\":0},{\"gauge\":\"rgba(251,158,0,1)\",\"id\":\"fc1d3490-4d59-11e7-aee5-fdc812cc3bec\",\"operator\":\"gte\",\"value\":0.7},{\"gauge\":\"rgba(211,49,21,1)\",\"id\":\"0e204240-4d5a-11e7-aee5-fdc812cc3bec\",\"operator\":\"gte\",\"value\":0.85}],\"gauge_inner_width\":10,\"gauge_max\":\"\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"cee2fd20-4d59-11e7-aee5-fdc812cc3bec\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"cee2fd21-4d59-11e7-aee5-fdc812cc3bec\",\"label\":\"Swap usage\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.swap.used.pct\",\"id\":\"cee2fd22-4d59-11e7-aee5-fdc812cc3bec\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"title\":\"Swap usage [Metricbeat System]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d2e80340-4d5c-11e7-aa29-87a97a796de6", + "_type": "visualization", + "_source": { + "title": "Memory usage vs total", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"6f7618b0-4d5c-11e7-aa29-87a97a796de6\"}],\"id\":\"6bc65720-4d5c-11e7-aa29-87a97a796de6\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"6bc65721-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Memory usage\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.bytes\",\"id\":\"6bc65722-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"b8fe6820-4d5c-11e7-aa29-87a97a796de6\",\"label\":\"Total Memory\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.total\",\"id\":\"b8fe6821-4d5c-11e7-aa29-87a97a796de6\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Memory usage vs total\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "96976150-4d5d-11e7-aa29-87a97a796de6", + "_type": "visualization", + "_source": { + "title": "Packetloss [Metricbeat System]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"6ba9b1f0-4d5d-11e7-aa29-87a97a796de6\"}],\"id\":\"6984af10-4d5d-11e7-aa29-87a97a796de6\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"6984af11-4d5d-11e7-aa29-87a97a796de6\",\"label\":\"In Packetloss\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.in.dropped\",\"id\":\"6984af12-4d5d-11e7-aa29-87a97a796de6\",\"type\":\"max\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"ac2e6b30-4d5d-11e7-aa29-87a97a796de6\",\"label\":\"Out Packetloss\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.out.dropped\",\"id\":\"ac2e6b31-4d5d-11e7-aa29-87a97a796de6\",\"type\":\"max\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Packetloss [Metricbeat System]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "3d65d450-a9c3-11e7-af20-67db8aecb295", + "_type": "visualization", + "_source": { + "title": "Tip [Metricbeat System]", + "visState": "{\"type\":\"markdown\",\"params\":{\"markdown\":\"**TIP:** To select another host, go to the [System Overview](#/dashboard/Metricbeat-system-overview) dashboard and double-click a host name.\",\"fontSize\":12},\"aggs\":[],\"title\":\"Tip [Metricbeat System]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "981d1040-47be-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Average response time [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"ms,ms,0\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Average response time\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.response.time.avg\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}}ms\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Average response time [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "30956d00-47d7-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Requests [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Requests\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.request.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"ad38e2c0-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"ad38e2c0-47d6-11e8-994c-81d2daeb7c86\",\"id\":\"b1ca03a0-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,0,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"c2f30500-47d6-11e8-994c-81d2daeb7c86\",\"label\":\"Request errors\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.request.errors\",\"id\":\"c2f30501-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"max\"},{\"field\":\"c2f30501-47d6-11e8-994c-81d2daeb7c86\",\"id\":\"c2f30502-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"c2f30502-47d6-11e8-994c-81d2daeb7c86\",\"id\":\"c2f30503-47d6-11e8-994c-81d2daeb7c86\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,0,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"11968ce0-47d7-11e8-994c-81d2daeb7c86\",\"label\":\"Denied requests\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.request.denied\",\"id\":\"11968ce1-47d7-11e8-994c-81d2daeb7c86\",\"type\":\"max\"},{\"field\":\"11968ce1-47d7-11e8-994c-81d2daeb7c86\",\"id\":\"11968ce2-47d7-11e8-994c-81d2daeb7c86\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"11968ce2-47d7-11e8-994c-81d2daeb7c86\",\"id\":\"11968ce3-47d7-11e8-994c-81d2daeb7c86\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Requests [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0751ed00-479c-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Average connection time [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.1\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Percentile\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"haproxy.stat.connection.time.avg\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"percentiles\":[{\"id\":\"9fa517e0-479b-11e8-9590-e34c5ed2dd95\",\"mode\":\"line\",\"percentile\":\"\",\"shade\":0.2,\"value\":\"99\"},{\"id\":\"daafd6e0-479b-11e8-9590-e34c5ed2dd95\",\"mode\":\"line\",\"percentile\":\"\",\"shade\":0.2,\"value\":\"90\"},{\"id\":\"e006b8c0-479b-11e8-9590-e34c5ed2dd95\",\"mode\":\"line\",\"percentile\":\"\",\"shade\":0.2,\"value\":\"50\"}],\"type\":\"percentile\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.service_name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Average connection time [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "72e84b00-47e1-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Number of server connections [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.component_type:(2 OR 3)\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Number of connections\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"22668d40-47e1-11e8-96ee-d767c73d008a\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"22668d40-47e1-11e8-96ee-d767c73d008a\",\"id\":\"2a1d0a00-47e1-11e8-96ee-d767c73d008a\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.service_name\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Number of server connections [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "976b0910-47e4-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Healthcheck [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,0,4,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"198f56e0-47e4-11e8-b45e-f10c3845381c\",\"label\":\"Down\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.downtime\",\"id\":\"198f56e1-47e4-11e8-b45e-f10c3845381c\",\"type\":\"sum\"},{\"field\":\"198f56e1-47e4-11e8-b45e-f10c3845381c\",\"id\":\"dbf38560-47e6-11e8-b45e-f10c3845381c\",\"sigma\":\"\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"dbf38560-47e6-11e8-b45e-f10c3845381c\",\"id\":\"62274b80-47e7-11e8-b45e-f10c3845381c\",\"type\":\"positive_only\",\"unit\":\"\"},{\"id\":\"7b7a7300-47e7-11e8-b45e-f10c3845381c\",\"script\":\"(params.down > 0) ? 1 : 0\",\"type\":\"calculation\",\"variables\":[{\"field\":\"62274b80-47e7-11e8-b45e-f10c3845381c\",\"id\":\"7e577b40-47e7-11e8-b45e-f10c3845381c\",\"name\":\"down\"}]}],\"point_size\":1,\"seperate_axis\":1,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(255,218,0,1)\",\"fill\":0.5,\"formatter\":\"ms,ms,0\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Duration (ms)\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.check.duration\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Healthcheck [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "79350d50-47db-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Servers per connection [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"50830800-47d9-11e8-9db9-274c7a5e25e4\"}],\"drilldown_url\":\"../app/kibana#/dashboard/8cc50a50-47e0-11e8-bc13-1397384faad3?_a=(query:(language:lucene,query:'haproxy.stat.service_name:\\\"{{ key }}\\\"'))\",\"filter\":\"\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"ignore_global_filter\":0,\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"markdown\":\"{{#each _all}}\\n{{ label }}\\n\\n{{/each}}\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.component_type:(2 OR 3)\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Servers\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.service_name\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"20\",\"var_name\":\"\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Servers per connection [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8c8f0300-47dc-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Backends per connection [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"4aeddd40-47dc-11e8-9db9-274c7a5e25e4\"}],\"drilldown_url\":\"../app/kibana#/dashboard/0836a4b0-47bd-11e8-bc13-1397384faad3?_a=(query:(language:lucene,query:'haproxy.stat.proxy.name:\\\"{{ key }}\\\"'))\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.component_type:1\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Backends\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"20\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Backends per connection [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f1e27ed0-47dc-11e8-bc13-1397384faad3", + "_type": "visualization", + "_source": { + "title": "Frontends per connection [Metricbeat HAProxy]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"b81d8640-47dc-11e8-9a25-99b107967d82\"}],\"drilldown_url\":\"../app/kibana#/dashboard/e9057ae0-47c5-11e8-bc13-1397384faad3?_a=(query:(language:lucene,query:'haproxy.stat.proxy.name:\\\"{{ key }}\\\"'))\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"filter\":\"haproxy.stat.component_type:0\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Frontends\",\"line_width\":1,\"metrics\":[{\"field\":\"haproxy.stat.connection.total\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"haproxy.stat.proxy.name\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"20\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Frontends per connection [Metricbeat HAProxy]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7cbeb750-5794-11e8-afa2-e9067ea62228", + "_type": "visualization", + "_source": { + "title": "Kubernetes API Server: Top clients by number of requests", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"61a13010-5794-11e8-8bd0-2180975e72dd\"}],\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"5m\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"filter\":\"\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Top clients by number of requests (5m)\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.apiserver.request.count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"0e6ff4a0-5792-11e8-8bd0-2180975e72dd\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"9e4b8030-5792-11e8-8bd0-2180975e72dd\"}],\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.apiserver.request.client\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"10\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Kubernetes API Server: Top clients by number of requests\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ec360ff0-57a0-11e8-afa2-e9067ea62228", + "_type": "visualization", + "_source": { + "title": "Kubernetes API Server: Requests", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(159,5,0,1)\",\"fill\":\"0\",\"filter\":\"NOT (kubernetes.apiserver.request.verb: WATCH or kubernetes.apiserver.request.verb: CONNECT)\",\"formatter\":\"us,ms,2\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Avg response time\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.apiserver.request.latency.sum\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"kubernetes.apiserver.request.count\",\"id\":\"a2185e50-57a0-11e8-af57-a1d645d2b569\",\"type\":\"sum\"},{\"id\":\"b09133d0-57a0-11e8-af57-a1d645d2b569\",\"script\":\"params.sum / params.count\",\"type\":\"calculation\",\"variables\":[{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"b27c8910-57a0-11e8-af57-a1d645d2b569\",\"name\":\"sum\"},{\"field\":\"a2185e50-57a0-11e8-af57-a1d645d2b569\",\"id\":\"b5fc8810-57a0-11e8-af57-a1d645d2b569\",\"name\":\"count\"}]}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}} ms\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(22,165,165,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"c0019340-57a1-11e8-a049-ff54cef064a2\",\"label\":\"Requests rate\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.apiserver.request.count\",\"id\":\"c001ba50-57a1-11e8-a049-ff54cef064a2\",\"type\":\"sum\"},{\"field\":\"c001ba50-57a1-11e8-a049-ff54cef064a2\",\"id\":\"dc83b390-57a1-11e8-a049-ff54cef064a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":1,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Kubernetes API Server: Requests\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "95a7f110-57a2-11e8-afa2-e9067ea62228", + "_type": "visualization", + "_source": { + "title": "Kubernetes API Server: Top clients by resource", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"61a13010-5794-11e8-8bd0-2180975e72dd\"}],\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"5m\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"filter\":\"\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Top clients by number of requests (5m)\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.apiserver.request.count\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"0e6ff4a0-5792-11e8-8bd0-2180975e72dd\",\"type\":\"derivative\",\"unit\":\"\"}],\"override_index_pattern\":0,\"point_size\":1,\"seperate_axis\":0,\"series_drop_last_bucket\":1,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"9e4b8030-5792-11e8-8bd0-2180975e72dd\"}],\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.apiserver.request.resource\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"terms_size\":\"10\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Kubernetes API Server: Top clients by resource\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "System-Navigation", + "_type": "visualization", + "_source": { + "title": "System Navigation [Metricbeat System]", + "visState": "{\"type\":\"markdown\",\"params\":{\"markdown\":\"[System Overview](#/dashboard/Metricbeat-system-overview) | [Host Overview](#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8) |\\n[Containers overview](#/dashboard/CPU-slash-Memory-per-container)\",\"fontSize\":12},\"aggs\":[],\"title\":\"System Navigation [Metricbeat System]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-Network-IO", + "_type": "visualization", + "_source": { + "title": "Network IO [Metricbeat Docker]", + "visState": "{\"type\":\"area\",\"listeners\":{},\"params\":{\"scale\":\"linear\",\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"type\":\"area\",\"interpolate\":\"linear\",\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"data\":{\"id\":\"1\",\"label\":\"Count\"}}],\"yAxis\":{},\"smoothLines\":true,\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"top\",\"addTimeMarker\":false,\"interpolate\":\"linear\",\"addLegend\":true,\"shareYAxis\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}],\"times\":[]},\"aggs\":[{\"params\":{\"field\":\"docker.network.in.bytes\",\"customLabel\":\"IN bytes\"},\"type\":\"max\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"docker.container.name\",\"customLabel\":\"Container name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"},{\"params\":{\"field\":\"docker.network.out.bytes\",\"customLabel\":\"OUT bytes\"},\"type\":\"max\",\"enabled\":true,\"id\":\"4\",\"schema\":\"metric\"}],\"title\":\"Network IO [Metricbeat Docker]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:docker AND metricset.name:network\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "590a60f0-5d87-11e7-8884-1bb4c3b890e4", + "_type": "visualization", + "_source": { + "title": "Number of processes [Metricbeat System]", + "visState": "{\"type\":\"metric\",\"listeners\":{},\"params\":{\"gauge\":{\"useRange\":false,\"gaugeType\":\"Metric\",\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"fontSize\":60,\"subText\":\"\",\"labelColor\":false},\"colorSchema\":\"Green to Red\",\"invertColors\":false,\"orientation\":\"vertical\",\"gaugeStyle\":\"Full\",\"autoExtend\":false,\"labels\":{\"color\":\"black\",\"show\":true},\"backStyle\":\"Full\",\"colorsRange\":[{\"to\":100,\"from\":0}],\"scale\":{\"color\":\"#333\",\"width\":2,\"labels\":false,\"show\":false},\"verticalSplit\":false,\"percentageMode\":false,\"type\":\"simple\",\"gaugeColorMode\":\"None\"},\"type\":\"gauge\",\"addTooltip\":true,\"addLegend\":false},\"aggs\":[{\"params\":{\"field\":\"system.process.pid\",\"customLabel\":\"Processes\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"}],\"title\":\"Number of processes [Metricbeat System]\"}", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4e4bb1e0-1b1b-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Disk IO (Bytes) [Metricbeat System]", + "visState": "{\"title\":\"Disk IO (Bytes) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"id\":\"d3c67db0-1b1a-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(22,165,165,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"d3c67db1-1b1a-11e7-b09e-037021c4f8df\",\"label\":\"reads\",\"line_width\":1,\"metrics\":[{\"field\":\"system.diskio.read.bytes\",\"id\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"max\"},{\"field\":\"d3c67db2-1b1a-11e7-b09e-037021c4f8df\",\"id\":\"f55b9910-1b1a-11e7-b09e-037021c4f8df\",\"type\":\"derivative\",\"unit\":\"1s\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(251,158,0,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"144124d0-1b1b-11e7-b09e-037021c4f8df\",\"label\":\"writes\",\"line_width\":1,\"metrics\":[{\"field\":\"system.diskio.write.bytes\",\"id\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"type\":\"max\"},{\"field\":\"144124d1-1b1b-11e7-b09e-037021c4f8df\",\"id\":\"144124d2-1b1b-11e7-b09e-037021c4f8df\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"id\":\"144124d4-1b1b-11e7-b09e-037021c4f8df\",\"script\":\"params.rate > 0 ? params.rate * -1 : 0\",\"type\":\"calculation\",\"variables\":[{\"field\":\"144124d2-1b1b-11e7-b09e-037021c4f8df\",\"id\":\"144124d3-1b1b-11e7-b09e-037021c4f8df\",\"name\":\"rate\"}]}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}}/s\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-CPU-usage", + "_type": "visualization", + "_source": { + "title": "CPU usage [Metricbeat Docker]", + "visState": "{\"type\":\"area\",\"listeners\":{},\"params\":{\"scale\":\"linear\",\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"type\":\"area\",\"interpolate\":\"linear\",\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"data\":{\"id\":\"1\",\"label\":\"Count\"}}],\"yAxis\":{},\"smoothLines\":true,\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"top\",\"addTimeMarker\":false,\"interpolate\":\"linear\",\"addLegend\":true,\"shareYAxis\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}],\"times\":[]},\"aggs\":[{\"params\":{\"field\":\"docker.cpu.total.pct\",\"customLabel\":\"Total CPU time\",\"percents\":[75]},\"type\":\"percentiles\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1.75\",\"field\":\"docker.container.name\",\"customLabel\":\"Container name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"CPU usage [Metricbeat Docker]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:docker AND metricset.name:cpu\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-memory-usage", + "_type": "visualization", + "_source": { + "title": "Memory usage [Metricbeat Docker]", + "visState": "{\"type\":\"area\",\"listeners\":{},\"params\":{\"scale\":\"linear\",\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"type\":\"area\",\"interpolate\":\"linear\",\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"data\":{\"id\":\"1\",\"label\":\"Count\"}}],\"yAxis\":{},\"smoothLines\":false,\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"top\",\"addTimeMarker\":false,\"interpolate\":\"linear\",\"addLegend\":true,\"shareYAxis\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}],\"times\":[]},\"aggs\":[{\"params\":{\"field\":\"docker.memory.usage.total\",\"customLabel\":\"Memory\"},\"type\":\"max\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"docker.container.name\",\"customLabel\":\"Container name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Memory usage [Metricbeat Docker]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"highlight\":{\"fields\":{\"*\":{}},\"fragment_size\":2147483647,\"post_tags\":[\"@/kibana-highlighted-field@\"],\"pre_tags\":[\"@kibana-highlighted-field@\"],\"require_field_match\":false},\"index\":\"metricbeat-systems-*\",\"query\":{\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"metricset.module:docker AND metricset.name:memory\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "83e12df0-1b91-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "title": "CPU Usage Gauge [Metricbeat System]", + "visState": "{\"title\":\"CPU Usage Gauge [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"gauge_color_rules\":[{\"value\":0,\"gauge\":\"rgba(104,188,0,1)\",\"id\":\"4ef2c3b0-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"opperator\":\"gt\"},{\"value\":0.7,\"gauge\":\"rgba(254,146,0,1)\",\"id\":\"e6561ae0-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"opperator\":\"gte\"},{\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\",\"id\":\"ec655040-1b91-11e7-bec4-a5e9ec5cab8b\",\"operator\":\"gte\",\"opperator\":\"gt\"}],\"gauge_inner_width\":10,\"gauge_max\":\"1\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"4c9e2550-1b91-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"4c9e2551-1b91-11e7-bec4-a5e9ec5cab8b\",\"label\":\"CPU Usage\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.user.pct\",\"id\":\"4c9e2552-1b91-11e7-bec4-a5e9ec5cab8b\",\"type\":\"avg\"},{\"field\":\"system.cpu.system.pct\",\"id\":\"225c2140-5fd7-11e7-a63a-a937b7c1a7e1\",\"type\":\"avg\"},{\"field\":\"system.cpu.cores\",\"id\":\"837a30c0-5fd7-11e7-a63a-a937b7c1a7e1\",\"type\":\"avg\"},{\"id\":\"587aa510-1b91-11e7-bec4-a5e9ec5cab8b\",\"script\":\"params.n > 0 ? (params.user+params.system)/params.n : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"4c9e2552-1b91-11e7-bec4-a5e9ec5cab8b\",\"id\":\"5a19af10-1b91-11e7-bec4-a5e9ec5cab8b\",\"name\":\"user\"},{\"field\":\"225c2140-5fd7-11e7-a63a-a937b7c1a7e1\",\"id\":\"32b54f80-5fd7-11e7-a63a-a937b7c1a7e1\",\"name\":\"system\"},{\"field\":\"837a30c0-5fd7-11e7-a63a-a937b7c1a7e1\",\"id\":\"8ba6eef0-5fd7-11e7-a63a-a937b7c1a7e1\",\"name\":\"n\"}]}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"beat.hostname.keyword\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "6b7b9a40-faa1-11e6-86b1-cd7735ff7e23", + "_type": "visualization", + "_source": { + "title": "Network Traffic (Packets) [Metricbeat System]", + "visState": "{\"title\":\"Network Traffic (Packets) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"-system.network.name:l*\",\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"1\",\"formatter\":\"0.[00]a\",\"id\":\"da1046f1-faa0-11e6-86b1-cd7735ff7e23\",\"label\":\"Inbound\",\"line_width\":\"0\",\"metrics\":[{\"field\":\"system.network.in.packets\",\"id\":\"da1046f2-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"max\"},{\"field\":\"da1046f2-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"f41f9280-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"function\":\"sum\",\"id\":\"ecaad010-2c2c-11e7-be71-3162da85303f\",\"type\":\"series_agg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name.keyword\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(250,40,255,1)\",\"fill\":\"1\",\"formatter\":\"0.[00]a\",\"id\":\"fbbd5720-faa0-11e6-86b1-cd7735ff7e23\",\"label\":\"Outbound\",\"line_width\":\"0\",\"metrics\":[{\"field\":\"system.network.out.packets\",\"id\":\"fbbd7e30-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"max\"},{\"field\":\"fbbd7e30-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"fbbd7e31-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"id\":\"17e597a0-faa1-11e6-86b1-cd7735ff7e23\",\"script\":\"params.rate != null && params.rate > 0 ? params.rate * -1 : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"fbbd7e31-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"1940bad0-faa1-11e6-86b1-cd7735ff7e23\",\"name\":\"rate\"}]},{\"function\":\"sum\",\"id\":\"fe5fbdc0-2c2c-11e7-be71-3162da85303f\",\"type\":\"series_agg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name.keyword\",\"value_template\":\"{{value}}/s\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\",\"show_grid\":1},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "089b85d0-1b16-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Network Traffic (Bytes) [Metricbeat System]", + "visState": "{\"title\":\"Network Traffic (Bytes) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"-system.network.name:l*\",\"id\":\"da1046f0-faa0-11e6-86b1-cd7735ff7e23\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"da1046f1-faa0-11e6-86b1-cd7735ff7e23\",\"label\":\"Inbound \",\"line_width\":\"0\",\"metrics\":[{\"field\":\"system.network.in.bytes\",\"id\":\"da1046f2-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"max\"},{\"field\":\"da1046f2-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"f41f9280-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"function\":\"sum\",\"id\":\"2d533df0-2c2d-11e7-be71-3162da85303f\",\"type\":\"series_agg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name.keyword\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(250,40,255,1)\",\"fill\":\"1\",\"formatter\":\"bytes\",\"id\":\"fbbd5720-faa0-11e6-86b1-cd7735ff7e23\",\"label\":\"Outbound \",\"line_width\":\"0\",\"metrics\":[{\"field\":\"system.network.out.bytes\",\"id\":\"fbbd7e30-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"max\"},{\"field\":\"fbbd7e30-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"fbbd7e31-faa0-11e6-86b1-cd7735ff7e23\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"id\":\"17e597a0-faa1-11e6-86b1-cd7735ff7e23\",\"script\":\"params.rate != null && params.rate > 0 ? params.rate * -1 : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"fbbd7e31-faa0-11e6-86b1-cd7735ff7e23\",\"id\":\"1940bad0-faa1-11e6-86b1-cd7735ff7e23\",\"name\":\"rate\"}]},{\"function\":\"sum\",\"id\":\"533da9b0-2c2d-11e7-be71-3162da85303f\",\"type\":\"series_agg\"}],\"point_size\":\"0\",\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name.keyword\",\"value_template\":\"{{value}}/s\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\",\"show_grid\":1},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7aac4fd0-30e0-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "title": "Unavailable pods per deployment [Metricbeat Kubernetes]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"id\":\"117fadf0-30df-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(254,146,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"64456840-30df-11e7-8df8-6d3604a72912\",\"label\":\"Unavailable pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.unavailable\",\"id\":\"64456841-30df-11e7-8df8-6d3604a72912\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"53d35ad0-30df-11e7-8df8-6d3604a72912\"}],\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.deployment.name\",\"terms_size\":\"10000\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Unavailable pods per deployment [Metricbeat Kubernetes]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "da1ff7c0-30ed-11e7-b9e5-2b5b07213ab3", + "_type": "visualization", + "_source": { + "title": "Kubernetes - Available pods", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"508ffb30-30d5-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"674d83b0-30d5-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"gauge_color_rules\":[{\"id\":\"50f9b980-30d5-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":\"10\",\"gauge_max\":\"5\",\"gauge_style\":\"half\",\"gauge_width\":\"10\",\"id\":\"2fe9d3b0-30d5-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2fe9d3b1-30d5-11e7-8df8-6d3604a72912\",\"label\":\"Available Pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.available\",\"id\":\"54cf79a0-30d5-11e7-8df8-6d3604a72912\",\"type\":\"sum\"}],\"override_index_pattern\":1,\"point_size\":1,\"seperate_axis\":0,\"series_index_pattern\":\"*\",\"series_interval\":\"10s\",\"series_time_field\":\"@timestamp\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Available pods\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "00d39210-050d-11e9-9c60-d582a238e2c5", + "_type": "visualization", + "_source": { + "title": "Keyspace selector [Redis]", + "visState": "{\"type\":\"input_control_vis\",\"params\":{\"pinFilters\":false,\"useTimeFilter\":false,\"updateFiltersOnChange\":true,\"controls\":[{\"parent\":\"\",\"id\":\"1545388837304\",\"fieldName\":\"redis.keyspace.id\",\"indexPattern\":\"bc2e8280-0509-11e9-9c60-d582a238e2c5\",\"label\":\"Keyspace\",\"type\":\"list\",\"options\":{\"type\":\"terms\",\"size\":5,\"multiselect\":true,\"dynamicOptions\":true,\"order\":\"desc\"}}]},\"aggs\":[],\"title\":\"Keyspace selector [Redis]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d7e6bee0-f1f3-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "title": "Connections rate [Metricbeat MySQL]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Connections rate\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.connections\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"aee9bbf0-f1f3-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Connections rate [Metricbeat MySQL]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "124dce60-f1f5-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "title": "Running threads [Metricbeat MySQL]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(174,161,255,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Running threads\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.threads.running\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Running threads [Metricbeat MySQL]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "695a4f90-f1f4-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "title": "Command rates [Metricbeat MySQL]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"SELECT\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.command.select\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"2d149f90-f1f4-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,204,202,1)\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"3c2a2a40-f1f4-11e7-a752-236fe3270d99\",\"label\":\"INSERT\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.command.insert\",\"id\":\"3c2a2a41-f1f4-11e7-a752-236fe3270d99\",\"type\":\"avg\"},{\"field\":\"3c2a2a41-f1f4-11e7-a752-236fe3270d99\",\"id\":\"3c2a2a42-f1f4-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(252,220,0,1)\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"485ce050-f1f4-11e7-a752-236fe3270d99\",\"label\":\"UPDATE\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.command.update\",\"id\":\"485ce051-f1f4-11e7-a752-236fe3270d99\",\"type\":\"avg\"},{\"field\":\"485ce051-f1f4-11e7-a752-236fe3270d99\",\"id\":\"485ce052-f1f4-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(244,78,59,1)\",\"fill\":\"0.2\",\"formatter\":\"number\",\"id\":\"543a4a70-f1f4-11e7-a752-236fe3270d99\",\"label\":\"DELETE\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.command.delete\",\"id\":\"543a4a71-f1f4-11e7-a752-236fe3270d99\",\"type\":\"avg\"},{\"field\":\"543a4a71-f1f4-11e7-a752-236fe3270d99\",\"id\":\"543a4a72-f1f4-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Command rates [Metricbeat MySQL]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "dcbffe30-f1a4-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "title": "Reading / Writing / Waiting Rates [Metricbeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Reading\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.reading\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"b1773680-f1a4-11e7-95d0-8ddf041d42a2\",\"label\":\"Writing\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.writing\",\"id\":\"b1773681-f1a4-11e7-95d0-8ddf041d42a2\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(252,220,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"b68aa6c0-f1a4-11e7-95d0-8ddf041d42a2\",\"label\":\"Waiting\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.waiting\",\"id\":\"b68aa6c1-f1a4-11e7-95d0-8ddf041d42a2\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Reading / Writing / Waiting Rates [Metricbeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "825fdb80-4d1d-11e7-b5f2-2b7c1895bf32", + "_type": "visualization", + "_source": { + "title": "Disk used [Metricbeat System]", + "visState": "{\"title\":\"Disk used [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"\",\"gauge_color_rules\":[{\"value\":0,\"gauge\":\"rgba(104,188,0,1)\",\"id\":\"51921d10-4d1d-11e7-b5f2-2b7c1895bf32\",\"operator\":\"gte\",\"opperator\":\"gt\"},{\"value\":0.7,\"gauge\":\"rgba(251,158,0,1)\",\"id\":\"f26de750-4d54-11e7-b5f2-2b7c1895bf32\",\"operator\":\"gte\",\"opperator\":\"gte\"},{\"value\":0.85,\"gauge\":\"rgba(211,49,21,1)\",\"id\":\"fa31d190-4d54-11e7-b5f2-2b7c1895bf32\",\"operator\":\"gte\",\"opperator\":\"gte\"}],\"gauge_inner_width\":10,\"gauge_max\":\"1\",\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"4e4dc780-4d1d-11e7-b5f2-2b7c1895bf32\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"4e4dee90-4d1d-11e7-b5f2-2b7c1895bf32\",\"label\":\"Disk used\",\"line_width\":1,\"metrics\":[{\"field\":\"system.fsstat.total_size.used\",\"id\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"type\":\"avg\"},{\"field\":\"system.fsstat.total_size.total\",\"id\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"type\":\"avg\"},{\"id\":\"6304cca0-4d54-11e7-b5f2-2b7c1895bf32\",\"script\":\"params.total != null && params.total > 0 ? params.used/params.total : null\",\"type\":\"calculation\",\"variables\":[{\"field\":\"4e4dee91-4d1d-11e7-b5f2-2b7c1895bf32\",\"id\":\"6da10430-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"used\"},{\"field\":\"57c96ee0-4d54-11e7-b5f2-2b7c1895bf32\",\"id\":\"73b8c510-4d54-11e7-b5f2-2b7c1895bf32\",\"name\":\"total\"}]}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"gauge\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "16fa4470-2bfd-11e7-859b-f78b612cde28", + "_type": "visualization", + "_source": { + "title": "Network in by node [Metricbeat Kubernetes]", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:pod\",\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.pod.network.rx.bytes\",\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"id\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"id\":\"37c72a70-3598-11e7-aa4a-8313a0c92a88\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"terms_size\":\"100000\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Network in by node [Metricbeat Kubernetes]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "294546b0-30d6-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "title": "Network out by node [Metricbeat Kubernetes]", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"12c1f2f0-2bf2-11e7-859b-f78b612cde28\"}],\"bar_color_rules\":[{\"id\":\"1373ddd0-2bf2-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:pod\",\"gauge_color_rules\":[{\"id\":\"140e4910-2bf2-11e7-859b-f78b612cde28\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"0d5c6b10-2bf2-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(104,188,0,1)\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0d5c9220-2bf2-11e7-859b-f78b612cde28\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.pod.network.tx.bytes\",\"id\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"id\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"494fc310-2bf7-11e7-859b-f78b612cde28\",\"id\":\"244c70e0-3598-11e7-aa4a-8313a0c92a88\",\"type\":\"positive_only\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"stacked\",\"terms_field\":\"kubernetes.node.name\",\"terms_order_by\":\"0d5c9221-2bf2-11e7-859b-f78b612cde28\",\"terms_size\":\"10000\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Network out by node [Metricbeat Kubernetes]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "408fccf0-30d6-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "title": "Kubernetes - Nodes", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"67ee7da0-30e0-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"68cdba10-30e0-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_node\",\"gauge_color_rules\":[{\"id\":\"69765620-30e0-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":10,\"gauge_style\":\"half\",\"gauge_width\":10,\"id\":\"4c4690b0-30e0-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"4c4690b1-30e0-11e7-8df8-6d3604a72912\",\"label\":\"Nodes\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.node.name\",\"id\":\"4c4690b2-30e0-11e7-8df8-6d3604a72912\",\"type\":\"cardinality\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.deployment.name\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Nodes\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "58e644f0-30d6-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "title": "Top CPU intensive pods [Metricbeat Kubernetes]", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"802104d0-2bfc-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:container\",\"id\":\"5d3692a0-2bfc-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"0.0 a\",\"id\":\"5d3692a1-2bfc-11e7-859b-f78b612cde28\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.container.cpu.usage.core.ns\",\"id\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"id\":\"6c905240-2bfc-11e7-859b-f78b612cde28\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"field\":\"6c905240-2bfc-11e7-859b-f78b612cde28\",\"id\":\"9a51f710-359d-11e7-aa4a-8313a0c92a88\",\"type\":\"positive_only\",\"unit\":\"\"}],\"offset_time\":\"\",\"override_index_pattern\":0,\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.pod.name\",\"terms_order_by\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"value_template\":\"{{value}} ns\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Top CPU intensive pods [Metricbeat Kubernetes]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a4c9d360-30df-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "title": "Top memory intensive pods [Metricbeat Kubernetes]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"802104d0-2bfc-11e7-859b-f78b612cde28\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:container\",\"id\":\"5d3692a0-2bfc-11e7-859b-f78b612cde28\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"5d3692a1-2bfc-11e7-859b-f78b612cde28\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.container.memory.usage.bytes\",\"id\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"type\":\"sum\"},{\"field\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"id\":\"3972e9f0-256f-11e8-84e6-87221f87ae3b\",\"type\":\"cumulative_sum\"},{\"field\":\"3972e9f0-256f-11e8-84e6-87221f87ae3b\",\"id\":\"3e9fd5a0-256f-11e8-84e6-87221f87ae3b\",\"type\":\"derivative\",\"unit\":\"10s\"}],\"offset_time\":\"\",\"override_index_pattern\":0,\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"kubernetes.pod.name\",\"terms_order_by\":\"5d3692a2-2bfc-11e7-859b-f78b612cde28\",\"terms_size\":\"10\",\"value_template\":\"\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Top memory intensive pods [Metricbeat Kubernetes]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "174a6ad0-30e0-11e7-8df8-6d3604a72912", + "_type": "visualization", + "_source": { + "title": "Kubernetes - Unavailable pods", + "visState": "{\"aggs\":[],\"listeners\":{},\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"508ffb30-30d5-11e7-8df8-6d3604a72912\"}],\"bar_color_rules\":[{\"id\":\"674d83b0-30d5-11e7-8df8-6d3604a72912\"}],\"filter\":\"metricset.module:kubernetes AND metricset.name:state_deployment\",\"gauge_color_rules\":[{\"id\":\"50f9b980-30d5-11e7-8df8-6d3604a72912\"}],\"gauge_inner_width\":\"10\",\"gauge_max\":\"\",\"gauge_style\":\"half\",\"gauge_width\":\"10\",\"id\":\"2fe9d3b0-30d5-11e7-8df8-6d3604a72912\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2fe9d3b1-30d5-11e7-8df8-6d3604a72912\",\"label\":\"Unavailable Pods\",\"line_width\":1,\"metrics\":[{\"field\":\"kubernetes.deployment.replicas.unavailable\",\"id\":\"54cf79a0-30d5-11e7-8df8-6d3604a72912\",\"type\":\"sum\"}],\"override_index_pattern\":1,\"point_size\":1,\"seperate_axis\":0,\"series_interval\":\"10s\",\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"title\":\"Kubernetes - Unavailable pods\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"query\":{\"query_string\":{\"query\":\"*\"}},\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1c2f8930-231a-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "title": "Alive Connections [Metricbeat Zookeeper]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_min\":\"0\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"0,0.[00]\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Alive connections\",\"line_width\":1,\"metrics\":[{\"field\":\"zookeeper.mntr.num_alive_connections\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Alive Connections [Metricbeat Zookeeper]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ddb13c60-231b-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "title": "Used file descriptors [Metricbeat Zookeeper]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_min\":\"0\",\"axis_position\":\"left\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.1\",\"formatter\":\"percent\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Used file descriptors\",\"line_width\":1,\"metrics\":[{\"field\":\"zookeeper.mntr.open_file_descriptor_count\",\"id\":\"b92e4550-231a-11e9-9e57-679640dc0c7c\",\"metric_agg\":\"avg\",\"type\":\"avg\"},{\"field\":\"zookeeper.mntr.max_file_descriptor_count\",\"id\":\"918d0c60-231b-11e9-9e57-679640dc0c7c\",\"type\":\"avg\"},{\"id\":\"7e4d11e0-231b-11e9-9e57-679640dc0c7c\",\"script\":\"params.a/params.b\",\"type\":\"math\",\"variables\":[{\"field\":\"b92e4550-231a-11e9-9e57-679640dc0c7c\",\"id\":\"81c03fa0-231b-11e9-9e57-679640dc0c7c\",\"name\":\"a\"},{\"field\":\"918d0c60-231b-11e9-9e57-679640dc0c7c\",\"id\":\"8a3af6c0-231b-11e9-9e57-679640dc0c7c\",\"name\":\"b\"}]}],\"point_size\":1,\"separate_axis\":1,\"split_mode\":\"everything\",\"stacked\":\"none\",\"value_template\":\"{{value}}\"},{\"axis_min\":\"0\",\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,98,177,1)\",\"fill\":\"0\",\"formatter\":\"0,0.[00]\",\"id\":\"dffaffe0-23cc-11e9-b1ff-37c851471450\",\"label\":\"Open file descriptors\",\"line_width\":\"1\",\"metrics\":[{\"field\":\"zookeeper.mntr.open_file_descriptor_count\",\"id\":\"dffaffe1-23cc-11e9-b1ff-37c851471450\",\"type\":\"avg\"}],\"point_size\":1,\"separate_axis\":1,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Used file descriptors [Metricbeat Zookeeper]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d2f52b50-231c-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "title": "Packets received / sent [Metricbeat Zookeeper]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_min\":\"0\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0\",\"formatter\":\"0,0.[00]\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Packets received\",\"line_width\":\"2\",\"metrics\":[{\"field\":\"zookeeper.mntr.packets.received\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"34949540-231c-11e9-9707-f128cdaa3bf2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":\"0\",\"separate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"id\":\"5811d190-231c-11e9-9707-f128cdaa3bf2\"}],\"split_mode\":\"terms\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(115,216,255,1)\",\"fill\":\"0\",\"formatter\":\"0,0.[00]\",\"id\":\"753b2e60-231c-11e9-9707-f128cdaa3bf2\",\"label\":\"Packets sent\",\"line_width\":\"2\",\"metrics\":[{\"field\":\"zookeeper.mntr.packets.sent\",\"id\":\"753b2e61-231c-11e9-9707-f128cdaa3bf2\",\"type\":\"avg\"},{\"field\":\"753b2e61-231c-11e9-9707-f128cdaa3bf2\",\"id\":\"7ed33c60-231c-11e9-9707-f128cdaa3bf2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":\"0\",\"separate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Packets received / sent [Metricbeat Zookeeper]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "555df8a0-f1a1-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "title": "Request Rate [Metricbeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Request rate\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.requests\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"396ec980-f1a1-11e7-95d0-8ddf041d42a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Request Rate [Metricbeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a1d92240-f1a1-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "title": "Accepts and Handled Rate [Metricbeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"annotations\":[{\"color\":\"#F00\",\"icon\":\"fa-tag\",\"id\":\"8644f980-f1a3-11e7-95d0-8ddf041d42a2\",\"ignore_global_filters\":1,\"ignore_panel_filters\":1,\"index_pattern\":\"*\",\"time_field\":\"@timestamp\"}],\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":\"0.5\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Accepts rate\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.accepts\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"396ec980-f1a1-11e7-95d0-8ddf041d42a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_color_mode\":\"gradient\",\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,156,224,1)\",\"fill\":\"0.9\",\"formatter\":\"number\",\"id\":\"56dd33b0-f1a3-11e7-95d0-8ddf041d42a2\",\"label\":\"Handled rate\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.handled\",\"id\":\"56dd33b1-f1a3-11e7-95d0-8ddf041d42a2\",\"type\":\"avg\"},{\"field\":\"56dd33b1-f1a3-11e7-95d0-8ddf041d42a2\",\"id\":\"56dd33b2-f1a3-11e7-95d0-8ddf041d42a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":\"3\",\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Accepts and Handled Rate [Metricbeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "d763a570-f1a1-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "title": "Drops Rate [Metricbeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(188,0,65,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Drops rate\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.dropped\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"396ec980-f1a1-11e7-95d0-8ddf041d42a2\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Drops Rate [Metricbeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "b70b1b20-a1f4-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "title": "Response codes over time [Filebeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"fileset.module:nginx AND fileset.name:access\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"bar\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":\"nginx.access.response_code:[200 TO 299]\",\"id\":\"5acdc750-a29d-11e7-a062-a1c3587f4874\",\"label\":\"200s\"},{\"color\":\"rgba(252,196,0,1)\",\"filter\":\"nginx.access.response_code:[300 TO 399]\",\"id\":\"6efd2ae0-a29d-11e7-a062-a1c3587f4874\",\"label\":\"300s\"},{\"color\":\"rgba(211,49,21,1)\",\"filter\":\"nginx.access.response_code:[400 TO 499]\",\"id\":\"76089a90-a29d-11e7-a062-a1c3587f4874\",\"label\":\"400s\"},{\"color\":\"rgba(171,20,158,1)\",\"filter\":\"nginx.access.response_code:[500 TO 599]\",\"id\":\"7c7929d0-a29d-11e7-a062-a1c3587f4874\",\"label\":\"500s\"}],\"split_mode\":\"filters\",\"stacked\":\"stacked\",\"terms_field\":\"nginx.access.response_code\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Response codes over time [Filebeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9184fa00-a1f5-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "title": "Top pages [Filebeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"6252c320-a1f5-11e7-92ba-5d0b8663aece\"}],\"filter\":\"fileset.module:nginx AND fileset.name:access\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"line_width\":1,\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"nginx.access.url\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"value_template\":\"\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"title\":\"Top pages [Filebeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "46322e50-a1f6-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "title": "Errors over time [Filebeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"fileset.module:nginx AND fileset.name:error\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"bar\",\"color\":\"rgba(211,49,21,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"line_width\":1,\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"nginx.error.level\",\"terms_order_by\":\"61ca57f2-469d-11e7-af02-69e470af7417\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Errors over time [Filebeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0dd6f320-a29f-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "title": "Data Volume [Filebeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"filter\":\"fileset.module: nginx AND fileset.name: access\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"filebeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.access.body_sent.bytes\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_filters\":[{\"color\":\"#68BC00\",\"filter\":\"nginx.access.response_code:[200 TO 299]\",\"id\":\"7c343c20-a29e-11e7-a062-a1c3587f4874\",\"label\":\"200s\"}],\"split_mode\":\"everything\",\"stacked\":\"none\",\"terms_field\":null}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Data Volume [Filebeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "97109780-a2a5-11e7-928f-5dbe6f6f5519", + "_type": "visualization", + "_source": { + "title": "Dashboards [Filebeat Nginx]", + "visState": "{\"type\":\"markdown\",\"params\":{\"markdown\":\"[Nginx logs overview](#/dashboard/55a9e6e0-a29e-11e7-928f-5dbe6f6f5519) | [Nginx access and error logs](#/dashboard/046212a0-a2a1-11e7-928f-5dbe6f6f5519)\",\"fontSize\":12},\"aggs\":[],\"title\":\"Dashboards [Filebeat Nginx]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "327417e0-8462-11e7-bab8-bd2f0fb42c54", + "_type": "visualization", + "_source": { + "title": "Dashboards [Filebeat System]", + "visState": "{\"type\":\"markdown\",\"params\":{\"markdown\":\"[Syslog](#/dashboard/Filebeat-syslog-dashboard) | [Sudo commands](#/dashboard/277876d0-fa2c-11e6-bbd3-29c986c96e5a) | [SSH logins](#/dashboard/5517a150-f9ce-11e6-8115-a7c18106d86a) | [New users and groups](#/dashboard/0d3f2380-fa78-11e6-ae9b-81e5311e8cab)\",\"fontSize\":12},\"aggs\":[],\"title\":\"Dashboards [Filebeat System]\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "aaa326b0-f1f5-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "title": "Opened tables rate [Metricbeat MySQL]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(252,196,0,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Opened tables rate\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.opened_tables\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"9972d250-f1f5-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Opened tables rate [Metricbeat MySQL]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fb1f3f20-f1f5-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "title": "Threads created rate [Metricbeat MySQL]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(123,100,255,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Threads created rate\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.threads.created\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"9972d250-f1f5-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Threads created rate [Metricbeat MySQL]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "f5b35930-f1f6-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "title": "Open files [Metricbeat MySQL]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(22,165,165,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Open files\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.open.files\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Open files [Metricbeat MySQL]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7404feb0-f1f7-11e7-85ab-594b1652e0d1", + "_type": "visualization", + "_source": { + "title": "Sent and received bytes rates [Metricbeat MySQL]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"rgba(0,98,177,1)\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"2b1c2390-f1f7-11e7-a752-236fe3270d99\",\"label\":\"Received bytes\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.bytes.received\",\"id\":\"2b1c2391-f1f7-11e7-a752-236fe3270d99\",\"type\":\"avg\"},{\"field\":\"2b1c2391-f1f7-11e7-a752-236fe3270d99\",\"id\":\"2b1c2392-f1f7-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Sent bytes\",\"line_width\":1,\"metrics\":[{\"field\":\"mysql.status.bytes.sent\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"},{\"field\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"id\":\"23cfda50-f1f7-11e7-a752-236fe3270d99\",\"type\":\"derivative\",\"unit\":\"\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Sent and received bytes rates [Metricbeat MySQL]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "8d3b7770-2319-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "title": "Approximate data size [Metricbeat Zookeeper]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_min\":\"0\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Approximate data size\",\"line_width\":1,\"metrics\":[{\"field\":\"zookeeper.mntr.approximate_data_size\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Approximate data size [Metricbeat Zookeeper]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c0be43c0-2319-11e9-bb66-8baac426dfd4", + "_type": "visualization", + "_source": { + "title": "Latency [Metricbeat Zookeeper]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_min\":\"0\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"ms,ms,2\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"label\":\"Latency\",\"line_width\":1,\"metrics\":[{\"field\":\"zookeeper.mntr.latency.avg\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"separate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Latency [Metricbeat Zookeeper]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "494fa290-86d2-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "title": "Top Alerting Hosts [Suricata]", + "visState": "{\"type\":\"histogram\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"histogram\"}],\"type\":\"histogram\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"field\":\"host.name\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":10},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Top Alerting Hosts [Suricata]\"}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "1c2bcec0-86d1-11e8-b59d-21efb914e65c", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "4c913eb0-1f51-11e9-93ed-f7e068f4aebb", + "_type": "visualization", + "_source": { + "title": "Events Timeline [Filebeat Iptables]", + "visState": "{\"type\":\"area\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"type\":\"area\",\"interpolate\":\"linear\",\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"data\":{\"id\":\"1\",\"label\":\"Count\"}}],\"type\":\"area\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"extended_bounds\":{},\"field\":\"@timestamp\",\"interval\":\"auto\",\"time_zone\":\"Europe/Berlin\",\"useNormalizedEsInterval\":true,\"drop_partials\":false,\"min_doc_count\":1,\"customInterval\":\"2h\"},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Events Timeline [Filebeat Iptables]\"}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "b3f1b010-1f26-11e9-8ec4-cf5d91a864b3", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "a59b5e00-2417-11e7-a83b-d5f4cebac9ff", + "_type": "visualization", + "_source": { + "title": "Startup Errors [Filebeat Icinga]", + "visState": "{\"type\":\"histogram\",\"listeners\":{},\"params\":{\"scale\":\"linear\",\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"times\":[]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Startup Errors [Filebeat Icinga]\"}", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Count\": \"#BF1B00\"}}}", + "description": "", + "savedSearchId": "710043e0-2417-11e7-a83b-d5f4cebac9ff", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-Slow-queries-over-time", + "_type": "visualization", + "_source": { + "title": "Slow queries over time [Filebeat MySQL]", + "visState": "{\"type\":\"histogram\",\"params\":{\"scale\":\"linear\",\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Slow queries\"},\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"histogram\"}],\"yAxis\":{},\"type\":\"histogram\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{\"text\":\"@timestamp per 30 seconds\"},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"shareYAxis\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Slow queries\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}],\"times\":[]},\"aggs\":[{\"params\":{\"customLabel\":\"Slow queries\"},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Slow queries over time [Filebeat MySQL]\"}", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Slow queries\": \"#EF843C\"}}}", + "description": "", + "savedSearchId": "Filebeat-MySQL-Slow-log", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "9d5b5b50-86db-11e8-b59d-21efb914e65c", + "_type": "visualization", + "_source": { + "title": "Top Hosts Generating Events [Suricata]", + "visState": "{\"type\":\"histogram\",\"params\":{\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Count\"},\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"histogram\"}],\"type\":\"histogram\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"times\":[],\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Count\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}]},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"missingBucket\":false,\"missingBucketLabel\":\"Missing\",\"field\":\"host.name\",\"otherBucketLabel\":\"Other\",\"otherBucket\":false,\"order\":\"desc\",\"size\":10},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"group\"}],\"title\":\"Top Hosts Generating Events [Suricata]\"}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "13dd22f0-86cc-11e8-b59d-21efb914e65c", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"kuery\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "MySQL-error-logs", + "_type": "visualization", + "_source": { + "title": "Error logs over time [Filebeat MySQL]", + "visState": "{\"type\":\"histogram\",\"params\":{\"scale\":\"linear\",\"seriesParams\":[{\"showCircles\":true,\"show\":\"true\",\"data\":{\"id\":\"1\",\"label\":\"Error logs\"},\"mode\":\"stacked\",\"drawLinesBetweenPoints\":true,\"valueAxis\":\"ValueAxis-1\",\"type\":\"histogram\"}],\"yAxis\":{},\"type\":\"histogram\",\"categoryAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\"},\"show\":true,\"title\":{\"text\":\"@timestamp per 30 seconds\"},\"labels\":{\"truncate\":100,\"show\":true},\"position\":\"bottom\",\"type\":\"category\",\"id\":\"CategoryAxis-1\"}],\"legendPosition\":\"right\",\"addTimeMarker\":false,\"addLegend\":true,\"shareYAxis\":true,\"grid\":{\"style\":{\"color\":\"#eee\"},\"categoryLines\":false},\"mode\":\"stacked\",\"defaultYExtents\":false,\"setYExtents\":false,\"addTooltip\":true,\"valueAxes\":[{\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"name\":\"LeftAxis-1\",\"show\":true,\"title\":{\"text\":\"Error logs\"},\"labels\":{\"filter\":false,\"rotate\":0,\"truncate\":100,\"show\":true},\"position\":\"left\",\"type\":\"value\",\"id\":\"ValueAxis-1\"}],\"times\":[]},\"aggs\":[{\"params\":{\"customLabel\":\"Error logs\"},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"customInterval\":\"2h\",\"field\":\"@timestamp\",\"interval\":\"auto\",\"min_doc_count\":1,\"extended_bounds\":{}},\"type\":\"date_histogram\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Error logs over time [Filebeat MySQL]\"}", + "uiStateJSON": "{\"vis\": {\"colors\": {\"Count\": \"#447EBC\", \"Error logs\": \"#1F78C1\"}}}", + "description": "", + "savedSearchId": "Filebeat-MySQL-error-log", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ab587180-f4a9-11e7-8647-534bb4c21040", + "_type": "visualization", + "_source": { + "title": "Number of hosts infected [Osquery Result]", + "visState": "{\"type\":\"metric\",\"params\":{\"type\":\"metric\",\"metric\":{\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"fontSize\":40,\"subText\":\"\",\"labelColor\":false},\"colorSchema\":\"Green to Red\",\"invertColors\":false,\"labels\":{\"show\":true},\"useRanges\":false,\"percentageMode\":false,\"colorsRange\":[{\"to\":10000,\"from\":0}],\"metricColorMode\":\"None\"},\"addTooltip\":true,\"addLegend\":false},\"aggs\":[{\"params\":{\"field\":\"beat.hostname\",\"customLabel\":\"Hosts\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"}],\"title\":\"Number of hosts infected [Osquery Result]\"}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "0fe5dc00-f49b-11e7-8647-534bb4c21040", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":\"\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-containers", + "_type": "visualization", + "_source": { + "title": "Docker containers [Metricbeat Docker]", + "visState": "{\"type\":\"table\",\"listeners\":{},\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"perPage\":8,\"showPartialRows\":false,\"totalFunc\":\"sum\",\"showTotal\":true,\"showMeticsAtAllLevels\":false},\"aggs\":[{\"params\":{\"orderBy\":\"1\",\"field\":\"docker.container.name\",\"customLabel\":\"Name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"bucket\"},{\"params\":{\"field\":\"docker.cpu.total.pct\",\"customLabel\":\"CPU usage (%)\"},\"type\":\"max\",\"enabled\":true,\"id\":\"3\",\"schema\":\"metric\"},{\"params\":{\"field\":\"docker.diskio.total\",\"customLabel\":\"DiskIO\"},\"type\":\"max\",\"enabled\":true,\"id\":\"4\",\"schema\":\"metric\"},{\"params\":{\"field\":\"docker.memory.usage.pct\",\"customLabel\":\"Mem (%)\"},\"type\":\"max\",\"enabled\":true,\"id\":\"5\",\"schema\":\"metric\"},{\"params\":{\"field\":\"docker.memory.rss.total\",\"customLabel\":\"Mem RSS\"},\"type\":\"max\",\"enabled\":true,\"id\":\"6\",\"schema\":\"metric\"},{\"params\":{\"field\":\"docker.container.id\",\"customLabel\":\"Number of Containers\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"}],\"title\":\"Docker containers [Metricbeat Docker]\"}", + "uiStateJSON": "{\"vis\": {\"params\": {\"sort\": {\"columnIndex\": 1, \"direction\": \"asc\"}}}}", + "description": "", + "savedSearchId": "Metricbeat-Docker", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-Number-of-Containers", + "_type": "visualization", + "_source": { + "title": "Number of Containers [Metricbeat Docker]", + "visState": "{\"type\":\"metric\",\"listeners\":{},\"params\":{\"addTooltip\":true,\"addLegend\":false,\"fontSize\":\"36\",\"handleNoResults\":true,\"gauge\":{\"useRange\":false,\"gaugeType\":\"Metric\",\"style\":{\"subText\":\"\",\"bgColor\":false,\"fontSize\":60,\"labelColor\":false},\"colorSchema\":\"Green to Red\",\"invertColors\":false,\"orientation\":\"vertical\",\"gaugeStyle\":\"Full\",\"autoExtend\":false,\"labels\":{\"color\":\"black\",\"show\":true},\"backStyle\":\"Full\",\"colorsRange\":[{\"to\":100,\"from\":0}],\"scale\":{\"color\":\"#333\",\"width\":2,\"labels\":false,\"show\":false},\"verticalSplit\":false,\"percentageMode\":false,\"type\":\"simple\",\"gaugeColorMode\":\"None\"},\"type\":\"gauge\"},\"aggs\":[{\"params\":{\"field\":\"docker.info.containers.running\",\"customLabel\":\"Running\"},\"type\":\"max\",\"enabled\":true,\"id\":\"2\",\"schema\":\"metric\"},{\"params\":{\"field\":\"docker.info.containers.paused\",\"customLabel\":\"Paused\"},\"type\":\"max\",\"enabled\":true,\"id\":\"3\",\"schema\":\"metric\"},{\"params\":{\"field\":\"docker.info.containers.stopped\",\"customLabel\":\"Stopped\"},\"type\":\"max\",\"enabled\":true,\"id\":\"4\",\"schema\":\"metric\"}],\"title\":\"Number of Containers [Metricbeat Docker]\"}", + "uiStateJSON": "{\"vis\": {\"defaultColors\": {\"0 - 100\": \"rgb(0,104,55)\"}}}", + "description": "", + "savedSearchId": "Metricbeat-Docker", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-images-and-names", + "_type": "visualization", + "_source": { + "title": "Docker images and names [Metricbeat Docker]", + "visState": "{\"type\":\"pie\",\"listeners\":{},\"params\":{\"legendPosition\":\"bottom\",\"isDonut\":true,\"addTooltip\":true,\"shareYAxis\":true,\"addLegend\":true},\"aggs\":[{\"params\":{},\"type\":\"count\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"docker.container.image\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"docker.container.name\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"3\",\"schema\":\"segment\"}],\"title\":\"Docker images and names [Metricbeat Docker]\"}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "Metricbeat-Docker", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Docker-containers-per-host", + "_type": "visualization", + "_source": { + "title": "Docker containers per host [Metricbeat Docker]", + "visState": "{\"type\":\"pie\",\"listeners\":{},\"params\":{\"legendPosition\":\"bottom\",\"isDonut\":true,\"addTooltip\":true,\"shareYAxis\":true,\"addLegend\":true},\"aggs\":[{\"params\":{\"field\":\"docker.container.id\",\"customLabel\":\"Number of containers\"},\"type\":\"cardinality\",\"enabled\":true,\"id\":\"1\",\"schema\":\"metric\"},{\"params\":{\"orderBy\":\"1\",\"field\":\"beat.hostname\",\"customLabel\":\"Hosts\",\"order\":\"desc\",\"size\":5},\"type\":\"terms\",\"enabled\":true,\"id\":\"2\",\"schema\":\"segment\"}],\"title\":\"Docker containers per host [Metricbeat Docker]\"}", + "uiStateJSON": "{}", + "description": "", + "savedSearchId": "Metricbeat-Docker", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[]}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Container-Memory-stats", + "_type": "visualization", + "_source": { + "title": "Container Memory stats [Metricbeat System]", + "visState": "{\"title\":\"Container Memory stats [Metricbeat System]\",\"type\":\"table\",\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"perPage\":10,\"showPartialRows\":false,\"totalFunc\":\"sum\",\"showTotal\":false,\"showMeticsAtAllLevels\":false},\"aggs\":[{\"id\":\"13\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.mem.usage.bytes\",\"customLabel\":\"Usage\"}},{\"id\":\"14\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.mem.usage.max.bytes\",\"customLabel\":\"Max usage\"}},{\"id\":\"1\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.page_faults\",\"customLabel\":\"Page faults\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.pages_in\",\"customLabel\":\"Pages in memory\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.pages_out\",\"customLabel\":\"Pages out of memory\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"docker.container.name.keyword\",\"size\":50,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Container ID\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.inactive_file.bytes\",\"customLabel\":\"Inactive files\"}},{\"id\":\"6\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.major_page_faults\",\"customLabel\":\"# Major page faults\"}},{\"id\":\"8\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"docker.container.command.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Process name\"}},{\"id\":\"12\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.mem.failures\",\"customLabel\":\"Failures\"}},{\"id\":\"10\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.kmem_tcp.usage.bytes\",\"customLabel\":\"TCP buffers\"}},{\"id\":\"11\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.rss_huge.bytes\",\"customLabel\":\"Huge pages\"}},{\"id\":\"7\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.rss.bytes\",\"customLabel\":\"Swap caches\"}},{\"id\":\"15\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.memory.stats.swap.bytes\",\"customLabel\":\"Swap usage\"}},{\"id\":\"16\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.blkio.total.ios\",\"customLabel\":\"Block I/O\"}}]}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\",\"default_field\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "ed18abb0-c6c7-11ea-9509-2f615d5f26bc", + "_type": "visualization", + "_source": { + "title": "Systems Full", + "visState": "{\"title\":\"Systems Full\",\"type\":\"metrics\",\"params\":{\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"type\":\"table\",\"series\":[{\"id\":\"94afeb50-c6c7-11ea-9c16-09f8bdd48f2a\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"id\":\"94afeb51-c6c7-11ea-9c16-09f8bdd48f2a\",\"type\":\"max\",\"field\":\"system.load.norm.1\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"percent\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"CPU load\",\"color_rules\":[{\"id\":\"ab003310-c6c7-11ea-9c16-09f8bdd48f2a\"}],\"filter\":\"\",\"aggregate_by\":\"system.load.norm.1\",\"aggregate_function\":\"max\",\"trend_arrows\":1},{\"id\":\"35935bb0-c6c8-11ea-9c16-09f8bdd48f2a\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"id\":\"35935bb1-c6c8-11ea-9c16-09f8bdd48f2a\",\"type\":\"max\",\"field\":\"system.memory.actual.used.pct\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"percent\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"label\":\"Mem Used\",\"color_rules\":[{\"id\":\"f6ecfbe0-c826-11ea-9c16-09f8bdd48f2a\"}],\"aggregate_by\":\"system.memory.actual.used.pct\",\"aggregate_function\":\"max\",\"trend_arrows\":1},{\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"color\":\"#68BC00\",\"split_mode\":\"everything\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"max\",\"field\":\"system.diskio.iostat.busy\"}],\"seperate_axis\":0,\"axis_position\":\"right\",\"formatter\":\"number\",\"chart_type\":\"line\",\"line_width\":1,\"point_size\":1,\"fill\":0.5,\"stacked\":\"none\",\"color_rules\":[{\"id\":\"6e1653d0-c6c7-11ea-9c16-09f8bdd48f2a\"}],\"aggregate_by\":\"system.diskio.iostat.busy\",\"label\":\"Disk I/O Busy\",\"trend_arrows\":1,\"aggregate_function\":\"max\"}],\"time_field\":\"@timestamp\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"axis_position\":\"left\",\"axis_formatter\":\"number\",\"show_legend\":1,\"show_grid\":1,\"bar_color_rules\":[{\"id\":\"33e4b6c0-c6c7-11ea-9c16-09f8bdd48f2a\"}],\"pivot_id\":\"beat.hostname.keyword\",\"pivot_label\":\"Hosts\",\"pivot_rows\":\"50\"},\"aggs\":[]}", + "uiStateJSON": "{\"table\":{\"sort\":{\"column\":\"_default_\",\"order\":\"asc\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Container-CPU-usage", + "_type": "visualization", + "_source": { + "title": "Container CPU usage [Metricbeat System]", + "visState": "{\"title\":\"Container CPU usage [Metricbeat System]\",\"type\":\"table\",\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"perPage\":10,\"showPartialRows\":false,\"totalFunc\":\"sum\",\"showTotal\":false,\"showMeticsAtAllLevels\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.cpuacct.stats.user.ns\",\"customLabel\":\"CPU user\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.cpu.cfs.quota.us\",\"customLabel\":\"CPU quota\"}},{\"id\":\"7\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"beat.hostname.keyword\",\"size\":30,\"order\":\"asc\",\"orderBy\":\"_term\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.cpu.stats.throttled.ns\",\"customLabel\":\"CPU throttling\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"docker.container.name.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Container ID\"}},{\"id\":\"6\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"docker.container.command.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Process name\"}},{\"id\":\"5\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.cpuacct.stats.system.ns\",\"customLabel\":\"CPU kernel\"}}]}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\",\"default_field\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "Container-Block-IO", + "_type": "visualization", + "_source": { + "title": "Container Block IO [Metricbeat System]", + "visState": "{\"title\":\"Container Block IO [Metricbeat System]\",\"type\":\"table\",\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"perPage\":10,\"showPartialRows\":false,\"totalFunc\":\"sum\",\"showTotal\":false,\"showMeticsAtAllLevels\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.blkio.total.bytes\",\"customLabel\":\"Total\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.process.cgroup.blkio.total.ios\",\"customLabel\":\"I/O\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"docker.container.name.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Container ID\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"docker.container.command.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Process name\"}}]}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\",\"default_field\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "5ed8f9f0-c2a2-11ea-9cf6-c19e3a7fac53", + "_type": "visualization", + "_source": { + "title": "[Linaro] Simple Host List", + "visState": "{\"title\":\"[Linaro] Simple Host List\",\"type\":\"table\",\"params\":{\"perPage\":50,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"@timestamp\",\"customLabel\":\"Last Check\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"significant_terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"beat.hostname.keyword\",\"size\":50,\"customLabel\":\"Hostname\"}}]}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":0,\"direction\":\"asc\"},\"config\":{\"searchKeyword\":\"\"}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"filebeat-systems-*\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "47a8e0f0-f1a4-11e7-a9ef-93c69af7b129", + "_type": "visualization", + "_source": { + "title": "Active connections [Metricbeat Nginx]", + "visState": "{\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"legend_position\":\"bottom\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"line_width\":1,\"metrics\":[{\"field\":\"nginx.stubstatus.active\",\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"everything\",\"stacked\":\"none\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"timeseries\"},\"title\":\"Active connections [Metricbeat Nginx]\",\"type\":\"metrics\"}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c5f8b280-70c1-11e9-8c1d-734f928b6f03", + "_type": "visualization", + "_source": { + "title": "apache_metrics_geo_ip_geo", + "visState": "{\"title\":\"apache_metrics_geo_ip_geo\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"clientip.keyword\",\"size\":30,\"order\":\"desc\",\"orderBy\":\"1\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"geoip.country_name.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}},{\"id\":\"4\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"geoip.city_name.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":null,\"direction\":null},\"config\":{\"searchKeyword\":\"\"}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"filebeat-systems-*\",\"filter\":[],\"query\":{\"query\":\"\\\"git-upload-pack\\\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e82a7ec0-b91d-11e9-a1f4-0fc233ae73cb", + "_type": "visualization", + "_source": { + "title": "apache_metric_timeseries", + "visState": "{\"title\":\"apache_metric_timeseries\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"git_repo_name.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"filebeat-systems-*\",\"filter\":[],\"query\":{\"query\":\"\\\"git-upload-pack\\\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "0b343080-6bf5-11e9-acbc-09dcf1b097d9", + "_type": "visualization", + "_source": { + "title": "apache_metrics_geo_ip", + "visState": "{\"title\":\"apache_metrics_geo_ip\",\"type\":\"table\",\"params\":{\"perPage\":10,\"showPartialRows\":false,\"showMeticsAtAllLevels\":false,\"sort\":{\"columnIndex\":null,\"direction\":null},\"showTotal\":false,\"totalFunc\":\"sum\"},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"git_repo_name.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"_term\"}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"bucket\",\"params\":{\"field\":\"clientip.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"_term\"}}]}", + "uiStateJSON": "{\"vis\":{\"params\":{\"sort\":{\"columnIndex\":2,\"direction\":\"desc\"},\"config\":{\"searchKeyword\":\"\"}}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"filebeat-systems-*\",\"filter\":[],\"query\":{\"query\":\"\\\"git-upload-pack\\\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "68bc1660-6bf4-11e9-acbc-09dcf1b097d9", + "_type": "visualization", + "_source": { + "title": "apache_metrics_git_repo", + "visState": "{\"title\":\"apache_metrics_git_repo\",\"type\":\"histogram\",\"params\":{\"type\":\"histogram\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"histogram\",\"mode\":\"stacked\",\"data\":{\"label\":\"Count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"count\",\"schema\":\"metric\",\"params\":{}},{\"id\":\"2\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"segment\",\"params\":{\"field\":\"git_repo_name.keyword\",\"size\":5,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"filebeat-systems-*\",\"filter\":[],\"query\":{\"query\":\"\\\"git-upload-pack\\\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "90cbf3a0-25ac-11eb-bb21-bdd65cbe708e", + "_type": "visualization", + "_source": { + "title": "Morello HTTPS Clone Stats", + "visState": "{\"title\":\"Morello HTTPS Clone Stats\",\"type\":\"line\",\"params\":{\"type\":\"line\",\"grid\":{\"categoryLines\":false,\"style\":{\"color\":\"#eee\"}},\"categoryAxes\":[{\"id\":\"CategoryAxis-1\",\"type\":\"category\",\"position\":\"bottom\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\"},\"labels\":{\"show\":true,\"truncate\":100},\"title\":{}}],\"valueAxes\":[{\"id\":\"ValueAxis-1\",\"name\":\"LeftAxis-1\",\"type\":\"value\",\"position\":\"left\",\"show\":true,\"style\":{},\"scale\":{\"type\":\"linear\",\"mode\":\"normal\"},\"labels\":{\"show\":true,\"rotate\":0,\"filter\":false,\"truncate\":100},\"title\":{\"text\":\"Max count\"}}],\"seriesParams\":[{\"show\":\"true\",\"type\":\"line\",\"mode\":\"normal\",\"data\":{\"label\":\"Max count\",\"id\":\"1\"},\"valueAxis\":\"ValueAxis-1\",\"drawLinesBetweenPoints\":true,\"showCircles\":true}],\"addTooltip\":true,\"addLegend\":true,\"legendPosition\":\"right\",\"times\":[],\"addTimeMarker\":false},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"max\",\"schema\":\"metric\",\"params\":{\"field\":\"count\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"date\",\"interval\":\"d\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"project_name.keyword\",\"size\":50,\"order\":\"desc\",\"orderBy\":\"1\"}}]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"index\":\"47b5f8d0-250e-11eb-b5df-05d360d75584\",\"filter\":[],\"query\":{\"query\":\"\",\"language\":\"lucene\"}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "397f4a40-25af-11eb-bb21-bdd65cbe708e", + "_type": "visualization", + "_source": { + "title": "Morello Server Overview Navigation", + "visState": "{\"title\":\"Morello Server Overview Navigation\",\"type\":\"markdown\",\"params\":{\"fontSize\":12,\"markdown\":\"[Morello Server Overview](https://systems-monitoring.linaro.org/goto/d17eeda445ccb68cb23490c69509685c)\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "522ee670-1b92-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "title": "Inbound Traffic [Metricbeat System]", + "visState": "{\"title\":\"Inbound Traffic [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"filter\":\"-system.network.name:l*\",\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Inbound Traffic\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.in.bytes\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"max\"},{\"field\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"id\":\"1d659060-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"derivative\",\"unit\":\"1s\"},{\"function\":\"overall_sum\",\"id\":\"c40e18f0-2c55-11e7-a0ad-277ce466684d\",\"type\":\"series_agg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Total Transferred\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.in.bytes\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"max\"},{\"field\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"id\":\"37f72b51-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"f9da2dd0-1b92-11e7-a416-41f5ccdba2e6\",\"function\":\"overall_sum\",\"id\":\"3e63c2f0-1b92-11e7-bec4-a5e9ec5cab8b\",\"sigma\":\"\",\"type\":\"series_agg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"beat.name\",\"value_template\":\"{{value}}\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "fe064790-1b1f-11e7-bec4-a5e9ec5cab8b", + "_type": "visualization", + "_source": { + "title": "Top Hosts By Memory (Realtime) [Metricbeat System]", + "visState": "{\"title\":\"Top Hosts By Memory (Realtime) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0},{\"bar_color\":\"rgba(254,146,0,1)\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.6},{\"bar_color\":\"rgba(211,49,21,1)\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.85}],\"drilldown_url\":\"../app/kibana#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8?_a=(query:(query_string:(analyze_wildcard:!t,query:'beat.name:\\\"{{key}}\\\"')))\",\"filter\":\"\",\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"line_width\":1,\"metrics\":[{\"field\":\"system.memory.actual.used.pct\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"beat.hostname\",\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"terms_size\":\"10\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "855899e0-1b1c-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Top Hosts By CPU (Realtime) [Metricbeat System]", + "visState": "{\"title\":\"Top Hosts By CPU (Realtime) [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"33349dd0-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0},{\"bar_color\":\"rgba(254,146,0,1)\",\"id\":\"997dc440-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.6},{\"bar_color\":\"rgba(211,49,21,1)\",\"id\":\"a10d7f20-1b1c-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.85}],\"drilldown_url\":\"../app/kibana#/dashboard/79ffd6e0-faa0-11e6-947f-177f697178b8?_a=(query:(query_string:(analyze_wildcard:!t,query:'beat.name:\\\"{{key}}\\\"')))\",\"filter\":\"\",\"id\":\"31e5afa0-1b1c-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"31e5afa1-1b1c-11e7-b09e-037021c4f8df\",\"line_width\":1,\"metrics\":[{\"field\":\"system.cpu.user.pct\",\"id\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"beat.name\",\"terms_order_by\":\"31e5afa2-1b1c-11e7-b09e-037021c4f8df\",\"terms_size\":\"10\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c6f2ffd0-4d17-11e7-a196-69b9a7a020a9", + "_type": "visualization", + "_source": { + "title": "Number of hosts [Metricbeat System]", + "visState": "{\"title\":\"Number of hosts [Metricbeat System]\",\"type\":\"metric\",\"params\":{\"type\":\"metric\",\"addTooltip\":true,\"addLegend\":false,\"metric\":{\"useRange\":false,\"style\":{\"bgFill\":\"#000\",\"bgColor\":false,\"fontSize\":\"63\",\"subText\":\"\",\"labelColor\":false},\"colorSchema\":\"Green to Red\",\"invertColors\":false,\"labels\":{\"color\":\"black\",\"show\":false},\"colorsRange\":[{\"to\":100,\"from\":0}],\"percentageMode\":false,\"metricColorMode\":\"None\"}},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"cardinality\",\"schema\":\"metric\",\"params\":{\"field\":\"beat.hostname\"}}]}", + "uiStateJSON": "{\"vis\":{\"defaultColors\":{\"0 - 100\":\"rgb(0,104,55)\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\",\"default_field\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "1aae9140-1b93-11e7-8ada-3df93aab833e", + "_type": "visualization", + "_source": { + "title": "Outbound Traffic [Metricbeat System]", + "visState": "{\"title\":\"Outbound Traffic [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"background_color_rules\":[{\"id\":\"0e346760-1b92-11e7-bec4-a5e9ec5cab8b\"}],\"filter\":\"-system.network.name.keyword:l*\",\"id\":\"0c761590-1b92-11e7-bec4-a5e9ec5cab8b\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"0c761591-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Outbound Traffic\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.out.bytes\",\"id\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"max\"},{\"unit\":\"1s\",\"function\":\"sum\",\"id\":\"a1737470-2c55-11e7-a0ad-277ce466684d\",\"type\":\"derivative\",\"field\":\"0c761592-1b92-11e7-bec4-a5e9ec5cab8b\"},{\"id\":\"5645de30-c2b5-11ea-a805-ed7a667554aa\",\"type\":\"series_agg\",\"function\":\"overall_sum\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"value_template\":\"{{value}}/s\"},{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"37f70440-1b92-11e7-bec4-a5e9ec5cab8b\",\"label\":\"Total Transferred\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.out.bytes\",\"id\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"max\"},{\"field\":\"37f72b50-1b92-11e7-bec4-a5e9ec5cab8b\",\"id\":\"37f72b51-1b92-11e7-bec4-a5e9ec5cab8b\",\"type\":\"derivative\",\"unit\":\"\"},{\"field\":\"f9da2dd0-1b92-11e7-a416-41f5ccdba2e6\",\"function\":\"overall_sum\",\"id\":\"3e63c2f0-1b92-11e7-bec4-a5e9ec5cab8b\",\"sigma\":\"\",\"type\":\"series_agg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"beat.hostname\",\"value_template\":\"{{value}}\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"metric\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "7cdb1330-4d1a-11e7-a196-69b9a7a020a9", + "_type": "visualization", + "_source": { + "title": "Hosts histogram by CPU usage [Metricbeat System]", + "visState": "{\"title\":\"Hosts histogram by CPU usage [Metricbeat System]\",\"type\":\"heatmap\",\"params\":{\"colorSchema\":\"Greens\",\"invertColors\":false,\"type\":\"heatmap\",\"legendPosition\":\"right\",\"addLegend\":true,\"colorsRange\":[{\"from\":0,\"to\":10},{\"from\":10,\"to\":100},{\"from\":100,\"to\":200},{\"from\":200,\"to\":0}],\"colorsNumber\":4,\"setColorRange\":true,\"percentageMode\":false,\"addTooltip\":true,\"valueAxes\":[{\"show\":false,\"labels\":{\"color\":\"#555\",\"rotate\":270,\"show\":true},\"type\":\"value\",\"id\":\"ValueAxis-1\",\"scale\":{\"defaultYExtents\":true,\"type\":\"linear\"}}],\"enableHover\":false,\"times\":[]},\"aggs\":[{\"id\":\"1\",\"enabled\":true,\"type\":\"avg\",\"schema\":\"metric\",\"params\":{\"field\":\"system.cpu.user.pct\",\"customLabel\":\"CPU usage\"}},{\"id\":\"2\",\"enabled\":true,\"type\":\"date_histogram\",\"schema\":\"segment\",\"params\":{\"field\":\"@timestamp\",\"interval\":\"auto\",\"customInterval\":\"2h\",\"min_doc_count\":1,\"extended_bounds\":{}}},{\"id\":\"3\",\"enabled\":true,\"type\":\"terms\",\"schema\":\"group\",\"params\":{\"field\":\"beat.hostname\",\"exclude\":\"\",\"size\":6,\"order\":\"desc\",\"orderBy\":\"1\",\"customLabel\":\"Hosts\"}}]}", + "uiStateJSON": "{\"vis\":{\"defaultColors\":{\"0 - 10\":\"rgb(247,252,245)\",\"10 - 100\":\"rgb(199,233,192)\",\"100 - 200\":\"rgb(116,196,118)\",\"200 - 0\":\"rgb(35,139,69)\"},\"colors\":{\"0 - 10\":\"#E0F9D7\",\"10 - 100\":\"#508642\",\"100 - 200\":\"#E5AC0E\",\"200 - 500\":\"#BF1B00\",\"200 - -1\":\"#BF1B00\",\"200 - 0\":\"#BF1B00\"}}}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"index\":\"metricbeat-systems-*\",\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"analyze_wildcard\":true,\"query\":\"*\",\"default_field\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "34f97ee0-1b96-11e7-8ada-3df93aab833e", + "_type": "visualization", + "_source": { + "title": "Disk Usage [Metricbeat System]", + "visState": "{\"title\":\"Disk Usage [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"bf525310-1b95-11e7-8ada-3df93aab833e\",\"operator\":\"gte\",\"value\":0},{\"bar_color\":\"rgba(254,146,0,1)\",\"id\":\"125fc4c0-1b96-11e7-8ada-3df93aab833e\",\"operator\":\"gte\",\"value\":0.7},{\"bar_color\":\"rgba(211,49,21,1)\",\"id\":\"1a5c7240-1b96-11e7-8ada-3df93aab833e\",\"operator\":\"gte\",\"value\":0.85}],\"drilldown_url\":\"\",\"filter\":\"-system.filesystem.mount_point:\\\\/run* AND -system.filesystem.mount_point:\\\\/sys* AND -system.filesystem.mount_point:\\\\/dev* AND -system.filesystem.mount_point:\\\\/proc* AND -system.filesystem.mount_point:\\\\/var* AND -system.filesystem.mount_point:\\\\/boot AND -system.filesystem.mount_point:\\\\/snap*\",\"id\":\"9f7e48a0-1b95-11e7-8ada-3df93aab833e\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"9f7e48a1-1b95-11e7-8ada-3df93aab833e\",\"line_width\":1,\"metrics\":[{\"field\":\"system.filesystem.used.pct\",\"id\":\"9f7e48a2-1b95-11e7-8ada-3df93aab833e\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.filesystem.mount_point\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "2e224660-1b19-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Processes By Memory [Metricbeat System]", + "visState": "{\"title\":\"Processes By Memory [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"efb9b660-1b18-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0},{\"bar_color\":\"rgba(254,146,0,1)\",\"id\":\"17fcb820-1b19-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.7},{\"bar_color\":\"rgba(211,49,21,1)\",\"id\":\"1dd61070-1b19-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0.85}],\"drilldown_url\":\"\",\"filter\":\"\",\"id\":\"edfceb30-1b18-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"edfceb31-1b18-11e7-b09e-037021c4f8df\",\"line_width\":1,\"metrics\":[{\"field\":\"system.process.memory.rss.pct\",\"id\":\"edfceb32-1b18-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.process.name\",\"terms_order_by\":\"edfceb32-1b18-11e7-b09e-037021c4f8df\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "99381c80-4d60-11e7-9a4c-ed99bbcaa42b", + "_type": "visualization", + "_source": { + "title": "Interfaces by Incoming traffic [Metricbeat System]", + "visState": "{\"title\":\"Interfaces by Incoming traffic [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"44596d40-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"id\":\"42ceae90-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"42ced5a0-4d60-11e7-9a4c-ed99bbcaa42b\",\"label\":\"Interfaces by Incoming traffic\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.in.bytes\",\"id\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"terms_order_by\":\"42ced5a1-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "c5e3cf90-4d60-11e7-9a4c-ed99bbcaa42b", + "_type": "visualization", + "_source": { + "title": "Interfaces by Outgoing traffic [Metricbeat System]", + "visState": "{\"title\":\"Interfaces by Outgoing traffic [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"id\":\"9db20be0-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"id\":\"9cdba910-4d60-11e7-9a4c-ed99bbcaa42b\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"bytes\",\"id\":\"9cdba911-4d60-11e7-9a4c-ed99bbcaa42b\",\"label\":\"Interfaces by Outgoing traffic\",\"line_width\":1,\"metrics\":[{\"field\":\"system.network.out.bytes\",\"id\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.network.name\",\"terms_order_by\":\"9cdba912-4d60-11e7-9a4c-ed99bbcaa42b\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + }, + { + "_id": "e0f001c0-1b18-11e7-b09e-037021c4f8df", + "_type": "visualization", + "_source": { + "title": "Top Processes By CPU [Metricbeat System]", + "visState": "{\"title\":\"Top Processes By CPU [Metricbeat System]\",\"type\":\"metrics\",\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"bar_color_rules\":[{\"bar_color\":\"rgba(104,188,0,1)\",\"id\":\"60e11be0-1b18-11e7-b09e-037021c4f8df\",\"operator\":\"gte\",\"value\":0}],\"drilldown_url\":\"\",\"filter\":\"\",\"id\":\"5f5b8d50-1b18-11e7-b09e-037021c4f8df\",\"index_pattern\":\"metricbeat-systems-*\",\"interval\":\"auto\",\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"line\",\"color\":\"#68BC00\",\"fill\":0.5,\"formatter\":\"percent\",\"id\":\"5f5b8d51-1b18-11e7-b09e-037021c4f8df\",\"line_width\":1,\"metrics\":[{\"field\":\"system.process.cpu.total.pct\",\"id\":\"5f5b8d52-1b18-11e7-b09e-037021c4f8df\",\"type\":\"avg\"}],\"point_size\":1,\"seperate_axis\":0,\"split_mode\":\"terms\",\"stacked\":\"none\",\"terms_field\":\"system.process.name\",\"terms_order_by\":\"5f5b8d52-1b18-11e7-b09e-037021c4f8df\"}],\"show_grid\":1,\"show_legend\":1,\"time_field\":\"@timestamp\",\"type\":\"top_n\"},\"aggs\":[]}", + "uiStateJSON": "{}", + "description": "", + "version": 1, + "kibanaSavedObjectMeta": { + "searchSourceJSON": "{\"filter\":[],\"query\":{\"language\":\"lucene\",\"query\":{\"query_string\":{\"query\":\"*\"}}}}" + } + }, + "_meta": { + "savedObjectVersion": 2 + } + } +]
\ No newline at end of file diff --git a/roles/lava-elk-deps/tasks/main.yml b/roles/lava-elk-deps/tasks/main.yml index e73ce25b..ea8f6ec5 100644 --- a/roles/lava-elk-deps/tasks/main.yml +++ b/roles/lava-elk-deps/tasks/main.yml @@ -1,8 +1,9 @@ --- - name: install apt packages - apt: pkg={{item}} update_cache=yes - with_items: + apt: name={{packages}} update_cache=yes + vars: + packages: - python3-pip - git @@ -13,16 +14,54 @@ - name: Install python deps pip: - name: elasticsearch + name: "{{modules}}" virtualenv: "{{scripts_dir}}/.venv" - virtualenv_python: python3.5 + virtualenv_python: python3 + vars: + modules: + - elasticsearch + - elasticsearch-loader + - requests + - python-gitlab + +- name: Clone lava repo + git: + repo: https://git.linaro.org/lava/lava-lab.git + dest: "{{scripts_dir}}/lava-lab" + +- name: Clone elasticsearch-scripts repo + git: + repo: https://git.linaro.org/infrastructure/es-scripts.git + dest: "{{scripts_dir}}/es-scripts" + - name: Install lava job queue python template: src: jobqueue_production.py.j2 dest: "{{scripts_dir}}/jobqueue_production.py" +- name: Install lava devicehealth check python script + template: + src: devicehealth.py.j2 + dest: "{{scripts_dir}}/devicehealth.py" + +- name: Install kisscache script + template: + src: kisscache.py.j2 + dest: "{{scripts_dir}}/kisscache.py" + +- name: Install gitlab https clone stats script + template: + src: gitlab_clone_stats.py.j2 + dest: "{{scripts_dir}}/gitlab_clone_stats.py" + - name: Install lava job crontab template: src: crond.j2 dest: /etc/cron.d/lava-elk + +- name: Install elasticsearch crontab + template: + src: es-crond.j2 + dest: /etc/cron.d/elasticsearch-check + mode: 0755 diff --git a/roles/lava-elk-deps/templates/crond.j2 b/roles/lava-elk-deps/templates/crond.j2 index 88e0945d..d4319824 100644 --- a/roles/lava-elk-deps/templates/crond.j2 +++ b/roles/lava-elk-deps/templates/crond.j2 @@ -1,3 +1,19 @@ +MAILTO=linaro-infrastructure-errors@lists.linaro.org + {% for item in lava_servers %} -* * * * * root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/jobqueue_production.py --username '{{item.username}}' --token '{{item.token}}' --server '{{item.host}}' --elastic_port '{{docker_port_elasticsearch}}' +* * * * * root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/jobqueue_production.py --server '{{item.host}}' --elastic_port '{{docker_port_elasticsearch}}' --elastic_host '{{docker_container_elasticsearch_name}}' >/dev/null 2>&1 +*/5 * * * * root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/devicehealth.py --server '{{item.host}}' --elastic_port '{{docker_port_elasticsearch}}' --elastic_host '{{docker_container_elasticsearch_name}}' >/dev/null 2>&1 +{% if item.jobreport is defined %} +# needs a new token +#@hourly root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/lava-lab/shared/monitoring/instance-reporting/jobreport -u '{{item.username}}' -t '{{item.token}}' -m {{scripts_dir}}/lava-lab/shared/monitoring/instance-reporting/lavamsgmap.json -h '{{item.host}}' -f /tmp/jobfailure -p 1440 && {{scripts_dir}}/.venv/bin/elasticsearch_loader --es-host http://{{docker_container_elasticsearch_name}}:9200 --index jobfailure json /tmp/jobfailure >> /tmp/jobfailure.log 2>&1 +{% endif %} +{% endfor %} + +{% for item in kisscache_servers %} +*/5 * * * * root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/kisscache.py --server '{{item.host}}' --elastic_port '{{docker_port_elasticsearch}}' --elastic_host '{{docker_container_elasticsearch_name}}' >/dev/null 2>&1 +{% endfor %} + + +{% for item in gitlab_servers %} +@daily root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/gitlab_clone_stats.py --server '{{item.host}}' --elastic_port '{{docker_port_elasticsearch}}' --elastic_host '{{docker_container_elasticsearch_name}}' -t {{item.token}} >/dev/null 2>&1 {% endfor %} diff --git a/roles/lava-elk-deps/templates/devicehealth.py.j2 b/roles/lava-elk-deps/templates/devicehealth.py.j2 new file mode 100755 index 00000000..3821439a --- /dev/null +++ b/roles/lava-elk-deps/templates/devicehealth.py.j2 @@ -0,0 +1,78 @@ +#!/usr/bin/python3 + +import requests +import json +import argparse +from elasticsearch import Elasticsearch, TransportError +from datetime import datetime +import sys + +index_mappings = { + "settings": { + "index.mapping.ignore_malformed": True, + "dynamic": False, + "number_of_shards":1, + "number_of_replicas":0, + }, +} + +def main(): + + parser = argparse.ArgumentParser(description='Get device health status from LAVA server') + + parser.add_argument("-s", "--server", type=str, + help="LAVA server to get the info from") + parser.add_argument("-t", "--token", type=str, + help="User authentication token") + parser.add_argument("-u", "--username", type=str, + help="Username to use for query") + parser.add_argument("-e_host", "--elastic_host", type=str, + help="Elasticsearch server hostname", + default='localhost') + parser.add_argument("-e_port", "--elastic_port", type=str, + help="Elasticsearch server port", + default='9200') + parser.add_argument("-e_index", "--elastic_index", type=str, + help="Elasticsearch index to store results", + default='devicehealth') + parser.add_argument("-n", "--dry_run", action='store_true', + help="Do not execute elasticsearch commands", + default=False) + parser.add_argument("-d", "--debug", action='store_true', + help="Print debugging information", + default=False) + options = parser.parse_args() + + es = Elasticsearch([ + {'host': options.elastic_host, 'port': options.elastic_port}, + ]) + index_name = options.elastic_index + doc_type = options.elastic_index + if not options.debug: + print("Index set to: %s" % index_name) + if not options.dry_run: + es.indices.create(index=index_name, ignore=400, body=index_mappings) + + + devices_url = 'https://{}/api/v0.2/devices/'.format(options.server) + + next_page = devices_url + while next_page is not None: + r = requests.get(next_page) + + for device in r.json()["results"]: + doc = {'device':{}} + for key in device: + doc['device'][key] = device[key] + doc['server'] = options.server + doc['@timestamp'] = datetime.utcnow() + + if options.debug: + print("%s" % doc) + if not options.dry_run: + es.index(index=index_name,doc_type=doc_type, body=doc) + if "next" in r.json(): + next_page = r.json()["next"] + +if __name__ == '__main__': + main() diff --git a/roles/lava-elk-deps/templates/es-crond.j2 b/roles/lava-elk-deps/templates/es-crond.j2 new file mode 100644 index 00000000..6722987e --- /dev/null +++ b/roles/lava-elk-deps/templates/es-crond.j2 @@ -0,0 +1,5 @@ +MAILTO=linaro-infrastructure-errors@lists.linaro.org + +*/15 * * * * root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/es-scripts/status-autoclear.py +0 6,12,18 * * * root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/es-scripts/preseed-beats.py +@hourly root {{scripts_dir}}/.venv/bin/python {{scripts_dir}}/es-scripts/check-query.py diff --git a/roles/lava-elk-deps/templates/gitlab_clone_stats.py.j2 b/roles/lava-elk-deps/templates/gitlab_clone_stats.py.j2 new file mode 100644 index 00000000..76e3abd6 --- /dev/null +++ b/roles/lava-elk-deps/templates/gitlab_clone_stats.py.j2 @@ -0,0 +1,105 @@ +#!/usr/bin/python3 + +import gitlab +import xmlrpc.client +import argparse +from elasticsearch import Elasticsearch, TransportError +from datetime import datetime + +index_mappings = { + "settings": { + "index.mapping.ignore_malformed": True, + "dynamic": False, + "number_of_shards": 1, + "number_of_replicas": 0, + }, +} + + +def main(): + + parser = argparse.ArgumentParser( + description="Get Morello stats for HTTPS Clones" + ) + + parser.add_argument( + "-s", + "--server", + type=str, + help="Gitlab server", + default="https://git.morello-project.org", + ) + parser.add_argument( + "-t", "--token", type=str, help="User authentication token" + ) + parser.add_argument( + "-e_host", + "--elastic_host", + type=str, + help="Elasticsearch server hostname", + default="localhost", + ) + parser.add_argument( + "-e_port", + "--elastic_port", + type=str, + help="Elasticsearch server port", + default="9200", + ) + parser.add_argument( + "-e_index", + "--elastic_index", + type=str, + help="Elasticsearch index to store results", + default="gitlab_morello_stats", + ) + parser.add_argument( + "-n", + "--dry_run", + action="store_true", + help="Do not execute elasticsearch commands", + default=False, + ) + parser.add_argument( + "-d", + "--debug", + action="store_true", + help="Print debugging information", + default=False, + ) + options = parser.parse_args() + + es = Elasticsearch( + [ + {"host": options.elastic_host, "port": options.elastic_port}, + ] + ) + index_name = options.elastic_index + doc_type = options.elastic_index + if not options.debug: + print("Index set to: %s" % index_name) + if not options.dry_run: + es.indices.create(index=index_name, ignore=400, body=index_mappings) + + gl = gitlab.Gitlab(options.server, options.token) + + gl.auth() + + projects = gl.projects.list(all=True, visibility="public") + + for p in projects: + for d in p.additionalstatistics.get().fetches["days"]: + doc = { + "project_name": p.name, + "project_id": p.id, + "count": list(d.values())[0], + "date": list(d.values())[1], + } + if options.debug: + print("%s" % doc) + if not options.dry_run: + es.index(index=index_name, doc_type=doc_type, body=doc) + + +if __name__ == "__main__": + main() diff --git a/roles/lava-elk-deps/templates/jobqueue_production.py.j2 b/roles/lava-elk-deps/templates/jobqueue_production.py.j2 index 95184319..95ceddcc 100644 --- a/roles/lava-elk-deps/templates/jobqueue_production.py.j2 +++ b/roles/lava-elk-deps/templates/jobqueue_production.py.j2 @@ -1,63 +1,84 @@ #!/usr/bin/python3 -import xmlrpc.client +import requests +import json import argparse from elasticsearch import Elasticsearch, TransportError from datetime import datetime +import sys index_mappings = { "settings": { "index.mapping.ignore_malformed": True, - "dynamic": False + "dynamic": False, + "number_of_shards": 1, + "number_of_replicas": 0, }, } def main(): - parser = argparse.ArgumentParser(description='Get a LAVA server job queue') + parser = argparse.ArgumentParser(description='Get job queue status from LAVA server') parser.add_argument("-s", "--server", type=str, - help="LAVA server to get the info from") + help="lava server") parser.add_argument("-t", "--token", type=str, help="User authentication token") parser.add_argument("-u", "--username", type=str, help="Username to use for query") parser.add_argument("-e_host", "--elastic_host", type=str, - help="Username to use for query", + help="Elasticsearch server hostname", default='localhost') parser.add_argument("-e_port", "--elastic_port", type=str, - help="Username to use for query", + help="Elasticsearch server port", default='9200') parser.add_argument("-e_index", "--elastic_index", type=str, - help="Username to use for query", + help="Elasticsearch index to store results", default='jobqueue') - options = parser.parse_args() + parser.add_argument("-n", "--dry_run", action='store_true', - server = xmlrpc.client.ServerProxy("https://%s:%s@%s/RPC2" - % (options.username, options.token, options.server)) + help="Do not execute elasticsearch commands", + default=False) + parser.add_argument("-d", "--debug", action='store_true', + help="Print debugging information", + default=False) + options = parser.parse_args() es = Elasticsearch([ {'host': options.elastic_host, 'port': options.elastic_port}, ]) index_name = options.elastic_index doc_type = options.elastic_index - print(index_name) - es.indices.create(index=index_name, ignore=400, body=index_mappings) + if not options.debug: + print("Index set to: %s" % index_name) + if not options.dry_run: + es.indices.create(index=index_name, ignore=400, body=index_mappings) + + devices_url = 'https://{}/api/v0.2/devicetypes/?display=true'.format(options.server) + r = requests.get(devices_url) + devices = [ x["name"] for x in r.json()["results"]] + + for device in devices: + status_url = 'https://{}/api/v0.2/jobs/?requested_device_type={}&state=Submitted'.format(options.server, device) + req = requests.get(status_url) + queue = req.json()["count"] + if options.debug: + print('{} - {}'.format(device,queue)) - jobs = server.scheduler.pending_jobs_by_device_type() - for k, v in jobs.items(): doc = { 'device': { - 'type': k, - 'queue': v, + 'type': device, + 'queue': queue, 'lava_server': options.server, 'timestamp': datetime.utcnow() }, - } - - print(doc) + '@timestamp': datetime.utcnow(), + } - es.index(index=index_name, doc_type=doc_type, body=doc) + if options.debug: + print("%s" % doc) + if not options.dry_run: + es.index(index=index_name,doc_type=doc_type, body=doc) if __name__ == '__main__': main() diff --git a/roles/lava-elk-deps/templates/kisscache.py.j2 b/roles/lava-elk-deps/templates/kisscache.py.j2 new file mode 100644 index 00000000..ffac67c2 --- /dev/null +++ b/roles/lava-elk-deps/templates/kisscache.py.j2 @@ -0,0 +1,66 @@ +#!/usr/bin/python3 + +import requests +import json +import argparse +from elasticsearch import Elasticsearch, TransportError +from datetime import datetime +import sys + +index_mappings = { + "settings": { + "index.mapping.ignore_malformed": True, + "dynamic": False, + "number_of_shards": 1, + "number_of_replicas": 0, + }, +} + +def main(): + + parser = argparse.ArgumentParser(description='Get device health status from LAVA server') + + parser.add_argument("-s", "--server", type=str, + help="kisscache server") + parser.add_argument("-t", "--token", type=str, + help="User authentication token") + parser.add_argument("-u", "--username", type=str, + help="Username to use for query") + parser.add_argument("-e_host", "--elastic_host", type=str, + help="Elasticsearch server hostname", + default='localhost') + parser.add_argument("-e_port", "--elastic_port", type=str, + help="Elasticsearch server port", + default='9200') + parser.add_argument("-e_index", "--elastic_index", type=str, + help="Elasticsearch index to store results", + default='kisscache') + parser.add_argument("-n", "--dry_run", action='store_true', + help="Do not execute elasticsearch commands", + default=False) + parser.add_argument("-d", "--debug", action='store_true', + help="Print debugging information", + default=False) + options = parser.parse_args() + + r = requests.get(options.server) + json_output = r.json() + + es = Elasticsearch([ + {'host': options.elastic_host, 'port': options.elastic_port}, + ]) + index_name = options.elastic_index + doc_type = options.elastic_index + if not options.debug: + print("Index set to: %s" % index_name) + if not options.dry_run: + es.indices.create(index=index_name, ignore=400, body=index_mappings) + + + if options.debug: + print("%s" % doc) + if not options.dry_run: + es.index(index=index_name,doc_type=doc_type, body=json_output) + +if __name__ == '__main__': + main() diff --git a/roles/lava-remote-worker/tasks/main.yml b/roles/lava-remote-worker/tasks/main.yml new file mode 100644 index 00000000..d8dd8571 --- /dev/null +++ b/roles/lava-remote-worker/tasks/main.yml @@ -0,0 +1,21 @@ +- name: Clone lava-remote-worker + git: repo=https://github.com/bhcopeland/lava-remote-worker + dest=/srv/lava-remote-worker + update=yes + accept_hostkey=yes + +- name: copy env secrets + template: + src: files/lava-remote-worker/env + dest: /srv/lava-remote-worker/.env + +- name: copy token + template: + src: files/lava-remote-worker/token + dest: /srv/lava-remote-worker/overlays/var/lib/lava/dispatcher/worker/token + + +- name: deploy docker-compose stack + docker_compose: + project_src: /srv/lava-remote-worker + restarted: yes diff --git a/roles/letsencrypt/tasks/main.yml b/roles/letsencrypt/tasks/main.yml index 9b981e8d..d6c2358c 100644 --- a/roles/letsencrypt/tasks/main.yml +++ b/roles/letsencrypt/tasks/main.yml @@ -14,7 +14,9 @@ - python-certbot-apache when: ansible_distribution_release == "stretch" -- name: Install cert for {{hostname}} +# violates the 303 lint check (command used instead of module) +# suggests using the 'acme_certificate' module +- name: Install cert for {{hostname}} # noqa 303 command: letsencrypt -n --apache --agree-tos --email "{{email}}" -d "{{hostname}}" args: creates: /etc/letsencrypt/live/{{hostname}}/fullchain.pem diff --git a/roles/linaro-git-tools/tasks/main.yml b/roles/linaro-git-tools/tasks/main.yml index 974be802..6afc851d 100644 --- a/roles/linaro-git-tools/tasks/main.yml +++ b/roles/linaro-git-tools/tasks/main.yml @@ -9,7 +9,7 @@ - name: Clone linaro-git-tools repository git: name=http://{{linaro_git_server}}/git/infrastructure/linaro-git-tools.git dest={{tools_checkout_dir}}/linaro-git-tools - version="HEAD" + version=origin/master - name: Configure ldap.conf when: ssh_ldap_bindpw is defined diff --git a/roles/metricbeat/defaults/main.yml b/roles/metricbeat/defaults/main.yml deleted file mode 100644 index 8d561f1a..00000000 --- a/roles/metricbeat/defaults/main.yml +++ /dev/null @@ -1,40 +0,0 @@ ---- -logstash_host: elk.linaro.org:5044 -logstash_cert: logstash-beats.crt -metricbeat_config_modules: | - metricbeat.modules: - - module: system - metricsets: - - cpu - #- load - #- core - - diskio - - filesystem - #- fsstat - - memory - - network - - process - enabled: true - period: 10s - processes: ['.*'] - cpu_ticks: false -metricbeat_config_general: | - name: {{ ansible_hostname }} - fields_under_root: false -metricbeat_config_processors: | - processors: -metricbeat_config_output: | - output.logstash: - hosts: ["{{logstash_host}}"] - ssl: - certificate_authorities: ["/etc/filebeat/{{logstash_cert}}"] -metricbeat_config_logging: | - logging: - level: warning - to_syslog: true -metricbeat_config: | - {{metricbeat_config_modules}} - {{metricbeat_config_general}} - {{metricbeat_config_processors}} - {{metricbeat_config_output}} - {{metricbeat_config_logging}} diff --git a/roles/metricbeat/handlers/main.yml b/roles/metricbeat/handlers/main.yml deleted file mode 100644 index 23588977..00000000 --- a/roles/metricbeat/handlers/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- name: restart-metricbeat - service: name=metricbeat state=restarted diff --git a/roles/metricbeat/tasks/main.yml b/roles/metricbeat/tasks/main.yml deleted file mode 100644 index f211409a..00000000 --- a/roles/metricbeat/tasks/main.yml +++ /dev/null @@ -1,35 +0,0 @@ ---- -- name: add elastic.co GPG pkg key - apt_key: - url: https://artifacts.elastic.co/GPG-KEY-elasticsearch - -- name: add beats repository - apt_repository: - repo: "deb https://artifacts.elastic.co/packages/6.x/apt stable main" - state: present - update_cache: yes - -- name: install metricbeat packages - apt: - name: "{{packages}}" - vars: - packages: - - metricbeat - notify: restart-metricbeat - -- name: install metricbeat configuration - template: - src=metricbeat.yml.j2 - dest=/etc/metricbeat/metricbeat.yml - owner=root - group=root - mode=0640 - notify: restart-metricbeat - -- name: copy logstash cert - copy: - src={{secrets_dir}}/files/elk/{{logstash_cert}} - dest=/etc/metricbeat/{{logstash_cert}} - -- name: enable metricbeat service - service: name=metricbeat enabled=yes state=started diff --git a/roles/metricbeat/templates/metricbeat.yml.j2 b/roles/metricbeat/templates/metricbeat.yml.j2 deleted file mode 100644 index 5e56e0c9..00000000 --- a/roles/metricbeat/templates/metricbeat.yml.j2 +++ /dev/null @@ -1 +0,0 @@ -{{metricbeat_config}} diff --git a/roles/mirroring-gerrit/files/git-us.linaro.org.conf b/roles/mirroring-gerrit/files/git-us.linaro.org.conf index fd84d7c3..567c933f 100644 --- a/roles/mirroring-gerrit/files/git-us.linaro.org.conf +++ b/roles/mirroring-gerrit/files/git-us.linaro.org.conf @@ -12,21 +12,6 @@ $repo_root = /srv/repositories $grok_manifest = /srv/repositories/manifest.js.gz $grok_repo_root = /srv/repositories/ -[http://llvm.org] -git/llvm = toolchain/llvm/llvm -git/clang = toolchain/llvm/clang -git/compiler-rt = toolchain/llvm/compiler-rt -git/openmp = toolchain/llvm/openmp -git/libcxx = toolchain/llvm/libcxx -git/libcxxabi = toolchain/llvm/libcxxabi -git/test-suite = toolchain/llvm/test-suite -git/clang-tools-extra = toolchain/llvm/clang-tools-extra -git/libunwind = toolchain/llvm/libunwind -git/lld = toolchain/llvm/lld -git/lldb = toolchain/llvm/lldb -git/lnt = toolchain/llvm/lnt -git/zorg = toolchain/llvm/zorg - [git://sourceware.org] git/binutils-gdb = toolchain/binutils-gdb git/newlib-cygwin = toolchain/newlib @@ -38,9 +23,11 @@ git/gcc = toolchain/gcc [git://git.sv.gnu.org] dejagnu = toolchain/dejagnu -[https://git.kernel.org] +[http://git.kernel.org] pub/scm/linux/kernel/git/next/linux-next = kernel-org/linux-next pub/scm/linux/kernel/git/torvalds/linux = kernel-org/linux +pub/scm/linux/kernel/git/stable/linux = kernel-org/linux-stable +[https://git.kernel.org] pub/scm/linux/kernel/git/next/linux-next = toolchain/linux-next pub/scm/linux/kernel/git/torvalds/linux = toolchain/linux @@ -54,3 +41,6 @@ micropython/micropython = lite/micropython Linaro/odp = lng/odp Linaro/odp-dpdk = lng/odp-dpdk Linaro/test-definitions = qa/test-definitions +andersson/qdl = landing-teams/working/qualcomm/qdl +Linaro/vixl = arm/vixl +llvm/llvm-lnt = toolchain/llvm-lnt diff --git a/roles/mirroring-gerrit/files/git.trustedfirmware.org.conf b/roles/mirroring-gerrit/files/git.trustedfirmware.org.conf new file mode 100644 index 00000000..b045a237 --- /dev/null +++ b/roles/mirroring-gerrit/files/git.trustedfirmware.org.conf @@ -0,0 +1,27 @@ +[DESTINATION] +$repo_root = /srv/repositories + +[DESTINATION-local] +# For direct filesystem pushing +$repo_root = /srv/repositories + +[https://github.com] +ARMmbed/mbed-crypto = mirror/mbed-crypto +ARMmbed/mbedtls = mirror/mbed-tls +ARM-software/CMSIS_5 = mirror/ARM-software/CMSIS_5 +mcu-tools/mcuboot = mirror/mcuboot +ARM-software/psa-arch-tests = mirror/psa-arch-tests +laurencelundblade/QCBOR = mirror/QCBOR +OP-TEE/build = OP-TEE/build +OP-TEE/manifest = OP-TEE/manifest +OP-TEE/optee_client = OP-TEE/optee_client +OP-TEE/optee_os = OP-TEE/optee_os +OP-TEE/optee_test = OP-TEE/optee_test +OP-TEE/optee_docs = OP-TEE/optee_docs +linaro-swg/optee_examples = OP-TEE/optee_example + +[https://git.trustedfirmware.org] +TF-M/trusted-firmware-m = next/TF-M/trusted-firmware-m +TF-A/trusted-firmware-a = next/TF-A/trusted-firmware-a +ci/tf-a-ci-scripts = next/ci/tf-a-ci-scripts +ci/tf-m-ci-scripts = next/ci/tf-m-ci-scripts diff --git a/roles/mirroring-gerrit/files/lhg-review.linaro.org.conf b/roles/mirroring-gerrit/files/lhg-review.linaro.org.conf deleted file mode 120000 index 7d7be5d8..00000000 --- a/roles/mirroring-gerrit/files/lhg-review.linaro.org.conf +++ /dev/null @@ -1 +0,0 @@ -../../../secrets/git-gerrit-servers/mirroring-gerrit/lhg-review.linaro.org.conf
\ No newline at end of file diff --git a/roles/mirroring-gerrit/tasks/main.yml b/roles/mirroring-gerrit/tasks/main.yml index 47116eda..9af2bfe2 100644 --- a/roles/mirroring-gerrit/tasks/main.yml +++ b/roles/mirroring-gerrit/tasks/main.yml @@ -17,3 +17,26 @@ - name: Install crontab template: src=crontab dest=/etc/cron.d/gerrit-mirror + +- name: Install gitcookies + template: src=gitcookies.j2 dest=/home/git/.gitcookies owner={{git_user}} group={{git_user}} mode=0600 + when: gitcookies is defined + +- name: Install gerrit mirror private key + template: src=privkey.j2 dest=/home/{{git_user}}/.ssh/{{mirror_git_private_key_name}} owner={{git_user}} group={{git_user}} mode=0600 + when: mirror_git_private_key_name is defined + +- name: Install default user ssh client config file + template: src=ssh_config_include dest=/home/{{git_user}}/.ssh/config owner={{git_user}} group={{git_user}} mode=0600 + # xenial only has openssh 7.2, which doesn't support the Include directive. + # Since lhg-review is the only xenial server and it's id_rsa is already + # to use the linaro-gerrit-bot key, we can just skip it. + when: mirror_git_private_key_name is defined and ansible_distribution_release != 'xenial' + +- name: Make ~/.ssh/config.d directory + file: dest=/home/{{git_user}}/.ssh/config.d state=directory owner={{git_user}} group={{git_user}} mode=0700 + when: mirror_git_private_key_name is defined + +- name: Install ssh config for gerrit server + template: src=ssh-config.j2 dest=/home/{{git_user}}/.ssh/config.d/{{mirror_git_private_key_name}} owner={{git_user}} group={{git_user}} mode=0600 + when: mirror_git_private_key_name is defined diff --git a/roles/mirroring-gerrit/templates/gitcookies.j2 b/roles/mirroring-gerrit/templates/gitcookies.j2 new file mode 100644 index 00000000..e1bbdfea --- /dev/null +++ b/roles/mirroring-gerrit/templates/gitcookies.j2 @@ -0,0 +1 @@ +{{gitcookies}} diff --git a/roles/mirroring-gerrit/templates/privkey.j2 b/roles/mirroring-gerrit/templates/privkey.j2 new file mode 100644 index 00000000..57d1baa9 --- /dev/null +++ b/roles/mirroring-gerrit/templates/privkey.j2 @@ -0,0 +1 @@ +{{mirror_git_private_key}} diff --git a/roles/mirroring-gerrit/templates/ssh-config.j2 b/roles/mirroring-gerrit/templates/ssh-config.j2 new file mode 100644 index 00000000..81094c50 --- /dev/null +++ b/roles/mirroring-gerrit/templates/ssh-config.j2 @@ -0,0 +1,5 @@ +Host {{mirror_git_gerrit_ssh_host}} + Hostname {{mirror_git_gerrit_host}} + Port 29418 + User {{mirror_git_gerrit_user}} + IdentityFile ~/.ssh/{{mirror_git_private_key_name}} diff --git a/roles/mirroring-gerrit/templates/ssh_config_include b/roles/mirroring-gerrit/templates/ssh_config_include new file mode 100644 index 00000000..53eda290 --- /dev/null +++ b/roles/mirroring-gerrit/templates/ssh_config_include @@ -0,0 +1 @@ +Include config.d/* diff --git a/roles/nfs-client/defaults/main.yml b/roles/nfs-client/defaults/main.yml deleted file mode 100644 index 2dcd49ce..00000000 --- a/roles/nfs-client/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -nfs_client_mount: [] diff --git a/roles/nfs-client/tasks/main.yml b/roles/nfs-client/tasks/main.yml index 400e37a8..d38a67ed 100644 --- a/roles/nfs-client/tasks/main.yml +++ b/roles/nfs-client/tasks/main.yml @@ -1,9 +1,7 @@ --- - name: Install nfs-client deps - apt: pkg={{item}} - with_items: - - rpcbind - - nfs-common + apt: + pkg: ['rpcbind', 'nfs-common'] - name: Ensure nfs client directory exists file: path={{item.path}} state=directory @@ -14,7 +12,7 @@ name: "{{item.path}}" src: "{{item.src}}" opts: "{{item.opts}}" - fstype: nfs + fstype: "{{item.fstype}}" state: "{{item.state}}" with_items: "{{nfs_client_mount}}" diff --git a/roles/nfs-server/tasks/main.yml b/roles/nfs-server/tasks/main.yml index 53bb6e0b..3bc1dae6 100644 --- a/roles/nfs-server/tasks/main.yml +++ b/roles/nfs-server/tasks/main.yml @@ -1,15 +1,25 @@ --- - name: Install NFS deps - apt: pkg={{item}} - with_items: - - nfs-common - - nfs-server + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - nfs-common + - nfs-server - name: Ensure directories to export exist file: path={{item.path}} state=directory with_items: "{{nfs_exports}}" notify: restart-nfs +- name: Ensure cleanup crontab exists + template: + src: cleanup-crontab.cron + dest: /etc/cron.d/cleanup + owner: root + group: root + - name: Copy NFS exports file template: src: exports.j2 @@ -18,3 +28,13 @@ group: root mode: 0644 notify: restart-nfs + +- name: Open firewall port for NFS + ufw: + rule: allow + port: "{{item.0}}" + src: "{{item.1}}" + with_nested: + - "{{nfs_ports}}" + - "{{groups[nfs_client_group]|map('extract', hostvars, 'ansible_host')|list}}" + tags: nfs diff --git a/roles/nfs-server/templates/cleanup-crontab.cron b/roles/nfs-server/templates/cleanup-crontab.cron new file mode 100644 index 00000000..18717762 --- /dev/null +++ b/roles/nfs-server/templates/cleanup-crontab.cron @@ -0,0 +1,3 @@ +{% for export in nfs_exports %} +@weekly root {{export.cleanup}} +{% endfor %} diff --git a/roles/nfs-server/templates/exports.j2 b/roles/nfs-server/templates/exports.j2 index c53848a8..235cc5be 100644 --- a/roles/nfs-server/templates/exports.j2 +++ b/roles/nfs-server/templates/exports.j2 @@ -10,5 +10,5 @@ # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) # {% for export in nfs_exports %} -{{export.path}} {% for host in groups['jenkins_slaves']|map('extract', hostvars, 'ansible_host')|list %}{{host}}{{export.options}} {%endfor%} +{{export.path}} {% for host in groups[nfs_client_group]|map('extract', hostvars, 'ansible_host')|list %}{{host}}{{export.options}} {%endfor%} {% endfor %} diff --git a/roles/node_exporter/defaults/main.yml b/roles/node_exporter/defaults/main.yml new file mode 100644 index 00000000..e42c5c33 --- /dev/null +++ b/roles/node_exporter/defaults/main.yml @@ -0,0 +1,7 @@ +--- +ne_ver: 1.3.1 +ne_arch: amd64 +ne_iface: 0.0.0.0 +ne_port: 9100 +prometheus_scrape_user: prometheus +# password in secrets diff --git a/roles/node_exporter/handlers/main.yml b/roles/node_exporter/handlers/main.yml new file mode 100644 index 00000000..2a755634 --- /dev/null +++ b/roles/node_exporter/handlers/main.yml @@ -0,0 +1,6 @@ +--- +- name: reload_systemd + systemd: daemon_reload=yes + +- name: restart_node_exporter + service: name=node_exporter state=restarted enabled=yes diff --git a/roles/node_exporter/tasks/main.yml b/roles/node_exporter/tasks/main.yml new file mode 100644 index 00000000..c3781e1b --- /dev/null +++ b/roles/node_exporter/tasks/main.yml @@ -0,0 +1,78 @@ +--- +- name: Detect ARM arch + set_fact: + ne_arch: arm64 + when: ansible_architecture == "aarch64" + +- name: Create node_exporter directory + file: + path: /srv/node_exporter + state: directory + owner: root + group: root + mode: 0775 + +- name: Install node_exporter web-config + template: + src: web-config.j2 + dest: /srv/node_exporter/web-config.yml + mode: 0640 + owner: nobody + group: nogroup + notify: + - restart_node_exporter + +- name: Install node_exporter systemd configuration + template: + src: node_exporter.service.j2 + dest: /etc/systemd/system/node_exporter.service + mode: 0644 + owner: root + group: root + notify: + - reload_systemd + - restart_node_exporter + +- name: Download and install node_exporter + unarchive: + src: https://github.com/prometheus/node_exporter/releases/download/v{{ ne_ver }}/node_exporter-{{ ne_ver }}.linux-{{ ne_arch }}.tar.gz + dest: /srv/node_exporter + remote_src: yes + +- name: Install binary on system + copy: + remote_src: yes + src: /srv/node_exporter/node_exporter-{{ ne_ver }}.linux-{{ ne_arch }}/node_exporter + dest: /usr/sbin/node_exporter + owner: nobody + group: nogroup + mode: '0555' + notify: + - restart_node_exporter + +- name: Open firewall for prometheus scrapers + ufw: + rule: allow + proto: tcp + port: "{{ ne_port }}" + src: "{{ item }}" + with_items: "{{ prometheus_scrape_ips }}" + when: ne_push is not defined and ne_ufw is defined + +- name: Install push script + template: + src: ne_push.j2 + dest: /srv/node_exporter/ne_push.sh + mode: 0755 + owner: nobody + group: nobody + when: ne_push is defined + +- name: Install push cront job + template: + src: ne_push_cron.j2 + dest: /etc/cron.d/node_exporter_push + mode: 0755 + owner: nobody + group: nobody + when: ne_push is defined diff --git a/roles/node_exporter/templates/ne_push.j2 b/roles/node_exporter/templates/ne_push.j2 new file mode 100644 index 00000000..67c46ba3 --- /dev/null +++ b/roles/node_exporter/templates/ne_push.j2 @@ -0,0 +1,14 @@ +#!/bin/sh + +SCRAPEUSER="{{ prometheus_scrape_user }}" +SCRAPEPASS="{{ prometheus_scrape_password }}" + +PUSHUSER="{{ prometheus_push_user }}" +PUSHPASS="{{ prometheus_push_password }}" + +PUSHGATEWAY="{{ prometheus_push_gateway }}" +NODE_NAME="{{ inventory_hostname }}" + +curl -s -u "${SCRAPEUSER}:${SCRAPEPASS}" {{ ne_iface }}:{{ ne_port }} | \ +curl -s -u "${PUSHUSER}:${PUSHPASS}" --data-binary @- \ +$PUSHGATEWAY/metrics/job/node-exporter/instance/$NODE_NAME diff --git a/roles/node_exporter/templates/ne_push_cron.j2 b/roles/node_exporter/templates/ne_push_cron.j2 new file mode 100644 index 00000000..a594de85 --- /dev/null +++ b/roles/node_exporter/templates/ne_push_cron.j2 @@ -0,0 +1,5 @@ +#!/bin/sh + +MAILTO=linaro-infrastructure-errors@lists.linaro.org + +{{ prometheus_push_schedule }} /srv/node_exporter/ne_push.sh diff --git a/roles/node_exporter/templates/node_exporter.service.j2 b/roles/node_exporter/templates/node_exporter.service.j2 new file mode 100644 index 00000000..07b509e2 --- /dev/null +++ b/roles/node_exporter/templates/node_exporter.service.j2 @@ -0,0 +1,30 @@ +[Unit] +Description=Prometheus Node Exporter +Wants=network-online.target +After=network-online.target + +[Service] +User=nobody +Group=nogroup +ExecStart=/usr/sbin/node_exporter \ + --web.config=/srv/node_exporter/web-config.yml \ + --collector.systemd \ + --collector.textfile \ + --collector.textfile.directory=/var/lib/node_exporter \ + --web.listen-address={{ ne_iface }}:{{ ne_port }} + +SyslogIdentifier=node_exporter +Restart=always +RestartSec=1 +StartLimitInterval=0 + +ProtectHome=yes +NoNewPrivileges=yes + +ProtectSystem=strict +ProtectControlGroups=true +ProtectKernelModules=true +ProtectKernelTunables=yes + +[Install] +WantedBy=multi-user.target diff --git a/roles/node_exporter/templates/web-config.j2 b/roles/node_exporter/templates/web-config.j2 new file mode 100644 index 00000000..83963659 --- /dev/null +++ b/roles/node_exporter/templates/web-config.j2 @@ -0,0 +1,8 @@ +--- +http_server_config: + http2: false + +{% if prometheus_scrape_user != None and prometheus_scrape_password != None %} +basic_auth_users: + {{ prometheus_scrape_user }}: {{ prometheus_scrape_password | password_hash('bcrypt') }} +{% endif %} diff --git a/roles/obs-bastion/tasks/main.yml b/roles/obs-bastion/tasks/main.yml deleted file mode 100644 index c3643d06..00000000 --- a/roles/obs-bastion/tasks/main.yml +++ /dev/null @@ -1,88 +0,0 @@ -#- name: Reset ufw to defaults -# ufw: state=reset -# when: firewall_reset is defined - -- name: install ufw - apt: - update_cache: yes - name: ufw - state: present - -- name: Open 5252 for slaves - ufw: - rule: allow - proto: tcp - port: 5252 - src: "{{item}}" - with_items: "{{worker_ip}}" - -- name: Open 5352 for slaves - ufw: - rule: allow - proto: tcp - port: 5352 - src: "{{item}}" - with_items: "{{worker_ip}}" - -# Only adds ports does not delete. -# ufw reset is required for a fresh ufw deploy. -- name: Open firewall ports - ufw: - rule: allow - proto: tcp - port: "{{item}}" - with_items: - - 22 - - 80 - - 443 - - 655 - -- name: Enable Firewall - ufw: - direction: "{{item.direction}}" - policy: "{{item.policy}}" - logging: off - state: enabled - with_items: - - { direction: 'incoming', policy: 'deny' } - - { direction: 'outgoing', policy: 'allow' } - -- name: Format obs_data volume - filesystem: - fstype: "{{obsdata_fstype}}" - dev: "{{obsdata_dev}}" - -- name: Mount obs_data volume - mount: - path: /var/lib/machines/obs/srv - state: mounted - passno: 2 - fstype: "{{obsdata_fstype}}" - src: "{{obsdata_dev}}" - -- name: Format obs_backup volume - filesystem: - fstype: "{{obsbackup_fstype}}" - dev: "{{obsbackup_dev}}" - -- name: Mount obs_backup volume - mount: - path: /srv/backups - state: mounted - passno: 2 - fstype: "{{obsbackup_fstype}}" - src: "{{obsbackup_dev}}" - -- name: add obs-backup user - user: - name: obs-backup - home: /srv/backups/obs - state: present - -- name: Set authorized key took from file - authorized_key: - user: obs-backup - state: present - key: "{{lookup('file', '{{secrets_dir}}/files/obs/id_rsa.pub')}}" - - diff --git a/roles/obs-worker/tasks/main.yml b/roles/obs-worker/tasks/main.yml deleted file mode 100644 index d8b4a236..00000000 --- a/roles/obs-worker/tasks/main.yml +++ /dev/null @@ -1,25 +0,0 @@ -- name: create obsworker container - docker_container: - name: obsworker - image: linaro/ci-obsworker - state: started - pull: yes - privileged: yes - hostname: "{{ansible_hostname}}" - expose: "${OBS_PORT}" - ports: - - "{{OBS_PORT}}:{{OBS_PORT}}" - env: - OBS_SERVER: obs - OBS_IP: "{{OBS_IP}}" - OBS_JOBS: "{{OBS_JOBS}}" - OBS_PORT: "{{OBS_PORT}}" - OBS_TMPFS: "{{OBS_TMPFS}}" - -- name: Open firewall for OBS master - ufw: - rule: allow - proto: tcp - port: "{{OBS_PORT}}" - src: "{{OBS_IP}}" - diff --git a/roles/obs/files/BSConfig.pm b/roles/obs/files/BSConfig.pm deleted file mode 100644 index 3c4eefc9..00000000 --- a/roles/obs/files/BSConfig.pm +++ /dev/null @@ -1,213 +0,0 @@ -# -# Copyright (c) 2006, 2007 Michael Schroeder, Novell Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License version 2 as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program (see the file COPYING); if not, write to the -# Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA -# -################################################################ -# -# Open Build Service Configuration -# - -package BSConfig; - -use Net::Domain; -use Socket; - -my $hostname = Net::Domain::hostfqdn() || 'localhost'; -# IP corresponding to hostname (only used for $ipaccess); fallback to localhost since inet_aton may fail to resolve at shutdown. -my $ip = quotemeta inet_ntoa(inet_aton($hostname) || inet_aton("localhost")); - -my $frontend = undef; # FQDN of the WebUI/API server if it's not $hostname - -# If defined, restrict access to the backend servers (bs_repserver, bs_srcserver, bs_service) -our $ipaccess = { - '127\..*' => 'rw', # only the localhost can write to the backend - "^$ip" => 'rw', # Permit IP of FQDN - '.*' => 'worker', # build results can be delivered from any client in the network -}; - -# IP of the WebUI/API Server (only used for $ipaccess) -if ($frontend) { - my $frontendip = quotemeta inet_ntoa(inet_aton($frontend) || inet_aton("localhost")); - $ipaccess->{$frontendip} = 'rw' ; # in dotted.quad format -} - -# Change also the SLP reg files in /etc/slp.reg.d/ when you touch hostname or port -our $srcserver = "http://$hostname:5352"; -our $reposerver = "http://$hostname:5252"; -our $serviceserver = "http://$hostname:5152"; - -# you can use different ports for worker connections -#our $workersrcserver = "http://$hostname:5353"; -#our $workerreposerver = "http://$hostname:5253"; - -our $servicedir = "/usr/lib/obs/service/"; -#our $servicetempdir = "/srv/obs/service"; -#our $serviceroot = "/opt/obs/MyServiceSystem"; - -# Maximum number of concurrent jobs for source service -#our $service_maxchild = 20; - -#our $gpg_standard_key = "/etc/obs-default-gpg.asc"; -# optional notification service: -#our $hermesserver = "http://$hostname/hermes"; -#our $hermesnamespace = "OBS"; -# -# Notification Plugin, multiple plugins supported, separated by space -#our $notification_plugin = "notify_hermes notify_rabbitmq"; -# - -# For the workers only, it is possible to define multiple repository servers here. -# But only one source server is possible yet. -our @reposervers = ("http://$hostname:5252"); - -# Package defaults -our $bsdir = '/srv/obs'; -our $bsuser = 'obsrun'; -our $bsgroup = 'obsrun'; -# user and group for bs_service (if the lxc service wrapper is used, set -# $bsserviceuser to root). If several obs services (e.g., bs_service and -# bs_srcserver) run on the same host, make sure that $bsservicegroup is set -# to $bsgroup. -our $bsserviceuser = 'obsservicerun'; -our $bsservicegroup = $bsgroup; -#our $bsquotafile = '/srv/obs/quota.xml'; - -# Use asynchronus scheduler. This avoids hanging schedulers on remote projects, -# when the network is slow or broken. This will become the default in future -# our $sched_asyncmode = 1; - -# Define how the scheduler does a cold start. The default (0) is to request the -# data for all packages, (1) means that only the non-remote packages are fetched, -# (2) means that all of the package data fetches get delayed. -# our $sched_startupmode = 0; - -# Disable fdatasync calls, increases the speed, but may lead to data -# corruption on system crash when the filesystem does not guarantees -# data write before rename. -# It is esp. required on XFS filesystem. -# It is safe to be disabled on ext4 and btrfs filesystems. -#our $disable_data_sync = 1; - -# Package rc script / backend communication + log files -our $rundir = "$bsdir/run"; -our $logdir = "$bsdir/log"; - -# optional for non-acl systems, should be set for access control -# 0: trees are shared between projects (built-in default) -# 1: trees are not shared (only usable for new installations) -# 2: new trees are not shared, in case of a missing tree the shared -# location is also tried (package default) -our $nosharedtrees = 2; - -# enable binary release tracking by default for release projects -our $packtrack = []; - -# optional: limit visibility of projects for some architectures -#our $limit_projects = { -# "ppc" => [ "openSUSE:Factory", "FATE" ], -# "ppc64" => [ "openSUSE:Factory", "FATE" ], -#}; - -# optional: allow seperation of releasnumber syncing per architecture -# one counter pool for all ppc architectures, one for i586/x86_64, -# arm archs are seperated and one for the rest in this example -our $relsync_pool = { - "local" => "local", - "i586" => "i586", - "x86_64" => "i586", - "ppc" => "ppc", - "ppc64" => "ppc", - "ppc64le" => "ppc", - "mips" => "mips", - "mips64" => "mips", - "mipsel" => "mipsel", - "mips64el" => "mipsel", - "aarch64" => "arm", - "aarch64_ilp32" => "arm", - "armv4l" => "arm", - "armv5l" => "arm", - "armv6l" => "arm", - "armv6hl" => "arm", - "armv7l" => "arm", - "armv7hl" => "arm", - "armv5el" => "armv5el", # they do not exist - "armv6el" => "armv6el", - "armv7el" => "armv7el", - "armv8el" => "armv8el", - "sparcv9" => "sparcv9", - "sparc64" => "sparcv9", -}; - -#No extra stage server sync -#our $stageserver = 'rsync://127.0.0.1/put-repos-main'; -#our $stageserver_sync = 'rsync://127.0.0.1/trigger-repos-sync'; - -#No package signing server -our $sign = '/usr/bin/sign.sh'; -#Extend sign call with project name as argument "--project $NAME" -#our $sign_project = 1; -#Global sign key -our $keyfile = '/etc/obs/public.key'; - -# Use a special local arch for product building -# our $localarch = "x86_64"; - -# config options for the bs_worker -# -#our buildlog_maxsize = 500 * 1000000; -#our buildlog_maxidle = 8 * 3600; -#our xenstore_maxsize = 20 * 1000000; -#our gettimeout = 1 * 3600; -# -# run a script to check if the worker is good enough for the job -#our workerhostcheck = 'my_check_script'; -# -# Allow to build as root, exceptions per package -# the keys are actually anchored regexes -# our $norootexceptions = { "my_project/my_package" => 1, "openSUSE:Factory.*/installation-images" => 1 }; - -# Use old style source service handling -# our $old_style_services = 1; - -### -# Optional support to split the binary backend. This can be used on large servers -# to seperate projects for better scalability. -# There is still just one source server, but there can be multiple servers which -# run each repserver, schedulers, dispatcher, warden and publisher -# -# This repo service is the 'home' server for all home:* projects. This and the -# $reposerver setting must be different on the binary backend servers. -# our $partition = 'home'; -# -# this defines how the projects are split. All home: projects are hosted -# on an own server in this example. Order is important. -# our $partitioning = [ 'home:' => 'home', -# '.*' => 'main', -# ]; -# -# our $partitionservers = { 'home' => 'http://home-backend-server:5252', -# 'main' => 'http://main-backend-server:5252', -# }; - -# host specific configs -my $hostconfig = __FILE__; -$hostconfig =~ s/[^\/]*$/bsconfig.$hostname/; -if (-r $hostconfig) { - print STDERR "reading $hostconfig...\n"; - require $hostconfig; -} - -1; diff --git a/roles/obs/files/landingpage/LICENSE.md b/roles/obs/files/landingpage/LICENSE.md deleted file mode 100644 index 66a9342b..00000000 --- a/roles/obs/files/landingpage/LICENSE.md +++ /dev/null @@ -1,29 +0,0 @@ -Software License Agreement (BSD License) -======================================== - -Copyright 2013 Yahoo! Inc. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - * Neither the name of the Yahoo! Inc. nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL YAHOO! INC. BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/roles/obs/files/landingpage/css/layouts/marketing.css b/roles/obs/files/landingpage/css/layouts/marketing.css deleted file mode 100644 index 0ffc3ca3..00000000 --- a/roles/obs/files/landingpage/css/layouts/marketing.css +++ /dev/null @@ -1,286 +0,0 @@ -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; -} - -/* - * -- BASE STYLES -- - * Most of these are inherited from Base, but I want to change a few. - */ -body { - line-height: 1.7em; - color: #7f8c8d; - font-size: 13px; -} - -h1, -h2, -h3, -h4, -h5, -h6, -label { - color: #34495e; -} - -.pure-img-responsive { - max-width: 100%; - height: auto; -} - -/* - * -- LAYOUT STYLES -- - * These are some useful classes which I will need - */ -.l-box { - padding: 1em; -} - -.l-box-lrg { - padding: 2em; - border-bottom: 1px solid rgba(0,0,0,0.1); -} - -.is-center { - text-align: center; -} - - - -/* - * -- PURE FORM STYLES -- - * Style the form inputs and labels - */ -.pure-form label { - margin: 1em 0 0; - font-weight: bold; - font-size: 100%; -} - -.pure-form input[type] { - border: 2px solid #ddd; - box-shadow: none; - font-size: 100%; - width: 100%; - margin-bottom: 1em; -} - -/* - * -- PURE BUTTON STYLES -- - * I want my pure-button elements to look a little different - */ -.pure-button { - background-color: #1f8dd6; - color: white; - padding: 0.5em 2em; - border-radius: 5px; -} - -a.pure-button-primary { - background: white; - color: #1f8dd6; - border-radius: 5px; - font-size: 120%; -} - - -/* - * -- MENU STYLES -- - * I want to customize how my .pure-menu looks at the top of the page - */ - -.home-menu { - padding: 0.5em; - text-align: center; - box-shadow: 0 1px 1px rgba(0,0,0, 0.10); -} -.home-menu { - background: #2d3e50; -} -.pure-menu.pure-menu-fixed { - /* Fixed menus normally have a border at the bottom. */ - border-bottom: none; - /* I need a higher z-index here because of the scroll-over effect. */ - z-index: 4; -} - -.home-menu .pure-menu-heading { - color: white; - font-weight: 400; - font-size: 120%; -} - -.home-menu .pure-menu-selected a { - color: white; -} - -.home-menu a { - color: #6FBEF3; -} -.home-menu li a:hover, -.home-menu li a:focus { - background: none; - border: none; - color: #AECFE5; -} - - -/* - * -- SPLASH STYLES -- - * This is the blue top section that appears on the page. - */ - -.splash-container { - background: #1f8dd6; - z-index: 1; - overflow: hidden; - /* The following styles are required for the "scroll-over" effect */ - width: 100%; - height: 88%; - top: 0; - left: 0; - position: fixed !important; -} - -.splash { - /* absolute center .splash within .splash-container */ - width: 80%; - height: 50%; - margin: auto; - position: absolute; - top: 100px; left: 0; bottom: 0; right: 0; - text-align: center; - text-transform: uppercase; -} - -/* This is the main heading that appears on the blue section */ -.splash-head { - font-size: 20px; - font-weight: bold; - color: white; - border: 3px solid white; - padding: 1em 1.6em; - font-weight: 100; - border-radius: 5px; - line-height: 1em; -} - -/* This is the subheading that appears on the blue section */ -.splash-subhead { - color: white; - letter-spacing: 0.05em; - opacity: 0.8; -} - -/* - * -- CONTENT STYLES -- - * This represents the content area (everything below the blue section) - */ -.content-wrapper { - /* These styles are required for the "scroll-over" effect */ - position: absolute; - top: 87%; - width: 100%; - min-height: 12%; - z-index: 2; - background: white; - -} - -/* We want to give the content area some more padding */ -.content { - padding: 1em 1em 3em; -} - -/* This is the class used for the main content headers (<h2>) */ -.content-head { - font-weight: 400; - text-transform: uppercase; - letter-spacing: 0.1em; - margin: 2em 0 1em; -} - -/* This is a modifier class used when the content-head is inside a ribbon */ -.content-head-ribbon { - color: white; -} - -/* This is the class used for the content sub-headers (<h3>) */ -.content-subhead { - color: #1f8dd6; -} - .content-subhead i { - margin-right: 7px; - } - -/* This is the class used for the dark-background areas. */ -.ribbon { - background: #2d3e50; - color: #aaa; -} - -/* This is the class used for the footer */ -.footer { - background: #111; - position: fixed; - bottom: 0; - width: 100%; -} - -/* - * -- TABLET (AND UP) MEDIA QUERIES -- - * On tablets and other medium-sized devices, we want to customize some - * of the mobile styles. - */ -@media (min-width: 48em) { - - /* We increase the body font size */ - body { - font-size: 16px; - } - - /* We can align the menu header to the left, but float the - menu items to the right. */ - .home-menu { - text-align: left; - } - .home-menu ul { - float: right; - } - - /* We increase the height of the splash-container */ -/* .splash-container { - height: 500px; - }*/ - - /* We decrease the width of the .splash, since we have more width - to work with */ - .splash { - width: 50%; - height: 50%; - } - - .splash-head { - font-size: 250%; - } - - - /* We remove the border-separator assigned to .l-box-lrg */ - .l-box-lrg { - border: none; - } - -} - -/* - * -- DESKTOP (AND UP) MEDIA QUERIES -- - * On desktops and other large devices, we want to over-ride some - * of the mobile and tablet styles. - */ -@media (min-width: 78em) { - /* We increase the header font size even more */ - .splash-head { - font-size: 300%; - } -} diff --git a/roles/obs/files/landingpage/index.html b/roles/obs/files/landingpage/index.html deleted file mode 100644 index bf0873c1..00000000 --- a/roles/obs/files/landingpage/index.html +++ /dev/null @@ -1,141 +0,0 @@ -<!doctype html> -<html lang="en"> -<head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <meta name="description" content="Linaro OBS."> - <title>Linaro OBS</title> - - <link rel="stylesheet" href="https://unpkg.com/purecss@0.6.2/build/pure-min.css" integrity="sha384-" crossorigin="anonymous"> - - <!--[if lte IE 8]> - <link rel="stylesheet" href="https://unpkg.com/purecss@0.6.2/build/grids-responsive-old-ie-min.css"> - <![endif]--> - <!--[if gt IE 8]><!--> - <link rel="stylesheet" href="https://unpkg.com/purecss@0.6.2/build/grids-responsive-min.css"> - <!--<![endif]--> - - <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css"> - <link rel="stylesheet" href="css/layouts/marketing.css"> -</head> -<body> - -<div class="header"> - <div class="home-menu pure-menu pure-menu-horizontal pure-menu-fixed"> - <a class="pure-menu-heading" href="https://www.linaro.org/"> - <img height="50" width="80" alt="Linaro" class="pure-img" src="https://www.linaro.org/app/images/linaro-logo-web.png"> - </a> - - <ul class="pure-menu-list"> - <li class="pure-menu-item pure-menu-selected"><a href="#" class="pure-menu-link">Home</a></li> - <li class="pure-menu-item"><a href="#" class="pure-menu-link">Instructions</a></li> - <li class="pure-menu-item"><a href="https://obs.linaro.org/" class="pure-menu-link">Log in</a></li> - </ul> - </div> -</div> - -<div class="splash-container"> - <div class="splash"> - <h1 class="splash-head">Open Build Service</h1> - <p class="splash-subhead"> - Building Centos, Debian, Fedora and Ubuntu packages for Linaro - </p> - <p> - <a href="https://wiki.linaro.org/OBS" class="pure-button pure-button-primary">Get Started</a> - </p> - </div> -</div> - -<div class="content-wrapper"> - <div class="content"> - <h2 class="content-head is-center">Instructions</h2> - - <div class="pure-g"> - <div class="l-box pure-u-1 pure-u-md-1-2 pure-u-lg-1-4"> - - <h3 class="content-subhead"> - <i class="fa fa-rocket"></i> - Get Started Quickly - </h3> - <p> Use the Jenkins CI jobs to submit your Packages: - <ul class="pure-menu-list"> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="https://ci.linaro.org/job/build-package-obs/">DEB</a> - </li> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="https://ci.linaro.org/job/build-rpm-obs/">RPM</a> - </li> - </ul> - </p> - </div> - <div class="l-box pure-u-1 pure-u-md-1-2 pure-u-lg-1-4"> - <h3 class="content-subhead"> - <i class="fa fa-th-large"></i> - Manuals - </h3> - <p> - <ul class="pure-menu-list"> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="https://wiki.linaro.org/OBS">Linaro OBS Instance</a> - </li> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="http://openbuildservice.org/">General OBS docs</a> - </li> - </ul> - </p> - </div> - <div class="l-box pure-u-1 pure-u-md-1-2 pure-u-lg-1-4"> - <h3 class="content-subhead"> - <i class="fa fa-th-large"></i> - Repositories - </h3> - <p> - <ul class="pure-menu-list"> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="http://obs.linaro.org/linaro-overlay-stretch/Debian_9.0/">Linaro Overlay Debian 9.0</a> - </li> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="http://obs.linaro.org/linaro-staging-stretch/Debian_9.0/">Linaro Staging Debian 9.0</a> - </li> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="http://repo.linaro.org/ubuntu">OLD</a> - </li> - <li class="pure-menu-item">More coming! - </li> - </ul> - </p> - </div> - <div class="l-box pure-u-1 pure-u-md-1-2 pure-u-lg-1-4"> - <h3 class="content-subhead"> - <i class="fa fa-check-square-o"></i> - Open Source - </h3> - <p> - <ul class="pure-menu-list"> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="http://openbuildservice.org/">Upstream Homepage</a> - </li> - <li class="pure-menu-item"> - <a class="pure-menu-link" href="https://github.com/openSUSE/open-build-service">Upstream sources</a> - </li> - </ul> - </p> - </div> - </div> - </div> - <div class="ribbon l-box-lrg pure-g"> - <div class="l-box-lrg is-center pure-u-1 pure-u-md-1-2 pure-u-lg-2-5"> - <img width="300" alt="File Icons" class="pure-img-responsive" src="https://www.linaro.cloud/wp-content/uploads/2016/05/DeveloperCloud-Logo_white-icon-DeveloperCloud.png"> - </div> - <div class="pure-u-1 pure-u-md-1-2 pure-u-lg-3-5"> - - <h2 class="content-head content-head-ribbon">Runs on Linaro arm64 Cloud</h2> - <p>ARM for servers is here, today! - </p> - </div> - </div> - -</div> - -</body> -</html> diff --git a/roles/obs/files/obs-installgpg.sh b/roles/obs/files/obs-installgpg.sh deleted file mode 100755 index 7a241c50..00000000 --- a/roles/obs/files/obs-installgpg.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -e - -gpg --import /root/private.key -gpg --import /etc/obs/public.key -cp -a ~/.gnupg ~obsrun/ -chown -R obsrun:obsrun ~obsrun/.gnupg diff --git a/roles/obs/files/sign.sh b/roles/obs/files/sign.sh deleted file mode 100755 index d4d7f4d4..00000000 --- a/roles/obs/files/sign.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash -# minimal replacement for stack of obs-signd, obssigner and patched gpg2 -# works for Signing Release and repodata - -while getopts "d:" Option -do - case $Option in - d) path=$OPTARG;; - esac -done -export GPG_TTY=$(tty) -/usr/bin/gpg --batch --yes --detach-sign -a $path diff --git a/roles/obs/handlers/main.yml b/roles/obs/handlers/main.yml deleted file mode 100644 index 2479a155..00000000 --- a/roles/obs/handlers/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: restart-apache - service: name=apache2 state=restarted - -- name: restart-obspublisher - service: name=obspublisher state=restarted diff --git a/roles/obs/tasks/main.yml b/roles/obs/tasks/main.yml deleted file mode 100644 index 470a9137..00000000 --- a/roles/obs/tasks/main.yml +++ /dev/null @@ -1,74 +0,0 @@ -- name: Use dbconfig for OBS - debconf: - name: obs-api - question: obs-api/dbconfig-install - value: true - vtype: boolean -- name: Set mysql admin - debconf: - name: obs-api - question: obs-api/mysql/admin-user - value: root - vtype: string -- name: Set mysql admin password - debconf: - name: obs-api - question: obs-api/mysql/admin-password - value: "{{mysql_password}}" - vtype: password -- name: Set api password - debconf: - name: obs-api - question: obs-api/mysql/app-password - value: "{{mysql_password}}" - vtype: password -- name: Add OBS apt key - apt_key: - url: http://obs.linaro.org/linaro-overlay-stretch/Debian_9.0/Release.key - state: present -- name: Add OBS overlay repository - apt_repository: - repo: deb http://obs.linaro.org/linaro-overlay-stretch/Debian_9.0/ ./ - state: present - -- name: Install OBS - apt: pkg={{item}} state=present update_cache=yes - with_items: - - obs-api=2.7.1-10.5 - - obs-server=2.7.1-10.5 - - obs-service-download-url=0.2 - - osc=0.156.0-2 - tags: - - update -- name: Rails configuration with rake - shell: /usr/share/obs/api/script/rake-tasks.sh setup >> /home/obs-admin/install.log 2>&1 - args: - creates: /srv/obs/configuration.xml -- name: Enable ldap - template: - src: options.yml - dest: /etc/obs/api/config/options.yml -- name: tailor apache conf - template: src=obs.conf dest=/etc/apache2/sites-available/obs.conf mode=0444 - notify: - - restart-apache - tags: - - web -- name: install landing page - copy: src=landingpage/ dest=/srv/obs/repos - tags: - - web -- name: enable obsscheduler@aarch64 - service: - name: obsscheduler@aarch64 - enabled: yes - state: started - -- name: enable obsservice - service: - name: obsservice - enabled: yes - state: started - -- {import_tasks: sign.yml, tags: [gpg]} - diff --git a/roles/obs/tasks/sign.yml b/roles/obs/tasks/sign.yml deleted file mode 100644 index 120a7692..00000000 --- a/roles/obs/tasks/sign.yml +++ /dev/null @@ -1,23 +0,0 @@ -- name: Copy Secret GPG key - copy: src="{{secrets_dir}}/files/obs/private.key" dest=/root/private.key - mode=0400 - -- name: Copy public GPG key - copy: src="{{secrets_dir}}/files/obs/public.key" dest=/etc/obs/public.key - mode=0444 - -- name: Install support scripts - copy: src="{{item}}" dest=/usr/bin/ mode=0755 - with_fileglob: - - "*.sh" - -- name: Set up PGP for obsrun - command: /usr/bin/obs-installgpg.sh - args: - creates: /root/.gnupg/secring.gpg - -- name: Install OBS config for signing - copy: src=BSConfig.pm dest=/etc/obs/BSConfig.pm - notify: - - restart-obspublisher - diff --git a/roles/obs/templates/obs.conf b/roles/obs/templates/obs.conf deleted file mode 100644 index 75c64ad3..00000000 --- a/roles/obs/templates/obs.conf +++ /dev/null @@ -1,68 +0,0 @@ -# May needed on old distributions or after an update from them. -#Listen 443 - -# Passenger defaults -PassengerSpawnMethod "smart" -PassengerMaxPoolSize 20 -#RailsEnv "development" - -# allow long request urls and being part of headers -LimitRequestLine 20000 -LimitRequestFieldsize 20000 - -# Build Results -<VirtualHost *:80> - # The resulting repositories - DocumentRoot "/srv/obs/repos" - - <Directory /srv/obs/repos> - Options Indexes FollowSymLinks - Allow from all - Require all granted - </Directory> -</VirtualHost> - - -# OBS WEBUI & API -<VirtualHost *:443> - ServerName {{hostname}} - - # General setup for the virtual host - DocumentRoot "/usr/share/obs/api/public" - ErrorLog /var/log/obs/apache_error_log - TransferLog /var/log/obs/apache_access_log - - PassengerMinInstances 2 - PassengerPreStart https://api - - SSLEngine on - - SSLCertificateFile /etc/letsencrypt/live/{{hostname}}/fullchain.pem - SSLCertificateKeyFile /etc/letsencrypt/live/{{hostname}}/privkey.pem - Include /etc/letsencrypt/options-ssl-apache.conf - - <Directory /usr/share/obs/api/public> - AllowOverride all - Options -MultiViews - - # This requires mod_xforward loaded in apache - # Enable the usage via options.yml - # This will decrease the load due to long running requests a lot (unloading from rails stack) - XForward on - - Allow from all - Require all granted - </Directory> - - CustomLog /var/log/apache2/ssl_request_log ssl_combined - - # from http://guides.rubyonrails.org/asset_pipeline.html - <LocationMatch "^/assets/.*$"> - Header unset ETag - FileETag None - # RFC says only cache for 1 year - ExpiresActive On - ExpiresDefault "access plus 1 year" - </LocationMatch> - -</VirtualHost> diff --git a/roles/obs/templates/options.yml b/roles/obs/templates/options.yml deleted file mode 100644 index 316f311c..00000000 --- a/roles/obs/templates/options.yml +++ /dev/null @@ -1,157 +0,0 @@ -# -# This file contains the default configuration of the Open Build Service API. -# - -#read_only_hosts: [ "build.opensuse.org", "software.opensuse.org" ] - -# Make use of mod_xforward module in apache -#use_xforward: true - -# Make use of X-Accel-Redirect for Nginx. -# http://kovyrin.net/2010/07/24/nginx-fu-x-accel-redirect-remote -#use_nginx_redirect: /internal_redirect - -# Minimum count of rating votes a project/package needs to # be taken in account -# for global statistics: -min_votes_for_rating: 1 - -# Set to true to verify XML reponses comply to the schema -response_schema_validation: false - -# backend source server -source_host: localhost -# NOTE: the source_port setting is ignored and hardcoded for "test" and "development" env -source_port: 5352 -#source_protocol: https - -# api access to this instance -frontend_host: localhost -frontend_port: 443 -frontend_protocol: https -#api_relative_url_root: /obs -# if your users access the hosts through a proxy (or just a different name, use this to -# overwrite the settings for users) -#external_frontend_host: api.opensuse.org -#external_frontend_port: 443 -#external_frontend_protocol: https - - -extended_backend_log: false - -# proxy_auth_mode can be :off, :on or :simulate -proxy_auth_mode: :off - -# ATTENTION: If proxy_auth_mode'is :on, the frontend takes the user -# name that is coming as headervalue X-username as a -# valid user does no further authentication. So take care... -proxy_auth_test_user: coolguy -proxy_auth_test_email: coolguy@example.com - -#schema_location - -#version - -# if set to false, the API will only fake writes to backend (useful in testing) -# global_write_through: true - -# see http://colszowka.heroku.com/2011/02/22/setting-up-your-custom-hoptoad-notifier-endpoint-for-free-using-errbit-on-heroku -#errbit_api_key: api_key_of_your_app -#errbit_host: installation.of.errbit.com - -################## -# LDAP options -################## - -ldap_mode: :on - -# LDAP Servers separated by ':'. -# OVERRIDE with your company's ldap servers. Servers are picked randomly for -# each connection to distribute load. -ldap_servers: login.linaro.org - -# Max number of times to attempt to contact the LDAP servers -ldap_max_attempts: 15 - -# The attribute the user memberof is stored in -ldap_user_memberof_attr: memberof - -# Perform the group_user search with the member attribute of group entry or memberof attribute of user entry -# It depends on your ldap define -# The attribute the group member is stored in -ldap_group_member_attr: member - -# If you're using ldap_authenticate=:ldap then you should ensure that -# ldaps is used to transfer the credentials over SSL or use the StartTLS extension -ldap_ssl: :on - -# Use StartTLS extension of LDAP -ldap_start_tls: :off - -# LDAP port defaults to 636 for ldaps and 389 for ldap and ldap with StartTLS -ldap_port: 636 -# Authentication with Windows 2003 AD requires -ldap_referrals: :off - -# OVERRIDE with your company's ldap search base for the users who will use OBS -ldap_search_base: dc=linaro,dc=org -# Sam Account Name is the login name for LDAP -ldap_search_attr: uid -# The attribute the users name is stored in -ldap_name_attr: uid -# The attribute the users email is stored in -ldap_mail_attr: mail -# Credentials to use to search ldap for the username -ldap_search_user: "{{ ldap_search_user }}" -ldap_search_auth: "{{ ldap_search_auth }}" - -# By default any LDAP user can be used to authenticate to the OBS -# In some deployments this may be too broad and certain criteria should -# be met; eg group membership -# -# To allow only users in a specific group uncomment this line: -#ldap_user_filter: (memberof=CN=group,OU=Groups,DC=Domain Component) -# -# Note this is joined to the normal selection like so: -# (&(#{ldap_search_attr}=#{login})#{ldap_user_filter}) -# giving an ldap search of: -# (&(sAMAccountName=#{login})(memberof=CN=group,OU=Groups,DC=Domain Component)) -# -# Also note that openLDAP must be configured to use the memberOf overlay - -# ldap_authenticate says how the credentials are verified: -# :ldap = attempt to bind to ldap as user using supplied credentials -# :local = compare the credentials supplied with those in -# LDAP using #{ldap_auth_attr} & #{ldap_auth_mech} -# if :local is used then ldap_auth_mech can be -# :md5 -# :cleartext -ldap_authenticate: :ldap -ldap_auth_mech: :md5 -# This is a string -ldap_auth_attr: userPassword - -# Whether to update the user info to LDAP server, it does not take effect -# when ldap_mode is not set. -# Since adding new entry operation are more depend on your slapd db define, it might not -# compatiable with all LDAP server settings, you can use other LDAP client tools for your specific usage -ldap_update_support: :off -# ObjectClass, used for adding new entry -ldap_object_class: inetOrgPerson -# Base dn for the new added entry -ldap_entry_base: ou=OBSUSERS,dc=EXAMPLE,dc=COM -# Does sn attribute required, it is a necessary attribute for most of people objectclass, -# used for adding new entry -ldap_sn_attr_required: :on - -# Whether to search group info from ldap, it does not take effect -# when LDAP_GROUP_SUPPOR is not set. -# Please also set below LDAP_GROUP_* configs correctly to ensure the operation works properly -ldap_group_support: :off -# OVERRIDE with your company's ldap search base for groups -ldap_group_search_base: ou=OBSGROUPS,dc=EXAMPLE,dc=COM -# The attribute the group name is stored in -ldap_group_title_attr: cn -# The value of the group objectclass attribute, leave it as "" if objectclass attr doesn't exist -ldap_group_objectclass_attr: groupOfNames - -# This is to prevent fdupes from hardlinking diff --git a/roles/obs_deps/defaults/main.yml b/roles/obs_deps/defaults/main.yml new file mode 100644 index 00000000..168e9c42 --- /dev/null +++ b/roles/obs_deps/defaults/main.yml @@ -0,0 +1,4 @@ +--- +apache_modules: + - ssl + - rewrite diff --git a/roles/obs_deps/tasks/main.yml b/roles/obs_deps/tasks/main.yml new file mode 100644 index 00000000..2cc7546c --- /dev/null +++ b/roles/obs_deps/tasks/main.yml @@ -0,0 +1,34 @@ +--- +- name: Install required packages + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - s3fs + tags: + - update + +- name: Setup credentials + template: + src: s3fs.creds.j2 + dest: /etc/passwd-s3fs + mode: 0640 + +- name: Create base directory for installation + file: + path=/srv/obs.linaro.org + owner={{ apache_user }} + group={{ apache_user }} + mode=0755 + state=directory + +- name: Setup S3fs mount + mount: + fstype=fuse + dump=0 + opts=allow_other,use_cache=/tmp/cache,uid={{ apache_user }},gid={{ apache_user }} + boot=false + path=/srv/obs.linaro.org + src=s3fs#publishing-ie-linaro-org:/releases/obs + state=mounted diff --git a/roles/obs_deps/templates/s3fs.creds.j2 b/roles/obs_deps/templates/s3fs.creds.j2 new file mode 100644 index 00000000..cdc3683f --- /dev/null +++ b/roles/obs_deps/templates/s3fs.creds.j2 @@ -0,0 +1 @@ +{{ s3_aws_access_key_id }}:{{ s3_aws_secret_access_key }} diff --git a/roles/openvpn-client/defaults/main.yml b/roles/openvpn-client/defaults/main.yml index 5d27a798..8f19944a 100644 --- a/roles/openvpn-client/defaults/main.yml +++ b/roles/openvpn-client/defaults/main.yml @@ -1,4 +1,5 @@ vpn_connections: - vpn-art - - vpn-aus-colo-ci + - vpn-hpc - vpn-tcwg + - vpn-mlab diff --git a/roles/patchwork-deps/handlers/main.yml b/roles/patchwork-deps/handlers/main.yml index 244640b0..7d37547f 100644 --- a/roles/patchwork-deps/handlers/main.yml +++ b/roles/patchwork-deps/handlers/main.yml @@ -1,4 +1,4 @@ --- -- name: install-django-crowd-rest-backend - command: python ./setup.py install - chdir=/srv/django-crowd-rest-backend +- name: install-django-auth-ldap + command: python3 ./setup.py install + chdir=/srv/django-auth-ldap diff --git a/roles/patchwork-deps/tasks/main.yml b/roles/patchwork-deps/tasks/main.yml index 76f3f661..2b8c3756 100644 --- a/roles/patchwork-deps/tasks/main.yml +++ b/roles/patchwork-deps/tasks/main.yml @@ -1,20 +1,18 @@ --- - name: Install apt dependencies - apt: name={{item}} state=present - with_items: - - python-dulwich - - python-mock - - python-pip - - python-sqlparse - - git - -- name: Install REST API requirements - pip: name={{item.name}} version={{item.version}} - with_items: - - {"name": "djangorestframework", "version": "3.5.0"} - - {"name": "django-filter", "version": "1.1"} - tags: - - update + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - python3-dulwich + - python3-mock + - python3-pip + - python3-sqlparse + - git + - util-linux + - libldap2-dev + - libsasl2-dev - name: Create base directory for installation file: path={{install_base}}/{{hostname}} @@ -33,6 +31,11 @@ tags: - update +- name: Install python requirements + pip: requirements=/srv/{{ inventory_hostname }}/tools/requirements.txt + tags: + - update + - name: Copy apache wsgi script copy: src=files/patchwork/wsgi.py dest={{install_base}}/{{hostname}}/wsgi.py @@ -45,8 +48,8 @@ template: src=patchwork/patchwork.cron.d dest=/etc/cron.d/patchwork owner=root group=root mode=0644 -- name: Clone django-crowd-rest-backend repository - git: repo=https://git.linaro.org/infrastructure/django-crowd-rest-backend.git - dest=/srv/django-crowd-rest-backend version="HEAD" +- name: Clone django-auth-ldap repository + git: repo=https://github.com/django-auth-ldap/django-auth-ldap.git + dest=/srv/django-auth-ldap version="2.2.0" notify: - - install-django-crowd-rest-backend + - install-django-auth-ldap diff --git a/roles/pdu-liebert/files/pdu_power b/roles/pdu-liebert/files/pdu_power deleted file mode 100755 index 0cdc09e3..00000000 --- a/roles/pdu-liebert/files/pdu_power +++ /dev/null @@ -1,317 +0,0 @@ -#!/usr/bin/python - -# DO NOT EDIT! MANAGED BY ANSIBLE - -# The Liebert PDUs dont' have user-level access control, and we need to allow -# users the ability to power on/off certain devices. Additionally we -# need to hide the user/password of each PDU from the user. We create a -# config file readable only to root and grant users sudo permissions for -# running this script - -import argparse -import contextlib -import os -import re -import sys -import syslog -import textwrap -import time -import urllib -import urllib2 -import yaml - -import paramiko -import pexpect - -from StringIO import StringIO - -ESCAPE = '\x1b' -CONF = '/etc/pdu_power.conf' - - -def get_args(): - parser = argparse.ArgumentParser( - description='Power on/off a device or check status.', - formatter_class=argparse.RawTextHelpFormatter, - epilog=textwrap.dedent(''' - Examples: - # show the status of all devices on r1-pm-123 PDU - pdu_power r1-pm-123 - - # show the status of a single device: - pdu_power r1-a1 - - # turn on a device - pdu_power r1-a1 on - ''')) - parser.add_argument('device', help='Device to power on/off') - parser.add_argument('operation', nargs='?', - choices=('on', 'off', 'bmc-reset', 'bmc-on', 'bmc-off'), - help='Operation on|off. If not specified check status') - return parser.parse_args() - - -def get_conf(conf_file): - with open(conf_file) as f: - return yaml.load(f) - - -def _smash_connect(conf): - c = paramiko.SSHClient() - c.set_missing_host_key_policy(paramiko.AutoAddPolicy()) - c.connect(conf['host'], 22, conf['user'], conf['pass']) - return c - - -@contextlib.contextmanager -def cyber_pdu_menu(device, user, password, key_sequence): - pdulog = StringIO() - pdu = pexpect.spawn('ssh %s@%s' % (user, device)) - pdu.expect('password:') - pdu.sendline(password) - pdu.logfile = pdulog - try: - pdu.expect('CyberPower > ') - pdu.send('menumode\r\n') - - if key_sequence: - for key in key_sequence: - pdu.expect('> ') - pdu.send(key + '\r\n') - yield pdu - - # this should exit out of menu mode and log out cleanly - for item in range(5): - pdu.expect('> ') - pdu.send(ESCAPE) - pdu.expect('> ') - pdu.send('4\r\n') # Logout - time.sleep(0.2) - - pdu.close() - except: - sys.stderr.write(pdulog.getvalue()) - raise - - -def cyber_power_op(device, user, password, receptacle, op): - if op == 'on': - op = '1' - elif op == 'off': - op = '2' - elif op == 'reboot': - op = '3' - else: - raise ValueError('Invalid power operation: ' + op) - - sequence = ( - '1', # Device Manager - '6', # Outlet Manager - '1', # Outlet Control - '1', # Start a Control Command' - str(receptacle), - op, - 'yes', # Confirm power operation - ) - - with cyber_pdu_menu(device, user, password, sequence): - pass - - -def cyber_power_status(pdu, device): - host = pdu['host'] - user = pdu['user'] - password = pdu['pass'] - - sequence = ( - '1', # Device Manager - '6', # Outlet Manager - '1', # Outlet Control - ) - with cyber_pdu_menu(host, user, password, sequence) as menu: - line = '' - while not line.startswith('Outlet Number'): - line = menu.readline().strip() - states = menu.readline().strip() - # states now looks like: Current State : ON OFF ... - states = states.split(':')[1] - states = states.split() - - if device: - receptacle = int(device['id']) - print('%d: %s: %s' % ( - receptacle, device['label'], states[receptacle - 1])) - else: - labels = {x['id']: x['label'] for x in pdu['receptacles']} - for i in range(10): - label = labels.get(i + 1, 'not used') - print('%d: %s: %s' % (i + 1, label, states[i])) - - -def receptacle_idx(receptacle_id): - """Convert receptacle id into its index - liebert lists receptacles like 1-1 but the web api treats them as indeces - 1-1-1: 1 - 1-1-6: 6 - 1-2-1: 7 - """ - (rail, module, idx) = receptacle_id.split('-') - module = int(module) - idx = int(idx) - return ((module - 1) * 6) + (6 - (6 - idx) % 6) - - -def get_receptacle(conf, device): - for pdu in conf['pdus']: - for receptacle in pdu['receptacles']: - if device == receptacle['label']: - receptacle['pdu'] = pdu - driver = pdu.get('driver', 'liebert') - if driver == 'liebert': - receptacle['idx'] = receptacle_idx(receptacle['id']) - return receptacle - sys.exit('Device does not exist: ' + device) - - -def assert_perm(conf, user, device): - for u in conf['users']: - if u['name'] == user: - if u.get('admin'): - return - labels = u['labels'] - if type(labels) == list and device in labels: - return - elif type(labels) == str and re.match(labels, device): - return - syslog.syslog('PDU-POWER: User denied -' + user) - sys.exit('User does not have permission') - - -def power_op(server, user, password, idx, power_state): - assert power_state in (0, 1) - data = {'4365_%d_0' % idx: power_state} - op = '4365_%d_0=%d' % (idx, power_state) - url = 'http://%s/UE/SetDP.htm?%s' % (server, op) - - mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() - mgr.add_password(None, 'http://' + server, user, password) - data = urllib.urlencode(data) - - try: - urllib2.build_opener(urllib2.HTTPBasicAuthHandler(mgr)).open(url, data) - sys.exist('ERROR HTTP should return 404') - except urllib2.HTTPError as e: - # response is always 404, so you can't really tell much - if e.code != 404: - sys.exit('ERROR: ' + e.fp.read()) - - -def get_status(server, user, password): - mgr = urllib2.HTTPPasswordMgrWithDefaultRealm() - mgr.add_password(None, 'http://' + server, user, password) - url = 'http://' + server + '/rpc/rpcReceptacleListData.htm' - try: - resp = urllib2.build_opener( - urllib2.HTTPBasicAuthHandler(mgr)).open(url) - return resp.read() - except urllib2.HTTPError as e: - sys.exit('ERROR: ' + e.fp.read()) - - -def _smash_op(conf, operation): - cli = _smash_connect(conf) - # We can't use exec_command because a channel is created per command and - # that means the "reset" won't run from /admin1/system1 - # Doing stuff on a raw channel is nuts, but this is "good enough" based - # on my dumb testing with the 1 second delay before reading - operations = { - 'bmc-reset': 'reset', - 'bmc-on': 'start', - 'bmc-off': 'stop', - } - chan = cli.invoke_shell() - chan.sendall('cd /admin1/system1\n%s\n' % operations[args.operation]) - time.sleep(1) - out = chan.recv(1024) - if '/admin1/system1 reset at' not in out: - sys.exit('ERROR: reset may have failed: %s' % out) - - -def _smash_status(conf): - cli = _smash_connect(conf) - _, out, _ = cli.exec_command('show /admin1/system1') - for line in out.read().splitlines(): - line = line.strip() - if line.startswith('powerstate'): - return line.split('=', 1)[1].strip() - - -def power_status(conf, item): - pdu = device = None - smash = None - if item in [x['host'] for x in conf['pdus']]: - for pdu in conf['pdus']: - if pdu['host'] == item: - break - else: - device = get_receptacle(conf, item) - pdu = device['pdu'] - smash = device.get('smash') - - driver = pdu.get('driver', 'liebert') - if driver == 'cyber': - cyber_power_status(pdu, device) - elif driver == 'liebert': - pat = re.compile( - '<tr id="(\d-\d-\d)".+?<nobr>(\S+)<\/nobr>.+?<span title="(\S+)"') - data = get_status(pdu['host'], pdu['user'], pdu['pass']) - m = pat.search(data) - while m: - if not device or m.group(2) == item: - print('%s: %s: %s' % (m.group(1), m.group(2), m.group(3))) - if smash: - if m.group(3) != 'Off': - print(' BMC system-power: %s' % _smash_status(smash)) - else: - print(' BMC system-power: Off') - data = data[m.end():] - m = pat.search(data) - else: - raise ValueError('Unknown PDU driver type: ' + driver) - - -if __name__ == '__main__': - if 'SUDO_USER' not in os.environ: - args = ['/usr/bin/sudo'] + sys.argv - os.execv(args[0], args) - sys.exit('ERROR running under sudo') - - args = get_args() - - real_user = os.environ['SUDO_USER'] - conf = get_conf(CONF) - - if not args.operation: - power_status(conf, args.device) - sys.exit(0) - - receptacle = get_receptacle(conf, args.device) - assert_perm(conf, real_user, args.device) - if args.operation in ('bmc-reset', 'bmc-on', 'bmc-off'): - if 'smash' not in receptacle: - sys.exit('ERROR: This device does not have a BMC') - - driver = receptacle['pdu'].get('driver', 'liebert') - syslog.syslog( - 'PDU-POWER(%s): %s, %s' % (real_user, args.device, args.operation)) - if args.operation in ('bmc-reset', 'bmc-on', 'bmc-off'): - _smash_op(receptacle['smash'], args.operation) - elif driver == 'liebert': - op = 1 if args.operation == 'on' else 0 - power_op( - receptacle['pdu']['host'], receptacle['pdu']['user'], - receptacle['pdu']['pass'], receptacle['idx'], op) - elif driver == 'cyber': - cyber_power_op( - receptacle['pdu']['host'], receptacle['pdu']['user'], - receptacle['pdu']['pass'], receptacle['id'], op) diff --git a/roles/pdu-liebert/files/pdu_power.sudoers b/roles/pdu-liebert/files/pdu_power.sudoers deleted file mode 100644 index 1881d7fe..00000000 --- a/roles/pdu-liebert/files/pdu_power.sudoers +++ /dev/null @@ -1,2 +0,0 @@ -# DO NOT EDIT! MANAGED BY ANSIBLE -%aus-colo-users ALL=(ALL:ALL) /usr/local/bin/pdu_power diff --git a/roles/pdu-liebert/tasks/main.yml b/roles/pdu-liebert/tasks/main.yml deleted file mode 100644 index f2f3f5ac..00000000 --- a/roles/pdu-liebert/tasks/main.yml +++ /dev/null @@ -1,24 +0,0 @@ -- name: Install required packages - apt: - pkg: "{{item}}" - with_items: - - python-pexpect - - python-paramiko - - python-yaml - -- name: Install pdu_power script - action: copy src=pdu_power - dest=/usr/local/bin/pdu_power - owner=root group=root mode=0755 - -- name: Install pdu_power configuration - action: template src=pdu_power.conf.j2 - dest=/etc/pdu_power.conf - owner=root group=root mode=0440 - tags: - - colo_user - -- name: Configure pdu_power sudoers - action: copy src=pdu_power.sudoers - dest=/etc/sudoers.d/pdu_power - owner=root group=root mode=0440 diff --git a/roles/pdu-liebert/templates/pdu_power.conf.j2 b/roles/pdu-liebert/templates/pdu_power.conf.j2 deleted file mode 100644 index 6e7ad4fb..00000000 --- a/roles/pdu-liebert/templates/pdu_power.conf.j2 +++ /dev/null @@ -1,246 +0,0 @@ -# DO NOT EDIT! MANAGED BY ANSIBLE -pdus: - - host: r1-pm-123 - user: {{liebert_user}} - pass: {{liebert_pass}} - receptacles: - - id: 1-1-1 - label: r1-a1 - - id: 1-1-2 - label: r1-a2 - - id: 1-1-3 - label: r1-a3 - - id: 1-1-4 - label: r1-a4 - - id: 1-1-5 - label: r1-a5 - - id: 1-1-6 - label: r1-a6 - - id: 1-2-1 - label: r1-a7 - - id: 1-2-2 - label: r1-a8 - - id: 1-2-3 - label: r1-a9 - - id: 1-2-4 - label: r1-a10 - - id: 1-2-5 - label: r1-a11 - - id: 1-2-6 - label: r1-a12 - - id: 1-3-1 - label: r1-a13 - - id: 1-3-2 - label: r1-a14 - - id: 1-3-3 - label: r1-a15 - - id: 1-3-4 - label: r1-a16 - - id: 1-3-5 - label: r1-a17 - - id: 1-3-6 - label: r1-a18 - - host: r1-pm-456 - user: {{liebert_user}} - pass: {{liebert_pass}} - receptacles: - #- id: 1-3-1 - # label: - #- id: 1-3-2 - # label: - - id: 1-3-3 - label: r1-a35 - - id: 1-3-4 - label: r1-a36 - - id: 1-3-5 - label: r1-a37 - - id: 1-2-1 - label: r1-a38 - - id: 1-2-2 - label: r1-s1 - - id: 1-2-3 - label: r1-a9 - #- id: 1-2-4 - # label: - #- id: 1-2-5 - # label: - #- id: 1-2-6 - # label: - - id: 1-1-1 - label: r1-a19 - - id: 1-1-2 - label: r1-a20 - - id: 1-1-3 - label: r1-a21 - - id: 1-1-4 - label: r1-a22 - - id: 1-1-5 - label: r1-t2 - - id: 1-1-6 - label: r1-t1 - - host: r1-pm-ha - user: {{cyber_user}} - pass: {{cyber_pass}} - driver: cyber - receptacles: - - id: 1 - label: r1-x86-1 - - id: 2 - label: r1-x86-2 - - id: 3 - label: r1-s1 - - id: 4 - label: r1-s2 - - id: 5 - label: r1-a30 - - id: 6 - label: r1-a32 - - id: 7 - label: r1-a34 - - - host: r2-pm-123 - user: {{liebert_user}} - pass: {{liebert_pass}} - receptacles: - - id: 1-1-1 - label: r2-a1 - - id: 1-1-2 - label: r2-a2 - - id: 1-1-3 - label: r2-a3 - - id: 1-1-4 - label: r2-a4 - - id: 1-1-5 - label: r2-a5 - - id: 1-1-6 - label: r2-a6 - - id: 1-2-1 - label: r2-a7 - - id: 1-2-2 - label: r2-a8 - - id: 1-2-3 - label: r2-a9 - - id: 1-2-4 - label: r2-a10 - - id: 1-2-5 - label: r2-a11 - - id: 1-2-6 - label: r2-a12 - - id: 1-3-1 - label: r2-a13 - - id: 1-3-2 - label: r2-a14 - - id: 1-3-3 - label: r2-a15 - - id: 1-3-4 - label: r2-a16 - - id: 1-3-5 - label: r2-a17 - - id: 1-3-6 - label: r2-a24 - - host: r2-pm-456 - user: {{liebert_user}} - pass: {{liebert_pass}} - receptacles: - - id: 1-1-1 - label: r2-a19 - - id: 1-1-2 - label: r2-a20 - - id: 1-1-3 - label: r2-a26 - - id: 1-1-4 - label: r2-a27 - - id: 1-1-5 - label: r2-t2 - - id: 1-1-5 - label: r2-t1 - #- id: 1-2-1 - # label: - #- id: 1-2-2 - # label: - - id: 1-2-3 - label: r2-a25 - #- id: 1-2-4 - # label: - - id: 1-2-5 - label: r2-a32 - - id: 1-2-6 - label: r2-a34 - # non-standard because of broken receptacle, that's now fixed - - id: 1-3-1 - label: r2-a18 - #- id: 1-3-2 - # label: - - id: 1-3-3 - label: r2-a21 - - id: 1-3-4 - label: r2-a22 - - id: 1-3-5 - label: r2-a23 - - id: 1-3-6 - label: r2-a28 - - host: r2-pm-ha - user: {{cyber_user}} - pass: {{cyber_pass}} - driver: cyber - receptacles: - - id: 1 - label: r2-x86-1 - - id: 2 - label: r2-s1 - - id: 3 - label: r2-a1 - - id: 4 - label: r2-a30 - - id: 10 - label: r2-s2 - - - host: r3-pm-123 - user: {{liebert_user}} - pass: {{liebert_pass}} - receptacles: - - id: 1-1-5 - label: r3-m1.2 - - id: 1-1-6 - label: r3-m1.1 - - - host: r3-pm-456 - user: {{liebert_user}} - pass: {{liebert_pass}} - receptacles: - - id: 1-2-1 - label: r3-m1.4 - - id: 1-2-2 - label: r3-m1.3 - - - host: r3-pm-ha - user: {{cyber_user}} - pass: {{cyber_pass}} - driver: cyber - receptacles: - - id: 1 - label: r3-x86-1 - - id: 2 - label: r3-s1 - - id: 3 - label: r3-s3 - -users: - - name: ben.copeland - admin: True - - name: kelley.spoon - admin: True - - name: riku.voipio - admin: True - - name: gema.gomez-solano - admin: True - -{% for entry in reservations %} -{% for user in entry.users %} - - name: {{ user }} - labels: -{% for host in entry.hosts %} - - {{ host }} -{% endfor %} -{% endfor %} -{% endfor %} diff --git a/roles/phabricator/handlers/main.yml b/roles/phabricator/handlers/main.yml index be0498ee..df367282 100644 --- a/roles/phabricator/handlers/main.yml +++ b/roles/phabricator/handlers/main.yml @@ -1,6 +1,6 @@ --- - name: configure-phabricator - import_tasks: config.yml + include_tasks: tasks/config.yml #note: have to bounce the process.. a simple reload isn't sufficient to # change the settings we've adjusted diff --git a/roles/phabricator/tasks/main.yml b/roles/phabricator/tasks/main.yml index 8907a1f0..5ca6d5a0 100644 --- a/roles/phabricator/tasks/main.yml +++ b/roles/phabricator/tasks/main.yml @@ -21,7 +21,7 @@ when: debconf_output.stdout is undefined or not debconf_output.stdout| match("\d+\s+%s" % phabricator_mysql_root_password ) # xenial only support 7.0, phab wants at least 7.1 -- name: Add PHP 7.2 PPA +- name: Add PHP 7.x PPA apt_repository: repo: ppa:ondrej/php state: present @@ -33,16 +33,17 @@ packages: - git - apache2 - - libapache2-mod-php7.2 - - php7.2-common - - php7.2 + - libapache2-mod-php7.4 + - php7.4-common + - php7.4 - php-pear # pulls in pecl tool - - php7.2-curl - - php7.2-mysql - - php7.2-gd - - php7.2-ldap - - php-apcu - - php7.2-mbstring + - php7.4-curl + - php7.4-mysql + - php7.4-gd + - php7.4-ldap + - php7.4-apcu + - php7.4-mbstring + - php7.4-zip - mysql-server - mysql-common - mysql-client @@ -100,20 +101,20 @@ - name: Install phabricator-settings.ini template: src: phabricator-settings.ini - dest: /etc/php/7.2/mods-available/phabricator-settings.ini + dest: /etc/php/7.4/mods-available/phabricator-settings.ini notify: reload-apache - name: Manually enable phabricator-settings.ini file: - src: /etc/php/7.2/mods-available/phabricator-settings.ini - dest: /etc/php/7.2/apache2/conf.d/90-phabricator-settings.ini + src: /etc/php/7.4/mods-available/phabricator-settings.ini + dest: /etc/php/7.4/apache2/conf.d/90-phabricator-settings.ini state: link force: yes - name: Fix opcache default template: src: opcache.ini - dest: /etc/php/7.2/mods-available/opcache.ini + dest: /etc/php/7.4/mods-available/opcache.ini notify: reload-apache - name: Create uploads dir diff --git a/roles/phabricator/templates/mysqld.cnf b/roles/phabricator/templates/mysqld.cnf index 6527e1e9..9963a681 100644 --- a/roles/phabricator/templates/mysqld.cnf +++ b/roles/phabricator/templates/mysqld.cnf @@ -38,6 +38,7 @@ tmpdir = /tmp lc-messages-dir = /usr/share/mysql skip-external-locking sql_mode = STRICT_ALL_TABLES +local_infile = 0 # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. diff --git a/roles/postfix/defaults/main.yml b/roles/postfix/defaults/main.yml index c2d2bda2..cd2fd4c1 100644 --- a/roles/postfix/defaults/main.yml +++ b/roles/postfix/defaults/main.yml @@ -2,6 +2,7 @@ postfix_hostname: "{{inventory_hostname}}" # if set, we setup a relay.. requires postfix_relay_username # and postfix_relay_password to be set in secrets -postfix_relay_hostname: -postfix_destinations: "{{inventory_hostname}}, localhost" +postfix_destinations: + - "{{inventory_hostname}}" postfix_root_alias: postmaster +postfix_networks: diff --git a/roles/postfix/handlers/main.yml b/roles/postfix/handlers/main.yml index 9869968e..73b5ba63 100644 --- a/roles/postfix/handlers/main.yml +++ b/roles/postfix/handlers/main.yml @@ -2,16 +2,21 @@ - name: newaliases-postfix command: newaliases -- name: sasldb-postmap +- name: update-sasl command: postmap hash:/etc/postfix/sasl_passwd - listen: newaliases-postfix -- name: tlspolicy-postmap +- name: update-tls command: postmap hash:/etc/postfix/tls_policy - listen: sasldb-postmap + +- name: reload-postfix + service: + name: postfix + state: reloaded + listen: + - update-sasl + - update-tls - name: restart-postfix service: name: postfix state: restarted - listen: tlspolicy_postmap diff --git a/roles/postfix/tasks/main.yml b/roles/postfix/tasks/main.yml index 44f11f74..fb64a8bf 100644 --- a/roles/postfix/tasks/main.yml +++ b/roles/postfix/tasks/main.yml @@ -16,29 +16,19 @@ - name: Postfix installed apt: pkg=postfix state=present -- name: Set mydestinations - lineinfile: - path: /etc/postfix/main.cf - state: present - regexp: '^mydestination.*' - line: 'mydestination = {{postfix_destinations|join(",")}},localhost' +- name: Install Postfix configuration + template: src=templates/main.cf dest=/etc/postfix/main.cf + notify: restart-postfix -- name: Set myhostname - lineinfile: - path: /etc/postfix/main.cf - state: present - regexp: '^myhostname\s+=' - line: 'myhostname = {{postfix_hostname}}' +- name: Install Postfix sasl configuration + template: src=templates/sasl_passwd dest=/etc/postfix/sasl_passwd owner=root mode=0600 + notify: update-sasl + when: postfix_relay_hostname is defined -- name: Remove empty relayhost line - lineinfile: - path: /etc/postfix/main.cf - state: absent - regexp: '^relayhost\s+=\s+$' - -- name: Configure a relay server - import_tasks: relay.yml - when: postfix_relay_hostname is defined and postfix_relay_hostname != "" and postfix_relay_hostname != None +- name: Install Postfix tls policy + template: src=templates/tls_policy dest=/etc/postfix/tls_policy owner=root mode=0600 + notify: update-tls + when: postfix_relay_hostname is defined - name: Postfix enabled service: diff --git a/roles/postfix/tasks/relay.yml b/roles/postfix/tasks/relay.yml deleted file mode 100644 index 02a62f26..00000000 --- a/roles/postfix/tasks/relay.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -- name: Insert relay config to main.cf - blockinfile: - dest: /etc/postfix/main.cf - block: "{{lookup('template', 'templates/relay.cf')}}" - insertafter: EOF - notify: restart-postfix - -- name: Set TLS Policy - template: - src: templates/tls_policy - dest: /etc/postfix/tls_policy - notify: tlspolicy-postmap - -- name: Set SASL db file - template: - src: templates/sasl_passwd - dest: /etc/postfix/sasl_passwd - notify: sasldb-postmap diff --git a/roles/postfix/templates/main.cf b/roles/postfix/templates/main.cf new file mode 100644 index 00000000..374a625b --- /dev/null +++ b/roles/postfix/templates/main.cf @@ -0,0 +1,64 @@ +# See /usr/share/postfix/main.cf.dist for a commented, more complete version + + +# Debian specific: Specifying a file name will cause the first +# line of that file to be used as the name. The Debian default +# is /etc/mailname. +#myorigin = /etc/mailname + +smtpd_banner = $myhostname ESMTP $mail_name +biff = no + +# appending .domain is the MUA's job. +append_dot_mydomain = no + +# Uncomment the next line to generate "delayed mail" warnings +#delay_warning_time = 4h + +readme_directory = no +{% if ssl_cert is defined %} +smtpd_tls_cert_file={{ssl_cert}} +smtpd_tls_key_file={{ssl_key}} +{% else %} +# TLS parameters +smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem +smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key +{% endif %} +smtpd_use_tls=yes +smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache +smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache + +# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for +# information on enabling SSL in the smtp client. + +smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination +myhostname = {{ postfix_hostname }} +alias_maps = hash:/etc/aliases +alias_database = hash:/etc/aliases +myorigin = /etc/mailname +mydestination = {{ postfix_destinations| join(",") }},localhost +mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 {{ postfix_networks }} +mailbox_size_limit = 0 +recipient_delimiter = + +{% if postfix_allow_inbound is defined -%} +inet_interfaces = all +{% else -%} +inet_interfaces = loopback-only +{% endif %} +inet_protocols = all +{% if postfix_relay_hostname is defined -%} +relayhost = [{{ postfix_relay_hostname }}]:{{postfix_relay_port}} +smtp_sasl_auth_enable = yes +smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd +smtp_sasl_security_options = noanonymous +smtp_use_tls = yes +smtp_tls_policy_maps = hash:/etc/postfix/tls_policy +smtpd_tls_security_level = encrypt +smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3,!TLSv1,!TLSv1.1 +smtpd_tls_mandatory_exclude_ciphers = MD5, DES, ADH, RC4, PSD, SRP, 3DES, eNULL, aNULL +smtp_tls_note_starttls_offer = yes +smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt +{% endif %} +{% if mailbox_command is defined -%} +mailbox_command = {{ mailbox_command }} +{% endif %} diff --git a/roles/postfix/templates/relay.cf b/roles/postfix/templates/relay.cf deleted file mode 100644 index a56e4d64..00000000 --- a/roles/postfix/templates/relay.cf +++ /dev/null @@ -1,5 +0,0 @@ -relayhost = [{{postfix_relay_hostname}}]:587 -smtp_sasl_auth_enable = yes -smtp_sasl_password_maps = static:{{postfix_relay_username}}:{{postfix_relay_password}} -smtp_sasl_security_options = noanonymous -smtp_tls_policy_maps = hash:/etc/postfix/tls_policy diff --git a/roles/postfix/templates/sasl_passwd b/roles/postfix/templates/sasl_passwd index 13803878..6119077c 100644 --- a/roles/postfix/templates/sasl_passwd +++ b/roles/postfix/templates/sasl_passwd @@ -1 +1 @@ -{{postfix_relay_username}} {{postfix_relay_password}} +[{{postfix_relay_hostname}}]:{{postfix_relay_port}} {{postfix_relay_username}}:{{postfix_relay_password}} diff --git a/roles/postgres/tasks/main.yml b/roles/postgres/tasks/main.yml index 33002677..43261bfe 100644 --- a/roles/postgres/tasks/main.yml +++ b/roles/postgres/tasks/main.yml @@ -2,13 +2,16 @@ # Need to always define 'become_user: postgres' or it will not work! - name: Install packages - apt: pkg={{item}} state=present update-cache=yes - with_items: - - postgresql - - postgresql-contrib - - python-pip #psycopg2 - - libpq-dev #psycopg2 - - python-dev #psycopg2 + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - postgresql + - postgresql-contrib + - python-pip #psycopg2 + - libpq-dev #psycopg2 + - python-dev #psycopg2 - name: Install Ansible requirements pip: name={{item.name}} version={{item.version}} diff --git a/roles/postgres10/tasks/main.yml b/roles/postgres10/tasks/main.yml new file mode 100644 index 00000000..c4e19f12 --- /dev/null +++ b/roles/postgres10/tasks/main.yml @@ -0,0 +1,49 @@ +--- +- name: Install postgresql 10 and deps + apt: pkg={{ packages }} state=present + vars: + packages: + - postgresql-10 + - python3-psycopg2 + +- name: Register docker network info + docker_network_info: + name: "{{ docker_bridgenet }}" + when: docker_bridgenet is defined + register: net_results + +- name: Open postgres port for docker + template: + dest: /etc/postgresql/10/main/conf.d/listen_addresses.conf + src: templates/listen_addresses.conf + mode: 0755 + owner: postgres + group: postgres + when: docker_bridgenet is defined + +- name: Update hba to allow connections from docker + postgresql_pg_hba: + contype: host + databases: all + users: all + address: "{{ net_results['network']['IPAM']['Config'][0]['Subnet'] }}" + method: md5 + state: present + dest: /etc/postgresql/10/main/pg_hba.conf + when: docker_bridgenet is defined + +- name: Create role in postgres for db_username + become: true + become_user: postgres + postgresql_user: + name: "{{ db_username }}" + password: "{{ db_password }}" + role_attr_flags: NOSUPERUSER,NOCREATEROLE,NOCREATEDB,LOGIN + state: present + +- name: Create the database in postgresql + become: true + become_user: postgres + postgresql_db: + name: "{{ db_database }}" + state: present diff --git a/roles/postgres10/templates/listen_addresses.conf b/roles/postgres10/templates/listen_addresses.conf new file mode 100644 index 00000000..a516368a --- /dev/null +++ b/roles/postgres10/templates/listen_addresses.conf @@ -0,0 +1 @@ +listen_addresses = 'localhost,{{ inventory_hostname }}' diff --git a/roles/publishing-deps/tasks/main.yml b/roles/publishing-deps/tasks/main.yml deleted file mode 100644 index 3a4391b4..00000000 --- a/roles/publishing-deps/tasks/main.yml +++ /dev/null @@ -1,50 +0,0 @@ ---- -- name: Install OS dependencies - apt: name={{ item }} state=present update_cache=yes - with_items: - - libapache2-mod-xsendfile - - python-pip # Only needed for the pip action below - - sqlite3 - - acl - tags: - - update - -- name: Create base directory for installation - file: path={{ install_base }}/{{ inventory_hostname }} - owner={{ apache_user }} - group={{ apache_user }} - mode=0755 - state=directory - -- name: Create db/ directory - file: path={{ install_base }}/{{ inventory_hostname }}/db - state=directory owner={{ apache_user }} group={{ apache_user }} mode=0755 - -- name: Create header override (if needed) - when: header_override is defined - copy: src=files/publishing/{{ header_override }} - dest={{ install_base }}/{{ inventory_hostname }}/header_override.html - owner={{ apache_user }} group={{ apache_user }} mode=0755 - tags: - - update - -- name: Create secrets override (if needed) - when: secrets_file is defined - copy: src=secrets/publishing-servers/{{secrets_file}} - dest={{ install_base }}/{{ inventory_hostname }}/secrets.py - owner={{ apache_user }} group={{ apache_user }} mode=0755 - tags: - - update - -- name: Ensure temporary upload directory exists - file: path=/srv/django-uploads state=directory - owner={{ apache_user }} group={{ apache_user }} mode=0755 - -- name: Install publishing crontab file - template: src=llp-crontab.cron dest=/etc/cron.d/llp-crontab - owner=root group=root mode=0644 - -- name: Ensure allowed_hosts file is created - template: - src=allowed_hosts.txt.j2 - dest={{install_base}}/{{inventory_hostname}}/allowed_hosts.txt diff --git a/roles/publishing-deps/templates/allowed_hosts.txt.j2 b/roles/publishing-deps/templates/allowed_hosts.txt.j2 deleted file mode 100644 index 4892cf08..00000000 --- a/roles/publishing-deps/templates/allowed_hosts.txt.j2 +++ /dev/null @@ -1,3 +0,0 @@ -{{inventory_hostname}} -releases.linaro.org -releases-geo.linaro.org diff --git a/roles/publishing-deps/templates/llp-crontab.cron b/roles/publishing-deps/templates/llp-crontab.cron deleted file mode 100644 index 81a847e4..00000000 --- a/roles/publishing-deps/templates/llp-crontab.cron +++ /dev/null @@ -1,18 +0,0 @@ -# DO NOT EDIT: MANAGED BY ANSIBLE -0 * * * * {{apache_user}} find /srv/django-uploads/ -mtime +1 | xargs -n20 --no-run-if-empty rm -{% if process_report %} -MAILTO=linaro-infrastructure-errors@lists.linaro.org -*/10 * * * * {{apache_user}} {{install_base}}/{{inventory_hostname}}/project/manage.py report_process --settings=settings_production -{% endif %} -{% if s3_sanity %} -0 0 * * * {{apache_user}} {{install_base}}/{{inventory_hostname}}/project/manage.py s3_sanity --settings=settings_production -{% endif %} -{% if s3_purge %} -0 0 * * 0 {{apache_user}} {{install_base}}/{{inventory_hostname}}/project/manage.py s3_purge --settings=settings_production {{s3_purge_options|default('')}} -{% endif %} -{% if s3_purge_delete %} -0 0 * * 0 {{apache_user}} {{install_base}}/{{inventory_hostname}}/project/manage.py s3_purge --settings=settings_production --forcedelete -{% endif %} -{% if s3_purge_delete_releases %} -0 0 * * 0 {{apache_user}} {{install_base}}/{{inventory_hostname}}/project/manage.py s3_purge --settings=settings_production --forcedelete --cleanup_releases -{% endif %} diff --git a/roles/rktools/tasks/main.yml b/roles/rktools/tasks/main.yml new file mode 100644 index 00000000..fc5acabb --- /dev/null +++ b/roles/rktools/tasks/main.yml @@ -0,0 +1,10 @@ +--- +- name: Install rookit detection tools + apt: + pkg: "{{ packages }}" + update_cache: yes + vars: + packages: + - chkrootkit + - rkhunter + - unhide diff --git a/roles/snowflake-publishing/defaults/main.yml b/roles/snowflake-publishing/defaults/main.yml new file mode 100644 index 00000000..e172eed0 --- /dev/null +++ b/roles/snowflake-publishing/defaults/main.yml @@ -0,0 +1,6 @@ +--- +allowed_hosts: ["{{ inventory_hostname }}"] +apache_aliases: [] +app_repo: https://git.linaro.org/infrastructure/linaro-license-protection.git +app_branch: master +repo_name: linaro-license-protection diff --git a/roles/snowflake-publishing/tasks/main.yml b/roles/snowflake-publishing/tasks/main.yml new file mode 100644 index 00000000..45c72fd9 --- /dev/null +++ b/roles/snowflake-publishing/tasks/main.yml @@ -0,0 +1,57 @@ +--- +# WARNING: this is a "snowflake" configuration that's been +# caused by the fact that we have to run snapshots.l.o on a +# bare metal server rather than in a docker container. You +# probably should not be using this for any other server and +# it should be removed once we can unify all publishing +# servers with the same configuration. + +- name: Install git + apt: pkg=git state=present + +- name: Clone LLP repo for this site + git: + repo: "{{app_repo}}" + dest: "/srv/{{ inventory_hostname }}/{{ repo_name }}" + version: "{{ app_branch }}" + update: yes + +- name: create secrets.py + template: + src: "secrets/publishing-servers/{{ secrets_file }}" + dest: "/srv/{{ inventory_hostname }}/secrets.py" + +- name: Create allowed_hosts.txt + copy: + content: "{{ allowed_hosts | join('\n') }}" + dest: "/srv/{{ inventory_hostname }}/allowed_hosts.txt" + +- name: Create header_override + template: + src: "{{ header_override }}" + dest: "/srv/{{ inventory_hostname }}/header_override.html" + when: header_override is defined + +# files in /etc/cron.d can't have '.' in the name or else +# crond thinks they have been disabled and will skip them +- name: Install LLP crontab + template: + src: templates/llp-crontab.cron + dest: /etc/cron.d/llp-crontab-{{ inventory_hostname | replace('.', '_') }} + mode: 0644 + backup: no + owner: root + group: root + +- name: Install host's apache redirect + template: + dest: /etc/apache2/sites-available/docker-default.conf + src: files/publishing/default-{{ inventory_hostname }}.conf + mode: 0644 + owner: root + group: root + +- name: Enable default apache redirect + command: a2ensite docker-default + args: + creates: /etc/apache2/sites-enabled/docker-default.conf diff --git a/roles/snowflake-publishing/templates/llp-crontab.cron b/roles/snowflake-publishing/templates/llp-crontab.cron new file mode 100644 index 00000000..c9edd8b1 --- /dev/null +++ b/roles/snowflake-publishing/templates/llp-crontab.cron @@ -0,0 +1,8 @@ +# DO NOT EDIT: MANAGED BY ANSIBLE +MAILTO=linaro-infrastructure-errors@lists.linaro.org +{% if s3_sanity %} +0 0 * * * www-data /srv/{{ inventory_hostname }}/linaro-license-protection/manage.py s3_sanity --settings=settings_production +{% endif %} +{% if token_cleanup %} +0 0 * * 0 www-data /srv/{{ inventory_hostname }}/linaro-license-protection/manage.py s3_purge --settings=settings_production token_cleanup +{% endif %} diff --git a/roles/ssh-admin/tasks/main.yml b/roles/ssh-admin/tasks/main.yml index 99f222f2..d24a3e24 100644 --- a/roles/ssh-admin/tasks/main.yml +++ b/roles/ssh-admin/tasks/main.yml @@ -1,6 +1,17 @@ -- name: Set user {{ admin_user }} ssh keys +--- +- name: Ansible check if user {{ admin_user }} exists + stat: + path: /home/ubuntu/ + register: admin_exists + +- name: Set user {{ admin_user }} ssh key authorized_key: user: "{{ admin_user }}" - key: "{{ lookup('pipe','ssh people.linaro.org /etc/ssh/ldap-keys.sh '+item|quote) }}" + key: "{{ lookup('file', 'ssh/systems-bot-ssh.pub') }}" state: present - with_items: "{{ admin_ssh_keys }}" + when: admin_exists.stat.exists + +- name: Set admin group for inbound ssh accs + set_fact: + local_user_group: "{{ admin_user }}" + when: admin_exists.stat.exists diff --git a/roles/ssh-ldap/defaults/main.yml b/roles/ssh-ldap/defaults/main.yml index 7d506d45..ec4d9ef9 100644 --- a/roles/ssh-ldap/defaults/main.yml +++ b/roles/ssh-ldap/defaults/main.yml @@ -1,2 +1,3 @@ --- ssh_ldap_cache_url: "" +sshd_port: 22 diff --git a/roles/ssh-ldap/handlers/main.yml b/roles/ssh-ldap/handlers/main.yml index 52820471..8e2efa75 100644 --- a/roles/ssh-ldap/handlers/main.yml +++ b/roles/ssh-ldap/handlers/main.yml @@ -1,9 +1,12 @@ --- - name: update-pam - import_tasks: update_pam.yml + command: pam-auth-update --force --package - name: update-ssh-keys command: /srv/linaro-git-tools/ssh_keys.py --sync {{ssh_ldap_cache_url}} - name: restart-sshd service: name=ssh state=restarted + +- name: systemd-reload + systemd: daemon_reload=yes diff --git a/roles/ssh-ldap/meta/main.yml b/roles/ssh-ldap/meta/main.yml deleted file mode 100644 index ddc3faaf..00000000 --- a/roles/ssh-ldap/meta/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -dependencies: - - {role: linaro-git-tools} diff --git a/roles/ssh-ldap/tasks/main.yml b/roles/ssh-ldap/tasks/main.yml index 8e78309e..c348b948 100644 --- a/roles/ssh-ldap/tasks/main.yml +++ b/roles/ssh-ldap/tasks/main.yml @@ -3,21 +3,25 @@ service_facts: - name: Install packages - apt: pkg={{item}} update_cache=yes - with_items: + apt: + name: "{{packages}}" + update_cache: yes + vars: + packages: - libnss-db - libpam-ccreds - nss-updatedb - - python-ldap - - git + - python3-ldap - name: Install libnss-ldapd for systemd-logind - when: ansible_distribution == 'Debian' and ansible_lsb.major_release|int >= 9 + when: ansible_distribution == 'Debian' and ansible_lsb.major_release|int == 9 apt: pkg: libnss-ldapd +# We should drop this 'when' and yank the above task when Deb 9 is removed +# from our server fleet. - name: Install libnss-ldap - when: ansible_distribution != 'Debian' or ansible_lsb.major_release|int < 9 + when: ansible_distribution != 'Debian' and ansible_lsb.major_release|int != 9 apt: pkg: libnss-ldap @@ -26,7 +30,7 @@ # to make it easy to manage in one place - name: LDAP symlinks for Debian systems when: ansible_distribution == 'Debian' - file: src=/srv/linaro-git-tools/linaro_ldap.conf dest=/etc/{{item}} state=link force=yes owner=root + file: src=/srv/linaro-git-tools/linaro_ldap.conf dest=/etc/{{item}} state=link force=yes with_items: - pam_ldap.conf - libnss-ldap.conf @@ -35,7 +39,7 @@ - name: LDAP symlinks for Ubuntu systems when: ansible_distribution == 'Ubuntu' - file: src=/srv/linaro-git-tools/linaro_ldap.conf dest=/etc/{{item}} state=link force=yes owner=root + file: src=/srv/linaro-git-tools/linaro_ldap.conf dest=/etc/{{item}} state=link force=yes with_items: - ldap.conf notify: @@ -51,6 +55,18 @@ when: "(not ansible_check_mode) and ('unscd' in services)" service: name=unscd enabled=no state=stopped +# Debian 10 uses nslcd for local LDAP caching, so let's get that setup +# if it's present on the server. +- name: Configure nslcd if installed + template: src=nslcd.conf dest=/etc/nslcd.conf mode=0640 + group=nslcd owner=root + when: "('nslcd' in services)" + +# Make sure nslcd is running +- name: Enable nslcd if installed + when: "(not ansible_check_mode) and ('nslcd' in services)" + service: name=nslcd enabled=yes state=started + - name: See if offline LDAP cache exists stat: path=/var/lib/misc/group.db notify: @@ -68,7 +84,10 @@ - name: Enable mkhomedir debconf selection debconf: name=libpam-runtime question='libpam-runtime/profiles' vtype='multiselect' - value='mkhomedir, ccreds-save, unix, ldap, ccreds-check' + value='ccreds-save, unix, ldap, systemd, mkhomedir, ccreds-check, capability' + +- name: hack around PAM + file: path=/var/lib/pam/seen state=absent notify: - update-pam @@ -77,6 +96,13 @@ notify: - restart-sshd +- name: Disable ec2-instance-connect if AWS + file: + path: /lib/systemd/system/ssh.service.d/ec2-instance-connect.conf + state: absent + notify: + - systemd-reload + - name: Add cron job for syncing with LDAP template: src=cron.d dest=/etc/cron.d/ldap-sync diff --git a/roles/ssh-ldap/tasks/update_pam.yml b/roles/ssh-ldap/tasks/update_pam.yml deleted file mode 100644 index a7b792c5..00000000 --- a/roles/ssh-ldap/tasks/update_pam.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: hack around PAM - file: path=/var/lib/pam/seen state=absent - -- name: Update pam-auth-update - command: pam-auth-update --force --package diff --git a/roles/ssh-ldap/templates/nslcd.conf b/roles/ssh-ldap/templates/nslcd.conf new file mode 100644 index 00000000..d2f238c6 --- /dev/null +++ b/roles/ssh-ldap/templates/nslcd.conf @@ -0,0 +1,15 @@ +# /etc/nslcd.conf +# nslcd configuration file. See nslcd.conf(5) +# for details. + +# The user and group nslcd should run as. +uid nslcd +gid nslcd + +TLS_REQCERT allow + +base dc=linaro,dc=org +uri ldaps://login.linaro.org +binddn cn=systems-bind,ou=binders,dc=linaro,dc=org +bindpw {{ ssh_ldap_bindpw }} +ldap_version 3 diff --git a/roles/ssh-ldap/templates/sshd_config b/roles/ssh-ldap/templates/sshd_config index a6bfa67a..9fffbf14 100644 --- a/roles/ssh-ldap/templates/sshd_config +++ b/roles/ssh-ldap/templates/sshd_config @@ -3,7 +3,7 @@ # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for -Port 22 +Port {{ sshd_port }} # Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0 @@ -14,11 +14,11 @@ HostKey /etc/ssh/ssh_host_dsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key #Privilege Separation is turned on for security -UsePrivilegeSeparation yes +#UsePrivilegeSeparation yes # Lifetime and size of ephemeral version 1 server key -KeyRegenerationInterval 3600 -ServerKeyBits 1024 +#KeyRegenerationInterval 3600 +#ServerKeyBits 1024 # Logging SyslogFacility AUTH @@ -29,14 +29,15 @@ LoginGraceTime 120 PermitRootLogin without-password StrictModes yes -RSAAuthentication yes +#RSAAuthentication yes PubkeyAuthentication yes +PubkeyAcceptedKeyTypes +ssh-dss #AuthorizedKeysFile %h/.ssh/authorized_keys # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts -RhostsRSAAuthentication no +#RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication @@ -49,10 +50,9 @@ PermitEmptyPasswords no # some PAM modules and threads) ChallengeResponseAuthentication no -{%if inventory_hostname not in groups['jenkins_slaves']%} -# Password prompt required for legacy buildslave user +# Require ssh keys is now a policy. If anything is still relying on +# an account password it's a bug and needs to be fixed. PasswordAuthentication no -{%endif%} # Kerberos options #KerberosAuthentication no @@ -92,7 +92,7 @@ UsePAM yes AuthorizedKeysCommandUser root AuthorizedKeysCommand /srv/linaro-git-tools/ssh_keys.py -AllowGroups {%for group in login_groups%}{{group}} {%endfor%} +AllowGroups {%for group in login_groups%}{{group}} {%endfor%}{%if local_user_group is defined%}{{ local_user_group }}{%endif%} {%if inventory_hostname == '188.40.49.144'%} #x86_64-08 DenyUsers nexus diff --git a/roles/sslcert-bundle/files/gd_bundle-g2-g1.pem b/roles/sslcert-bundle/files/gd_bundle-g2-g1.pem deleted file mode 100644 index a7c381b1..00000000 --- a/roles/sslcert-bundle/files/gd_bundle-g2-g1.pem +++ /dev/null @@ -1,79 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE0DCCA7igAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx -EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT -EUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp -ZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTExMDUwMzA3MDAwMFoXDTMxMDUwMzA3 -MDAwMFowgbQxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH -EwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjEtMCsGA1UE -CxMkaHR0cDovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkvMTMwMQYDVQQD -EypHbyBEYWRkeSBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IC0gRzIwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC54MsQ1K92vdSTYuswZLiBCGzD -BNliF44v/z5lz4/OYuY8UhzaFkVLVat4a2ODYpDOD2lsmcgaFItMzEUz6ojcnqOv -K/6AYZ15V8TPLvQ/MDxdR/yaFrzDN5ZBUY4RS1T4KL7QjL7wMDge87Am+GZHY23e -cSZHjzhHU9FGHbTj3ADqRay9vHHZqm8A29vNMDp5T19MR/gd71vCxJ1gO7GyQ5HY -pDNO6rPWJ0+tJYqlxvTV0KaudAVkV4i1RFXULSo6Pvi4vekyCgKUZMQWOlDxSq7n -eTOvDCAHf+jfBDnCaQJsY1L6d8EbyHSHyLmTGFBUNUtpTrw700kuH9zB0lL7AgMB -AAGjggEaMIIBFjAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNV -HQ4EFgQUQMK9J47MNIMwojPX+2yz8LQsgM4wHwYDVR0jBBgwFoAUOpqFBxBnKLbv -9r0FQW4gwZTaD94wNAYIKwYBBQUHAQEEKDAmMCQGCCsGAQUFBzABhhhodHRwOi8v -b2NzcC5nb2RhZGR5LmNvbS8wNQYDVR0fBC4wLDAqoCigJoYkaHR0cDovL2NybC5n -b2RhZGR5LmNvbS9nZHJvb3QtZzIuY3JsMEYGA1UdIAQ/MD0wOwYEVR0gADAzMDEG -CCsGAQUFBwIBFiVodHRwczovL2NlcnRzLmdvZGFkZHkuY29tL3JlcG9zaXRvcnkv -MA0GCSqGSIb3DQEBCwUAA4IBAQAIfmyTEMg4uJapkEv/oV9PBO9sPpyIBslQj6Zz -91cxG7685C/b+LrTW+C05+Z5Yg4MotdqY3MxtfWoSKQ7CC2iXZDXtHwlTxFWMMS2 -RJ17LJ3lXubvDGGqv+QqG+6EnriDfcFDzkSnE3ANkR/0yBOtg2DZ2HKocyQetawi -DsoXiWJYRBuriSUBAA/NxBti21G00w9RKpv0vHP8ds42pM3Z2Czqrpv1KrKQ0U11 -GIo/ikGQI31bS/6kA1ibRrLDYGCD+H1QQc7CoZDDu+8CL9IVVO5EFdkKrqeKM+2x -LXY2JtwE65/3YR8V3Idv7kaWKK2hJn0KCacuBKONvPi8BDAB ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEfTCCA2WgAwIBAgIDG+cVMA0GCSqGSIb3DQEBCwUAMGMxCzAJBgNVBAYTAlVT -MSEwHwYDVQQKExhUaGUgR28gRGFkZHkgR3JvdXAsIEluYy4xMTAvBgNVBAsTKEdv -IERhZGR5IENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTQwMTAx -MDcwMDAwWhcNMzEwNTMwMDcwMDAwWjCBgzELMAkGA1UEBhMCVVMxEDAOBgNVBAgT -B0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoTEUdvRGFkZHku -Y29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRpZmljYXRlIEF1 -dGhvcml0eSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv3Fi -CPH6WTT3G8kYo/eASVjpIoMTpsUgQwE7hPHmhUmfJ+r2hBtOoLTbcJjHMgGxBT4H -Tu70+k8vWTAi56sZVmvigAf88xZ1gDlRe+X5NbZ0TqmNghPktj+pA4P6or6KFWp/ -3gvDthkUBcrqw6gElDtGfDIN8wBmIsiNaW02jBEYt9OyHGC0OPoCjM7T3UYH3go+ -6118yHz7sCtTpJJiaVElBWEaRIGMLKlDliPfrDqBmg4pxRyp6V0etp6eMAo5zvGI -gPtLXcwy7IViQyU0AlYnAZG0O3AqP26x6JyIAX2f1PnbU21gnb8s51iruF9G/M7E -GwM8CetJMVxpRrPgRwIDAQABo4IBFzCCARMwDwYDVR0TAQH/BAUwAwEB/zAOBgNV -HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFDqahQcQZyi27/a9BUFuIMGU2g/eMB8GA1Ud -IwQYMBaAFNLEsNKR1EwRcbNhyz2h/t2oatTjMDQGCCsGAQUFBwEBBCgwJjAkBggr -BgEFBQcwAYYYaHR0cDovL29jc3AuZ29kYWRkeS5jb20vMDIGA1UdHwQrMCkwJ6Al -oCOGIWh0dHA6Ly9jcmwuZ29kYWRkeS5jb20vZ2Ryb290LmNybDBGBgNVHSAEPzA9 -MDsGBFUdIAAwMzAxBggrBgEFBQcCARYlaHR0cHM6Ly9jZXJ0cy5nb2RhZGR5LmNv -bS9yZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAWQtTvZKGEacke+1bMc8d -H2xwxbhuvk679r6XUOEwf7ooXGKUwuN+M/f7QnaF25UcjCJYdQkMiGVnOQoWCcWg -OJekxSOTP7QYpgEGRJHjp2kntFolfzq3Ms3dhP8qOCkzpN1nsoX+oYggHFCJyNwq -9kIDN0zmiN/VryTyscPfzLXs4Jlet0lUIDyUGAzHHFIYSaRt4bNYC8nY7NmuHDKO -KHAN4v6mF56ED71XcLNa6R+ghlO773z/aQvgSMO3kwvIClTErF0UZzdsyqUvMQg3 -qm5vjLyb4lddJIGvl5echK1srDdMZvNhkREg5L4wn3qkKQmw4TRfZHcYQFHfjDCm -rw== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh -MB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE -YWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3 -MDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo -ZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg -MiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN -ADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA -PVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w -wdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi -EqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY -avx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+ -YihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE -sNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h -/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5 -IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj -YXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD -ggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy -OO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P -TMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ -HmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER -dEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf -ReYNnyicsbkqWletNw+vHX/bvZ8= ------END CERTIFICATE----- diff --git a/roles/sslcert-bundle/tasks/main.yml b/roles/sslcert-bundle/tasks/main.yml deleted file mode 100644 index 29ea815d..00000000 --- a/roles/sslcert-bundle/tasks/main.yml +++ /dev/null @@ -1,7 +0,0 @@ -- name: Copy Go Daddy certificate bundle - copy: src=gd_bundle-g2-g1.pem dest=/usr/share/ca-certificates/gd_bundle-g2-g1.crt mode=0644 - -- name: Make Go Daddy certificate bundle link - file: src=/usr/share/ca-certificates/gd_bundle-g2-g1.crt - dest=/etc/ssl/certs/gd_bundle-g2-g1.pem - state=link diff --git a/roles/sslcert-self-signed/tasks/main.yml b/roles/sslcert-self-signed/tasks/main.yml deleted file mode 100644 index 9139c6a6..00000000 --- a/roles/sslcert-self-signed/tasks/main.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Prepare OpenSSL config - template: src=ssleay.conf dest=/tmp/ -- name: Create self-signed SSL certificate - command: openssl req -config /tmp/ssleay.conf -new -x509 -days 3650 -nodes -out {{ssl_cert}} -keyout {{ssl_key}} - creates={{ssl_cert}} - notify: - - Restart Apache -- name: Set permissions on certificate - file: path={{ssl_cert}} mode=0600 -- name: Set permissions on certificate key - file: path={{ssl_key}} mode=0600 diff --git a/roles/sslcert-self-signed/templates/ssleay.conf b/roles/sslcert-self-signed/templates/ssleay.conf deleted file mode 100644 index f333d5e4..00000000 --- a/roles/sslcert-self-signed/templates/ssleay.conf +++ /dev/null @@ -1,9 +0,0 @@ -RANDFILE = /dev/urandom -[req] -default_bits = 1024 -default_keyfile = privkey.pem -distinguished_name = req_distinguished_name -prompt = no -policy = policy_anything -[req_distinguished_name] -commonName = {{site_name}} diff --git a/roles/sslcert/tasks/main.yml b/roles/sslcert/tasks/main.yml deleted file mode 100644 index d41d6ea1..00000000 --- a/roles/sslcert/tasks/main.yml +++ /dev/null @@ -1,8 +0,0 @@ -- name: Copy production SSL key - copy: src={{secrets_dir}}/ssl/{{ssl_key}} dest={{ssl_key}} mode=600 backup=yes - notify: - - Restart Apache -- name: Copy production SSL cert - copy: src={{secrets_dir}}/ssl/{{ssl_cert}} dest={{ssl_cert}} mode=600 backup=yes - notify: - - Restart Apache diff --git a/roles/systemd-container/tasks/base-container.yml b/roles/systemd-container/tasks/base-container.yml index 82d099a4..60610398 100644 --- a/roles/systemd-container/tasks/base-container.yml +++ b/roles/systemd-container/tasks/base-container.yml @@ -16,7 +16,7 @@ mode: 0700 - name: Copy ssh authorized keys copy: - src: /home/debian/.ssh/authorized_keys + src: /home/{{local_user}}/.ssh/authorized_keys dest: /var/lib/machines/{{container_name}}/etc/skel/.ssh/authorized_keys remote_src: yes - name: Add user in container diff --git a/roles/ufw/files/after.rules b/roles/ufw/files/after.rules deleted file mode 100644 index 3bc24849..00000000 --- a/roles/ufw/files/after.rules +++ /dev/null @@ -1,33 +0,0 @@ -# NOT EDIT! MANAGED BY ANSIBLE -# -# rules.input-after -# -# Rules that should be run after the ufw command line added rules. Custom -# rules should be added to one of these chains: -# ufw-after-input -# ufw-after-output -# ufw-after-forward -# - -# Don't delete these required lines, otherwise there will be errors -*filter -:ufw-after-input - [0:0] -:ufw-after-output - [0:0] -:ufw-after-forward - [0:0] -# End required lines - -# don't log noisy services by default --A ufw-after-input -p udp --dport 137 -j ufw-skip-to-policy-input --A ufw-after-input -p udp --dport 138 -j ufw-skip-to-policy-input --A ufw-after-input -p tcp --dport 139 -j ufw-skip-to-policy-input --A ufw-after-input -p tcp --dport 445 -j ufw-skip-to-policy-input --A ufw-after-input -p udp --dport 67 -j ufw-skip-to-policy-input --A ufw-after-input -p udp --dport 68 -j ufw-skip-to-policy-input - -# don't log noisy broadcast --A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input - -# Linaro add-on: drop traffic elsewhere listed --A ufw-reject-input -j DROP -# don't delete the 'COMMIT' line or these rules won't be processed -COMMIT diff --git a/roles/ufw/files/ufw-docker.rules b/roles/ufw/files/ufw-docker.rules new file mode 100644 index 00000000..86172355 --- /dev/null +++ b/roles/ufw/files/ufw-docker.rules @@ -0,0 +1,27 @@ +# BEGIN UFW AND DOCKER (https://github.com/chaifeng/ufw-docker) +*filter +:ufw-user-forward - [0:0] +:ufw-docker-logging-deny - [0:0] +:DOCKER-USER - [0:0] +-A DOCKER-USER -j ufw-user-forward + +-A DOCKER-USER -j RETURN -s 10.0.0.0/8 +-A DOCKER-USER -j RETURN -s 172.16.0.0/12 +-A DOCKER-USER -j RETURN -s 192.168.0.0/16 + +-A DOCKER-USER -p udp -m udp --sport 53 --dport 1024:65535 -j RETURN + +-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 192.168.0.0/16 +-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 10.0.0.0/8 +-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -d 172.16.0.0/12 +-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 192.168.0.0/16 +-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 10.0.0.0/8 +-A DOCKER-USER -j ufw-docker-logging-deny -p udp -m udp --dport 0:32767 -d 172.16.0.0/12 + +-A DOCKER-USER -j RETURN + +-A ufw-docker-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW DOCKER BLOCK] " +-A ufw-docker-logging-deny -j DROP + +COMMIT +# END UFW AND DOCKER diff --git a/roles/ufw/tasks/main.yml b/roles/ufw/tasks/main.yml index 0c3a8514..65968cf2 100644 --- a/roles/ufw/tasks/main.yml +++ b/roles/ufw/tasks/main.yml @@ -4,14 +4,33 @@ when: 22 not in ufw_open_ports - name: Install server deps - apt: pkg={{item}} state=present - with_items: + apt: name={{packages}} state=present + vars: + packages: - ufw - name: Reset ufw to defaults ufw: state=reset when: firewall_reset is defined +- name: Add custom docker chain + blockinfile: path="/etc/ufw/after.rules" block={{lookup("file", "files/ufw-docker.rules")}} create=yes state=present + when: docker_host is defined + +- name: Open firewall for docker ports + ufw: + route: yes + rule: allow + proto: tcp + from: "{{item | split(':') | first}}" + to: any + port: "{{item | split(':') | last}}" + with_items: + - "{{ufw_open_docker_ports}}" + notify: + - restart-ufw + when: docker_host is defined and ufw_open_docker_ports is defined + - name: Open firewall ports ufw: rule: allow @@ -22,10 +41,6 @@ notify: - restart-ufw -- name: include scaleway tasks - include_tasks: scaleway.yml - when: scaleway is defined - - name: Enable Firewall ufw: direction: "{{item.direction}}" @@ -37,4 +52,3 @@ - { direction: 'outgoing', policy: 'allow' } notify: - restart-ufw - when: scaleway is not defined diff --git a/roles/ufw/tasks/scaleway.yml b/roles/ufw/tasks/scaleway.yml deleted file mode 100644 index 2c50cb45..00000000 --- a/roles/ufw/tasks/scaleway.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -# https://www.scaleway.com/docs/configure-ufw-firewall-on-ubuntu-bionic-beaver/ -- name: install scaleway version of drop-all-non-matching traffic rule - copy: src=after.rules dest=/etc/ufw/after.rules mode=0755 - notify: - - restart-ufw - -- name: Enable Firewall (scaleway version) - ufw: - direction: "{{item.direction}}" - policy: "{{item.policy}}" - logging: off - state: enabled - with_items: - - { direction: 'incoming', policy: 'allow' } - - { direction: 'outgoing', policy: 'allow' } - notify: - - restart-ufw - - - diff --git a/roles/weblogs/tasks/main.yml b/roles/weblogs/tasks/main.yml deleted file mode 100644 index 29974a29..00000000 --- a/roles/weblogs/tasks/main.yml +++ /dev/null @@ -1,47 +0,0 @@ ---- - -- name: Install required packages - apt: pkg={{item}} state=present update-cache=yes - with_items: - - git-core - - apache2 - - python-django-openid-auth # needed by django role - - python-django-south # needed by django role - -# This package is in Ubuntu starting with Vivid, so we should be able to use -# apt when we move to 16.04. -- name: Install PIP longerusername - pip: name=longerusername # needed by the django role - -- name: Enable mod_ssl - command: a2enmod {{ item }} - creates=/etc/apache2/mods-enabled/{{ item }}.load - with_items: - - ssl - notify: reload-apache - -- name: Create weblogs user group - group: name={{owner_group}} state=present - -- name: Create weblogs user account - user: name={{owner}} group={{owner_group}} comment="Account to host weblogs processing" - -- name: Set compatible access for weblogs user home dir - file: path=~{{owner}} state=directory mode=0775 - -- name: Create {{web_dir}} - # recurse=yes slows down operation, but may be needed to reset permissions - file: path={{web_dir}} state=directory owner={{owner}} group={{owner_group}} mode=0775 - -- name: Create {{deploy_dir}} - file: path={{deploy_dir}} state=directory group={{owner_group}} mode=0775 - -- name: Checkout weblogs scripts - git: name=http://git.linaro.org/git/infrastructure/weblogs.git dest={{deploy_dir}} - version="HEAD" - -- name: Set up cronjob - template: src=weblogs.cron dest=/etc/cron.d/weblogs - owner=root group=root mode=0644 - tags: - - cron diff --git a/roles/weblogs/templates/weblogs.cron b/roles/weblogs/templates/weblogs.cron deleted file mode 100644 index 4d614d7e..00000000 --- a/roles/weblogs/templates/weblogs.cron +++ /dev/null @@ -1,7 +0,0 @@ -#Ansible: Process all weblogs -MAILTO=linaro-infrastructure-errors@lists.linaro.org - -0 7 * * * {{owner}} (cd /srv/weblogs; DEBUG=0 ./fetch-logs.sh) -0 8 * * * {{owner}} (cd /srv/weblogs; DEBUG=0 ./process-all.sh) - -0 * * * * {{apache_user}} /srv/llp-releases/project/manage.py downloads_report --settings=local_settings diff --git a/secrets_external b/secrets_external new file mode 120000 index 00000000..f1de7721 --- /dev/null +++ b/secrets_external @@ -0,0 +1 @@ +../shared-credentials-external/ansible
\ No newline at end of file diff --git a/ssh-aus-colo-ldap.yml b/ssh-aus-colo-ldap.yml deleted file mode 100644 index 8104f055..00000000 --- a/ssh-aus-colo-ldap.yml +++ /dev/null @@ -1,7 +0,0 @@ -- name: Configure user access via ssh/ldap - hosts: aus-colo - become: yes - vars_files: - - ["{{secrets_dir}}/group_vars/all"] - roles: - - role: ssh-ldap diff --git a/ssh-ldap.yml b/ssh-ldap.yml deleted file mode 100644 index 35dab7c0..00000000 --- a/ssh-ldap.yml +++ /dev/null @@ -1,16 +0,0 @@ -# Required for setup-ssh.sh script -- name: Configure user access via ssh/ldap - hosts: aus-colo - become: yes - vars_files: - - "{{secrets_dir}}/group_vars/all" - roles: - - role: ssh-ldap - -- name: Configure user access via ssh/ldap - hosts: ssh-ldap - become: yes - vars_files: - - "{{secrets_dir}}/group_vars/all" - roles: - - role: ssh-ldap @@ -4,15 +4,11 @@ HashKnownHosts no Host * UserKnownHostsFile ./ssh/known_hosts - -Host r1-x86-1.aus-colo.linaro.org - ProxyJump aus-colo.linaro.org - -Host r2-x86-1.aus-colo.linaro.org - ProxyJump aus-colo.linaro.org - -Host r3-x86-1.aus-colo.linaro.org - ProxyJump aus-colo.linaro.org + Compression yes + ControlMaster auto + ControlPath ./ssh/sockets/%r@%h-%p + ControlPersist 600 + IdentitiesOnly yes Host 10.101.16.17 ProxyJump ci.linaro.org @@ -20,48 +16,80 @@ Host 10.101.16.17 Host 10.101.96.20 ProxyJump ci.linaro.org +Host 10.40.88.130 + ProxyJump ci.linaro.org + +# Not currently in our ansible inventory +# since we don't manage it. Also not +# LDAP enabled. +Host tcwg-ex42-01 + Hostname 95.216.72.22 + User root + IdentityFile ./ssh/systems-bot-ssh + +Host gerrit.forge.aws.linaro.com + User ubuntu + Identityfile ./ssh/systems-bot-ssh + IdentitiesOnly=true + # generated with: # grep ansible_host hosts|sed 's,ansible_host=,, '|awk '{ print "Host " $1 "| Hostname " $2 }'|tr '|' '\n' >> ssh/config -Host aosp-x86_64-07 +Host aosp-x86-07 Hostname 144.76.6.139 -Host aosp-x86_64-08 +Host aosp-x86-08 Hostname 188.40.51.209 -Host aosp-x86_64-09 - Hostname 213.133.116.86 -Host aosp-x86_64-10 - Hostname 78.46.190.194 +Host aosp-x86-09 + Hostname 49.12.133.85 +Host aosp-x86-10 + Hostname 168.119.145.200 +# Note: we don't seem to have access via LDAP here +Host aosp-x86-11 + Hostname 192.168.36.10 + ProxyJump ci.linaro.org +Host aosp-x86-13 + Hostname 95.217.145.175 Host lhg-build-01 Hostname 148.251.140.195 -Host x86_64-07 +Host x86-07 Hostname 188.40.92.79 -Host x86_64-08 +Host x86-08 Hostname 188.40.49.144 -Host x86_64-09 +Host x86-09 Hostname 148.251.184.94 -Host x86_64-10 +Host x86-10 Hostname 138.201.52.83 -Host x86_64-11 +Host x86-11 Hostname 88.99.28.12 -Host x86_64-12 +Host x86-12 Hostname 88.99.28.38 -Host x86_64-13 +Host x86-13 Hostname 88.99.59.232 -Host x86_64-14 +Host x86-14 Hostname 88.99.149.141 -Host lkft-build-01 - Hostname 51.15.185.142 -Host oe-x86_64-01 - Hostname 62.210.248.69 -Host oe-x86_64-02 - Hostname 62.210.249.170 -Host aarch64_08 - Hostname 147.75.32.78 -Host armhf-01 - Hostname 51.15.128.165 -Host j12-qrep-01 - Hostname 10.101.16.17 -Host obs-bastion-us1.linaro.cloud - Hostname 64.28.99.162 -Host obs-bastion-cn1.linaro.cloud - Hostname 103.20.251.151 +Host x86-15 + Hostname 95.216.16.165 +Host x86-16 + Hostname 62.210.124.13 +Host aarch64-09 + Hostname 147.28.196.111 +Host x86-TF-01 + Hostname 51.159.1.37 +Host x86-TF-02 + Hostname 51.159.20.54 +Host x86-TF-03 + Hostname 51.159.22.224 +Host x86-TF-04 + Hostname 51.159.20.12 +Host x86-TF-05 + Hostname 51.159.20.18 + +Host gateway-lab + HostName lab.validation.linaro.org + ServerAliveInterval 60 + ForwardAgent yes + +Host aarch64-10 10.7.0.101 + ServerAliveInterval 60 + ProxyCommand ssh gateway-lab nc -q0 `basename %h .lab` %p + ForwardAgent yes diff --git a/ssh/known_hosts b/ssh/known_hosts index be7da911..d53aa203 100644 --- a/ssh/known_hosts +++ b/ssh/known_hosts @@ -1,6 +1,3 @@ -elk.linaro.org,138.201.222.149 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBC1ceBJPYmBpPoQz9hmQRgxos8SYc0yhmt9sxjG1RnQpi0Wnroy1eoIqBKn2A4QxsrFR7HRMNDbXdiivioQhVrA= -elk.linaro.org,138.201.222.149 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYMZBKazyOBoh3Uhlj2efC5/r7Ef5zsZk6ABEacR9+S59DRF9ucgH3EZzPuFQ6ZePmk7K4hUmqw6rEkeKNDto2KnREGTQkXnFEwkhxJRMkh/FWpegV0ezyONoU7jDA5JsLzzgsSUc74GbvDF2NqRud7oHO1H6QZ50xsJQQddvz17MTGcvy8PNIa9jhqH01LXSf5SQeHZafwRinh7ICdRJMOxiox8McA4nkeUXzN7zXq/qIYiuC2u2D+q0ymooUftDRbxI+owG6K2QVvnkiT1AXcNURfSqOy4G6yGewFyqynDoYe3qui9LfrAdkNXK5kV5qjqy9NRR4oXTnwHC3VrtJ -elk.linaro.org,138.201.222.149 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMDD8SS8QT1vTdotU9Aha+5pgRUFeKlqvuk4B/kj59Ub developer.trustedfirmware.org,34.204.12.65 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDrdgo1XpullZW3H3k97BAqgKtCmka4lzmHDJgoWUtaRLeTw7VFQLN/AF+/jij+4xKsDqLcT+QSM0+3LshfYtHIUQxdNEevTIJw4GKnW6eFyqtDLFSa3g89KooqJw85TbqEXX7fqmao+3/ZZrlHnDkkzQfC3BrSRQSiff9+x6vEtynsVQjv6Nl4mEpNN9+4z+RGTo602tZMnyAzRQ25uaPw2ZTqpS3FA9E3qKG31reTpX67M1CscNB8WQExYpO+1oQAQjRNorXsSiJh1YLJtkBEP1wSb9C68NqD51JQ6NaALCGw6XEcKUlEykISK6Di/GVM4vsK+TAjYGtjDu0qXMKN developer.trustedfirmware.org,34.204.12.65 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLlOb/lJYL8ueozC01T13EUH/JqIceW4hwTYu0CSEJ5dr2LTjSUtbIgu6TTiM5wPDj31i9gghlyujTxJ8nzkEBY= developer.trustedfirmware.org,34.204.12.65 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN0JYTZAQkwFZzZS1yg8aEJXbuCOQ5Qwt4jjxwgHvYhw @@ -19,79 +16,31 @@ staging-bugs.linaro.org,ec2-54-164-200-74.compute-1.amazonaws.com. ssh-ed25519 A ci.linaro.org,88.99.136.175 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMA/tHxYJryx7PsMzCnuxYOBbmmMqBf9f0RSZb9qkmzntt5qefSVz+r3XDQ6LRZ5UoduyFyWgdzo6dKU8dd9RD4= ci.linaro.org,88.99.136.175 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+DSj5pflQQ2Y3zhJD0TnewNmiiRSrmrlTgXABHIuzTdyYag8qrZi+bOar1SLqW7KZRKCs9nPFlJj1/FanCcjDRFZaRLfIP2SfuPdtp7dUy3SvIMEsvFVbbZn3Qt32G6I5XoT+3ijQBJ2dYaVFvAY8K8bloGdzb1APSfD37rt+H+VPHaVUDaE/jkOX3R3EYJdIBFG5NumbvbyjpBfW5XQ7twJDSL+5DQLf7ZcNQyW6JyD5QLNPUdrIyyFb8f+EKl+MiqEes91HzpB3t47wKyEwgSTzt7ta6KCc+14G2E8zzzf8nRs41bHEtPlw+gPz9U97PH1R96pW6loGYF9UPKq1 ci.linaro.org,88.99.136.175 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOXxLWEYkr0ySiZmxV4UuS3XHobxP7nStX95MOYU2vSa -publishing-ap.linaro.org,ec2-13-228-101-204.ap-southeast-1.compute.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwT6CIVLzREbY8qMT+hOSm94ZAMlsso8Ph//o06MH3BXay1by51YM+LYbzDUESUZgv3m0Mo/N8QKgIJHnSmihPczN/EAxEi9Ww/an9TdblImVwjHYmBb8wL9Ww3/oDfKTkX1q0jftzKHpI8Pa99bOqT4rbA2ixIPLcO8iOFH/hZWyQf2cOwexeSrZxOabRHfWmtw5y0O809rGhvvbIPaRdeWsJAxQcFbLxOggrturvGeQlg/vhMAsoKdh4rhtruRirlBGKT0YhHpaCqQ+w6Ft/R3IVHLbDHSM3DTnckmqh6RPQXxmJ1mBhpFOC/z9hZTDVxCP+/tTjYOtARgkpRE0Z -publishing-ap.linaro.org,ec2-13-228-101-204.ap-southeast-1.compute.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJrjpzHw5NB1TCljOrCMqqr/cVTgHfNTYTd6Dt0Wn9v3r9jLSl76kqjkWEjRFLTZe2UrlF527SDagnp/sktQOlY= -publishing-ap.linaro.org,ec2-13-228-101-204.ap-southeast-1.compute.amazonaws.com. ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFsfk6WG4LRAdQP/n+ZV/zWa6jAXtJOXTslkGhbfWM6a 13.228.101.204 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCwT6CIVLzREbY8qMT+hOSm94ZAMlsso8Ph//o06MH3BXay1by51YM+LYbzDUESUZgv3m0Mo/N8QKgIJHnSmihPczN/EAxEi9Ww/an9TdblImVwjHYmBb8wL9Ww3/oDfKTkX1q0jftzKHpI8Pa99bOqT4rbA2ixIPLcO8iOFH/hZWyQf2cOwexeSrZxOabRHfWmtw5y0O809rGhvvbIPaRdeWsJAxQcFbLxOggrturvGeQlg/vhMAsoKdh4rhtruRirlBGKT0YhHpaCqQ+w6Ft/R3IVHLbDHSM3DTnckmqh6RPQXxmJ1mBhpFOC/z9hZTDVxCP+/tTjYOtARgkpRE0Z 13.228.101.204 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJrjpzHw5NB1TCljOrCMqqr/cVTgHfNTYTd6Dt0Wn9v3r9jLSl76kqjkWEjRFLTZe2UrlF527SDagnp/sktQOlY= 13.228.101.204 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFsfk6WG4LRAdQP/n+ZV/zWa6jAXtJOXTslkGhbfWM6a -qcom-proxy.linaro.org,64.28.99.94 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLe8cDILzEWOC7fPh63EyzODvPTYa1wCgA4mhJD3CEPUd1ixltVUAKWm6U7ap9olR7tHkN3UVtb9wSCHuHdJHRkzV7N/nfuPjKwUOMJB4J2S2UmUIg/iyA0IjKPc3EdMvmp7oaz01oeRHXtdAQavjuWp1wQPbk8d1MNY8M1tH7CqomSlsxWen3aG2GvXr2HYAYHEm6uT779nu0ycJDGL4r/yc9zdJbtf9HTheUaHpvDAdybyasHd/bsomZkWLLsymAnqQr22tuYRed4Ewj3X6u9uGtoGOL5N7uJR75c/GijQtLO58NTxfDOxdh/eNMdlnudb4w41MnRbAwj4TvcAWv -qcom-proxy.linaro.org,64.28.99.94 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA3mRwCKCQ4hBLy+Sd0pr44yudwG/3a700kqUdauXAx73PTceQa+quvhdQKzbywCtgvmcaJ6pW0dNS8uPk0rcW4= -qcom-proxy.linaro.org,64.28.99.94 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM+nTD9hlcIK4V2kBot7rc57fzkAxVohedL8Cr9fJJxC -qcom-hackbox.linaro.org,46.4.26.8 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDA3hfPnL9rd4OELx+srtF7ZFsTBO5rBnpiOIsoAWIna/Avt8CV6AoYLAqOTBLUNKcU/JbyX+77oOolQPHxsRXWwa3ig0Yf7UIbaigE24cTBhnQxAZ0bw7cUDyw0HVnGt4sPU3t97C3jeMgkM98ftoR9F15TCoMQNd2TGcqHzCqYNMSuMp1rWsSZD1nphMDCXJYqr0KqHWELqUyZ0izqwqrJZ1jLU3WvAI7dkPTD2dug+j9VUCyrYE8H0ui+tGle1yOmgOwOQ/qCZMCAx16C9IebduAYm5zAhkwsZfPwJtSFo4WgVzZw51xgKtb48B9IuMO+QiI7KC7BanYnSQXm9eN -qcom-hackbox.linaro.org,46.4.26.8 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL9T2my17rXno9UjGlmabVYUFPw0dXK7Ejr+TKspLadOCdSsfHfa+riXp9pCH2czW39nsafD/9waTm40QpWw9WE= -qcom-hackbox.linaro.org,46.4.26.8 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDR4YLRbtu8murJc3xExuH8JRidgcO9qSc0r4PPZ2BVG -android.linaro.org,163.172.134.127 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnL05n9WInKy9JkeArrovbeWvQeJykWyhHI3wdwVSsCOu5sqC1hMu0KANVJ3Mq+7tFPu+5aNiYtVm7C51ICzxuhL0TKMY3EFIiZip4/zHWS2cSxM5iK5Qe6puq8Uy4fwvWgiXmulO1WE8d5mVJ/77GM8OxczghTT5pBfsX1rpAawrpoDmz4BX0d8myp+3rT3azZnvGxm/uuwmeKZfH14wHuXu0qUUcFUHXid+wFYoLTwA/xSWGGdReEab3R45sXqsYdxUyXJ8MxJav7TEsyfOfeK4l2JucxEPYKPHoFL7s1B+gGtC6Mian7jcenv9FtTUW4cM3zkd/q4aCiMhiRMoZ -android.linaro.org,163.172.134.127 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMgSsr+IyvfYz+r07TRb0jQvj0AjqLAnZUtDAiaa5YoirEA5eRDe/BG6zZKjWNsxxVQShYVDqpmRDGxuOLCm7HU= -android.linaro.org,163.172.134.127 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOngxnlQXC97tlGEVR8mPy9vQM2O08DZ6MRnAtVBD8No patches-gcc.linaro.org,51.15.138.76 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLTqmz4Nslb0awNuLY7HT0yPavox7YajqfEG5kc4ae4IYYk3tcfJpvQ9sG0bKlMQOQiGNjACTVZOoMKQ9Ju0sOo= patches-gcc.linaro.org,51.15.138.76 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0wuE4MU4cwSYFSfSiXeuhlP2yidhVsRh6fKWb5ClmnvOWVi1VIi7H0BkNRMWONxLI3Al9ukiUnVAX39BBh8qe8vRC9vPA0aLD3eemL8aAn8hSKEaokFHK5kcihXeCL+kL58h9XsIOPZypZFYqvnpBA82UdRW9pjvm6Fm25hG94H3VrF5Jq73GZ+6O8LWMcmr2g9Uhk8RRdzY/sbtId422t7/yHtH6IM20EB2tJPe596XJivE1jl/MJy5g6xljU6iD1tKEvVWm/PsbpAwh9gl9rgbFN5sp66XznmNDbr2NfuJ020Kyg4P1Jm+2UwMz9fDgsx3Cnmjnzx0gSJUj4FRj patches-gcc.linaro.org,51.15.138.76 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIaAQBNs77Pfj4rF8OBDt/nVzHr5d09TWGo14xxcL1Jl -git.trustedfirmware.org,184.72.81.201 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/B08oZljv1qGZJCjwQTZrDBEhUiGHcRG40aZ/tjkCCQb+JOfrb0jgV+AqkKxUSuAyxYgOD1HLotDFwzMaMAXTUZ7goXBoEfi1YuhZMsIyrQB4FG9RsGQe2/El/HRtiGqEADU3a98OCTzCDGNzvWfuwrCydY2YFZkkseFoGxV/eUE/WWbKqcQh5lNZnbBOjYSNjV0DNoW/jTkr2oR8iWlCTHqae6ulM67TzOzWoDOu90fqU7stX6x75SM9gn4KiiV3xWuKw9N8YjjRpEAHAZoKHgDqze0wCsMZLVhYOGA1iY30VB6bqo02PTm5gAJM9wfoqoRkoldn2kRJwBRDa4Bj -git.trustedfirmware.org,184.72.81.201 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA+7qW9k2k+Kf1/I3rT8Cjg1F53ezcCqWD50XTZnFPPx823NZnx4A7kLN6Fy4zeCuiq6ijL5lr0bEj9Zh8jwtSo= -git.trustedfirmware.org,184.72.81.201 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvuI+QkHtXh68oEl5YKlHGlVwddHH/FYvFFALTxAZDl -testdata.linaro.org,51.15.219.191 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqmzNvTyGKJmGYs/cUOSk1QFri+mGiQIgePotuHCIJO4T89HAq6sOyZtJpieeCED7A0y6E7Ns1n305pMvYIA3zJ/A3CbsxFnrkDc3yqwMszqowWEfROuDVKLCuEHvwRwSJvfsacGseyjsSIyKDefsqYqzUgxDTJVTooy/oL+gX66Eqta44WNhT5XCz6wgf4YsuhdXnDsQMrqwBqaMCjXbSTSjslWJnNK1H6AyExoflo1FX6o/vkax2uiU/Z60Zl+UTD0zOlIWP70s6CgygQTGlURS0Vblimbn8g/758GbIZrWVOGmg2sk9MW+TzfDij5kPXCKrvt9nAwOmQkCdKOe7 -testdata.linaro.org,51.15.219.191 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEvQ7R2t/haeQmCgMSuoVpie+Bt6l9CKeyWy2WALv1JvPvOpPvTeU+ap0XBeTAxefaA12jIaKkcotspdb/URhQo= -testdata.linaro.org,51.15.219.191 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBo5ARVzBv4NveeGYTx88fUxJj7Y8gqf3g4y2b6FZ5Qw -mmwg-hackbox.linaro.org,88.99.142.70 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT2o5PCGF2uzQAydSQ8L5VRQ+mv3fPy4UAeiTAbkFJhe9rpafm3yH/nCgEBL9/fmRhMC3qVwoujmCP1ZyRU9Oz+b6RZEHNfETa4CZSBRsUr1bNRsX/caQJAHPxU/sMBo7R8nwjt2ydGzxbaNJa2WpukqqwA2H27XVZQUviT+O7oYFjfqmqaOsQdh0rcUmBjd67RwqyoYH1akGb3C+/PNBEWaBeiQGtRqAklh9WRlLfjRNqx6LpFMmsWPsQO/uHmv6qliW5LlP0fWsNh4xDETEW7OHivw1lbMAMwDn+wJpCVaSNZRs6/kqrme0gEBnii5u3CQGTqkCf9xePb+CsdGp/ -mmwg-hackbox.linaro.org,88.99.142.70 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKMMm6mn6a86KQIQt3EXEaoHWMAEcsFemnY9b01ZxpZRq4BIBzq8kfKFoQdjIe7EC5GGGRL7pRZAeema8Gwgki0= -mmwg-hackbox.linaro.org,88.99.142.70 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB4YsAfFnnO1XlUZEXHbt+eG6CV4+EHln/TWQdQn1N6F -lcg-hackbox.linaro.org,95.216.16.165 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIjHmTYSZmnv/F+QEg4qCj5tMdGu1AKJG61yslwq9Nvu -lcg-hackbox.linaro.org,95.216.16.165 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5bB06LBxIvH6qdg9SQetr6P3yTUzCrfO0WSNKlZWjUpNA7EFueGdBDOtA558ZbbDmlhqKWY+y0dSCGhNDI+6RAduX8c9EMVz7zD3fNBdLlcykRtiLYjFBrVE4zYCn3HidRjxc4+8gjYvWtGuFYIpkhd8PABsb2++t+lA3ojvocjImlSBITo65RuBDhYaQOJVoZU6KhK94xaHRK/v3zgCVbr5r07bM3I7XugQ9AjZ06pG0leFFUpkcho8RlNd0LI6skBFtz5l/rUcfnyZWkQg9xG3e+Dpjvhh/L47k7QFrPUtfAeHsx2pyeFw2dGzashGZdWBmwsg431quztIYqhg9 -lcg-hackbox.linaro.org,95.216.16.165 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBD0W43s6EMk46OfTQDj9IUQgua9HTAY5EAltzD/F6Cm2kdsFmwtDDdslIYtpko3wqW3PfueqdTz3iKFu8LocGj8= -releases-us.linaro.org,64.28.99.46 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXrdShgBSU373KX/OtQG92ImbLWrkW71DsMRHcgMHwuK3J4rSQQ6pn0FbrOQT89BdksnhQA9LYizPkQIMmbf5OWbgM/99g0QcQ0bAIlRhiSWMpOgaLVCVi4Hz/7pSwRxOT1odSatT4MC7Xi6q3LB6eI/TU7wIecnOdR5iDdIJlVPilbkCOtI5IySykM1fWYx7Ni6NOMw2qmnKncBk2PdnwruMVVMm6vcvBCpix1ioNLhqpS0a3iMNG2E0IpLBeN+FDhe+TLVrcyuK4ZGMSfsB4YvKABiBJdQ65SAro9zrcEEk77rp83aJu7c40g9gyO3iW6TNJaPlT5Ywkhs4dGNCR -releases-us.linaro.org,64.28.99.46 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBN5zjGXQPkik7hWwesTL1EnI0xVTATxJvJ65QVzQc+nV0zlaeRceVbsv6QNVDtzY9OCR7vqS3i5eXHKmAM28yjI= -releases-us.linaro.org,64.28.99.46 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBHdgYnmdbOwTd9m02x/UBdWNr1LnDhhe66B6h55UsZX review.mlplatform.org,18.209.167.164 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC86o0lvHhcO+wZfhZzYp+eHItm79QgAeohf54LcIkKtEk6RJwdB0U83s25ERO2DvLu6jqVgQrcwAlyyFnqDRusEA2WiUutEFYo/XqWlOFF6sQa+w7dk2AG/3Cgp3qCwbIoiqfAx3HjDslnnj6LZVK4pg85K9PHf2gaH12pzIx3hpyxEsAb33sbbF9IicbrsMHhzGQk0qMutUyABXA/40FFs+/NIgcRVt0tCGFh3vbnqUkI3/sNDMup8b71wodYxKs/IKQWMBySCQlRYRpL14a6xPa9R04346GZKQ6abFpjF/ERuhtklI3K0pE0tBnGo+hdJubgFLwqHz8F34fvMVdR review.mlplatform.org,18.209.167.164 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMP7x8oTsilLiRD5x+PS3G4EfMLMwrDfN3icXqwBMCVBY4dKiwB8c6NMHxnTXc34q6Fi7k3lGpdDkXgQIT+tax0= review.mlplatform.org,18.209.167.164 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAgsUMZWvcYLcEk8wiV0P+xQMYQ/zIgl0esvIoI3dy93 -qcom-hackbox2.linaro.org,195.154.134.102 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJbAqURt06/B0jF2+UFvyVM9FHIunYd472UHmzml8+2ntAtzctuOxIbfc9MaxDB55xcdRjSQTTVk0L9xWF3My5HIgMO/5K9dgOL18mkbHpSk4k/gCYtH25wQFa3WOk1JuFMsZ0hAt0h/qz8BLoUB3l8XHshv+bEj4To58Wip+rsiFjpzaOeKAnfj4LBk0Tl5XNLRqQJNobWjy+sPgBxss1+TENHnOD77EqeqPsg90QEsjKqPy94LvPlwValfgXFvWhLijr8mm9YHq2L1xHVyfNKXJZLUq1vBnBy4DRe8W5B0wf/Kxun9EhN2MLGvI0wH7N8UMGgL+qcqcZ61lxVY5N -qcom-hackbox2.linaro.org,195.154.134.102 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBER405BGsmhl/SmO7Kr1NBgwWSC+aiFjwWb9KBjTLOGR6sQ5x4VxWn8pTQ9/7AMbq+YMC0pKF1JV1i0kNRX9cTs= -qcom-hackbox2.linaro.org,195.154.134.102 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN+D/lw+JxXlqlL8Qg+bGzxpdjuIcvuuclF7WARpdhbB -dev-private-review.linaro.org,ec2-107-21-230-219.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb -dev-private-review.linaro.org,ec2-107-21-230-219.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= 107.21.230.219 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb 107.21.230.219 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= -android-git-us.linaro.org,ec2-54-225-81-132.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy5fjXgJWuF+qKwieMYCWsdrFnQFQ9KB49gZOONc4F9sJGaxdihOGrhq2Uk4nBjPNSFdwB0QdjSa/Mr3a81wBT3s3EGrB70JsgOyjVzE9lVMol1DdEyX94c0KlQl3B8Gg/RuR3347nh28+4qr2CIyTRTexUQywctEP1qmaIFKL+vNEmbMUIJnkQ1VLPanR1js3JhjpYJLCS8gPjL3gx8UNHoxXIPjwYK3yW269pb/0jVD5OKmVXYI7CD7OFsngIIzm54JzeiGEOJP0S6FLv9geH8Olc6CBlJQ/09IoGzvHqsASPJSisCdQWbhYFdBNJXuaoKLG3isCi4Drc/yIl8CB -android-git-us.linaro.org,ec2-54-225-81-132.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKadv8RptDmwU1c4ahKtUjuhwLsgtkTAQvlBdOzLRUBSVPmntpGz6LE9xEwgtZpz/WdV9doi13xdt53fCjJcRIo= 54.225.81.132 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy5fjXgJWuF+qKwieMYCWsdrFnQFQ9KB49gZOONc4F9sJGaxdihOGrhq2Uk4nBjPNSFdwB0QdjSa/Mr3a81wBT3s3EGrB70JsgOyjVzE9lVMol1DdEyX94c0KlQl3B8Gg/RuR3347nh28+4qr2CIyTRTexUQywctEP1qmaIFKL+vNEmbMUIJnkQ1VLPanR1js3JhjpYJLCS8gPjL3gx8UNHoxXIPjwYK3yW269pb/0jVD5OKmVXYI7CD7OFsngIIzm54JzeiGEOJP0S6FLv9geH8Olc6CBlJQ/09IoGzvHqsASPJSisCdQWbhYFdBNJXuaoKLG3isCi4Drc/yIl8CB 54.225.81.132 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKadv8RptDmwU1c4ahKtUjuhwLsgtkTAQvlBdOzLRUBSVPmntpGz6LE9xEwgtZpz/WdV9doi13xdt53fCjJcRIo= -android-git-ap.linaro.org,ec2-13-250-44-4.ap-southeast-1.compute.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJv9T4oZnWKPQi/iFONFSYII/gRJZuSKcaZ4DjsYbA/tToST8KJWP+BNZgpu1hvqVZdPtMK7aJXUkTiLCfzjt+4= -android-git-ap.linaro.org,ec2-13-250-44-4.ap-southeast-1.compute.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/kUrvKyBEfQOvbV5B+bc/2VcayjaqA+E8gUcnhsWtJ9UrYLMLKQgbP66oRlIPBOWJtP+gref2OPvTS+kkj+px+0y/mjRyO5euZVmPIEI/5rbWXUqNJ9BLJJKbdfT5iyiMO03hklj5w74xEXb7gUboYtyyx94I2eqFK8aZfN0M5oX7Pg3VIc6FqD9wo+BAJO42m+6hHFyZuaTLICzOi/ulCobENgHf2wbxVGHofSdxkYhrIlntquMKu0XCVdCffidRzzqCpoQyd8odN1v/sr4XBw4HRpGfzTB1IA8G42YtPHRFZBAt7ujA4pysgMffG54SANmvVKcRalM2X8pJewHF 13.250.44.4 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/kUrvKyBEfQOvbV5B+bc/2VcayjaqA+E8gUcnhsWtJ9UrYLMLKQgbP66oRlIPBOWJtP+gref2OPvTS+kkj+px+0y/mjRyO5euZVmPIEI/5rbWXUqNJ9BLJJKbdfT5iyiMO03hklj5w74xEXb7gUboYtyyx94I2eqFK8aZfN0M5oX7Pg3VIc6FqD9wo+BAJO42m+6hHFyZuaTLICzOi/ulCobENgHf2wbxVGHofSdxkYhrIlntquMKu0XCVdCffidRzzqCpoQyd8odN1v/sr4XBw4HRpGfzTB1IA8G42YtPHRFZBAt7ujA4pysgMffG54SANmvVKcRalM2X8pJewHF 13.250.44.4 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJv9T4oZnWKPQi/iFONFSYII/gRJZuSKcaZ4DjsYbA/tToST8KJWP+BNZgpu1hvqVZdPtMK7aJXUkTiLCfzjt+4= -android-git-ie.linaro.org,ec2-34-243-52-201.eu-west-1.compute.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kF2Q2DN1LClL6+pHOgtglR0WLy2Pcoh0MPWTBEn1/f4COGdFRLyjw0sAGiJg2089siGX2/6mEBlFiTboWwSLiM8QnfxVi+YoqyZ3pi4NALBLouYI5UmthQqYKgeDahe9woGaLy161kUVRY05LdxACiaynwOgcxzEmeys7TyFgs3Wo+gUaw9E/3h5BDHDjRpYb/f1SgmLUXrIIkamED53eb6ibcTr0XImG58LPiaszLKxKBasKbIzy84GnqycMrA07oXLsGkak7LWLpVPS3Ma70l/Avh+qfTyMMQqiEG4U+nzp6Wfhtd1l2VyqQloXpPee5839bfGkoVEWmltHhW5 -android-git-ie.linaro.org,ec2-34-243-52-201.eu-west-1.compute.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLITqjfmkOdJPA2yLU5UlNdZfBir0eG4vmNhA3Nm20qNc0OqCLhQhszLBI0rpEIbI29l51+cpj+4m+4OMYaMbaI= 34.243.52.201 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2kF2Q2DN1LClL6+pHOgtglR0WLy2Pcoh0MPWTBEn1/f4COGdFRLyjw0sAGiJg2089siGX2/6mEBlFiTboWwSLiM8QnfxVi+YoqyZ3pi4NALBLouYI5UmthQqYKgeDahe9woGaLy161kUVRY05LdxACiaynwOgcxzEmeys7TyFgs3Wo+gUaw9E/3h5BDHDjRpYb/f1SgmLUXrIIkamED53eb6ibcTr0XImG58LPiaszLKxKBasKbIzy84GnqycMrA07oXLsGkak7LWLpVPS3Ma70l/Avh+qfTyMMQqiEG4U+nzp6Wfhtd1l2VyqQloXpPee5839bfGkoVEWmltHhW5 34.243.52.201 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLITqjfmkOdJPA2yLU5UlNdZfBir0eG4vmNhA3Nm20qNc0OqCLhQhszLBI0rpEIbI29l51+cpj+4m+4OMYaMbaI= git-us.linaro.org,ec2-52-2-214-187.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV git-us.linaro.org,ec2-52-2-214-187.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= 52.2.214.187 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV 52.2.214.187 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= -dev-private-git.linaro.org,ec2-107-21-230-219.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb -dev-private-git.linaro.org,ec2-107-21-230-219.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= -107.21.230.219 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC34bjTOKJIq8MVSeC5gddQlbR0hyvvTZbrpW7KXgCzkLTFZxa05wbz8VC1l7ruPotQBgrICgLYmrbjrASqcY//9OPLDa1Pf/MUIu2F2lA1W/5E3psGYmyC9GTvmjKgu39Rad5ujXMeMLjuzVPCmo+WhewgugDSV4Fcggd6B6YXHGtoE15ctSw4moerUq1+2BXVgFxUyMoGcpSCeLnbvWpmi6xWoGQOSnrQ4Z/VmZ5WZ87vQsiiWEAsqmMOHHacunnSph7uzQXJlHNajdeGnr2NF+EgcmQ0N6vivZDRLmRYuSmizjCOHSRZxSm/0UJC/ewVzp9BwRepiNKWsjb4gTMb -107.21.230.219 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= -lhg-review.linaro.org,ec2-54-80-27-87.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN3HxAgbbcvWvCvJ9sTKN1oxDMj4UqkYZ3MvAvRNPM9NoYedEHT/YPSgpIVl280ANsGxtZTKDYp30VH4CN3S1lRogiMKodA0wE5ORnMEXV8QyVHAk9C+sye1EHnx6R8Ma0Y/Jdzf6qwThSd2/hcwXFB07QetQ6HNa0NUkEMSiiml+eW+MRje3iyYCCJhx9PFkh/S4pk6+P5dUVDwo6BKjQ8Zay6b9+ym4rKtOPcv3jg5lBdK8n3CNHAVUFVXRTIS5l5PY3pl0uQsKAyZlkaMNk0zqsBns7SsPRR3eTUQIx/9S1cpLoMlvzpAY/BBgkSG6S27incyG7+afK+xT/WWlZ -lhg-review.linaro.org,ec2-54-80-27-87.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLZeDCbs1nM2xWEA+NXpJpIFvuUZpK1ZxB8immtgafo6hfR0gF+qdAFhNrWQqp2e0E+OYGzA48U9pUOJdSUA42E= 54.80.27.87 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN3HxAgbbcvWvCvJ9sTKN1oxDMj4UqkYZ3MvAvRNPM9NoYedEHT/YPSgpIVl280ANsGxtZTKDYp30VH4CN3S1lRogiMKodA0wE5ORnMEXV8QyVHAk9C+sye1EHnx6R8Ma0Y/Jdzf6qwThSd2/hcwXFB07QetQ6HNa0NUkEMSiiml+eW+MRje3iyYCCJhx9PFkh/S4pk6+P5dUVDwo6BKjQ8Zay6b9+ym4rKtOPcv3jg5lBdK8n3CNHAVUFVXRTIS5l5PY3pl0uQsKAyZlkaMNk0zqsBns7SsPRR3eTUQIx/9S1cpLoMlvzpAY/BBgkSG6S27incyG7+afK+xT/WWlZ 54.80.27.87 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLZeDCbs1nM2xWEA+NXpJpIFvuUZpK1ZxB8immtgafo6hfR0gF+qdAFhNrWQqp2e0E+OYGzA48U9pUOJdSUA42E= -git-ap.linaro.org,ec2-54-255-241-230.ap-southeast-1.compute.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= -git-ap.linaro.org,ec2-54-255-241-230.ap-southeast-1.compute.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV 54.255.241.230 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV 54.255.241.230 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= -git-ie.linaro.org,ec2-34-241-58-132.eu-west-1.compute.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV -git-ie.linaro.org,ec2-34-241-58-132.eu-west-1.compute.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= 34.241.58.132 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV 34.241.58.132 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= git.mlplatform.org,ec2-18-209-167-164.compute-1.amazonaws.com. ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAgsUMZWvcYLcEk8wiV0P+xQMYQ/zIgl0esvIoI3dy93 @@ -100,59 +49,32 @@ git.mlplatform.org,ec2-18-209-167-164.compute-1.amazonaws.com. ecdsa-sha2-nistp2 18.209.167.164 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC86o0lvHhcO+wZfhZzYp+eHItm79QgAeohf54LcIkKtEk6RJwdB0U83s25ERO2DvLu6jqVgQrcwAlyyFnqDRusEA2WiUutEFYo/XqWlOFF6sQa+w7dk2AG/3Cgp3qCwbIoiqfAx3HjDslnnj6LZVK4pg85K9PHf2gaH12pzIx3hpyxEsAb33sbbF9IicbrsMHhzGQk0qMutUyABXA/40FFs+/NIgcRVt0tCGFh3vbnqUkI3/sNDMup8b71wodYxKs/IKQWMBySCQlRYRpL14a6xPa9R04346GZKQ6abFpjF/ERuhtklI3K0pE0tBnGo+hdJubgFLwqHz8F34fvMVdR 18.209.167.164 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMP7x8oTsilLiRD5x+PS3G4EfMLMwrDfN3icXqwBMCVBY4dKiwB8c6NMHxnTXc34q6Fi7k3lGpdDkXgQIT+tax0= 18.209.167.164 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAgsUMZWvcYLcEk8wiV0P+xQMYQ/zIgl0esvIoI3dy93 -patches.opendataplane.org,ec2-54-211-49-112.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgO9WJHGym3Uh4o7d1rCk62JozoYabBLsnHrms28gP/mufWQ9jVXDimyzgnERFaOpk7dtHgetKIdmixL02WAXGZN/kKAshnD9fQwqFS3L2n+LPwsh9Nes4cxdvGgY2bMvMLcwYRD+Wgv96Y5/Elz9A6wTAeln1X4qucY/sgDqX61H9imfW06gILmxAxzgurbdvZJGZU7nK+sUdO1zmBLR7t+hZVCSXBBc4RpJ4IPVrKUM6W0v1xzQ+PNQ0wShY8IwAbarBl7BRBeL+LBEDtF4fyosZPlzBctCAkO/udCy2w0BDHF9xlFYC7BGa9Cn2LKoPzjXUV6mjxmx+LGDaSGvn -patches.opendataplane.org,ec2-54-211-49-112.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDfcen44QGP7+CFekdTl3zUfaNunRawAl4tduHqm6pNOqiZ9MQAssMK7p9kq7kvVAR9LTbaB/xdGGBsVGgZYO9k= 54.211.49.112 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgO9WJHGym3Uh4o7d1rCk62JozoYabBLsnHrms28gP/mufWQ9jVXDimyzgnERFaOpk7dtHgetKIdmixL02WAXGZN/kKAshnD9fQwqFS3L2n+LPwsh9Nes4cxdvGgY2bMvMLcwYRD+Wgv96Y5/Elz9A6wTAeln1X4qucY/sgDqX61H9imfW06gILmxAxzgurbdvZJGZU7nK+sUdO1zmBLR7t+hZVCSXBBc4RpJ4IPVrKUM6W0v1xzQ+PNQ0wShY8IwAbarBl7BRBeL+LBEDtF4fyosZPlzBctCAkO/udCy2w0BDHF9xlFYC7BGa9Cn2LKoPzjXUV6mjxmx+LGDaSGvn 54.211.49.112 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDfcen44QGP7+CFekdTl3zUfaNunRawAl4tduHqm6pNOqiZ9MQAssMK7p9kq7kvVAR9LTbaB/xdGGBsVGgZYO9k= -patches.linaro.org,ec2-54-145-194-227.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfwL46DMDAPpLY2IhqiDtJgVC97ouwi9A4RXHQY48pME5LHmG9yR+IXNQtkEMHtGGT1BJXsGYDcjUpoMNydSwbTtjUDjFUgMMrZ6ng5k1AoKeosu1kIB5fWzYTReg/BbjKiU3txWhlxjNOH6K2+hdaVV93Jp8gYxAEcEdCrOoYesAuY/NsLGURkf5NrxhKBnRcTfbM7HC6X6DL8kABLcInrzULWEBhLhS399tJjj4dJpbjGhrgl0AoKBQjrbtEd8kwFAmkb+QpWKmmRxb2v86rUy4gfi9JZekUQ2tR+E4FKEmCX5lKoe0Se0XWsYXOuihRhnHnEiRaq2QBkrUSPZVD -patches.linaro.org,ec2-54-145-194-227.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGgKJfR1sQrEy+Io1AYoq9Cb2q2kV10tA4IBygASLRo7JuWWBBPjrTcYM/v3ImjMBiSGreKY7kCpt3l1+2FMq20= 54.145.194.227 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDfwL46DMDAPpLY2IhqiDtJgVC97ouwi9A4RXHQY48pME5LHmG9yR+IXNQtkEMHtGGT1BJXsGYDcjUpoMNydSwbTtjUDjFUgMMrZ6ng5k1AoKeosu1kIB5fWzYTReg/BbjKiU3txWhlxjNOH6K2+hdaVV93Jp8gYxAEcEdCrOoYesAuY/NsLGURkf5NrxhKBnRcTfbM7HC6X6DL8kABLcInrzULWEBhLhS399tJjj4dJpbjGhrgl0AoKBQjrbtEd8kwFAmkb+QpWKmmRxb2v86rUy4gfi9JZekUQ2tR+E4FKEmCX5lKoe0Se0XWsYXOuihRhnHnEiRaq2QBkrUSPZVD -54.145.194.227 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGgKJfR1sQrEy+Io1AYoq9Cb2q2kV10tA4IBygASLRo7JuWWBBPjrTcYM/v3ImjMBiSGreKY7kCpt3l1+2FMq20= +3.88.203.153 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGgKJfR1sQrEy+Io1AYoq9Cb2q2kV10tA4IBygASLRo7JuWWBBPjrTcYM/v3ImjMBiSGreKY7kCpt3l1+2FMq20= review.linaro.org,git-us.linaro.org. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV review.linaro.org,git-us.linaro.org. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= +[review.linaro.org]:29418 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMfTLkTmsbtahAiVJTKXRFbR9MQ/vDH/JPj4QN3XPHJuubxLhUf8WObEBtML7J11uvVM1oDTwM5YG5yjyBnc+85OaQaB9tMPDheGhfMG40F4vxdSnQL29ihyrls0hrFTY9UZ4Y2FmJwYL0rOnGU7iPyNuExQwfg2bkdw67aH9nEGjSd2eXYl2bI4DHujy5GJiV3dR9TlUF0iaSeHVSIX5t9I/BXK+AiSqHTrvwdGGi9XvL6xEWYMOZOpJnCH8Q4OSibsFfQXnCMgIFeO7J/ZMGXqltXOtztgQMr8VvRRD3S+Lcp8yKb5aUjWwoCxb4YzEUbQE04SRVeAGjsfNJcXgT +[review.linaro.org]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPzkmW4axU/BXRtRkR42I8FVvWjGhB4CUtTC3cSkhu6L0Oo9i+ija/hahkPT0DC+S0k/vEL7s4mC5SrdNCeJO/0= +[review.linaro.org]:29418 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFc6ZLtKFrdDI1dYcnYnfrZ9aZDSEVuYvjrsuGDXE0hj ec2-52-2-214-187.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV ec2-52-2-214-187.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= -52.2.214.187 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8Q8j887I9mBD2va9C7gWl4Cr8agHWxuFHfDUWaqiygI9jA4w2YC7mo5oJMqwUk2DsvPDLuU5Z6yyKSA7Cko+L0MnKfNMzQ8e00ZXGDBq8bh1tRKstFselAFmmg+5DhM9q9HPjpKYzbAxU6rxmdFbSc+ktE0rhtmciThVT3YW3bMs3g+D+6sf6ER9UkSpbdZ7skKFXBHw2t1BWaPrvW4L8GMFAokgXUKOE8e1WZkQuCcseIz8J9Hz1p/liyiiTPVQnjGyleUnUY0pZA3ViB6pS317BH5Kvd8aX8x0vSwCIs30rpkmBam9C0b2uj2jWk3GrmHYjVHebMAW376VSLTZV -52.2.214.187 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= -android-review.linaro.org,android-git-us.linaro.org. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy5fjXgJWuF+qKwieMYCWsdrFnQFQ9KB49gZOONc4F9sJGaxdihOGrhq2Uk4nBjPNSFdwB0QdjSa/Mr3a81wBT3s3EGrB70JsgOyjVzE9lVMol1DdEyX94c0KlQl3B8Gg/RuR3347nh28+4qr2CIyTRTexUQywctEP1qmaIFKL+vNEmbMUIJnkQ1VLPanR1js3JhjpYJLCS8gPjL3gx8UNHoxXIPjwYK3yW269pb/0jVD5OKmVXYI7CD7OFsngIIzm54JzeiGEOJP0S6FLv9geH8Olc6CBlJQ/09IoGzvHqsASPJSisCdQWbhYFdBNJXuaoKLG3isCi4Drc/yIl8CB -android-review.linaro.org,android-git-us.linaro.org. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKadv8RptDmwU1c4ahKtUjuhwLsgtkTAQvlBdOzLRUBSVPmntpGz6LE9xEwgtZpz/WdV9doi13xdt53fCjJcRIo= ec2-54-225-81-132.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy5fjXgJWuF+qKwieMYCWsdrFnQFQ9KB49gZOONc4F9sJGaxdihOGrhq2Uk4nBjPNSFdwB0QdjSa/Mr3a81wBT3s3EGrB70JsgOyjVzE9lVMol1DdEyX94c0KlQl3B8Gg/RuR3347nh28+4qr2CIyTRTexUQywctEP1qmaIFKL+vNEmbMUIJnkQ1VLPanR1js3JhjpYJLCS8gPjL3gx8UNHoxXIPjwYK3yW269pb/0jVD5OKmVXYI7CD7OFsngIIzm54JzeiGEOJP0S6FLv9geH8Olc6CBlJQ/09IoGzvHqsASPJSisCdQWbhYFdBNJXuaoKLG3isCi4Drc/yIl8CB ec2-54-225-81-132.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKadv8RptDmwU1c4ahKtUjuhwLsgtkTAQvlBdOzLRUBSVPmntpGz6LE9xEwgtZpz/WdV9doi13xdt53fCjJcRIo= -54.225.81.132 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCy5fjXgJWuF+qKwieMYCWsdrFnQFQ9KB49gZOONc4F9sJGaxdihOGrhq2Uk4nBjPNSFdwB0QdjSa/Mr3a81wBT3s3EGrB70JsgOyjVzE9lVMol1DdEyX94c0KlQl3B8Gg/RuR3347nh28+4qr2CIyTRTexUQywctEP1qmaIFKL+vNEmbMUIJnkQ1VLPanR1js3JhjpYJLCS8gPjL3gx8UNHoxXIPjwYK3yW269pb/0jVD5OKmVXYI7CD7OFsngIIzm54JzeiGEOJP0S6FLv9geH8Olc6CBlJQ/09IoGzvHqsASPJSisCdQWbhYFdBNJXuaoKLG3isCi4Drc/yIl8CB -54.225.81.132 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKadv8RptDmwU1c4ahKtUjuhwLsgtkTAQvlBdOzLRUBSVPmntpGz6LE9xEwgtZpz/WdV9doi13xdt53fCjJcRIo= -review.trustedfirmware.org,184.72.81.201 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/B08oZljv1qGZJCjwQTZrDBEhUiGHcRG40aZ/tjkCCQb+JOfrb0jgV+AqkKxUSuAyxYgOD1HLotDFwzMaMAXTUZ7goXBoEfi1YuhZMsIyrQB4FG9RsGQe2/El/HRtiGqEADU3a98OCTzCDGNzvWfuwrCydY2YFZkkseFoGxV/eUE/WWbKqcQh5lNZnbBOjYSNjV0DNoW/jTkr2oR8iWlCTHqae6ulM67TzOzWoDOu90fqU7stX6x75SM9gn4KiiV3xWuKw9N8YjjRpEAHAZoKHgDqze0wCsMZLVhYOGA1iY30VB6bqo02PTm5gAJM9wfoqoRkoldn2kRJwBRDa4Bj -review.trustedfirmware.org,184.72.81.201 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA+7qW9k2k+Kf1/I3rT8Cjg1F53ezcCqWD50XTZnFPPx823NZnx4A7kLN6Fy4zeCuiq6ijL5lr0bEj9Zh8jwtSo= -review.trustedfirmware.org,184.72.81.201 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvuI+QkHtXh68oEl5YKlHGlVwddHH/FYvFFALTxAZDl -fossology.linaro.org,62-210-124-13.rev.poneytelecom.eu. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgEpoVhIUUoqT0JqtcNxfpmgae6L6nxnAGF3iQV6duhF2zP2fdlVGmMmI2usK0xQhFmC81+oaghEIX44558pxa8qq7aPAsG6SLH7JQnKZcqdREio4Yw9IWQ1W9+mUkC/GZa9najONN60JYV+6qScI8OkOjt6fOnaMAAI7uTUM7G0bOe/Q6mrUHMJ+xo3hXcmbitFUuWPKD9CC28o7b3PROgGjoFl9ieKvd58lnLfSlEgTKYc8rkptyXOJ9d3bdPbzgp/Cg2fQgp/7Cx2rtzzS+Cj0kJkRFJfcggB4cWH9+QrODONuHL8TQGNE+GwOUFEW733U3V9I5c+SwxnL2xz+r -fossology.linaro.org,62-210-124-13.rev.poneytelecom.eu. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFjPTxw9hBaKyCd+ucHlfcFGXxKdxP0pyZ3P7UExGy3gt8yePMZRnBJ8VQZ6yJcz9M4JTWnbhoNYxnwxhJCWzn4= -fossology.linaro.org,62-210-124-13.rev.poneytelecom.eu. ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGKpvdhgVNrzsah+6CxQ+LiYH7Rb7NUYuYOXcPl8WGUk 62.210.124.13 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgEpoVhIUUoqT0JqtcNxfpmgae6L6nxnAGF3iQV6duhF2zP2fdlVGmMmI2usK0xQhFmC81+oaghEIX44558pxa8qq7aPAsG6SLH7JQnKZcqdREio4Yw9IWQ1W9+mUkC/GZa9najONN60JYV+6qScI8OkOjt6fOnaMAAI7uTUM7G0bOe/Q6mrUHMJ+xo3hXcmbitFUuWPKD9CC28o7b3PROgGjoFl9ieKvd58lnLfSlEgTKYc8rkptyXOJ9d3bdPbzgp/Cg2fQgp/7Cx2rtzzS+Cj0kJkRFJfcggB4cWH9+QrODONuHL8TQGNE+GwOUFEW733U3V9I5c+SwxnL2xz+r 62.210.124.13 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFjPTxw9hBaKyCd+ucHlfcFGXxKdxP0pyZ3P7UExGy3gt8yePMZRnBJ8VQZ6yJcz9M4JTWnbhoNYxnwxhJCWzn4= 62.210.124.13 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGKpvdhgVNrzsah+6CxQ+LiYH7Rb7NUYuYOXcPl8WGUk -weblogs.linaro.org,ec2-54-80-152-204.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKStj42bnbS9NZ5+JXRcoEQ1WGgxhUGnXKW7WndR4Yd+Cc/GcfXy/UtnuJPdRQynJ02n1unsV43wbDltuSAFY6E= -weblogs.linaro.org,ec2-54-80-152-204.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvpGPTy64qf30KhmwVlqgQD0fQGoAeQ6K96Tx7lPQ+p68skJD1lIn+VSoNQ4W2GG7Yt2ZXAnBCcCzQ0N75MN2DGbkecM1iqQ2/poIwBVfZ3ZiRJMb4WOnnI4RaLLZCE3dpreVogPKjImHew58+8pfUs04WCelmjIYEY1wc527gncNCDnKFdVYqzWR0UtyWBP85AL8BFAUPcC9XsHmuNLe9VqocwcULf7oGWEgkKYgzDNyK7lFRucO0TD0quBu/Fip5AFSiQfSSFh0ZFrf1kMtBXXHB0cegFPJqaXe/8MlXEgVYUVOntgB+n/XLcq6m3mD3HYMoNuTy1SDWMUBpNxwD 54.80.152.204 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvpGPTy64qf30KhmwVlqgQD0fQGoAeQ6K96Tx7lPQ+p68skJD1lIn+VSoNQ4W2GG7Yt2ZXAnBCcCzQ0N75MN2DGbkecM1iqQ2/poIwBVfZ3ZiRJMb4WOnnI4RaLLZCE3dpreVogPKjImHew58+8pfUs04WCelmjIYEY1wc527gncNCDnKFdVYqzWR0UtyWBP85AL8BFAUPcC9XsHmuNLe9VqocwcULf7oGWEgkKYgzDNyK7lFRucO0TD0quBu/Fip5AFSiQfSSFh0ZFrf1kMtBXXHB0cegFPJqaXe/8MlXEgVYUVOntgB+n/XLcq6m3mD3HYMoNuTy1SDWMUBpNxwD 54.80.152.204 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKStj42bnbS9NZ5+JXRcoEQ1WGgxhUGnXKW7WndR4Yd+Cc/GcfXy/UtnuJPdRQynJ02n1unsV43wbDltuSAFY6E= -snapshots.linaro.org,snapshots-us.linaro.org. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOfd/OHxpzB3XL1ZR7/MMT4GgwWWAG940UdxNjf7ck7Motzmw7kpllmhBZ/Csar/a4n1SqxRyE6ZFb2A1jnHn2H+JxPS+cetOEsc4TULBSyUsRgvz4PUGBAOiJmRVyOYE1fxSvgyrg85z/MhSk0/xd/VLlkCeAyicAOTwjqteQQKQJR1S8b0cztULC55mE8VKKZGnnD1DWyxSUhSR7gRHWySJRiP6O2ByGcqLHm5GKbfMd8tW6g+NmbwxoYuEVEFh9fkwm8mTukkL046/u/EHFxDPMhczjnOAtFUKlJ9dKJqBOrdDj9zwUlHySCMPo4UpLgdgeF18guNH7bebOeGn/ -snapshots.linaro.org,snapshots-us.linaro.org. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDPYCCaNrUGzP+roVL8TgsEf5+Og1vnyI5ruQ82Lant7XZv5IlaYcqgKF1vGYsIBmq1H6xBLblplojw2ZCAh9os= ec2-50-19-28-204.compute-1.amazonaws.com. ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOfd/OHxpzB3XL1ZR7/MMT4GgwWWAG940UdxNjf7ck7Motzmw7kpllmhBZ/Csar/a4n1SqxRyE6ZFb2A1jnHn2H+JxPS+cetOEsc4TULBSyUsRgvz4PUGBAOiJmRVyOYE1fxSvgyrg85z/MhSk0/xd/VLlkCeAyicAOTwjqteQQKQJR1S8b0cztULC55mE8VKKZGnnD1DWyxSUhSR7gRHWySJRiP6O2ByGcqLHm5GKbfMd8tW6g+NmbwxoYuEVEFh9fkwm8mTukkL046/u/EHFxDPMhczjnOAtFUKlJ9dKJqBOrdDj9zwUlHySCMPo4UpLgdgeF18guNH7bebOeGn/ ec2-50-19-28-204.compute-1.amazonaws.com. ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDPYCCaNrUGzP+roVL8TgsEf5+Og1vnyI5ruQ82Lant7XZv5IlaYcqgKF1vGYsIBmq1H6xBLblplojw2ZCAh9os= 50.19.28.204 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOfd/OHxpzB3XL1ZR7/MMT4GgwWWAG940UdxNjf7ck7Motzmw7kpllmhBZ/Csar/a4n1SqxRyE6ZFb2A1jnHn2H+JxPS+cetOEsc4TULBSyUsRgvz4PUGBAOiJmRVyOYE1fxSvgyrg85z/MhSk0/xd/VLlkCeAyicAOTwjqteQQKQJR1S8b0cztULC55mE8VKKZGnnD1DWyxSUhSR7gRHWySJRiP6O2ByGcqLHm5GKbfMd8tW6g+NmbwxoYuEVEFh9fkwm8mTukkL046/u/EHFxDPMhczjnOAtFUKlJ9dKJqBOrdDj9zwUlHySCMPo4UpLgdgeF18guNH7bebOeGn/ 50.19.28.204 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDPYCCaNrUGzP+roVL8TgsEf5+Og1vnyI5ruQ82Lant7XZv5IlaYcqgKF1vGYsIBmq1H6xBLblplojw2ZCAh9os= -router.aus-colo.linaro.org,64.28.108.36 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg5vMfuBLRroqEb6+CFLQikh1Wq6UD++SODY7bSdPDfN1wmurdp60AdVU+22nOXgK78mwYPJ0PEcTBMSE+OmryfZFDZm/+aPbALid/vFs8NuvFmEQ8vecEBPDGxJ3RpVxkNG5BrWMTJjWMJTCFdIh9my5vhBPEloAuDRthRNaRwvgqRw3GJAbSG2Cg4ZgOQi7Lv3ogQ/M3nXzy8KMp4KD7AtncylguPoVwDxNwjl+YoEujZDvpM4UiZDnh+Gxeru3EnEIgDvwbMizlrKL8Tm+2gA+j3cWkgIjCVJM+PW8V0aobp681ChqlbDlzK0oVmwUafdVv3dxzOSrjQH2rkaOn -router.aus-colo.linaro.org,64.28.108.36 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP8apVdw/JC+4rOiq/eG2LgjwJPCqKIlG/RwPVDe1VNOdtrmR6VnTQ5oQYkwt00h2rdI6dVzdW8Q9za7PGW6Sls= -router.aus-colo.linaro.org,64.28.108.36 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILjGUdv/qddl53UgTjqIfTWx/AAgwGCp+CnDYACjF8rt -aus-colo.linaro.org,64.28.108.36 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILjGUdv/qddl53UgTjqIfTWx/AAgwGCp+CnDYACjF8rt -aus-colo.linaro.org,64.28.108.36 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCg5vMfuBLRroqEb6+CFLQikh1Wq6UD++SODY7bSdPDfN1wmurdp60AdVU+22nOXgK78mwYPJ0PEcTBMSE+OmryfZFDZm/+aPbALid/vFs8NuvFmEQ8vecEBPDGxJ3RpVxkNG5BrWMTJjWMJTCFdIh9my5vhBPEloAuDRthRNaRwvgqRw3GJAbSG2Cg4ZgOQi7Lv3ogQ/M3nXzy8KMp4KD7AtncylguPoVwDxNwjl+YoEujZDvpM4UiZDnh+Gxeru3EnEIgDvwbMizlrKL8Tm+2gA+j3cWkgIjCVJM+PW8V0aobp681ChqlbDlzK0oVmwUafdVv3dxzOSrjQH2rkaOn -aus-colo.linaro.org,64.28.108.36 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP8apVdw/JC+4rOiq/eG2LgjwJPCqKIlG/RwPVDe1VNOdtrmR6VnTQ5oQYkwt00h2rdI6dVzdW8Q9za7PGW6Sls= -r1-x86-1.aus-colo.linaro.org,64.28.99.175 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINYlcUyKzsv8UWuxtnSOWPDqCJXoFkw0d2113lrh+szK -r1-x86-1.aus-colo.linaro.org,64.28.99.175 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSFLz1iTidSdqnfx6TgO5zw2/RRZSPfN4P/PZeeurkWb6/KA3tyQR3/KWIfRvXN87usSRXGOF9PRQWc/HvnoZ/HW9fDpmZADusu8d8RFxmUvz4L9g6ZGvqOBaGrxhdQ9boFunYFdY+QeAi6298H1MqI3veCLuM8dizOHdNd2M0RPWznWBMT1xg15H4f+3U1PcZThy7B8YL0J/4LuQH6iHR+ilDnq3v/zd8VIgrEE5rH98/Bs5Piid9UDFixwnqdginiSkxJftqgbN1wH7nXATn4AryoJmsumi8WtKltcyGCijaXzTRcC6I85XI7XOhKY5bRyIo//W8xasDGf3K9E0x -r1-x86-1.aus-colo.linaro.org,64.28.99.175 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNySPQHNyHxsHwCH6nRiMCtkjUD3vTXgzNB4op/06sIi660ujwoxlnpZPOJ8AhI+/NHZiq+GcaahRbk/aTHmbQM= 51.15.185.142 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFiE/xDUSszfNbByILYgnFaa7fP9SM23ndz7ShP9a2GBXgjoJYzR04s1uwmzHYGzdP0H7MD9yGm7qsdb60/C0dQ= 62.210.248.69 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGSH0j+ws2JebLQuwUWZmYpRAPf+h3QN1E5TpDdf6PCRwossD73hAVs99d84+8GFmNDiFPv7H56t19cXof83E54= 62.210.249.170 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJ+nJO/P1YksW+J0d8a/VJOuXng8k5SX2uJQ+BEquwLSlj7ZoUnpO5g/ggJlHuQ1v1buFP0I1A/Ye8UdjhjHVcY= 138.201.52.83 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJeajbjVeTnYaL1SPlPAddAcAt+RCmd+CQzkZXBoZViBcQxIZwstHVpZ3GIrVKS8mnKKJQfKummef62YMa2f7zc= -147.75.32.78 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHu+ik90PqROZ9D8ixmchEfPoeYYQZn0avXgPOqOtegJK9qLw/hx45F8Hg/J4asSZEFKhAw4Ovp9QGF/1YWucQw= 144.76.6.139 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBB40GP1XkqQtNT6nCXEzy2cDsgJHTCkApsSAYvtuYqSPTYD779/mvsE4bjcyAQhC6CtcQX1Kuw8dwY0aOgrkABo= 188.40.51.209 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJbxJ7Fr1Tfb60su98DUhqp1hZ8qmqB3Hxhbob1VvhdiZkvrfvuNBcOIgh+flIAGea5W/Zm3WnHnuL+RImBebDE= 213.133.116.86 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHFdDIQtOyHhX6O92vVElv1iJCBj59xOMNIJAySXfunTqlMzQ0o5BWm8SOe+PQ0JFOtcnANwIPqyY7P4T3U/uZ0= @@ -163,13 +85,295 @@ r1-x86-1.aus-colo.linaro.org,64.28.99.175 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYT 148.251.184.94 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBETI0LjL9+3A8qlXHg+WXA2YdPk1fOUn2iZziYBRLc1qVi3jfgRnfkiHnHzfP43Mz4/MIrLZ4Ot2eyymBSIcSjU= 188.40.49.144 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIEcm9UdHnMB4dzB4Ts2DlxKXbCbEQIh1rwUn4NUX0NKFHvtwOE0SUZm3/Fn3uDm/6YrjIbg7fVagVLVuVibCVs= 188.40.92.79 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPlgAR+TfSk6/JTVixjFUqUaS+xqKtBUXAbujlq7HV5/zQSsG0sOdxHZU++jEnydi42O1Z4Zr63UuUlHBY4N+aQ= -148.251.140.195 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNqM/TEH+9pHng4S8HPuAHKk9L5TRdQMh5mjw2NKPel134b1OIPYxN+a44lBjsTPhVOU0wqPpQhByPZ50cz+PQw= 78.46.190.194 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFxvbcyll1MOWNYFtoS2Ag0VPbRqmEGp09UBB9r97biPx64uRw0XWTWOsaldCdHXs1ngqc6WexMp6V0DkLnXCu8= -r2-x86-1.aus-colo.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP8apVdw/JC+4rOiq/eG2LgjwJPCqKIlG/RwPVDe1VNOdtrmR6VnTQ5oQYkwt00h2rdI6dVzdW8Q9za7PGW6Sls= 88.99.59.232 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKoVmvuzM7PDGZoaRl1vJRwpV4NvOmt2dJCMb+MrpbJg5RrUUqDl5Vay1AREqbXGMgoeuwZ0G8CgcFNA3zfzwUg= 64.28.99.162 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPM/UPZ+OQ8vH6JQDarr2GeSY5m+ewWXJjhSHgFXxLdbNOmQSeHdez3jhWo/f5qRKwW0V3fRGze7fPHVfvDg+Hk= -10.101.16.17 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNkWhVWWz17oShSbQGb4IwZMAP6BxoMEs1E0u++yP4XaexwjcfxlqfZFqQADJYxw8nEDk4sIjmI9NgLXse9Xz5s= 51.15.128.165 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDj3WzfPoUf8LrBe4NDeJ86rCwJbqJna/jNZZJKW66y+8GMM6w375GboJEIxijdlF4joB3hKufEtrxWvqiwBGB0= -ci.trustedfirmware.org,18.206.12.103 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLt+7FXqEKRlZDYEzF6v3Bp7N7NznxzgQwRYjoKh9m4qR20TGUsAnrAcL3NfU9zNCg8nJuguMPKGHkwaYceG+vw= developer.mlplatform.org,3.82.122.174 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAFARXtuAZ6LzieVyE97UddWdoIB8lSALM/oEKe+2gqRIYXNhGQTK+0PGnF4JM05QMUiGGHoyaMcdJxTLNY4HKk= 10.101.96.20 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF3L/0nzfit1lkGALqPehFBibo3jSC2FbXOm0BDjXxz+3IZH2cDRGfmsmFPGtfO5bYRr/flewfCnmwhH7YkIp4w= +publishing-ie.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJTZ3bDgCTObQ5vLSRXWF1PKzUZiKnXHfem+9WCD+y/v2gmdKSDDdND73AlaMq6oewBdE2wVglY+/w+uWjQtV1E= +52.215.200.125 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJTZ3bDgCTObQ5vLSRXWF1PKzUZiKnXHfem+9WCD+y/v2gmdKSDDdND73AlaMq6oewBdE2wVglY+/w+uWjQtV1E= +51.15.249.133 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE6LtsTOA7FHZ85L08ZRIEcmp/zUP8mx78zqTNu+tsMY8HgDbHIRbgo9P3iuwdVTX17/H3ftgWeO1Qgnb7cE0PI= +[localhost]:2201 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP18iE16FNyGIhFJqD8mc8XWGyxQNvj3e4UcAXEKythaB0TbuIh5qC9ctCh5qJM3gI4I9GB6gp/iqP4Aq9Duryg= +r2-x86-1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBVnBscBSgdORTwh9N0eaFYyOy6VNSKPqoBKlyed/FtxCjvk+StOv4UICxTMJSqXMid1leg/fQmOPD5rejnqNj0= +r3-x86-1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBH2Z3ijQoicrbaAIfN14CnPO4Xk8r3kX4ZICWc+76Sb+avX7mlMQsm9LfX0YnMBjeqeGpT0xmHysAAQFwEAKSwA= +r1-x86-1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNySPQHNyHxsHwCH6nRiMCtkjUD3vTXgzNB4op/06sIi660ujwoxlnpZPOJ8AhI+/NHZiq+GcaahRbk/aTHmbQM= +qcom-proxy.linaro.org,54.183.104.175 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBG5ftIpnXolKQWL7k5As89ImpuhHqsMlI33fWscTp0TuSf3R/7KNUWDAqr/fhaBpfgcg0kEpfNY0yxkyI2udew0= +releases-ie.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJTZ3bDgCTObQ5vLSRXWF1PKzUZiKnXHfem+9WCD+y/v2gmdKSDDdND73AlaMq6oewBdE2wVglY+/w+uWjQtV1E= +testdata.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJTZ3bDgCTObQ5vLSRXWF1PKzUZiKnXHfem+9WCD+y/v2gmdKSDDdND73AlaMq6oewBdE2wVglY+/w+uWjQtV1E= +99.81.133.34 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= +192.168.16.91 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCotlPaJMfmUZpbJ04VvFHiHjfphcf5hLyrwuSah3i089lch4aGfJreR6XhduKdtEhhAiLwV8s4odidJ89C3jI9uh8UHeTeVdSrMwT8MyzFNiIPxGoFIpwwaK4YYraK22pGn2QTL/EtZT1G9Kniz0RuFyNbdWQqNBDdrGtgXLgFIUyn+/hSvhr7Tahyr4ly3/doAHYW4+IW1MlIC74XtXwQsTaiM7W1iwtuWd8t3vSbl2F7ac6q5Tp4Lpl4997ObBc7EFT7HMumn4vN5/urX0U7ngBghLO8svQNF2Zh0iFBOvLBomT4i4FseL3x8KH9v83rVMCgbFk4OsnIenL96QXf +192.168.16.91 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPXoRATLFFzczzyqhuYlBJyujbeqrw22ttuhi5iAB2o1ASdkr2QghS2amaKNhZdUagMhkinxkUYghof/vronVI4= +192.168.16.91 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIN33ihbOhvJeGPxrBcSXp3IDJLXX+SNpfPal1iy4+sWc +147.75.32.78 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJrlwZXex91enFQJhmWGWsbRKUnHa9naxKT7Ot/VaudO +147.75.32.78 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqPVVFXBZ2L0xZFWmzCu7+9XeZVnXsnsdReulP62ZmrAhqLiwWsZDlWpLPqM4L1v/KJmgfvC7Ndj+CuF801d8M3mN12F0siBTZDxuljhSe1QFjG3tEnd4PgRSAkRjkL+FqftLvJ+iig81eB4UVZN3YrLCeZhy/gNFBOtLO9+NAUR7i4ciNX12OTDNq5hYUpab9CHCXYNQmitJXdLzGmOKb42jRPu/BuzgS0t22kRgOLwPD71yYGLJJltDjRJHeOwQjTcpzGMPThL10yFn0CCucpJi9XGicMlyBzRHL7TAThOugufvngMvc5CUFkgFukMUJ3iHf3k+H6qGXmKKvmBId +192.168.36.51 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMH9WxAKcyROUX6rayPQrUmxS/aRiA4Sm9CqMGY0apd+NTqdJwXfiYAeioduxZDGyiIZMlOafS4x5f/Rt5tDiWO4zw16zSBVWqlzNNeNo8tiiR1QN/WubqFEWHJ9gu3pPZ6FmgRwnBb+d1EEGhXYEmFh4YqAiwpzTQ9VeIU6/sVK5YVp4zEJP8iRt9gb01Y/oTSadiNayVrkHC5T1r/XTp6B9svI8843liu5WKWXTteM/+FdLOQHlBbgvmuU9Zao1Hpj7GJZ6/Kse8ZmzQSwdskkO/F4sB/Up1WZ25A1WOBdsVIBBOCb7B9hpsHfs5x8gKIVw8DUTlylSb+855I4dd +192.168.36.51 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOAN92q3qC5rYtfe0oVeCV8Rzb8eYlqXwp5nReFXrq8QQNKwTwIaNEA1+6BB6NQtpNVH/KLBpyxCPuOzRUh6Ymk= +192.168.36.51 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC8o8oy4FjvtqHUstX/CpiCHqLYvs9hPRHXeDKO+jybt +144.76.6.139 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDm1doQQy9sw8eufUNeRDMsqJeaMTnJY/0wGiFaFf8yPSU9x5lsEHwQPc6ahIDozL58FGmW3ZMt0T052nHcBS5Jo2H57JwUOjN6fqM5SbmMUfsbtvIRfWpJRQsJ6oDoYQHFDSKKfL3h0OmYhnreLERnQA7NLubXeckBWOcd0YvKy7WqjsfKLWHba9l73CBGhfICOpO9RexIqumUX0csR8RF3viIFMOntdeQiLSftGWBXraae6EtqgC8s9zPMANCiNefafXqS2wjBZ6dpmyHYQcE+xVoMrE3uW0vV9WexRrcrLl9VvyVAvQ1RqjFKnvQS1J8G7GxSkm2k6YcpodYv06d +144.76.6.139 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBsIBuk8E48vYtL63E/AUwZrKEOTpXEF8QHsP7hHkK9b +188.40.51.209 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCevjhSm+B8PeBdem79CyWj3ubwD5rAISiDoP0q79edHGjb9JVHUv6TLEFzhbiqtMk7nrPIMz8z+cfQoy2MZC+xo3Akveorl5HRG5WwYcb+ijVv8Qo/mfS8kd4TDApuHXkjA/+hIEcmun5k6fWoxWehJJcfc9uQFrfr0irk7fFuQTN0P03dWf7reBtVcCzSlLhDgdCgmMhRsIA8b2KEiuZ9rLnmCE+0zkEndZONRtUCNBbt5MtLUAoQOqvU2/SdWKhpruOAyXY37ceLHQYDxOmm8Xrde9OiAtgup/nmZg4K8OFCE29PCE9AJw8PKYuJHj4gP+sdzBMD8hCZkih5ouGT +188.40.51.209 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICWVn/ufLZzXjAtvj14PBY9VIjFPv1mwf4LczwyoOTNZ +51.15.128.165 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeewXjanXakMsIIzo1f6UakFrh/7PUKX8CG2ECYnGWfl+1Q9hoyS5ni6NQB+Izi4BeT0gY52YkZCzB1iD4LIru87dveJHSYCeXvr6/jdfBGeAdfw5IM11aURpdZ308F2kzjhSdGYk9ogmfiEzoJZO5bRD6wduqYXPKUoIAE+NuA1Vh8SN+vx1r4KkKVqaOovsbawc3E8clmOIxqXkqdhqYPQvQ3hyEbW52DWqJ04iHX5bv5/1E+fDDipnCHEtoJoQjdgvWi3AbW/7CkZXwq93sd7IgZw9upbWb7bBvXiKK2fmhTnXOvcLzGmDfMowX3IGUYjoRB385tj84OE6Fdjsd +51.15.128.165 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJCp8IoXlJNVc1l2ETK0d2hWM1mljD/ZO7bJamQa8+vg +10.101.16.17 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjLEoYkv11uZbIgL/+kwQeolu1zMTYcSOvr/C9Q1l2Soht1RLX8rCrIkJ3WqQXm7tSFPMKY2KzfvEuzt68Ma2XzKOpFiH/riWHgcZnJ4bONsPk/flgY8AJy0RbDvrCpXSi+RNudSDKao4CLP/9gQlPVO7THsK89OFQ8KKFTMQ6qL3it0WRxlS2jmw/UAgQb09eSh2CjFtgntN69aa75aQacVR4QQxE4LK93GSHckJB2PES9Zx80m5qWp9/qoszt0uhtnr3UYNwNpf82Gl2PNmlsPspHNPnysm3D226BQPo9gFe1VzQ22Y0inR4qThIDGOJ9b1w8s4ZgnO8tDXMdA/D +10.101.16.17 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBRi/pTpOuTd9tvURYjAMOF3ydrHZAVLuo8tN0sG2/uR +52.72.253.35 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBelX85cGnwt9C79yK8seFI4cgIOg29DKbSnPH3eDXSc +52.72.253.35 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjBf6maS29HfDMmDHAR9RHnk4+4mCigmilfdOp5q8jXTbeyjPlNRJCAZrL9avDzEZ5CFWD5V0Nf2Wz2KEidlSvUbEhnmaMo3jz5iC1AaTGON9+a08xHNkAJvFDGNv/D48IzZL4UBTijKeK4iu68rrhhZV87DN9pyybwMgHwUwstBv2r1OJrKFbQYvOhi/b77BQPtb90U9o02Z90pgtr9b1t8pwtX5M2PB7Wawygk3Eoj/SwdH1SAGbQee6MlvNJswYdrB7AyWDVq+TnTe+efbboz2Q1PQF0+L4Fbhnv4XXSsxCc/CJcarQdKbj9Mv6b2OWDRVeqJn/tjM20jSCuZ8T +52.72.253.35 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAJURK0nly+H5seA6K89oNMGQ6O+fW+uZuo48w6i6FkqGXQQQI1QtPFyeOzoUd/X24Jijt02pjm/VPqd0ujlHi0= +10.101.96.20 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/u4JKx0PToryEszVfu9LQKDkvgtirAfCAEI+rVT88sB/4UTp9HWEK5MB8tQw4Z1T/AVQcpK+AHEiehwRssPfSR0eC5XUpyM25S/69cEdiNn8dOzgIdaGAY8AoxjK52LGt0zFglfV5BrsNJelEVJ8wiCdYE2BPMbsYNVGh3rXFiGMMg10X106R+BwtaBmbfTEOyyFo5gc1/8mJntQtuqvgjx61FqExxAHXlPr08BQMIcbb7PSQurzM5pTdDpbdf6LWhlKBl3CDD2buxBteCQ8szDT7fKoIijlyo16OPjZVed4TnlB1r1c3W8BqQ1oICCnwDibbPl31Y7lSWxH6It0D +10.101.96.20 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFLc/5Djq9NWXPX5hBmrkuBDJaQDjg2fsGXobVKimyap +51.15.185.142 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQChnMWakuxQLWnEG2OpjdyG/o6ms+UnGVWyT1WcS7B3dc1tET8ACe1uJD7bye+prXsMlaWZa45nRDr35mYVhJrce6rG9CE2gvNgW9zHHx1VHZmi3WKkx1/TMgpS5wivrW0DB87ow7gKIavWX5olmJl/TQ57WAQezNOG7FMkNFcjtenUmyL1flGKSZTxnRiqMgLB6YRrno8XPtRXAjBbAq4uoHHyghfqvO6+TbVNZStvlgormP+5oCMjmywgX7yTAWARjGH6Ey+lebnaPrXtBKpfssdlH1VwbpHxaaMl5m84Yfav9DpDmqd5e6B4aeltBZTTfrrlj2gPul78xJCrLair +51.15.185.142 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHSlbS3Ey8lAFb0kcvTGFeGyDUxZmbQV1wTahIO911jM +62.210.248.69 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcRhK2zOPduN6HtudDfzQvqZV9UpksetisEiA5LVazWiRSnZb2sMv5mtjhcj3vy8ryf3YqLboTk0ykT8UlNLGSJYNzJ+08r92f95UnqOrcIWx0mM7q5I4PtOZ4LUJ4RUGbLtwICwvcXiS/2dYz7KNNysNylUDCalFAxAMMBZ7otIjTVBYjfX0CxsezMLOpuutezwuq+1I+uVsHNCHCYeV6AqjGasxlWDjbyZAiWHzWaNTX/9IHAh3obYufNqFO8Wol2uDYIGZRfZZkMHjeIlD4IN1mXpO2tzez7/u6kkf9wCvMqxJo0pvvnf7B9mueXDmncE1REnguATZlnWoGC/r1 +62.210.248.69 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINOV6sbZJ7WJbKEfVKGcxYFkiBwyWsvp48yMN+ZvnLY4 +62.210.249.170 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQaFhjknEJdmY3QXB9vplhSwAlZEz36Z3GCwgCFk/nazrT6ykgd8oJYinwlZrkVvxwb4pylE2kmwrLhQdF3UC6jEgmtN/rFBJ45KZYS+1IggfX2/FCyzBijAxOrNaqRx3ZCCidpcDFGU1sqOU4DxKjn3oQhfkGIr+hQQPAMfECj0+5jqO/Tkd7H6S9Q6il2KsNBXHY2d6CX7/079FWNDZ0B+pku3k4aXtNfyE1jPCd43EIGnrmpnebuqUXoyNvshAOGYZR3BIFupqE2v/2ogMED/xnvXRjcnH8bVWydVCccBdWrqxfod1g2s5jcK4xENqr7PrfAQWQ3JmcU3YOx5FR +62.210.249.170 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAtZr78GB1MQO9+o2XaimO52ikDg0xxN0rAnTxpaXWp9 +[147.75.106.138]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/lj1wVi9nXduZAoXCBmaAN7ri7m0/qoRKxy3zcNAxiYNvho5n6bqDTEQrCWCYoVA37/cZqxw2bmERUzF1ntMNyFQRR6uUSdrMqo9oMRKzR0NWUMfgsb1VzVcTy1ovqXLQLpxlr+GEm4Vssez49VIuF9MQ9zlhExWFPmIbYNnteee1oy30hDUHugXQcjW7vt2ITbYo1z+x801zzpNgUwoc8smTaemPX9Ct0OrbMBrdSTHXPtouSyeujy2xLJkYQF8VZPpCTqHeiq8ZWeh+DZsWrJN86rJGuCn4L+9zJaif1NeJFtN9Nj6R6n0qqnxpwXrNKViT3Tl9g7Je46W6M6Y7 +[147.75.106.138]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE7kxLXy6Abs0OVXpFyNxrG60SOXWLN0kbKdlnvhDb81c7qmUqORlgTSgWzH7nGLfnWG5r82S6g74hu+YJteJIc= +[147.75.106.138]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHuwvFXRDZWkDUAtz6VP5KQSzYViviG8bgVSuazXjy2W +[213.146.141.115]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIdKFtHAASG6U84TBG07xPD6vHrcb/uFz+iWLHiDOeKhyaKnFkAUvciHIHMcOzHeQ2gQK/uLQZmA8m5p/O7rRK8= +[213.146.141.115]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINLNHmK7p077JsarVxLpNpITrVkbpNqQvdJAPGmy7Nh5 +[213.146.141.115]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCbBqTByOwC8TJD0Ymv3gnWfS43QaflmQALUX/mJyrJpk4RV17YQNbgmOD2I8YfoEdTwr4j5ZYZ21pGxRBwt7U4LBhd6POLbOPaDI/P2KYvamRV5Gln1/LIqjpzV82ul9m/qgWUd1UQB1itqGw0XdphdAyfcMwe2NIVCsbQZSV+VlCeH6Nh3Lqc1O3RqAidWh0vQ6Xz0Y7FfVMS9a5WbLUzRNDkwlTQahZKTeH6KUjQECIOIZ8z3hlKZ3MljQCNc/zeGeL8IguL/9VO2awZYvLOwWA4XOW4J5SD4qobciVw+Gt39KtnOrvO3301l8I/e8rX1u0xDeNA6/uC9olam6wf +[147.75.199.202]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIKUpQTWLrZ5EOqfVw4+HGhcxqz2f/KXLM9Pz7dwIDC5 +[147.75.199.202]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD36Ym3DY0ZLH+D3GYETeb49yRlphC2+PRvhTBLSHyZ9uiViW1Jdxew3LdgFOysvAhzPA5jTM3BSSyK+cW3yqBv0YqSkNzUKjK/8OICp6bSrudbi+axYlTqDz3C17y5NcYmJGmG+ImObucv2d/dIdQn23h7oHWKMaVY+O+nKf0n0XhZ9J3cyUwrzb3f3NShFooOhzrhO136E3fs6D3Z7MczUNA5nl6hqncstVA30X1ZAw+mbo0nVPk9B4AY0Ytv9XO+CrPwx8ysEAFtsU3HF8MCZ27/vvmoBAjQuGQwUr8/SFt4cJVs5zSIX+gZV2fi3p0e8JnZcqDlupbtIJCDbRo5 +[147.75.199.202]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMxDer/ySnyQykp9hdGVm6ra3RfY/ABHt3VNzbpLNVDqZdGIcUZz81UHiPUBksMeUd/pE2etS5z6EIOXfy2oMqI= +[147.75.195.254]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMxDer/ySnyQykp9hdGVm6ra3RfY/ABHt3VNzbpLNVDqZdGIcUZz81UHiPUBksMeUd/pE2etS5z6EIOXfy2oMqI= +[147.75.195.254]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD36Ym3DY0ZLH+D3GYETeb49yRlphC2+PRvhTBLSHyZ9uiViW1Jdxew3LdgFOysvAhzPA5jTM3BSSyK+cW3yqBv0YqSkNzUKjK/8OICp6bSrudbi+axYlTqDz3C17y5NcYmJGmG+ImObucv2d/dIdQn23h7oHWKMaVY+O+nKf0n0XhZ9J3cyUwrzb3f3NShFooOhzrhO136E3fs6D3Z7MczUNA5nl6hqncstVA30X1ZAw+mbo0nVPk9B4AY0Ytv9XO+CrPwx8ysEAFtsU3HF8MCZ27/vvmoBAjQuGQwUr8/SFt4cJVs5zSIX+gZV2fi3p0e8JnZcqDlupbtIJCDbRo5 +[147.75.195.254]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIKUpQTWLrZ5EOqfVw4+HGhcxqz2f/KXLM9Pz7dwIDC5 +[192.168.16.41]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPGyoqgme8iI7a8j77FlL8wCyzZ/wqBCecmwES1997m77e9PSEJ5r7UO8UccGawA/rWdA/JW86FcMzAN4L2ZnVC3Vyd/O/7vtydzyrYlGuMuSD61HV1sbNFz5pY7m5XUzAb5GcvrdCQXjzbG55fuqRm30xgxtiJh9dj7iZEa7jVMwQ732AUC7ldlh0LkbUTez03IN680fx4035X60C4wuKO90kaItnFfEVWM9nqG2lvralaG3aVYZb+Vtw3CaOmxbN1CBrxvTpKRdzUR2mN+UhMQAIis/RlQDFpEebIWqtM+Y5sWwpxIbBxoYpY8xLrmhKzEcPGNR8yojHefqHZ3K7 +[192.168.16.41]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOejRvibbP2T01v+R+pHjvuj58m55Z6UP+3knTXotZU4ZfZbOl8MqK9bBlb1BnMBYvWO2WNtS9pDIbKNTakNuoE= +[192.168.16.41]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMklfL1C0yLncsZBRxovZOXxL0+0dibY7x7/XXa5Kt1Y +[192.168.16.42]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJVp2hvJ69X3T95NiQ/ugs2SwTRlDKQ3OaeuoiwWZRWrM2o1GPCxMmn+mz7vSMDpurEc9SxEQIX1liMr1xMO1M84bvLADyG6DfokW8ZZss9HjX1cM/SQkqbE5U8zJVnFiMPhcEzA3EPU/jvjSV48UdH1s52ZEEQTKOkEwEO1o9UlW/Q+8zcZDfCre2BKv/zz+0lJbk7dFYzHL135mXzxctRA6sh8ihI/pXG+EdcNgQyTYeA/MDbuwM3t56t9Anif1C7QvwCcRvCIYhjXG12HKv7xXS3465evYf5RAsplWVwojEprWOF9kJ7SiSCRSbD0vbBUhYAebszfT/PuPjezM5 +[192.168.16.42]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDjF/Wkt6U3SpsiyTo9IHjELXbdI1vdofxhAs7dSqCfvoPS6vtMiz9USJz4mXCJvclzmyyFiLM0RYXTTfVDLO6k= +[192.168.16.42]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFP7RZZpZqwZypb2QWunsiK6lQ2xjI5AOAQGIIXhfwW1 +[147.75.77.198]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIKUpQTWLrZ5EOqfVw4+HGhcxqz2f/KXLM9Pz7dwIDC5 +[147.75.77.198]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD36Ym3DY0ZLH+D3GYETeb49yRlphC2+PRvhTBLSHyZ9uiViW1Jdxew3LdgFOysvAhzPA5jTM3BSSyK+cW3yqBv0YqSkNzUKjK/8OICp6bSrudbi+axYlTqDz3C17y5NcYmJGmG+ImObucv2d/dIdQn23h7oHWKMaVY+O+nKf0n0XhZ9J3cyUwrzb3f3NShFooOhzrhO136E3fs6D3Z7MczUNA5nl6hqncstVA30X1ZAw+mbo0nVPk9B4AY0Ytv9XO+CrPwx8ysEAFtsU3HF8MCZ27/vvmoBAjQuGQwUr8/SFt4cJVs5zSIX+gZV2fi3p0e8JnZcqDlupbtIJCDbRo5 +[147.75.77.198]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMxDer/ySnyQykp9hdGVm6ra3RfY/ABHt3VNzbpLNVDqZdGIcUZz81UHiPUBksMeUd/pE2etS5z6EIOXfy2oMqI= +build-01.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAb24Q3dS9P+vRdvehkUwdevHS/kAMoM7ct4V9NCyr1sdqxrgrYv2A27WHUgKM+uVl0prEQWfpVSH7vZsymb9+E= +build-01.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdxlTGRQxR8QHKnwbUkVXVO6eCTSxBx9f1wEtZMZ0Zy3ucNAavknZbOx0lVADsU2HC6kEJgxK+1vRO+58KXyPP83fhfq7Eg1Dns4tlRxG9XRs3Ll3ezb+3MfFF4mFGdqMOIGqZHUJS43znQykAjO0Gf7wqjRHJQqeW81I9UGtM22STNX572+XbUYkid48azSFVBPhrHPtqsZoJIAHV7hLXBzqqub74GKCjGQz3oWzs+QGE3Py/zigbi/9uIgSsFp/qwBQI8JqzXaoPswCz8poO14+NZNofZdUMeaSHlxq1JN7CArbbreaDvBQtUROZ1M6UqlRIAH1w2Ooa8nZAg1d3 +build-02.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdCgG3ZVJxkpg02rkI6B9KD/7dYKxUufkSPHdDWLEsaHTDcD5Lszw6iferNws9+OybFNz49T4qsoVMN/dtkhIZoQ3/xcbZYwoGa6ZUEKIJoGntRBmHWWot520U/upvqgQ/5ZynfqdaUiXczY1F2EC+iuXBLZIdouosllKN0p9b1SpW08UaAKRH1SsnypYmtiX+ZaP/5f/53AqttYJ5idXL/VC1JFslASRr7AClVaRPIpczET8YHqhTQ5DzbK3G0jz4VmuFa7Wh+lIwDLNP3jcLzQye1W7O4HWePQ9cgNkztgK8z4p+RwXAg0jv2VNCZ59MpKJV+ZctEReNy+/ba2EZ +build-02.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI5dFhNpP/ZvIgRcjnG+emifCN63lbM5oJwGXNzET71CT3U0U7/86WPC1sU601joUB/M0pTl5kvz9J1AmaVOMiE= +build-03.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmrsGZpzta2DrbwjXzQfLZPgXWn9W9CWta3n8GufF+qb2k3uFAHKYE/RR4F98Zh8emShZp5P8ArUXy93pre8wLeX9A0E5byfJj62qyCVljlLGPRIxQExM3U8B4xOcomdnUA5lE/qrZnL6oI7Mz9Z7lRF/epmjoEBRNsRR2mA79+NCQBzRlaWHQVSqE2ccTMwZKDOx8i0WNB9640ZAI3+lrmTSodUVjqOg6OR+yeNwBfXte2UC/e+t1yIM96mfqy1E2qIbm0ovFhaYj+PUNwFKA3TuvS3umqhnADdd2z7VAoIrFJ3ubVwgTvEyMAEqOZLGr+ZfN691V/Zxb9gMtPyYl +build-03.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAtgUDdiJyFOLQ0JDf51h/mpMWZ1flrbUNMa9SJqodCwjdfidqDqEMlq5udajt3FB6md2a38mBE/xqIjaQ5Z0Is= +build-04.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmmFXV9jmitCLEUwnQsaeaV5e8vKGA73DntDtHF8BrDojitIdovfJpEoAP1+oDhAbCaeLP9hw6ss3jUzhFRHBWpvWwnhUcQhoCxhJ2yYkJ1o8Kw+2Yo20AsXkiBWCm++I0NVPLQmJ1/c9OoSHLokDlARpb/BsVjz2v95VQs0rcnXApfqrSLZVhIruoz8YKqvCfnIUW9UEugC66MLbaNFd8E8jgjbl05PEZSxTIZhnyWesXZoUBc4vX1tRKj2Fcbx2fobnTA4O14rMp89NFF0yE/6YNwYSltZ9Qv4bsKIeyfy6+V9KE5HS76+ACmQn4VdrAscqaQvuvT2zJlZDybF/L +build-04.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIfgFwDUZq/FvLBcJhqM0CxfMEbKLbiyySGJwDwiEH8vLv+0nc0k/HLYug0uJaNUVe5ucPL4q+/lgzsQj07hU4k= +build-05.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKvUlVxP5mjde+gBU5RqKcUaYgQ1RRaMLijIP/befUQJeA/j/z/crpgC4iMIxkgcYQJSmwX1soxdFHTnRt6B6BI= +build-05.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzC7z0gMeuVXN+A7K2btHtfEPb9fAxx/6lssuMX4xrS93mAs3hSNJK5QsSQHfC82B6Wa9cxZ95oZDtCa7VEcLp1YbonN1bndkhFgDZN6oVjJPBv3BZCXflJV9B5zN7ur5i2LHfK+wUWx8z6DOqQXfk45k+xM7XAHkIEC3bwW8pRRDV8ZN8T0511WcaoZHaLBdFS61YKghcfyzMkSq05CITn1lRjAv2Kwi5kBUbX50s+y0ottzSL/9LClLL64Ri/RqaYnBYoLiq+L6Cm7iki77D2EQ67YAtXUVd/HAvvnVDrPXMs/2+wSydTI664jiyCx44nqiPICLifQdAuFqgdDiZ +build-06.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJwFS379jvHVy5izz6TSkYu2W7Xvbay+5FEXsJ62zgn64ULJAO+IKHSLYzrWtc7NM887VyhhUhOFzqFuZ+q19uM= +build-06.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7A705+JPfhJh2KPan9XtUyaP+bU7phjCUgm+CV560EVK7yge58Vv3jv4t9EI2cmCPz0ndrkdLv5a1SHjcWz+ivDMOSD/slqMX+SOkT85LBgCkicboygVBiKD62Otp3Ss2aguGaOdp4uX2agbjPPi+Mll6islpnxvxQFBRRDwrhzBJITe7f2AptyvVqsKSA7FQHr3uG2YQ6vf+JotQnLipskmC/zNp6fQxSbOkHOkWB0OIYadF3vv0o2qZYPCZ3KTU3eg1vd6fxcr58tYGe7dDHrjeccBygoHirs29QXcrW0hV1dXaM23FmuEDbHJGIPajH88XwHgcoRq/l9XT4OCl +build-07.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCj/Z3JppTOFs3PTF76klTkqmZJn1Q3CeWQcqoijzTzIufpwX5KjDWIh07JJrptC/hRedVvp3tEg6Mgsk7OsNMaf7db4CfQtNG+1h5ReW8trvjxyt19T6EgFPjYe5rhdg5ai//0zYG2r43LuJg06J9omrRHS4Spw0g23goqPcyGU67NZcujvqHDsNhpEU85750ZfyBGhf8kBPkwMWrbTRqT02TMC29/KuCk0C8EDKqteBjqokMM/cdU5PDGwsDT4JsMdubCo6hio97+d7BgcAuMs1OK1/O/2CvNcoaJoVDGFEjdcKFkEbxHWdwNZmAClwzDb8xMLCCGda7xwmH9iVTb +build-07.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGwjKB+CysRLOxsfiPEG2ccpiMxCUSLR5M594isptu4yLbPG6sX16en9mxnbuiHZU3w9B8ch6pl8ifyqdUpgdqc= +build-08.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMn5t7qK4RCwcvbRQM91jodpqwW4m3XRZi2S7P2pXJpRnbxPjyrj/Hnv5Lt+DYnwfiqEGQ8oD8zP1BRvGlAuY4YTQ6ShbKoeYcJz4c9JwZKXzSj0nqnTetkRz8OKw+/MPNyh2g+eEFnUR3FyQicsdZbUQNTIwEkpMjpJHYaqXXgyXb/t66Htgd41rrx5eutsoMlveCf9nkZ1Z9gOfV+Ts9MP/GEDetmYCEkjO1gExl1QCJR1nuT1+2sUfORP8919NRtpNRlnuhQAGI2N2pdSlmJABLt98xoJ07dMeOdgxEUOsYpEx5a4wDWO3EFlyWwS9jGiQNLVMIYxDGYrJ+c+Ur +build-08.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMshWdcFkL5cxxrqBNLPztpYivObCA7/mNCz8JG0vAqJ7V30onU1ppNJkp6xS/jJKU+l5rGo/fqUnBgaTGgTbrY= +[build-01.tcwglab]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAb24Q3dS9P+vRdvehkUwdevHS/kAMoM7ct4V9NCyr1sdqxrgrYv2A27WHUgKM+uVl0prEQWfpVSH7vZsymb9+E= +[build-01.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdxlTGRQxR8QHKnwbUkVXVO6eCTSxBx9f1wEtZMZ0Zy3ucNAavknZbOx0lVADsU2HC6kEJgxK+1vRO+58KXyPP83fhfq7Eg1Dns4tlRxG9XRs3Ll3ezb+3MfFF4mFGdqMOIGqZHUJS43znQykAjO0Gf7wqjRHJQqeW81I9UGtM22STNX572+XbUYkid48azSFVBPhrHPtqsZoJIAHV7hLXBzqqub74GKCjGQz3oWzs+QGE3Py/zigbi/9uIgSsFp/qwBQI8JqzXaoPswCz8poO14+NZNofZdUMeaSHlxq1JN7CArbbreaDvBQtUROZ1M6UqlRIAH1w2Ooa8nZAg1d3 +[build-02.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdCgG3ZVJxkpg02rkI6B9KD/7dYKxUufkSPHdDWLEsaHTDcD5Lszw6iferNws9+OybFNz49T4qsoVMN/dtkhIZoQ3/xcbZYwoGa6ZUEKIJoGntRBmHWWot520U/upvqgQ/5ZynfqdaUiXczY1F2EC+iuXBLZIdouosllKN0p9b1SpW08UaAKRH1SsnypYmtiX+ZaP/5f/53AqttYJ5idXL/VC1JFslASRr7AClVaRPIpczET8YHqhTQ5DzbK3G0jz4VmuFa7Wh+lIwDLNP3jcLzQye1W7O4HWePQ9cgNkztgK8z4p+RwXAg0jv2VNCZ59MpKJV+ZctEReNy+/ba2EZ +[build-02.tcwglab]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBI5dFhNpP/ZvIgRcjnG+emifCN63lbM5oJwGXNzET71CT3U0U7/86WPC1sU601joUB/M0pTl5kvz9J1AmaVOMiE= +[build-03.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmrsGZpzta2DrbwjXzQfLZPgXWn9W9CWta3n8GufF+qb2k3uFAHKYE/RR4F98Zh8emShZp5P8ArUXy93pre8wLeX9A0E5byfJj62qyCVljlLGPRIxQExM3U8B4xOcomdnUA5lE/qrZnL6oI7Mz9Z7lRF/epmjoEBRNsRR2mA79+NCQBzRlaWHQVSqE2ccTMwZKDOx8i0WNB9640ZAI3+lrmTSodUVjqOg6OR+yeNwBfXte2UC/e+t1yIM96mfqy1E2qIbm0ovFhaYj+PUNwFKA3TuvS3umqhnADdd2z7VAoIrFJ3ubVwgTvEyMAEqOZLGr+ZfN691V/Zxb9gMtPyYl +[build-03.tcwglab]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAtgUDdiJyFOLQ0JDf51h/mpMWZ1flrbUNMa9SJqodCwjdfidqDqEMlq5udajt3FB6md2a38mBE/xqIjaQ5Z0Is= +[build-04.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCmmFXV9jmitCLEUwnQsaeaV5e8vKGA73DntDtHF8BrDojitIdovfJpEoAP1+oDhAbCaeLP9hw6ss3jUzhFRHBWpvWwnhUcQhoCxhJ2yYkJ1o8Kw+2Yo20AsXkiBWCm++I0NVPLQmJ1/c9OoSHLokDlARpb/BsVjz2v95VQs0rcnXApfqrSLZVhIruoz8YKqvCfnIUW9UEugC66MLbaNFd8E8jgjbl05PEZSxTIZhnyWesXZoUBc4vX1tRKj2Fcbx2fobnTA4O14rMp89NFF0yE/6YNwYSltZ9Qv4bsKIeyfy6+V9KE5HS76+ACmQn4VdrAscqaQvuvT2zJlZDybF/L +[build-04.tcwglab]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIfgFwDUZq/FvLBcJhqM0CxfMEbKLbiyySGJwDwiEH8vLv+0nc0k/HLYug0uJaNUVe5ucPL4q+/lgzsQj07hU4k= +[build-05.tcwglab]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKvUlVxP5mjde+gBU5RqKcUaYgQ1RRaMLijIP/befUQJeA/j/z/crpgC4iMIxkgcYQJSmwX1soxdFHTnRt6B6BI= +[build-05.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzC7z0gMeuVXN+A7K2btHtfEPb9fAxx/6lssuMX4xrS93mAs3hSNJK5QsSQHfC82B6Wa9cxZ95oZDtCa7VEcLp1YbonN1bndkhFgDZN6oVjJPBv3BZCXflJV9B5zN7ur5i2LHfK+wUWx8z6DOqQXfk45k+xM7XAHkIEC3bwW8pRRDV8ZN8T0511WcaoZHaLBdFS61YKghcfyzMkSq05CITn1lRjAv2Kwi5kBUbX50s+y0ottzSL/9LClLL64Ri/RqaYnBYoLiq+L6Cm7iki77D2EQ67YAtXUVd/HAvvnVDrPXMs/2+wSydTI664jiyCx44nqiPICLifQdAuFqgdDiZ +[build-06.tcwglab]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJwFS379jvHVy5izz6TSkYu2W7Xvbay+5FEXsJ62zgn64ULJAO+IKHSLYzrWtc7NM887VyhhUhOFzqFuZ+q19uM= +[build-06.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7A705+JPfhJh2KPan9XtUyaP+bU7phjCUgm+CV560EVK7yge58Vv3jv4t9EI2cmCPz0ndrkdLv5a1SHjcWz+ivDMOSD/slqMX+SOkT85LBgCkicboygVBiKD62Otp3Ss2aguGaOdp4uX2agbjPPi+Mll6islpnxvxQFBRRDwrhzBJITe7f2AptyvVqsKSA7FQHr3uG2YQ6vf+JotQnLipskmC/zNp6fQxSbOkHOkWB0OIYadF3vv0o2qZYPCZ3KTU3eg1vd6fxcr58tYGe7dDHrjeccBygoHirs29QXcrW0hV1dXaM23FmuEDbHJGIPajH88XwHgcoRq/l9XT4OCl +[build-07.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCj/Z3JppTOFs3PTF76klTkqmZJn1Q3CeWQcqoijzTzIufpwX5KjDWIh07JJrptC/hRedVvp3tEg6Mgsk7OsNMaf7db4CfQtNG+1h5ReW8trvjxyt19T6EgFPjYe5rhdg5ai//0zYG2r43LuJg06J9omrRHS4Spw0g23goqPcyGU67NZcujvqHDsNhpEU85750ZfyBGhf8kBPkwMWrbTRqT02TMC29/KuCk0C8EDKqteBjqokMM/cdU5PDGwsDT4JsMdubCo6hio97+d7BgcAuMs1OK1/O/2CvNcoaJoVDGFEjdcKFkEbxHWdwNZmAClwzDb8xMLCCGda7xwmH9iVTb +[build-07.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGwjKB+CysRLOxsfiPEG2ccpiMxCUSLR5M594isptu4yLbPG6sX16en9mxnbuiHZU3w9B8ch6pl8ifyqdUpgdqc= +[build-08.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMn5t7qK4RCwcvbRQM91jodpqwW4m3XRZi2S7P2pXJpRnbxPjyrj/Hnv5Lt+DYnwfiqEGQ8oD8zP1BRvGlAuY4YTQ6ShbKoeYcJz4c9JwZKXzSj0nqnTetkRz8OKw+/MPNyh2g+eEFnUR3FyQicsdZbUQNTIwEkpMjpJHYaqXXgyXb/t66Htgd41rrx5eutsoMlveCf9nkZ1Z9gOfV+Ts9MP/GEDetmYCEkjO1gExl1QCJR1nuT1+2sUfORP8919NRtpNRlnuhQAGI2N2pdSlmJABLt98xoJ07dMeOdgxEUOsYpEx5a4wDWO3EFlyWwS9jGiQNLVMIYxDGYrJ+c+Ur +[build-08.tcwglab]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMshWdcFkL5cxxrqBNLPztpYivObCA7/mNCz8JG0vAqJ7V30onU1ppNJkp6xS/jJKU+l5rGo/fqUnBgaTGgTbrY= +[build-01.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEn+YavT8hIuTeOAxUN2VbhrIBkJXgrcjeJmlFiEDih4 +[build-02.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF0TpdKatC1Qx0kyOFk9ONBFtljdv6ruVljaaIwjET0o +[build-03.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIB32uzRwIGibeELrc9iZyQ5kFWwH3A3X2OLj/qzdXgHI +[build-04.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIcFc6kR5y8eoMjHVsZx6ohjfS3Tw4MCn6RW8ZzPsGnf +[build-05.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAc5HSEPCUARVxDFWeUDuyCcRiP+OUxN2OPFcXQwp+P7 +[build-06.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEGay5D6Nhi3OvwUyn9cPB3rlMfom3eJh6AsXsJsUCIs +[build-07.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEyFpqUo5NTDRneU3zw/P+RsvIPR5ywmdzVRyHfpVTvS +[build-08.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASpxvETGaCAA6huKIeRIqdDgjZO/og/EWwP0Lu8iYBG +[192.168.16.13]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFDDgZJMaXjfDNYEbgpMgcIfTTrZEuEpSdPwGae22Frm +[192.168.16.13]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhWgNWUgUGPhVsN+glyHEmhp+8/qgRUXEPY+Szk/FYq9y3xpl/agu440Oz666phqBdxYygTjINhz8tuBE8Fud7opY5xHyjfWLU4qUwtbUn/h2ew/mpuT+LJgdvVIQB1pBHDiUnuZs1OIFZ3Xr3ZgFBV5+KltwLAkf5AiizBYf7PM+Vv+j1mZMxuEH2UR5jAMoR1QkssuNJctl40xY8NRY2PEbqPDadIrfxyBrw/Ib4yH8GCo8ckZAajwutGSt7FUI8RzMcsdnACcOr9F/wOEYp3Cpalw/zcpeE9/CP3G4hjhipOdPnb2dukRUEtqM47Osm4g+xCnPW+DKyiYhGx9XX +[192.168.16.13]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLdVqpLvOFX8J0skv13obeTp6oLja2zEX7z3zEcK0r+QkuHh0z9VSz6O5/SYhXDsEe++48i0QJEJstlP6HzIwSE= +[192.168.16.14]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyAwCa7A6n8lfpCr6Ozlx8KhM8MXHkNfNeBex1XVs0o6P6brt9oQZhLGfDHVv5jKSM+BdcfRY8ZXiw0Ee+zjpM260M0rZye3cb3xWg91FJFZKW9uXnGXLD7oURgw5jOBreR8lJn1GenQG7AoO339bIiEPB3TFRMgBUl/1kEyncP8THSSQGJDguB0bye7VBi8GQrfW3GmlNa0Z4BR9getVzHZYFzjrQh/+sPxzJ2Wywl2k8UMvD9TktYb6iKpTnlrj5eLE/oJ93ztEZULrRieGiVhQJFK9h5oFn+o7G2kHJ2bkjU1a6JKPb+dtOWos2olbC+pNNccVQPXwoHqskKJz9 +[192.168.16.14]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEBpnoqRDdCnOguYkJpI8LW5aSdQAoCnSrPP8oMAYGGmXiN9xQfFdzsJTlwcIsOspPeHt+pYSy32vCkFEpbql3Y= +[192.168.16.14]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPPsy7DYUgKFJEuawMD9PLCXmKFgLbP8UiERzCIKn4CV +dev-01.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDB5hX27FCyObltKaqNkakrGyyqJlZo3U5QjONl9jnNRiWI3zoiSBsKvlzHXZoUjSjP3KkXXnhSD9RZk3rN2PQq0uTI8+WA/mkTyWOVBclqJ1dCXvg/W1tjkTMTpJaCfRZ5d+xtsITYFF0sEBsfCknUXRjC/aGMLxaZ0pL7DsnbBGPnq5nUi6YZLA09AhRi1PAhrRHNwdyVnpIpLWGqxtSGMDzfbLH2Pul7CLyEQwA4v0h4nDzHr/qOVO/Flw0lJOjTHeSLDsBrixMi00QxM8ASIbupbqObyWM1rcGtp79k7LC4b+MMoWp3Orh6/3avB4j3Y1vyzm1ZYsF4kXzwEg7r +dev-01.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJ7T0D1vTUF4moEmEhrl5LChBCuK9UoYxlG+EzxYkSfvG2c1YWVrI21/xU4xC6bV6faIb30uKGQJxkeiVA1J2TA= +dev-02.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDd8sWvSwHBxH08oQ4dUDGmN0tRhoaS1LaktefvXyqXzdqvzHIbMsFKVeJQ1Tm8aHBOLt+l7kD1CJfrtO6AqUR/d201FeTzd35WaTVKsY3yhtdSE68AsDvI5B9eA8GHNgiaTzam1xFgohlDfhe+BmeTirRk7ZBf4sXlaPhCgV+FHpsG1w7+2iUo+hj1LV9yUYRpBB9uKwwt5vzQ5+h8jNFsjX/4FZhifihJbC6VKaCuB3AR4cIxJr/t+R/Uw+pwSxaW9NWRN3GYg+dwDRAx3ThPmZtblJGe+DfgOOqdWLFYjLBWiw7dehyAjv9Qo8dyhiKnaOeazVzEwgFNCG658+H +dev-02.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCwQ+UkhPJyTucLORiC5zlFpQkk/dgKKeKS18vI1L+Z+iPmoZa0WWKO1HFrgJoDe0Lu0SB8jceigD6snw8QJXSc= +188.40.92.79 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGBCd+Aq1sTgZ13eVA7+a9Jko2mKXlfF+H8NULUkls0/gv1XooPh+Vl+EqFsYzX73Ujaw5qxRx3Re6qbRplPG2kVRdeO/5aE5nUiUbH0k6nKe4Y69o2HHhjnSMEHFcepRj3hWw/KB/yk3/2qq2vku91nvtEufiGMBSUJowJ9H+LHlAPe/NYoKGgyLkmDi9iO+ZvcR0ARPpxVtzVBNtlC8qmvzFcoEjl4u4F3ugwA4UI0YfrmPMps+cdBTQ5YyEPWPP+MXPKVcaax86Ij9PIs8hDXj4eq/N1zMmNtyhtYrq8myIleCewLIsjMVbfi5z3KXoKjpQGf1AHkWhRHOxtoE7 +188.40.92.79 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHbI6jZyisKIndgxSJnYWvqqKPAo8BHYNlXIYv1kzx2d +188.40.49.144 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDl4tnxJjRId0+hG2wwOBvveC4r+eFar0pQ7X/QDi0GiFPU0WUPA6ehLSP1/hlO3ms64xBQ8DcV8A8UuH+FdnK193jmKdbkIixjCEf9CDRoepENutwEy/u5bkw1pnxdvY7SqFsV1avRNMFovmx69Ta1hR1mypixqklNbBL2auRoa5UjBekNfIMtkxQ/4EYJjOOp54mNNS/1Vaoent3ApycGRHwDLFvIG/eFN2yMz6niOe5EhGzzkkUqPMDE8Dxaa6Yq87KnoPDMJAA8eL5A9CNWKkfVuw/YMJ1qTyDz4646FXMts7X5rAPvgeSv21xe4WXE9+ZGLT3o6cch4sVE6MHH +188.40.49.144 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILZYvBVxHNDnM1EA3/65pQUXyQyHISNShUZj+YqgNKHh +148.251.184.94 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMPL0zyixPXjliTakc2jvwI2f1oF/qhQiMDV/D3aMR8/x8z/7xjqNjaVipyB4Ht5Xnp7jIOT5qfQBvEIgoRDgZKhFcGLN/W7D4cmXHhHpyRUQE9xofoNfNVGYb0bdayQcUtk9e3RUsU/VzaBQHNbMVZ1JQucbe7gb71L0CaVJ2QIsgmQ8AARLr1AKjon6YCl+nnEs1ddfWLE4xGMRVTmZZiGftYTSGqkJze2apti7haoLj2tny4aoaEZitV+edDXT8BFxG+4RqyNkyW/v/d8sOJMc6ebPvP2PDRtqkR0Px/xtDKSz4TDZmEBcNxY++RR3a8k/Fk+sdckNbGwOG2jVd +148.251.184.94 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINt8v5z84W2MDRm/ts9A+WhbCa9/K3I3441gVL/B14K3 +138.201.52.83 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCqC7GJ4VBs6yxxxPdVnP1R6KjdRHS91JNZklIjq0mhKBMATDZ/NUz3ile1mD7Ue0fIPZ3+72QyIc79Ksk7XfLnW/abxMszE4rsHielZV+B/s69HZaE//y+/g/lZo25NwpFGrmtrCPIfPtZkIMEYbKYbo1SoX14PCNkDYLsLK0hqAe1E5IPMSZQLRtfYwSHs7U+caBYJ12DeY6SnLyahieW8kY2MQwgQvl4zciuN+9skTl77AXpfoy4m7AtfQrEgmfw7SEp7pRTQ6wVsiuWRF69VjcoT8EHjGHs2jJmKJtjQoTp3+ud6pI2R9h3m0EEWd6ope8cKL1IjUzBzryixroH +138.201.52.83 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIzME4zRMRgIPXdJgThX20hss4GfwuGDyTzImVti6jrQ +88.99.28.12 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYHT13COti2nk7KcB77A8Ra4wi4FDaTcWBuptBFNBU6hZ4nx4NlNzQt+ABoB9Ifm6IOOjoTmjR8jdhLOAjYBfMKpugbz3BdJzwQbCWl73cHUA9398t+iLPZplEdHpJ/aaBux4Y7FJspCdz63CoMyItrOvEEWV2AU37AqDCme5AFhPUroXSrR0yj8tQgWrrZV2ER5nZtgm8xQdAwHLe6KbJGW0YwjSj5BgsWKP9KbUH/lyrF5wwlK8tJg92+GOp96lXlQUqf/yULLKlriSjzi9aXyEFKizWvq6kDZq+ZoIdXge6T6dXSvFDxWsYAGLydYA4O1STbqreB0rdiM/AEQGP +88.99.28.12 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID5M8ZCdlzqCt533qkJziW3Abb30mhjGmYZGEz3gc/tV +88.99.28.38 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDp/LkIo7luhV+4DIOvUY1otrnp8IP80IuVU2KRU//OBMMrxCJOkwlNURmHA5Vpyeb2xmLNycBt2jpteApCXAwKdjL/Mw5yE/MdJTUz894MCaPruDsU5GfFRz4N+GXywbjzZfogceXU8GGZVJu58ZU4nwFRYkpMj0/bb7KCBQEa7cTj5FROPkbDK00xxd7R9NgJ3FMQRGSc54g+8npq/5in0TclQHNA6TWthc0QtPEFoa3kiVlqfjYJPfg9E5AA7QwCvI9gGKVPlHQkk1aRnhD7aMe8M+h92OmQu+8TP3DsUfRjpiqQi7b8q9Gp7qe9PWOJ/Bde5fspwModgyF00uf +88.99.28.38 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDiwD/LXVcRfrmUnzFcnTl6tmGl18Vyk8iBiBlv8T0/y +88.99.59.232 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFQ5Apkui4lKd+yf9yUUOnkN9MBJOd1WiycI+UxgEHkPwjyhq7ugKY++9Gw0lGK59Nlkj0PxQ4H6dfJ/Nc9oK4AvepIjrp5mpeyc8QJ1rFliVOwaJ7olKvahpD5cfhTJbOAeOyacww7lgg3XQvqP59+XdwwPrwQ5V0Bpyx/RMlTGgsOPG6NDxZ0HWVdMpQWw8eOsDuPxxM10ouK6M+7IG2CVcAGoLocNDSMeQN05UJU4ASJb1hV55r1A9uhLnPbInG/yKENGc/L8Q+yU+gkdqggOmpwOMNINWvbJ3xNVRfTFM7a1RikoSluR5Bx3m1x80xpjJH30QtcsrGU3fx/bzr +88.99.59.232 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINgXh48H4h3naWsHvLIzzKyBjvlX5c+bxzdrNynFceRg +88.99.149.141 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuez/5i7OW9BgQH4iBVFMOOT34CFqvMQLS0wwlYFHOkJzJQ83RPJtwANvpRWnAMiXf+4dMs5nT0j/XyIF+TU1CIo93P6Z12d3MVsiOiys6rsZ9A62IrrO1sXf2oJSx3FieJaMZkLHP89PeaLDPFtCiE47daTji7m4RaLzq3T3Qz/+MJXdbfjVZP6z+n6l9lWRGsP/bAMboixt7ehsVbKh7zVCg+O/LnFn9WFXdZFN3U1P10cDt5Gt5iCCTw/Dd3Q50IR8NRXCN8vnh/NY9aDkv1dkHcEZCVCA1dvkn6RfobRx/O12cWx+SfKtcHqCxA2k/1iVIb+zaR+NI1tBZXTmh +88.99.149.141 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO/hRuGbL0WXk5VIiB8wIxg32eqWkl71w28DcfkcZwjF +148.100.110.154 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEbo59LKJJG8vlPmXML6sE7fsmpqz5Xe3EtN+I+4pBvRd/CFCFjfUU92kWu0hsZLkrmuH+QbBAb73fj4lobzTtMluQ7q28GdjT29wF3Yli2VnB+AhwwRvUbe/9uk/7n+SvJ6fCsOrqHrKlG8C9ThVZE4VbIn8D868cIpcf4Oz2fiaMCd7Tm5BM2SIY4NXmuo8Ky6DvxdKd3/J5vSQkOMZXUAF9akv6JmFf7EY/DWVacxTIznbWtCnAyjtOsrezaqzE6asKob+oZZcNzuRn+NvbHYlVzINvaJLrw/KX+67fr+oU6TdqTK+BKB7PrVKr/Pvlgi+U+vPSB5GZ15BFCpyd +148.100.110.154 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOKukxeO2mIemdiKcEwe8WFkf3kKv2e/o1eYhIMMnhPDcNKlSgE+vRpMkIDkdGapg1cW5ujotZoEFUM3F7q/9A0= +148.100.110.154 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIA7ah7NGY814T8x27Lo1Gj1/99KZ+AWQ7/xvpuMaOSJR +bugs.96boards.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKO1PrD1Ixi2klmxuljqTS8rc9UJ+bSPTUqybWkkqgDZ3jUUNAVy89H8/TOF9TQXZSs1uCcih6A7AyK28z4fUIM= +100.25.199.127 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKO1PrD1Ixi2klmxuljqTS8rc9UJ+bSPTUqybWkkqgDZ3jUUNAVy89H8/TOF9TQXZSs1uCcih6A7AyK28z4fUIM= +192.168.16.14 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEBpnoqRDdCnOguYkJpI8LW5aSdQAoCnSrPP8oMAYGGmXiN9xQfFdzsJTlwcIsOspPeHt+pYSy32vCkFEpbql3Y= +tcwg-apm-01.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJjtBpJSQE1J2kow8v9F8DAQh9uLnJgOnmp6ISE2bZ3wQtrxqes6T+fQbP7JBUn2C5zkb7QeCQ/UVGHi945ue3jeyBPrENvolpYn98ijdudbLNfwwoynzhiErt76TGT9Fwm4e7EPEUyU2GlNFEUK1lopcg8eCD4CM7TC8zThIahMNnPT2mIwJj+XLTHqo4nqUxdrQPgDKqlEwaQn3SpgOofuYoa+0TnmQ/cod7t1/XI5yHCJG23H6r2ZWPapZZZbCz3BA4LC1YDhhvUxq/7F649PGyRAUdIQZpQ29/iblsCh6Do/76zVIkBei4pTchn/bU1U0/MEYw4WiWIRo+C01L +tcwg-apm-01.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCWXj5b19/V+Y49XAcC9lLoWQffVKnw8j7B7cHPzkH7gIwMXsRlAxUWoljJNEl7RLfI1QKytCXM6loVdbtVgKKs= +tcwg-apm-02.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDxk2QM7oIBFkS8sk8ZjXab3iaup4h98joMsbbzpumIk8WQ+80gdg4eqHoUDXpneW8ceXNYyj0P/d0eyzrbGV+vhRPACakAL+hyeHOsMi7ZUIQersRFiCA9ih3eVSAWoHom+CQx0URVIMJc9ruCiKfVE2nbcPBjFkwOq0sFXXm5pcX+TcQVjFmhBpK3lL3uTeLDvLmooVZAq/b+EuJ4AizH4zHRm2iHRiPlPcYCgXsywGqB1niQhS8r9hjjKEg/lGhM/czXedm+hr/jkoLnX8cMyuRiYI6onF3+dECuuNsiOAu/i4POoc7NFm20GK+NkorYgw4vuM+ml67fr7i1ZxTr +tcwg-apm-02.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJpnNyn4xwKYPKP97AMQCQ19aOdMP+NhZgBILR71w4s8vpgMgasvNMJr59ptkleCdkfhdsZA0uUhlYUyP7UxH7Y= +tcwg-apm-03.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDW/fUGhNMq+2s8acwaRHbRre7rAIGIaD5FQnyhXtid+CODanlicpyFACbow5/IS7v760hS8XFmSpXUBqiSyvc43Bobz0counFUlwL+25t9ybvZO1+FH3wGQCuO55BSJU1n2dHSHCgBhHNg5Wy9bQVFQ0XPzG+Jeae3f8O9rjHi+DDMSfK/UWLVoBaKjVW2Y1NLiwx0ChNF7RCNwi26nUO/b4uJvPYJdbnJY/1qAwhfq5kGcgE3wsErfaZHISQWMb9u1N867f5oqWkIFIywYvUxcmRzTMxfyMJPlQUFIVTpU0J3fO30unpntO+ZBWaEL5cMeC2RUV04N0+D5jaoA9yZ +tcwg-apm-03.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBL5XJXlZaLYcvk56UtwaDPwUBc9OGljIHtpUb45RKhdR5qkZefXP8AjIw8tD7EFXizGftXWLXn/5zYeuds1RpLk= +tcwg-apm-04.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDvandwUV7kliL7TeZdby3ba3kb+h3yC+fQDLn98Uuqa6n0ngnsHU2GJwhPwbQ+Y0CXHobLpubGNr0Qe7jnu5Vd9221n6tOLbhTQcjUyiusAA07rUBLgd2q5RCwqwI3dkCuYoc6XDQllSvtaMviJ7X7BRPHvV+TtoIepCsejGPAflX1mQkBf+faeoyj2MsG7We7J6W/dlxesm8ETCD0U/j5ba4XRHiVwvJXAlSWcLg6mIcPDBozMKob7Xj9bTqa5ho/ayleBh2kzuwfUMAj5CGEFvw5fITc1MdeGwt3KngV6yzy7qIFhQAI/uDmL6sxeylbTbO6a1WtvmWE8mUA1fDN +tcwg-apm-04.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKs1bCQQP7y+65YaON3udvoblhgqUFe1UQNs6QmWcpI92ROhOllycClQn0r29SH53ccRWOp1cXkXQjbfoWDpuP8= +213.146.141.115 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDFkm+qoy2rjj/Dny2JCFr1VY3diPb7FOcaQRlKy8Eeb0f1zai4nQVMTB4NVYTDwOi2X0BnwreMmtGd647QDhlKx1KKQ4ashx/3JNgZVVymKLTwRF1bCoz46xi231GGhCW71JCiIj6H65hSQwE8mqGKU5+D0V/oXeSiwWFACmgd18NQN4nbOvuLjpFqSx7J6NKYu/TT00MViZOm5nW7a4XvRgmkadzGbl0rS5kg9TKL7gqTelO0x1e6TClFrH1/3bjTNJOSmJoHLfhteaE3wkq3+161mA1Wt7+jYOdNlj7kmjIB9MbX+UqWiU1D5uCQd/YIsbbwrhmc6yStd52N2ZCJ +213.146.141.115 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMKWkcs2U8WjgN/McVwUonDuWzY/M01Jj/hAuGf03PoFGVF0CxlIuGBJu6Pp8b5D5XZ8byxpPOjOtcScm/FLDOc= +213.146.141.115 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK5pDOIKeQFFf4SXgRwbTdA+3VoTe/BbzT69DJY4ec41 +192.168.16.41 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPGyoqgme8iI7a8j77FlL8wCyzZ/wqBCecmwES1997m77e9PSEJ5r7UO8UccGawA/rWdA/JW86FcMzAN4L2ZnVC3Vyd/O/7vtydzyrYlGuMuSD61HV1sbNFz5pY7m5XUzAb5GcvrdCQXjzbG55fuqRm30xgxtiJh9dj7iZEa7jVMwQ732AUC7ldlh0LkbUTez03IN680fx4035X60C4wuKO90kaItnFfEVWM9nqG2lvralaG3aVYZb+Vtw3CaOmxbN1CBrxvTpKRdzUR2mN+UhMQAIis/RlQDFpEebIWqtM+Y5sWwpxIbBxoYpY8xLrmhKzEcPGNR8yojHefqHZ3K7 +192.168.16.41 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOejRvibbP2T01v+R+pHjvuj58m55Z6UP+3knTXotZU4ZfZbOl8MqK9bBlb1BnMBYvWO2WNtS9pDIbKNTakNuoE= +192.168.16.42 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDJVp2hvJ69X3T95NiQ/ugs2SwTRlDKQ3OaeuoiwWZRWrM2o1GPCxMmn+mz7vSMDpurEc9SxEQIX1liMr1xMO1M84bvLADyG6DfokW8ZZss9HjX1cM/SQkqbE5U8zJVnFiMPhcEzA3EPU/jvjSV48UdH1s52ZEEQTKOkEwEO1o9UlW/Q+8zcZDfCre2BKv/zz+0lJbk7dFYzHL135mXzxctRA6sh8ihI/pXG+EdcNgQyTYeA/MDbuwM3t56t9Anif1C7QvwCcRvCIYhjXG12HKv7xXS3465evYf5RAsplWVwojEprWOF9kJ7SiSCRSbD0vbBUhYAebszfT/PuPjezM5 +192.168.16.42 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDjF/Wkt6U3SpsiyTo9IHjELXbdI1vdofxhAs7dSqCfvoPS6vtMiz9USJz4mXCJvclzmyyFiLM0RYXTTfVDLO6k= +[tcwg-tk1-10.tcwglab]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +[tcwg-tk1-10.tcwglab]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +[tcwg-tk1-10.tcwglab]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +tcwg-tk1-10.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +tcwg-tk1-10.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +192.168.16.13 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhWgNWUgUGPhVsN+glyHEmhp+8/qgRUXEPY+Szk/FYq9y3xpl/agu440Oz666phqBdxYygTjINhz8tuBE8Fud7opY5xHyjfWLU4qUwtbUn/h2ew/mpuT+LJgdvVIQB1pBHDiUnuZs1OIFZ3Xr3ZgFBV5+KltwLAkf5AiizBYf7PM+Vv+j1mZMxuEH2UR5jAMoR1QkssuNJctl40xY8NRY2PEbqPDadIrfxyBrw/Ib4yH8GCo8ckZAajwutGSt7FUI8RzMcsdnACcOr9F/wOEYp3Cpalw/zcpeE9/CP3G4hjhipOdPnb2dukRUEtqM47Osm4g+xCnPW+DKyiYhGx9XX +192.168.16.13 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLdVqpLvOFX8J0skv13obeTp6oLja2zEX7z3zEcK0r+QkuHh0z9VSz6O5/SYhXDsEe++48i0QJEJstlP6HzIwSE= +192.168.16.14 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyAwCa7A6n8lfpCr6Ozlx8KhM8MXHkNfNeBex1XVs0o6P6brt9oQZhLGfDHVv5jKSM+BdcfRY8ZXiw0Ee+zjpM260M0rZye3cb3xWg91FJFZKW9uXnGXLD7oURgw5jOBreR8lJn1GenQG7AoO339bIiEPB3TFRMgBUl/1kEyncP8THSSQGJDguB0bye7VBi8GQrfW3GmlNa0Z4BR9getVzHZYFzjrQh/+sPxzJ2Wywl2k8UMvD9TktYb6iKpTnlrj5eLE/oJ93ztEZULrRieGiVhQJFK9h5oFn+o7G2kHJ2bkjU1a6JKPb+dtOWos2olbC+pNNccVQPXwoHqskKJz9 +147.75.106.138 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCnRw+8lRlndwT4rJNbhf0pxYJRSXFCq5YVK2IdaPd04Vv0PKQd7QhzLgBxybFDnqs8KG2ymU8GmRWh4M0G4a8Gv6L+srrvw5MSG9HbuLNWeKEM2MboWCLWAfeRxo2oSGpAnXhgUAk8TglssZxtKsrUXoe6jMhvQ5SnLD5x+eioZYVQpBKe2D67Dyut0d8aH2Zx0wYZ8f9QC8/f0sNxbgdq3z0vlmoDhW63G9v7INXFD8t28fH0f2crqu0d+FTgd2FZFNElAjbLUOZUFnIu3WrJxRhskQ8NDaHblB0MO7PIl8c2/u0yVJTzg1NAAwKUFZuVXnqh9Z73iCJ5DMa6Sf2J +147.75.106.138 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMNJ6bDwfFdxvILvzaRqk+KDzzxj4bnwX2RqoEGN2uLcRxGiZxzqUeQxYgxJcwl7T1Pn+82DD5AeQvWg30GKWaw= +147.75.106.138 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAZJtUbNWU2VBAijSONfln/J0oaHezfs/2ts5F/vIq/O +147.75.199.202 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEP4by+cHRj/Zv45ogYiT8c42M7oaqIH0tqSDOIcyVEsq/H0XPhtYLflFn9Svm0xkXKTDv6XgpLaKScY49x8dwXZLYJcj0BMdVepbZbG8+AMeo3PwXQCeLfIJvFgh8F7rXRuiDpgZMrn6ndEIPlSGYev4epogy0Ql/fXZT3owQaQYj0Ao5fl38OGFxk/my2DvM+xsx22OgB1i3vnS4ejwdmjy9sBA9phifdarPPfoa5V2TJB58OupD7XeFC33EeSNsTcsLV8jOglis6+jmgfaQZS9/9PEWXHiRc5vv1rxNF2oXKultgKgy2A8c+EuGSm9bIkk7o2aYDrsY97wJ/H99 +147.75.199.202 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKeEasQgb1Osge3kEALEJE0Sydn3ohtl10mgUVGJAhoADBY+mWB0nN4s5OKuUyC4uA3ZxOGY5METMUeN8K9OJ0U= +147.75.199.202 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIWbeaXnb+DP7xQiXG984w9SxSp937Vw89iRC2EgKBh6 +147.75.195.254 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCodsNY/yDFDQLJd1QVnCH++PY6jQ0ljM0bedqDCG6JPDI5exUA09qBu6jxaPX1a245rvowOd54l7Dgl1FUGBPPHEH3ZOAh7TscsJ1fLyoRT74ZBFcRK9PeGnfPtch2gruYokTmBOxHb8ZG7QZoX0AgmxDtCuljrnFhoTIDv/7qBZiA0O4YGGVcSrDZf+O8yMAB2Bpo8Jk5QZjX8U2+cNcRr2dSUovPrHFOMVXHfxNahjKEG8iNA3+xe+VevD6F1+ViCvRH8Ez5SBZ87vElMKbBI4ikZzhUTjNMtPWnnZpYV9K4ofIDxyrqrP4uarQhWfwl7lBKlQ9RkXLr1FPe3o51 +147.75.195.254 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFDmMj/gnpFHtP9VdKudq2S5CbEf7TDH6tMRiKihEocn1vw2Otf6DZi22SooT7+uNyvFan0rJ4NiyWjY1ErMf5o= +147.75.195.254 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINFA4yO+hYb54w+sjFifBb7l+rYvD48MW9oCUw0wppD6 +llvm-tk1-01.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-01.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-01.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +llvm-tk1-02.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-02.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-02.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +llvm-tk1-03.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-03.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-03.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +llvm-tk1-04.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-04.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-04.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +llvm-tk1-05.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-05.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-05.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +llvm-tk1-06.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-06.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-06.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +llvm-tk1-07.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-07.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-07.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +llvm-tk1-08.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-08.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-08.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +llvm-tk1-09.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtzqHPvWD0+36zQ2jn3/gMQawa11XZtKypOB8pUBNRsoMDJSi0efuluR/rjAw97+Wv3+cCpbHqYJ1Kpx+bs+sBnGcnSXRn1r7fHfYyxr3DQ5xyENepPSA2q/wUj07+KplkHKNZFwmnXgIWg3/BjwiM4bf2fSY5ty/pxzvnr0tuqVjEbDHjcjPCo1yvwx8eUN4CVpfvrQOB+H9UJS+pdAgeLAVGIjcecwihT2PCmxYydjkQCks2DRhYwifTd6mVSh1K9avnRBXfKz68LLmdJKRfU18xbEJnwwcLB/03bfLEJiC284Zo4LjK2NWWcUQqFIejnDqc45iaWfWkJN1vr4b5 +llvm-tk1-09.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFAnhfVQ81/cteWyhW8t4OnrOtmF4+6zdSMXtJDhMeFgfbYr/yktrkqlaTld0IjBdlV9cDcqSKJ8R4xeELkfrmg= +llvm-tk1-09.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE2HgIimZL3eFmW1dtAKVawSlt5JI93etmWLVJ7li4/T +[147.75.77.198]:2022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE6ROpaSncPXcPcOsLfH2vJDpKYtuMwGnCNY3uHAtrRf +[147.75.77.198]:2022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3gCZ8MCaFPWfx+/CvSHAhyvCNUaojAcaqSmVL83MLre7il0sxbBEfVQuZE+JhmwVbJpHcPbjtFHzPa2C9nZqjlTOS2E2EAFPYQqBr84zBtY/FovTtEDob2C5Hw7zmnhMiTG80jkI0g0i5DY6uUzGy5OTOjYf1zX1Tt/FVEztEhZtUuO4M5ZnBh7s9uvU23JTIOJ485RrbfgG8GvQx4B0P/ZrwAEHg4OcqlSce1Vr6qeGjV58vDzHb1K3TnlkSxtgR4S0avIIfrG1SFGF32+mwRNUlxu3uTzwbd4xCkeU/zaY4TMlrlA1/7tY9m3cFNQM77zd+xQuMK7g0ejoihcg3 +[147.75.77.198]:2022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPofZGjSQwGyu+DfwUKQTfFvq4iH42HKPjeMs0+bYW/hPcWzFj14zM0vdgPJO4JsYluwbq5O8hUYYZ9tjVR3E2I= +git.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= +[54.152.253.35]:29418 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPzkmW4axU/BXRtRkR42I8FVvWjGhB4CUtTC3cSkhu6L0Oo9i+ija/hahkPT0DC+S0k/vEL7s4mC5SrdNCeJO/0= +3.87.142.116 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJ4fZGIZ0BX+OVPD7yyIF2fwmcCTUWSZndA2EadlWxzILXeFRu07I6+LSG284c2lA0dJNhgUVORgHfzEHAwBu5k= +34.238.41.123 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCRRFLzNzzbKrFrvVXd+kPCgi6Pk81VR1qFTisAPN+XynTppCU9Kjj0J4cvu6Oew8QbQGusEmpyWB1hHptXqN60= +3.89.92.149 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNtjfRTu/hhhtGK1q9/TX6oAjLzFxAJCbfJKvafDxaHCt+FuJv3wbYxhSLEJjh3jlxqHJgeNMVvKA3Ct5xcGw/0= +34.230.21.47 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNGD+DmXDqkJ4oUVYglemcEkYiAChj5Mrc3nl7+eWXnXg9wMFq/pUsHkDqao9TgEzeTes+vMgZGHl+w9G6/wEt8= +18.136.253.116 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= +tcwg-m1-01.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBImsDHjT9afSC0wRpH/71diInzj2tvZo0fIB5ywQkOdFNvNNlSHqMNikTG1iWkhimYOhmNPgpvND9BxhBNWVE/A= +tcwg-m1-02.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLOBtVrQnohCS6rF3uCaOHOuMacYjy52wey651magzXSjTe5AIn0x0Yl3eNrfhr+PdV2geyDf6T3v0RPa9G4w5A= +tcwg-m1-03.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF4/H7mzDN33+d6Dd8g9rvPnENtgnp7DGY/Cy4HHfkSeK1u2R+J7T6frGGkIIDAKENxsTomFX8YBK+AcAzt3h08= +tcwg-m1-04.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMKFATXsiNr8U+Z1BeEmkh6jBep+BAOiq7d63bngobvflELuxWH5BejPDYn1jTeIKvJLhbVaAWy5mCALqSPcqTU= +dev-private-git.linaro.org,3.223.170.243 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= +dev-private-review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOvq8E5HPzrBlxmckzsE3rz9LAx9c0faEfofALaO+UGC4HAst9fMaZcHaCqu+b8SVY/2VcBvMYMwO1ZPgOn0rXs= +tcwg-amp-01.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDuGO4LYWLSGdZQ9nXvUkfKVZX1XlPJ492R0r8Bx48oIsn4/J9Z97pmEBL7Vtib9AW8zxIArqH1s+/4ueXOwfYIoTOVDQ2TTaD8iZIXBKklx8ScoURp3A06Jgh00JrZP7X3ghJv4BR/NRt6P2TgBmZQtd9xTU1cpqC4UtKCPIboQh8gns8Fvzso1kGMLLUnLYwQmqYa3Kdc9Jvv5xZiWcWBV2+7ZjwIyGQNAhcJ/Byg+jNtwVfHbPdhVc5fWH1AhV+pTtGl5/5ij91n76xAbflSaAgSGNrRUs1e297ClgRG3lGx8KglXfjVeLsLWSYdHMUuGjPnbZNbmCBCHmqk5P6P +tcwg-amp-01.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOliNs5X4wTa7LY+4Uojnai7yn63kceYOZO87PVdQm9uMHHGoG/ZLXK9iPDWc0eVKMyE4aeeIP6uvi5CqZN0tj0= +tcwg-amp-01.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ5t6j5O95Kf1ik5MGXcr/JJOT4PUfQm8CQnTCKi51cj +tcwg-amp-02.tcwglab ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEG39iSHLT+FOg+lAcxqm18+0N7eMVyNzRhtzUBPv3IPxUonAdIc3VMYAmZBekZSzmvi3GdJ2VjbVVtJNr6U9Kw= +tcwg-amp-02.tcwglab ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3SBIc4f5pRK6yZwps5lOdxN7ehGt3cvNXbzSJUte+sfrJrxIeA4R8hynxENA79QImXDpk0By8qwPSWvO0dL7VbZy7f4WaSYRJo1/ObUqLa5o9OM9AgQYJcpE/GQbMEaMY5quYRI/TGrxx2M2uhRWA4PMI60R1YYmHF5pEobSJPE+tcMgLxrNl5k1l1WEyKjgzIZXYvIvmBEqPJOXsnGjkSkP6QyHsfTjaHVtOfvKeddC+JJqfsLuOfiUKdFaLvF9CcZzkYWqwW6zxdER1h6WQ3TULIcwnTdyqD2P9LHIMV64MKXCoEQ9lQU08Ed0yEpvosE5j8rva5f5P4FmdLx/D +tcwg-amp-02.tcwglab ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICJFVSbVA6sfkCnzA2O1V1mYHKgfvMYMV5INX4sQvrUP +95.216.16.165 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHzn50rizbenOcg/mvq1+Nw/zXKxMPR36Hhm15SfIlpHLSAUB5l3bJYHvKAsv0HAjfm5zA+6m2ntuIIcKkxXa2Y= +174.129.159.245 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMP7x8oTsilLiRD5x+PS3G4EfMLMwrDfN3icXqwBMCVBY4dKiwB8c6NMHxnTXc34q6Fi7k3lGpdDkXgQIT+tax0= +grafana.linaro.org,3.80.150.227 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJ4s1+zO47o+6hogTDyelARc+vFWYrJOJVSt1PxRYKb7d0jPu12E/wZ1lLgzodyUMvKcFzxj2ZOMSXMdP9JNfDA= +52.76.3.58 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGfMKLJHHcdWsKHgx1grD9QsCfpH8pjmO/a+7sVYVNgK3sOoLnLdn4z4E90NzuepOM/2badDgiobabOAremJrG8= +android-git-ap.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGfMKLJHHcdWsKHgx1grD9QsCfpH8pjmO/a+7sVYVNgK3sOoLnLdn4z4E90NzuepOM/2badDgiobabOAremJrG8= +52.50.27.47 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIiOM/1UpnEIEBBQC1U59GBnW0t+i9pWTgZAAY/mwg4khUDEN3l9s6ND9j5ZtwAj5E3unKzXOAqlIbHvBOVQY6A= +android-git-ie.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIiOM/1UpnEIEBBQC1U59GBnW0t+i9pWTgZAAY/mwg4khUDEN3l9s6ND9j5ZtwAj5E3unKzXOAqlIbHvBOVQY6A= +3.86.9.25 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPki3/bkir4rbmTopIAhbm04Kp5lAMPCjIDjfGIwntnwKiZF0Q+VkuSL07GgXsy8sBcJCRS8LN3cRYg9hABrk1Q= +54.152.253.35 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBONeIVl09BaG0iDOqF/qZjDun8fktYdD0Zl2fRAkSGT6Q7ULAXWJZA7IwstvcSs5w9SRV6x/lNc3CqlHwMFaABc= +android-review.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJrEJgCTB5gdeNJr2g4MbcNLR+rICc91R6EPcWA00aUiSRPaigB5vw8WV1K2ps78wkmayAnVzS4DHSa9agSz9qA= +android-git-us.linaro.org,3.87.163.235 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJrEJgCTB5gdeNJr2g4MbcNLR+rICc91R6EPcWA00aUiSRPaigB5vw8WV1K2ps78wkmayAnVzS4DHSa9agSz9qA= +3.87.44.215 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA+7qW9k2k+Kf1/I3rT8Cjg1F53ezcCqWD50XTZnFPPx823NZnx4A7kLN6Fy4zeCuiq6ijL5lr0bEj9Zh8jwtSo= +ses-proxy.ctt.linaro.org,52.206.111.78 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBERJ9JcYMNmIMgDaIu2Iua6oVXCiyMDNxJznC/dqxY526iUrVyz2KsOVkOY3EZwvM+sRlKUnkgGKwyIr+B/E5tA= +bugs.linaro.org,52.54.107.229 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHj6VInqDkFXBHWsaUOGDAlEndjBC8BHOh8Wn3alaWgBiC1SH+t6GeWcWLpWvXHDsCNZ+BqyF98VmZIrq+xRPBM= +95.217.145.175 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBO6JH7f4o+KJdkuSssaqaaga+jUeiMf0Mf/v1E+K0Nroj+j4G5inQSoBqYgT6K4Vqp02PhtruhhB8Ulbdpzqm0I= +[git.morello-project.org]:2222,[174.129.105.184]:2222 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPDkyDNVrZ7Y2KKoh++I+kEtNck075VHLf12eUq3hFM55ITntzorugQ8fw3DgbqfBuJ3xsLoWcBNTeIQhQwLSRU= +34.241.163.244 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGHRGKVgvm4cjsC8//Bz3cEG01oPEkjMhRaAzdSN5RAr/sec9lm8roShFG/atpDs3KnpJUiW4Hz9+8ixRyG8b2U= +systems-monitoring.linaro.org,95.217.117.19 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCLbozUvi2YJvOCv82GpIBUr1nZX1aa63A1cTR/7JoNUdFwlEAhWSFWQtXFjCESuCUUxzxF5etVEu1Qbq8mXAeM= +lava-monitoring.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCLbozUvi2YJvOCv82GpIBUr1nZX1aa63A1cTR/7JoNUdFwlEAhWSFWQtXFjCESuCUUxzxF5etVEu1Qbq8mXAeM= +elk.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBCLbozUvi2YJvOCv82GpIBUr1nZX1aa63A1cTR/7JoNUdFwlEAhWSFWQtXFjCESuCUUxzxF5etVEu1Qbq8mXAeM= +3.236.87.60 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLt+7FXqEKRlZDYEzF6v3Bp7N7NznxzgQwRYjoKh9m4qR20TGUsAnrAcL3NfU9zNCg8nJuguMPKGHkwaYceG+vw= +ci.staging.trustedfirmware.org,34.229.64.237 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFRgrAC2PVaoNqaABViAP9qy1uDOQlzJrU4FVqwN11GUcNskHSuI6Od2DefTeCtMJnDr/+VHBmj8Wps92IceNUQ= +148.251.195.69 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFauEzH+PlkBnnUydlEDsIbM4fwTFkjUzkhExT0ZdC+QuxjNIMz4Qo40K+27hee9rmD/WOxDURwfVr07R2oe32Y= +51.159.20.54 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHDBOm8taVND5VMoeUYBXRv0ICP7i3ijJbb46eDuBou+fP/AOKLUSZoXXqVGEv37jRBGBrvccmA5vtRJ+h7dmZk= +51.159.1.37 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBbpBZgaV2flbVMmky5bezZlSFXUvuKiCAVcGG23xVbjhgRjDBJ9cPilKJs1wn/ZrGOTFGMHwfNNRmKC/hcDDdg= +[git.morelloproject.org]:2222 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPDkyDNVrZ7Y2KKoh++I+kEtNck075VHLf12eUq3hFM55ITntzorugQ8fw3DgbqfBuJ3xsLoWcBNTeIQhQwLSRU= +gitlab-runner-manager.morello-project.org,52.2.82.179 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMe1XfZRn1Uzf/WzT1P8nzxMkBmZS9g9jp3wWE39Ivg37QnlzbREKoC8JQRSVTmzQLvjDuToTnz5LizwWz1Twx8= +gitlab-runner.morello-project.org,54.204.82.153 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHRZOTB5R4WEW/fa49JBqZkxW4rUuzJVS+GSDhy3wv7ZIZnADVGSjjQK+jASm7v/dlnQouVrNn1yA5hh08qqO1w= +analytics.mlplatform.org,3.86.53.223 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJu1ZPvwoi054kZDbEuR6RTdbu9TFG/7X0kdhK37H+t3IVXHbchUuHkZWM2S/n7wyodpjUXDuzJ4NKbSjQlO3Po= +snapshots.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGHRGKVgvm4cjsC8//Bz3cEG01oPEkjMhRaAzdSN5RAr/sec9lm8roShFG/atpDs3KnpJUiW4Hz9+8ixRyG8b2U= +android.linaro.org,54.228.108.119 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBP3Eh1ka18Ii6pFBfND1Tjqe4ptJ5w7DfgNRSphX2SaJps77KQOIzHKrZs9Rai73jHcDJA6ZCMzLneQy/KO/iuc= +18.233.164.216 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA+7qW9k2k+Kf1/I3rT8Cjg1F53ezcCqWD50XTZnFPPx823NZnx4A7kLN6Fy4zeCuiq6ijL5lr0bEj9Zh8jwtSo= +gitlab-runner-manager.lkft.org,52.70.137.192 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMVAip9dEm8FgRpD+1Khc8U0mBm3DJ+fUVA3JlHSXDrHYNfDIM2+KnQLy47C9g0k1YzZEAd1I0Qd5bAXfaDfnQE= +gitlab-runner-manager-large.lkft.org,52.23.101.34 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPMRTkxLS9z2vDaobCwTFIt1yXVWV6OcWR8l1SaNPx0x1c8aDgx7dFccGk1pOwL8hyPlGAN8Cn6ISHIAULUs9S4= +git.trustedfirmware.org,51.159.18.17 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE1RnvfXuFFXN2rbrg8J0kU6O7U2TuFNx3bb/SADE8uKvljJgOnCSOPWYMpArMXSBMO1sJ57r5NM065KEzft/+E= +review.trustedfirmware.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBE1RnvfXuFFXN2rbrg8J0kU6O7U2TuFNx3bb/SADE8uKvljJgOnCSOPWYMpArMXSBMO1sJ57r5NM065KEzft/+E= +139.178.84.115 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIFZqnAeK6GL6UaM1kXIkvE+iEutr3+JXgcjK1zwmv1Vi704wedCD5o7JUTruw7ilYSYOkXi0A2gGw2sRUSyLvw= +34.203.216.234 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGgKJfR1sQrEy+Io1AYoq9Cb2q2kV10tA4IBygASLRo7JuWWBBPjrTcYM/v3ImjMBiSGreKY7kCpt3l1+2FMq20= +git.morello-project.org,174.129.105.184 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBC/tmkEp31iZ1RZ4546kqO4FM5NsRqNJzWLg8U+NmKW0OCctNTyoIQn7hSz4FLxP0D7mSbZSUcQZNwzCmG/nhBA= +10.40.88.130 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEClhBDBWsAbFyMMB+k4A9VBiyfArRsRl1j6WlExZIZu3cQ2c4zusNYdmY05aesV3aZcXeVdTLMxBuqFpyMiMTY= +3.82.125.72 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBGgKJfR1sQrEy+Io1AYoq9Cb2q2kV10tA4IBygASLRo7JuWWBBPjrTcYM/v3ImjMBiSGreKY7kCpt3l1+2FMq20= +34.235.18.146 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKT9dRJITTwRdQEyFPRwVr4vIC3snmTNK5MayPbx+lCH +52.202.167.184 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIat2E4kEDTllWhAAYp1zCe6OP+hKd42YI+J5dVaEsSVBHDcuJuHBLsfo3eyhasPY7kKbT6UlGP7gZYzl5Wo/4w= +gitlab-runner-manager-tuxtest.ctt.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIat2E4kEDTllWhAAYp1zCe6OP+hKd42YI+J5dVaEsSVBHDcuJuHBLsfo3eyhasPY7kKbT6UlGP7gZYzl5Wo/4w= +gitlab-runner-manager.ovss.linaro.org,35.211.168.99 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEKHRzZf1YlJJ2Xc8RCiMh6PaxBsQvTADi2B9woToxAu27o5OPzXYbe5ZZITb0lmnFI4ZyOuv1DruRM7wist+eA= +136.243.177.220 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBK4LJ1F8eTzlX9t3ToIa7vM3teoTgPgf62EudffyFaGcNPruodzHUr+Od7F2QY4BQjn2R9UssTM4Xsq5MK/ZYQ= +54.88.117.5 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLiJkZ4qsWZDlQYnyPQbsbyjv8a+Aq365xxHt5r9LQ4yx3G6uWKb08vjJ0luTIhkMoExTb0QA9TG8iUB3NqOQ7c= +lava.morello-project.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLiJkZ4qsWZDlQYnyPQbsbyjv8a+Aq365xxHt5r9LQ4yx3G6uWKb08vjJ0luTIhkMoExTb0QA9TG8iUB3NqOQ7c= +qcom-hackbox.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBK4LJ1F8eTzlX9t3ToIa7vM3teoTgPgf62EudffyFaGcNPruodzHUr+Od7F2QY4BQjn2R9UssTM4Xsq5MK/ZYQ= +aosp-x86-13 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBO6JH7f4o+KJdkuSssaqaaga+jUeiMf0Mf/v1E+K0Nroj+j4G5inQSoBqYgT6K4Vqp02PhtruhhB8Ulbdpzqm0I= +10.7.0.101 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF5Q8gQtY2e6ZLdTXRC/PgJUrGKX7cW3J85jX7eDCpEKnMCf2t6+6/rdRTEXZkEFG809LUsh5zWzesNvIPVzZLA= +patches.linaro.org ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBAYoMA7SwiXE6mHDAo4IzxsOSXFdtbRLAtiT/urqVichcrRzOIQxQNQj+lT1MICkRGVUNaMil5h+PPZKi0Ykd2Q= +deployments.ctt.linaro.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEjdvN4yj9IpsdLSvkTTu65aIZwnhUhwKQbRa0ojmpyy +obs.linaro.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFJksvGQpxgs0WsFe+aNg1SNbrZh/mxBmmLcSMA4zlrH +51.159.20.12 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDfh4G+/9D9RJGpGPIVvkbH1FkOwBHuXd4ZA4ci9xiUt +flexnet-aws.trustedfirmware.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILEUeM2ukPti+pOqzyiEhq3rxcIj7O+vUPwxaGGI7ZGI +192.168.36.10 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQEZyumUjxXsfKQ1PhP/XbtyOGWLLOJmXi4R1C8dTMG +buildkite.ctt.linaro.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBppQW8E4gBWTSxsu42cCwxnfzY5spC2aOfziFpu3YdR +51.159.22.224 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMrLYmlgPvCnUeFmiy8LDcTtgPc+fCCXLnQd7srIF7J/ +51.159.20.18 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICtuVOHAhkTTBoaCJ1uyu+LMKAsboDgr/zbkGE8koGk7 +runner-cassini.ctt.linaro.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILoF64GoqXrSDeAm5NEO/9hWtWrE5G4twAi6CYMyBtIL +10.252.23.114 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJJYD+iG0I7hbLdCIeFrEH2U0Od4iKcSAHiCav9mWZa +gerrit.forge.aws.linaro.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEJJYD+iG0I7hbLdCIeFrEH2U0Od4iKcSAHiCav9mWZa +flexnet.trustedfirmware.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINfxMgScSvY67rmci7rpsiCU4dTFOhzrsbreEaZGT4Ka +mbedtls.trustedfirmware.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDe5WQk5mtt30d6spLcYXfVeHQpZ5MKWSrAt/qPJVHOE +ci.trustedfirmware.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGQOW9Zk6tmYyV7eh5qtjpUoNoYom7FVMtvEmMNHzGWt +gerrit.devboardsforandroid.ctt.linaro.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO/t+zvQuh3t2E8zIbbYL1gQRE8nPgwphWs/cVVcxrv4 +gerrit.devboardsforandroid.linaro.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIASzeLZnFxBsm6XcQrxyLnL+6nSZOarQIxZGlGYSpEfl +51.159.20.61 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqFIMuv7uvRrXi/ZR039oIvKFrWeqXIz1+bG/DW8ghb +51.159.20.82 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOrhC3ObEpimoeJmEQg1SDysiMFgBN3O4OAUFyjiLq1a +49.12.133.85 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMfQywbVNPoQEapesnReQPCSDqgw/yECzmRNAtNhclLt +10.40.88.168 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHHqlZTwKMMGSBT9fhLiA2soq8zZXgLKhEoe7cnuwvA0v3Y3OlTCPVliUgEyNDRg1U/wFcX7wakJs7n8LSCzfUM= +147.28.196.111 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM7baU/7z1nic5Y4GEwrbBbQIny0o30OFiV/r0/q5bmF +168.119.145.200 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJuz8lwHIT9tyLHlHZP0hodFK3xxVFjTIfy8M1h65Yz+ diff --git a/ssh/known_hosts_tf b/ssh/known_hosts_tf new file mode 100644 index 00000000..c5f672f1 --- /dev/null +++ b/ssh/known_hosts_tf @@ -0,0 +1,10 @@ +review.trustedfirmware.org,184.72.81.201 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/B08oZljv1qGZJCjwQTZrDBEhUiGHcRG40aZ/tjkCCQb+JOfrb0jgV+AqkKxUSuAyxYgOD1HLotDFwzMaMAXTUZ7goXBoEfi1YuhZMsIyrQB4FG9RsGQe2/El/HRtiGqEADU3a98OCTzCDGNzvWfuwrCydY2YFZkkseFoGxV/eUE/WWbKqcQh5lNZnbBOjYSNjV0DNoW/jTkr2oR8iWlCTHqae6ulM67TzOzWoDOu90fqU7stX6x75SM9gn4KiiV3xWuKw9N8YjjRpEAHAZoKHgDqze0wCsMZLVhYOGA1iY30VB6bqo02PTm5gAJM9wfoqoRkoldn2kRJwBRDa4Bj +review.trustedfirmware.org,184.72.81.201 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBA+7qW9k2k+Kf1/I3rT8Cjg1F53ezcCqWD50XTZnFPPx823NZnx4A7kLN6Fy4zeCuiq6ijL5lr0bEj9Zh8jwtSo= +review.trustedfirmware.org,184.72.81.201 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDvuI+QkHtXh68oEl5YKlHGlVwddHH/FYvFFALTxAZDl +51.159.1.37 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBbpBZgaV2flbVMmky5bezZlSFXUvuKiCAVcGG23xVbjhgRjDBJ9cPilKJs1wn/ZrGOTFGMHwfNNRmKC/hcDDdg= +51.159.20.54 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHDBOm8taVND5VMoeUYBXRv0ICP7i3ijJbb46eDuBou+fP/AOKLUSZoXXqVGEv37jRBGBrvccmA5vtRJ+h7dmZk= +51.159.20.12 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDfh4G+/9D9RJGpGPIVvkbH1FkOwBHuXd4ZA4ci9xiUt +51.159.20.18 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICtuVOHAhkTTBoaCJ1uyu+LMKAsboDgr/zbkGE8koGk7 +51.159.22.224 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMrLYmlgPvCnUeFmiy8LDcTtgPc+fCCXLnQd7srIF7J/ +51.159.20.61 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKqFIMuv7uvRrXi/ZR039oIvKFrWeqXIz1+bG/DW8ghb +51.159.20.82 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOrhC3ObEpimoeJmEQg1SDysiMFgBN3O4OAUFyjiLq1a diff --git a/ssh/sockets/.placeholder b/ssh/sockets/.placeholder new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/ssh/sockets/.placeholder diff --git a/ssh/systems-bot-ssh b/ssh/systems-bot-ssh new file mode 120000 index 00000000..761d8c05 --- /dev/null +++ b/ssh/systems-bot-ssh @@ -0,0 +1 @@ +../../shared-credentials/other/shared_keys/systems-bot-ssh
\ No newline at end of file diff --git a/ssh/systems-bot-ssh.pub b/ssh/systems-bot-ssh.pub new file mode 120000 index 00000000..0d505423 --- /dev/null +++ b/ssh/systems-bot-ssh.pub @@ -0,0 +1 @@ +../../shared-credentials/other/shared_keys/systems-bot-ssh.pub
\ No newline at end of file diff --git a/ssh/update_key.sh b/ssh/update_key.sh new file mode 100755 index 00000000..bffa289b --- /dev/null +++ b/ssh/update_key.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +if [ -z $1 ]; +then + echo "Usage: update_key.sh <hostname>" + exit 2 +fi + +ssh-keygen -R $1 -f ./known_hosts > /dev/null 2>&1 +rm -f ./known_hosts.old +ssh-keyscan -t ecdsa-sha2-nistp256 $1 >> ./known_hosts 2>/dev/null diff --git a/templates/patchwork/patches.linaro.org_local_settings.py b/templates/patchwork/patches.linaro.org_local_settings.py index bc418555..88455543 100644 --- a/templates/patchwork/patches.linaro.org_local_settings.py +++ b/templates/patchwork/patches.linaro.org_local_settings.py @@ -1,5 +1,7 @@ import os import sys +import ldap +from django_auth_ldap.config import LDAPSearch, GroupOfNamesType sys.path.append(os.path.join(os.path.dirname(__file__), '../tools')) from linaro_metrics.settings import * # NOQA @@ -45,22 +47,30 @@ IMAP_PASS = '{{imap_pass}}' GITHUB_OAUTH_TOKEN = '{{github_oauth_token}}' -CROWD_USER = '{{crowd_user}}' -CROWD_PASS = '{{crowd_pass}}' -CROWD_URL = '{{crowd_url}}' - REPO_DIR = '{{install_base}}/{{hostname}}/repos' DEFAULT_PROJECTS = [] -AUTH_CROWD_ALWAYS_UPDATE_USER = False -AUTH_CROWD_ALWAYS_UPDATE_GROUPS = False -AUTH_CROWD_CREATE_GROUPS = False -AUTH_CROWD_APPLICATION_USER = CROWD_USER -AUTH_CROWD_APPLICATION_PASSWORD = CROWD_PASS -AUTH_CROWD_SERVER_REST_URI = CROWD_URL +AUTH_LDAP_SERVER_URI = 'ldaps://login.linaro.org' +AUTH_LDAP_BIND_DN = 'cn=systems-bind,ou=binders,dc=linaro,dc=org' +AUTH_LDAP_BIND_PASSWORD = '{{ ldap_bind_pwd }}' +AUTH_LDAP_USER_SEARCH = LDAPSearch( + 'ou=accounts,dc=linaro,dc=org', + ldap.SCOPE_SUBTREE, + '(mail=%(user)s)', +) +AUTH_LDAP_USER_ATTR_MAP = { + 'first_name': 'givenName', + 'last_name': 'sn', + 'email': 'mail', +} -AUTHENTICATION_BACKENDS = ('linaro_metrics.backends.LowerCaseCrowdBackend',) +AUTH_LDAP_ALWAYS_UPDATE_USER = False +AUTH_LDAP_FIND_GROUP_PERMS = False + +AUTHENTICATION_BACKENDS = [ + 'django_auth_ldap.backend.LDAPBackend', +] # 240s works well for most repos, but linux-next based repos have to do a # really large git-gc about once a week. Based on rough testing, that can diff --git a/templates/patchwork/patchwork.cron.d b/templates/patchwork/patchwork.cron.d index 1fb3d948..3ce34053 100644 --- a/templates/patchwork/patchwork.cron.d +++ b/templates/patchwork/patchwork.cron.d @@ -1,9 +1,15 @@ MAILTO=linaro-infrastructure-errors@lists.linaro.org +PYTHONPATH=$PYTHONPATH:../project:/{{ install_base }}/linaro-git-tools +DJANGO_SETTINGS_MODULE=local_settings # check patchwork email every 10 minutes */10 * * * * www-data {{install_base}}/{{hostname}}/tools/import_emails.py # sync code every hour 0 * * * * www-data {{install_base}}/{{hostname}}/tools/update_commited_patches.py +# import mbox files +@daily www-data (cd {{install_base}}/{{hostname}}/tools; /usr/bin/flock -n /tmp/generate_mbox.lock ./generate_mbox.py) {% if django_email_cron is defined %} # clean up expired registrations 0 22 * * * www-data {{install_base}}/{{hostname}}/project/manage.py cron --settings={{django_settings}} {% endif %} +# clean up git repos every 2 months +0 19 1 */2 * www-data /srv/linaro/git-tools/git_cleaner.sh diff --git a/templates/router/r1-x86-2-dnsmasq b/templates/router/r1-x86-2-dnsmasq deleted file mode 100644 index 0d806e35..00000000 --- a/templates/router/r1-x86-2-dnsmasq +++ /dev/null @@ -1,38 +0,0 @@ -# DO NOT EDIT! MANAGED BY ANSIBLE - -domain=aus-colo - -# only manage dhcp for rack1 -interface=em1.10 # rack 1 -interface=em1.64 # rack 1 debian -interface=em1.20 # rack 2 -interface=em1.30 # rack 3 -interface=em1.33 # rack 3 mustang chassis - -# rack1 NOTE: do not use 10.10.100.0 range (used by openstack) -dhcp-range=em1.10,10.10.0.100,10.10.3.250,255.255.0.0,24h -dhcp-range=em1.20,10.20.0.100,10.20.3.250,255.255.0.0,24h -dhcp-range=em1.30,10.30.0.100,10.30.3.250,255.255.0.0,24h -# rack3 note: 10.33.10.1->10.33.99.250 is used by openstack -dhcp-range=em1.33,10.33.0.100,10.33.3.250,255.255.0.0,24h - -{% for rack in racks %} -# rack {{rack.name}} -{% for host in rack.hosts %} -{% if host.tag is defined %} -dhcp-host={{host.mac}},set:{{host.tag}},{{host.name}},{{host.ip}} -{% else %} -dhcp-host={{host.mac}},set:{{rack.name}},{{host.name}},{{host.ip}} -{% endif %} -{% endfor %} -{% endfor %} - -enable-tftp -tftp-root=/var/lib/tftpboot/ - -dhcp-boot=tag:r1,/pxelinux/grubaa64.efi,r2-x86-1,10.20.0.20 -dhcp-boot=tag:r2,/pxelinux/grubaa64.efi,r2-x86-1,10.20.0.20 -dhcp-boot=tag:r3,/pxelinux/bootnetaa64.efi,r2-x86-1,10.20.0.20 -dhcp-boot=tag:rack3x,/pxelinux/bootnetx64.efi,r2-x86-1,10.20.0.20 -dhcp-boot=tag:qa-net,/grubaa64.efi,qa-pxe,10.10.0.204 -dhcp-boot=tag:hpc,/pxelinux/grubaa64.efi,r1a-11,10.10.0.111 diff --git a/templates/weblogs/96boards_settings.py b/templates/weblogs/96boards_settings.py deleted file mode 100644 index 1e87ce6c..00000000 --- a/templates/weblogs/96boards_settings.py +++ /dev/null @@ -1,17 +0,0 @@ -from settings_production import * # NOQA - -# It is okay for this to be public -SECRET_KEY = 't-yr=e()c+k(&0j7ei-e(*k3s4rq7$hq*vbwfd*-mpepww@9i&' - -IP2LOCATION_FILE = '/home/weblogs/db/ip2location/current_database/IP-COUNTRY-REGION-CITY-ISP.BIN' - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'buildsdb', - 'USER': '{{builds96boards_db_user}}', - 'PASSWORD': '{{builds96boards_db_pass}}', - 'HOST': 'builds96boards.clawasvzvkxo.us-east-1.rds.amazonaws.com', - 'PORT': '5432', - }, -}
\ No newline at end of file diff --git a/templates/weblogs/releases_settings.py b/templates/weblogs/releases_settings.py deleted file mode 100644 index 8cbff45a..00000000 --- a/templates/weblogs/releases_settings.py +++ /dev/null @@ -1,17 +0,0 @@ -from settings_production import * # NOQA - -# It is okay for this to be public -SECRET_KEY = 't-yr=e()c+k(&0j7ei-e(*k3s4rq7$hq*vbwfd*-mpepww@9i&' - -IP2LOCATION_FILE = '/home/weblogs/db/ip2location/current_database/IP-COUNTRY-REGION-CITY-ISP.BIN' - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'llp-releases', - 'USER': '{{releases_db_user}}', - 'PASSWORD': '{{releases_db_pass}}', - 'HOST': 'releasesdb.ciudxut0cc97.us-east-1.rds.amazonaws.com', - 'PORT': '5432', - }, -} diff --git a/tests/ansible-lint-test.sh b/tests/ansible-lint-test.sh index d95d45ec..5709a722 100755 --- a/tests/ansible-lint-test.sh +++ b/tests/ansible-lint-test.sh @@ -1,30 +1,5 @@ -#!/bin/bash -x +#!/bin/bash -e echo "=> Linting Ansible Code" -fail_ansible=0 -for f in `find ../ -name "*.yml"`; do - echo "==> LINTING $f" - ansible-lint -x 504 -x metadata -x reliability -x idiom -x formatting -x ANSIBLE0004 $f # Ignore GIT check - rc=$? - if [[ $rc != 0 ]]; then - echo "==> LINTING FAIL: $f" - fail_ansible=1 - fi -done +/usr/bin/parallel ./tests/ansible-lint.sh ::: *.yml -for f in `find ../ -maxdepth 1 -name "*.yml"`; do - echo "==> SYNTAX CHECK $f" - ansible-playbook --syntax-check $f - rc=$? - if [[ $rc != 0 ]]; then - echo "==> SYNTAX CHECK FAIL: $f" - fail_ansible=1 - fi -done - -if [[ $fail_ansible == 1 ]]; then - echo "=> FAIL" - exit 1 -else - echo "=> SUCCESS" -fi diff --git a/tests/ansible-lint.sh b/tests/ansible-lint.sh new file mode 100755 index 00000000..9db76fe4 --- /dev/null +++ b/tests/ansible-lint.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +f=$1 +echo "==> LINTING $f" +ansible-lint -x 106 -x 208 -x 403 -x 504 -x 301 -x metadata -x reliability -x idiom -x formatting -x ANSIBLE0004 $f # Ignore GIT check +rc=$? +if [[ $rc != 0 ]]; then + echo "==> LINTING FAIL: $f" + exit 1 +fi + +echo "==> SYNTAX CHECK $f" +ansible-playbook --syntax-check $f +rc=$? +if [[ $rc != 0 ]]; then + echo "==> SYNTAX CHECK FAIL: $f" + exit 1 +fi diff --git a/tests/ci-stack/docker-compose.yml b/tests/ci-stack/docker-compose.yml new file mode 100644 index 00000000..177c1d26 --- /dev/null +++ b/tests/ci-stack/docker-compose.yml @@ -0,0 +1,110 @@ +version: '3' +services: + ci.linaro.org: + image: 'linaro/ci-x86_64-jenkins-master-debian:lts' + container_name: ci.linaro.org + environment: + JAVA_OPTS: "-Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000 -Djenkins.install.runSetupWizard=false" + ANSIBLE_GROUP: jenkins_master + JENKINS_GROOVY: | + #!groovy \n + + import jenkins.model.* \n + import hudson.security.* \n + import jenkins.install.InstallState \n + import com.cloudbees.plugins.credentials.* \n + import com.cloudbees.plugins.credentials.domains.Domain \n + import com.cloudbees.plugins.credentials.impl.* \n + import hudson.util.Secret \n + + def instance = Jenkins.getInstance() \n + println "--> creating local user 'admin'" \n + + def hudsonRealm = new HudsonPrivateSecurityRealm(false) \n + hudsonRealm.createAccount('admin','hunter2') \n + instance.setSecurityRealm(hudsonRealm) \n + + def strategy = new FullControlOnceLoggedInAuthorizationStrategy() \n + instance.setAuthorizationStrategy(strategy) \n + instance.setCrumbIssuer(null) \n + + if (!instance.installState.isSetupComplete()) { \n + InstallState.INITIAL_SETUP_COMPLETED.initializeState() \n + } \n + + def jenkinsKeyUsernameWithPasswordParameters = [ \n + description: 'Docker access password', \n + id: '88434794-118e-40e4-9cd9-be1ae5d70eec', \n + secret: 'hunter2', \n + userName: 'buildslave' \n + ] \n + + def domain = Domain.global() \n + def store = instance.getExtensionList('com.cloudbees.plugins.credentials.SystemCredentialsProvider')[0].getStore() \n + def jenkinsKeyUsernameWithPassword = new UsernamePasswordCredentialsImpl( \n + CredentialsScope.GLOBAL, \n + jenkinsKeyUsernameWithPasswordParameters.id, \n + jenkinsKeyUsernameWithPasswordParameters.description, \n + jenkinsKeyUsernameWithPasswordParameters.userName, \n + jenkinsKeyUsernameWithPasswordParameters.secret \n + ) \n + store.addCredentials(domain, jenkinsKeyUsernameWithPassword) \n + + instance.save() + \n + command: + /bin/sh -c "mkdir -p /var/jenkins_home/init.groovy.d; echo $$JENKINS_GROOVY > /var/jenkins_home/init.groovy.d/skip-firstwizard.groovy; /usr/bin/tini -- /usr/local/bin/jenkins.sh" + logging: + driver: journald + ports: + - "2222:2222" + - "2233:2233" + - "8080:8080" + - "50000:50000" + networks: + jenkins_net: + volumes: + - jenkins-home:/var/jenkins_home + review.linaro.org: + image: 'gerritcodereview/gerrit:3.0.2' + container_name: review.linaro.org + environment: + ANSIBLE_GROUP: gerrit + logging: + driver: journald + ports: + - "29418:29418" + - "8081:8080" + volumes: + - etc-volume:/var/gerrit/etc + - git-volume:/var/gerrit/git + - db-volume:/var/gerrit/db + - index-volume:/var/gerrit/index + - cache-volume:/var/gerrit/cache + networks: + jenkins_net: + swarm-manager: + image: swarm + container_name: swarm-manager + ports: + - 2375:2375 + entrypoint: /swarm manage file://etc/swarm.txt + volumes: + - "${CI_DATA}/swarm.txt:/etc/swarm.txt:ro" + networks: + jenkins_net: + +networks: + jenkins_net: + driver: bridge + ipam: + config: + - subnet: 10.50.0.0/24 + +volumes: + etc-volume: + git-volume: + db-volume: + index-volume: + cache-volume: + jenkins-home: diff --git a/tests/ci-stack/docker_vol_x86_64.txt b/tests/ci-stack/docker_vol_x86_64.txt new file mode 100644 index 00000000..52acb835 --- /dev/null +++ b/tests/ci-stack/docker_vol_x86_64.txt @@ -0,0 +1,2 @@ +'/tmp/shadow:/etc/shadow:ro' + diff --git a/tests/ci-stack/hosts-simulator b/tests/ci-stack/hosts-simulator new file mode 100644 index 00000000..ca27302f --- /dev/null +++ b/tests/ci-stack/hosts-simulator @@ -0,0 +1,9 @@ +--- +# List of YADP Hosts + +- swarm: + cloud_name: x86_64-swarm + docker_url: tcp://swarm-manager:2375 + max_containers: 4 + docker_templates: !include docker_templates_amd64.yml + diff --git a/tests/ci-stack/jenkins_jobs.ini b/tests/ci-stack/jenkins_jobs.ini new file mode 100644 index 00000000..2f6809f0 --- /dev/null +++ b/tests/ci-stack/jenkins_jobs.ini @@ -0,0 +1,11 @@ +[job_builder] +ignore_cache=True +keep_descriptions=False + +# Replace user/password values as appropriate +# See API token section on http://localhost:8080/me/configure +[jenkins] +user=admin +password=hunter2 +url=http://localhost:8080/ + diff --git a/tests/ci-stack/shadow b/tests/ci-stack/shadow new file mode 100644 index 00000000..0414d8b9 --- /dev/null +++ b/tests/ci-stack/shadow @@ -0,0 +1,2 @@ +buildslave:$6$iv8G3OY0$CWNxt7r7ZVSplot5cK1vxVdxu1wS1ed401HB63tufGV/84nyMVn.KCxMptWibjpkqoEXSitEmYJNAhISdhJeG1:18201:0:99999:7::: + diff --git a/tests/docker-test.sh b/tests/docker-test.sh index d9403950..71e7f20c 100755 --- a/tests/docker-test.sh +++ b/tests/docker-test.sh @@ -5,75 +5,139 @@ start_docker() { group=$2 ansible-playbook -u root -v --extra-vars "docker_hostname=$hostname docker_groupname=$group" \ ./tests/docker-test.yml - + event-watcher.py -n -o } -snakeoil=" - ssl_cert=/etc/ssl/certs/ssl-cert-snakeoil.pem - ssl_key=/etc/ssl/private/ssl-cert-snakeoil.key - ssl_ca=/etc/ssl/certs/ssl-cert-snakeoil.pem" +start_docker_compose() { + cd $CI_DATA + docker-compose up -d +} jenkins_master() { - start_docker ci.linaro.org jenkins_master + TARGET=${1:-ci.linaro.org} + + start_docker $TARGET jenkins_master ansible-playbook --skip-tags="nfs,ssh-ldap,letsencrypt,vpn" \ - --extra-vars "$snakeoil" \ -i docker_hosts \ ./jenkins-master.yml } gerrit() { - start_docker review.linaro.org gerrit - ansible-playbook --skip-tags="imapd" \ - --extra-vars "$snakeoil" \ + TARGET=${1:-review.linaro.org} + + start_docker $TARGET gerrit + ansible-playbook -vvv --skip-tags="imapd" \ + -l $TARGET \ -i docker_hosts \ ./gerrit.yml } ssh_ldap() { - start_docker mmwg-hackbox.linaro.org ssh-ldap + TARGET=${1:-mmwg-hackbox.linaro.org} + + start_docker $TARGET ssh-ldap ansible-playbook \ -i docker_hosts \ ./ssh-ldap.yml } -git() +start_git() { - start_docker git-ap.linaro.org git + TARGET=${1:-git-ap.linaro.org} + + start_docker $TARGET git ansible-playbook \ - --extra-vars "$snakeoil" \ -i docker_hosts \ ./git.yml } -obs_server() +tf_ci_stack() { - start_docker obs-server-cn1.linaro.cloud none - ansible-playbook --skip-tags="letsencrypt" \ - --extra-vars "$snakeoil" \ - -i docker_hosts \ - -l obs-server-cn1.linaro.cloud \ - ./obs-cn1.yml + export CI_DATA="$(dirname $(readlink -f $0))/tf-ci-stack/" + if [ ! -e $CI_DATA/swarm.txt ] + then + # This assumes docker on local machine has TCP open at port 2376 + # Add as many docker hosts as you have in your home network + echo 10.50.0.1:2376 >> $CI_DATA/swarm.txt + fi + start_docker_compose + echo FIXME sleeping till jenkins is ready + sleep 90 + ( + mkdir -p $CI_DATA/work + cd $CI_DATA/work + [ -e ci-yadp-builder ] || git clone https://git.linaro.org/infrastructure/ci-yadp-builder.git + ( cd ci-yadp-builder; + # only deploy swarm + cp ../../hosts-simulator . + # replace rsa auth with user/password + cp ../../docker_vol_x86_64.txt docker_vol_x86_64.yml + cp ../../shadow /tmp + python3 ./yadp_builder.py --server http://localhost:8080 -i hosts-simulator -u admin -p hunter2 ) + [ -e configs ] || git clone https://git.linaro.org/ci/job/configs.git + ( cd configs; + cp ../../jenkins_jobs.ini . + jenkins-jobs --conf jenkins_jobs.ini update swarm-demo.yaml + ) + ) + + +} + +ci_stack() +{ + export CI_DATA="$(dirname $(readlink -f $0))/ci-stack/" + if [ ! -e $CI_DATA/swarm.txt ] + then + # This assumes docker on local machine has TCP open at port 2376 + # Add as many docker hosts as you have in your home network + echo 10.50.0.1:2376 >> $CI_DATA/swarm.txt + fi + start_docker_compose + echo FIXME sleeping till jenkins is ready + sleep 90 + ( + mkdir -p $CI_DATA/work + cd $CI_DATA/work + [ -e ci-yadp-builder ] || git clone https://git.linaro.org/infrastructure/ci-yadp-builder.git + ( cd ci-yadp-builder; + # only deploy swarm + cp ../../hosts-simulator . + # replace rsa auth with user/password + cp ../../docker_vol_x86_64.txt docker_vol_x86_64.yml + cp ../../shadow /tmp + python3 ./yadp_builder.py --server http://localhost:8080 -i hosts-simulator -u admin -p hunter2 ) + [ -e configs ] || git clone https://git.linaro.org/ci/job/configs.git + ( cd configs; + cp ../../jenkins_jobs.ini . + jenkins-jobs --conf jenkins_jobs.ini update swarm-demo.yaml + ) + ) + } case $1 in + tf-ci-stack) + tf_ci_stack + ;; + ci-stack) + ci_stack + ;; jenkins-master) - jenkins_master + jenkins_master $2 ;; gerrit) - gerrit + gerrit $2 ;; git) - git + start_git $2 ;; ssh-ldap) - ssh_ldap - ;; - obs-server) - obs_server + ssh_ldap $2 ;; *) echo usage $0 service-to-test diff --git a/tests/tf-ci-stack/docker-compose.yml b/tests/tf-ci-stack/docker-compose.yml new file mode 100644 index 00000000..ff0bdd6f --- /dev/null +++ b/tests/tf-ci-stack/docker-compose.yml @@ -0,0 +1,110 @@ +version: '3' +services: + ci.trustedfirmware.org: + image: 'trustedfirmware/ci-x86_64-jenkins-master-debian:lts' + container_name: ci.trustedfirmware.org + environment: + JAVA_OPTS: "-Djava.awt.headless=true -Dhudson.slaves.WorkspaceList='_' -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.gitclient.Git.timeOut=30 -Dorg.eclipse.jetty.server.Request.maxFormContentSize=1000000 -Djenkins.install.runSetupWizard=false" + ANSIBLE_GROUP: jenkins_master + JENKINS_GROOVY: | + #!groovy \n + + import jenkins.model.* \n + import hudson.security.* \n + import jenkins.install.InstallState \n + import com.cloudbees.plugins.credentials.* \n + import com.cloudbees.plugins.credentials.domains.Domain \n + import com.cloudbees.plugins.credentials.impl.* \n + import hudson.util.Secret \n + + def instance = Jenkins.getInstance() \n + println "--> creating local user 'admin'" \n + + def hudsonRealm = new HudsonPrivateSecurityRealm(false) \n + hudsonRealm.createAccount('admin','hunter2') \n + instance.setSecurityRealm(hudsonRealm) \n + + def strategy = new FullControlOnceLoggedInAuthorizationStrategy() \n + instance.setAuthorizationStrategy(strategy) \n + instance.setCrumbIssuer(null) \n + + if (!instance.installState.isSetupComplete()) { \n + InstallState.INITIAL_SETUP_COMPLETED.initializeState() \n + } \n + + def jenkinsKeyUsernameWithPasswordParameters = [ \n + description: 'Docker access password', \n + id: '88434794-118e-40e4-9cd9-be1ae5d70eec', \n + secret: 'hunter2', \n + userName: 'buildslave' \n + ] \n + + def domain = Domain.global() \n + def store = instance.getExtensionList('com.cloudbees.plugins.credentials.SystemCredentialsProvider')[0].getStore() \n + def jenkinsKeyUsernameWithPassword = new UsernamePasswordCredentialsImpl( \n + CredentialsScope.GLOBAL, \n + jenkinsKeyUsernameWithPasswordParameters.id, \n + jenkinsKeyUsernameWithPasswordParameters.description, \n + jenkinsKeyUsernameWithPasswordParameters.userName, \n + jenkinsKeyUsernameWithPasswordParameters.secret \n + ) \n + store.addCredentials(domain, jenkinsKeyUsernameWithPassword) \n + + instance.save() + \n + command: + /bin/sh -c "mkdir -p /var/jenkins_home/init.groovy.d; echo $$JENKINS_GROOVY > /var/jenkins_home/init.groovy.d/skip-firstwizard.groovy; /usr/bin/tini -- /usr/local/bin/jenkins.sh" + logging: + driver: journald + ports: + - "2222:2222" + - "2233:2233" + - "8080:8080" + - "50000:50000" + networks: + jenkins_net: + volumes: + - jenkins-home:/var/jenkins_home + review.trustedfirmware.org: + image: 'gerritcodereview/gerrit:3.0.2' + container_name: review.trustedfirmware.org + environment: + ANSIBLE_GROUP: gerrit + logging: + driver: journald + ports: + - "29418:29418" + - "8081:8080" + volumes: + - etc-volume:/var/gerrit/etc + - git-volume:/var/gerrit/git + - db-volume:/var/gerrit/db + - index-volume:/var/gerrit/index + - cache-volume:/var/gerrit/cache + networks: + jenkins_net: + swarm-manager: + image: swarm + container_name: swarm-manager + ports: + - 2375:2375 + entrypoint: /swarm manage file://etc/swarm.txt + volumes: + - "${CI_DATA}/swarm.txt:/etc/swarm.txt:ro" + networks: + jenkins_net: + +networks: + jenkins_net: + driver: bridge + ipam: + config: + - subnet: 10.50.0.0/24 + +volumes: + etc-volume: + git-volume: + db-volume: + index-volume: + cache-volume: + jenkins-home: diff --git a/tests/tf-ci-stack/docker_vol_x86_64.txt b/tests/tf-ci-stack/docker_vol_x86_64.txt new file mode 100644 index 00000000..52acb835 --- /dev/null +++ b/tests/tf-ci-stack/docker_vol_x86_64.txt @@ -0,0 +1,2 @@ +'/tmp/shadow:/etc/shadow:ro' + diff --git a/tests/tf-ci-stack/hosts-simulator b/tests/tf-ci-stack/hosts-simulator new file mode 100644 index 00000000..ca27302f --- /dev/null +++ b/tests/tf-ci-stack/hosts-simulator @@ -0,0 +1,9 @@ +--- +# List of YADP Hosts + +- swarm: + cloud_name: x86_64-swarm + docker_url: tcp://swarm-manager:2375 + max_containers: 4 + docker_templates: !include docker_templates_amd64.yml + diff --git a/tests/tf-ci-stack/jenkins_jobs.ini b/tests/tf-ci-stack/jenkins_jobs.ini new file mode 100644 index 00000000..2f6809f0 --- /dev/null +++ b/tests/tf-ci-stack/jenkins_jobs.ini @@ -0,0 +1,11 @@ +[job_builder] +ignore_cache=True +keep_descriptions=False + +# Replace user/password values as appropriate +# See API token section on http://localhost:8080/me/configure +[jenkins] +user=admin +password=hunter2 +url=http://localhost:8080/ + diff --git a/tests/tf-ci-stack/shadow b/tests/tf-ci-stack/shadow new file mode 100644 index 00000000..0414d8b9 --- /dev/null +++ b/tests/tf-ci-stack/shadow @@ -0,0 +1,2 @@ +buildslave:$6$iv8G3OY0$CWNxt7r7ZVSplot5cK1vxVdxu1wS1ed401HB63tufGV/84nyMVn.KCxMptWibjpkqoEXSitEmYJNAhISdhJeG1:18201:0:99999:7::: + diff --git a/tests/tf-ci-stack/swarm.txt b/tests/tf-ci-stack/swarm.txt new file mode 100644 index 00000000..f2a9aba9 --- /dev/null +++ b/tests/tf-ci-stack/swarm.txt @@ -0,0 +1 @@ +10.50.0.1:2376 diff --git a/weblogs.yml b/weblogs.yml deleted file mode 100644 index f2aa8064..00000000 --- a/weblogs.yml +++ /dev/null @@ -1,21 +0,0 @@ -# Deploy weblogs specific roles ---- -- name: Configure weblogs.linaro.org - hosts: weblogs - gather_facts: no - become: yes - vars: - - deploy_dir: /srv/weblogs - - web_dir: /srv/weblogs.linaro.org/restricted/ - - owner: weblogs - - owner_group: primary - vars_files: - - ["{{secrets_dir}}/host_vars/{{inventory_hostname}}"] - roles: - - role: weblogs - - {role: apache-site, src: "{{inventory_hostname}}.conf", config: "{{inventory_hostname}}", tags: [apache] } - - {role: apache-auth, host_name: "{{inventory_hostname}}", tags: [apache-auth]} - # we install django per publishing server to fill in ip2location data in their DBs. - # hostname gets (mis)-used here to differentiate between the hosts that we track - # downloads for. - - {role: django, hostname: "llp-releases", django_local_settings: "templates/weblogs/releases_settings.py", tags: [django]} |