All Projects → guardian → Elk Stack

guardian / Elk Stack

Licence: apache-2.0
ELK Stack ... based on Elastic Stack 5.x

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Elk Stack

Elastiflow
Network flow analytics (Netflow, sFlow and IPFIX) with the Elastic Stack
Stars: ✭ 2,322 (+1468.92%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Elastic
Elastic Stack (6.2.4) 을 활용한 Dashboard 만들기 Project
Stars: ✭ 121 (-18.24%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Synesis lite suricata
Suricata IDS/IPS log analytics using the Elastic Stack.
Stars: ✭ 167 (+12.84%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Elk Docker
Elasticsearch, Logstash, Kibana (ELK) Docker image
Stars: ✭ 1,973 (+1233.11%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Docker Elk
The Elastic stack (ELK) powered by Docker and Compose.
Stars: ✭ 12,327 (+8229.05%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Ansible Elk
📊 Ansible playbook for setting up an ELK/EFK stack and clients.
Stars: ✭ 284 (+91.89%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Helk
The Hunting ELK
Stars: ✭ 3,097 (+1992.57%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Spring Boot Microservice Eureka Zuul Docker
Spring-Boot rest microservices using Eureka, Zuul, Docker. Monitoring with logstash, logback, elasticsearch, kibana
Stars: ✭ 45 (-69.59%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Docker monitoring logging alerting
Docker host and container monitoring, logging and alerting out of the box using cAdvisor, Prometheus, Grafana for monitoring, Elasticsearch, Kibana and Logstash for logging and elastalert and Alertmanager for alerting.
Stars: ✭ 479 (+223.65%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Elk Docker
Docker configuration for ELK monitoring stack with Curator and Beats data shippers support
Stars: ✭ 342 (+131.08%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Elk
搭建ELK日志分析平台。
Stars: ✭ 688 (+364.86%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Json Logging Python
Python logging library to emit JSON log that can be easily indexed and searchable by logging infrastructure such as ELK, EFK, AWS Cloudwatch, GCP Stackdriver
Stars: ✭ 143 (-3.38%)
Mutual labels:  logstash, elk, elasticsearch, kibana
Search Guard Docs
Official documentation for Search Guard, the Elasticsearch security suite
Stars: ✭ 92 (-37.84%)
Mutual labels:  elk, elasticsearch, kibana
Dynamite Nsm
DynamiteNSM is a free Network Security Monitor developed by Dynamite Analytics to enable network visibility and advanced cyber threat detection
Stars: ✭ 92 (-37.84%)
Mutual labels:  logstash, elasticsearch, kibana
Elasticambari
Elastic Service for Ambari
Stars: ✭ 108 (-27.03%)
Mutual labels:  elk, elasticsearch, kibana
Terraform Aws Elasticsearch
Terraform module to provision an Elasticsearch cluster with built-in integrations with Kibana and Logstash.
Stars: ✭ 137 (-7.43%)
Mutual labels:  elk, elasticsearch, kibana
Sentinl
Kibana Alert & Report App for Elasticsearch
Stars: ✭ 1,233 (+733.11%)
Mutual labels:  elk, elasticsearch, kibana
Redelk
Red Team's SIEM - tool for Red Teams used for tracking and alarming about Blue Team activities as well as better usability in long term operations.
Stars: ✭ 1,692 (+1043.24%)
Mutual labels:  logstash, elasticsearch, kibana
Elastic Docker
Example setups for Elasticsearch, Kibana, Logstash, and Beats with docker-compose
Stars: ✭ 118 (-20.27%)
Mutual labels:  logstash, elasticsearch, kibana
Helm Elasticstack
Kubernetes Helm Charts and Tools to run Elastic Stack(ELK) on Azure Container Service(AKS)
Stars: ✭ 76 (-48.65%)
Mutual labels:  logstash, elasticsearch, kibana

ELK Stack with Google OAuth

ELK stands for Elasticsearch, Logstash and Kibana. It is being promoted by Elasticsearch as a "devops" logging solution.

This implemenation of an ELK stack is designed to run in AWS EC2 VPC and is secured using Google OAuth 2.0. It consists of one or more instances behind an Elastic Load Balancer (ELB) running the following components:

  • Kibana 5.x
  • Elasticsearch 5.x
  • Logstash 5.x indexer
  • Node.js application proxy

Security

Only the Logstash indexer and the application proxy ports are exposed on the ELB and all requests to the application proxy for Kibana or Elasticsearch are authenticated using Google OAuth.

Elasticsearch is configured to listen only on the local loopback address. Dynamic scripting has been disabled to address security concerns with remote code execution since elasticsearch version 1.4.3.

Healthcheck

The ELB requires a healthcheck to ensure instances in the load balancer are healthy. To achieve this, access to the root URL for Elasticsearch is available at the path /__es and it is not authenticated.

Log Shippers

via TCP

Shipping logs to the ELK stack via tcp is left as an exercise for the user however example configurations are included in the repo under the /examples directory. TBC

A very simple one that reads from stdin and tails a log file then echoes to stdout and forwards to the ELK stack is below:

$ logstash --debug -e '
input { stdin { } file { path => "/var/log/system.log" } }
output { stdout { } tcp { host => "INSERT-ELB-DNS-NAME-HERE" port => 6379 codec => json_lines } }'

via a Kinesis Stream

Logstash is also setup to ingest logs via a Kinesis Stream using the logstash-input-kinesis plugin. You can find the Kinesis stream information in the Cloudformation stack output. The expected input codec is json.

VPC Configuration

This ELK stack assumes your AWS VPC is configured as per AWS guidelines which is to have a public and private subnet in each availability zone for the region. See Your VPC and Subnets guide for more information.

The easiest way to ensure you have the required VPC setup would be to delete your existing VPC, if possible, and then use the Start VPC Wizard which will create a correctly configured VPC for you.

Installation

  1. Go to Google Developer Console and create a new client ID for a web application

    You can leave the URLs as they are and update them once the ELK stack has been created. Take note of the Client ID and Client Secret as you will need them in the next step.

  2. Enable the "Google+ API" for your new client. This is the only Google API needed.

  3. Launch the ELK stack using the AWS console or aws command-line tool and enter the required parameters. Note that some parameters, like providing a Route53 Hosted Zone Name to create a DNS alias for the public ELB, are optional.

  4. Once the ELK stack has launched revisit the Google developer console and update the URLs copying the output for GoogleOAuthRedirectURL to AUTHORIZED REDIRECT URI and the same URL but without to path to AUTHORISED JAVASCRIPT ORIGINS.

Plugins

The following elasticsearch plugins are installed:

  • X-Pack - Elastic extension that bundles security, alerting, monitoring, reporting, and graph.
  • EC2 Discovery - uses AWS API for the unicast discovery mechanism.
  • S3 Repository - adds support for using S3 as a repository for Snapshot.

Configuration

This ELK stack cloudformation template takes many parameters, explainations for each are shown when launching the stack. Note that Route 53 DNS, EBS volumes and S3 snapshots are optional.

Logstash grok patterns can be tested online at https://grokdebug.herokuapp.com/

The Kibana dashboards are configured via the GUI.

License

Guardian ELK Stack Cloudformation Templates and Logcabin Proxy
Copyright 2014-2016 Guardian News & Media

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].