All Projects → xeraa → Microservice Monitoring

xeraa / Microservice Monitoring

Licence: mit
Monitor your Spring Boot application with the Elastic Stack all around

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Microservice Monitoring

Helk
The Hunting ELK
Stars: ✭ 3,097 (+2616.67%)
Mutual labels:  elastic, elasticsearch, kibana
Tweetmap
A real time Tweet Trend Map and Sentiment Analysis web application with kafka, Angular, Spring Boot, Flink, Elasticsearch, Kibana, Docker and Kubernetes deployed on the cloud
Stars: ✭ 28 (-75.44%)
Mutual labels:  aws, spring-boot, kibana
Sample Spring Microservices
Many samples in different branches that shows how to create microservices with Spring Boot, Spring Cloud, Zipkin, Zuul, Eureka, Hystrix, Kubernetes, Elastic Stack and many more tools
Stars: ✭ 368 (+222.81%)
Mutual labels:  spring-boot, zipkin, kibana
Docker Elastic Stack
ELK Stack Dockerfile
Stars: ✭ 175 (+53.51%)
Mutual labels:  elastic, elasticsearch, kibana
Elasticsearch Spring Boot Spring Data
🏆 Starter example for using Elasticsearch repository with Springboot
Stars: ✭ 65 (-42.98%)
Mutual labels:  elastic, elasticsearch, spring-boot
Terraform Aws Elasticsearch
Terraform module to provision an Elasticsearch cluster with built-in integrations with Kibana and Logstash.
Stars: ✭ 137 (+20.18%)
Mutual labels:  aws, elasticsearch, kibana
Spring Cloud Microservices Development
Spring Cloud Microservices Development.《Spring Cloud 微服务架构开发实战》
Stars: ✭ 106 (-7.02%)
Mutual labels:  elasticsearch, spring-boot, kibana
Elastic Docker
Example setups for Elasticsearch, Kibana, Logstash, and Beats with docker-compose
Stars: ✭ 118 (+3.51%)
Mutual labels:  elastic, elasticsearch, kibana
Elasticambari
Elastic Service for Ambari
Stars: ✭ 108 (-5.26%)
Mutual labels:  elastic, elasticsearch, kibana
Aws Config To Elasticsearch
Generates an AWS Config Snapshot and ingests it into ElasticSearch for further analysis using Kibana
Stars: ✭ 62 (-45.61%)
Mutual labels:  aws, elasticsearch, kibana
Elastic Stack
Aprenda Elasticsearch, Logstash, Kibana e Beats do jeito mais fácil ⭐️
Stars: ✭ 135 (+18.42%)
Mutual labels:  elastic, elasticsearch, kibana
Sentinl
Kibana Alert & Report App for Elasticsearch
Stars: ✭ 1,233 (+981.58%)
Mutual labels:  elastic, elasticsearch, kibana
Sigmaui
SIGMA UI is a free open-source application based on the Elastic stack and Sigma Converter (sigmac)
Stars: ✭ 123 (+7.89%)
Mutual labels:  elastic, elasticsearch, kibana
Java Specialagent
Automatic instrumentation for 3rd-party libraries in Java applications with OpenTracing.
Stars: ✭ 156 (+36.84%)
Mutual labels:  aws, elasticsearch, spring-boot
Elastic
Elastic Stack (6.2.4) 을 활용한 Dashboard 만들기 Project
Stars: ✭ 121 (+6.14%)
Mutual labels:  elastic, elasticsearch, kibana
Pfelk
pfSense/OPNsense + ELK
Stars: ✭ 417 (+265.79%)
Mutual labels:  elastic, elasticsearch, kibana
Microservices Sample
Sample project to create an application using microservices architecture
Stars: ✭ 167 (+46.49%)
Mutual labels:  elasticsearch, spring-boot, 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 (+1384.21%)
Mutual labels:  elastic, elasticsearch, kibana
Spring Boot Microservice Eureka Zuul Docker
Spring-Boot rest microservices using Eureka, Zuul, Docker. Monitoring with logstash, logback, elasticsearch, kibana
Stars: ✭ 45 (-60.53%)
Mutual labels:  elasticsearch, spring-boot, kibana
Elasticsearch Cli
Command line interface for ElasticSearch
Stars: ✭ 70 (-38.6%)
Mutual labels:  elastic, elasticsearch, kibana

Microservice Monitoring

Monitor logs, metrics, pings, and traces of your distributed (micro-) services. There are also slides walking you through the features of this repository.

Features

  • X-Pack Monitoring: Start the overview page to show the systems we are using for monitoring.
  • Metricbeat System: Show the [Metricbeat System] Overview dashboard in Kibana and then switch to [Metricbeat System] Host overview.
  • Infrastructure UI: As an alternative view show the Infrastructure UI and explain how this will scale much better.
  • Packetbeat: Show the [Packetbeat] Overview, [Packetbeat] Flows, [Packetbeat] MySQL performance, and [Packetbeat] HTTP dashboard, let attendees access the various URLs and see the corresponding graphs. In Discover you can point out the proc enrichment for nginx, Java, and MySQL. Optionally show the [Packetbeat] TLS Sessions and [Packetbeat] DNS Tunneling dashboards as well.
  • Filebeat modules: Show the [Filebeat Nginx] Access and error logs, [Filebeat MySQL] Overview (might need a wider time window to see anything useful), [Filebeat System] Syslog dashboard, [Filebeat System] SSH login attempts.
  • Filebeat: Let attendees hit /good with a parameter and point out the MDC logging under json.name and the context view for one log message. Let attendees hit /bad and /null to show the stacktrace both in the JSON log file and in Kibana by filtering down on application:java and json.severity: ERROR. Also point out the cloud meta.* and host.* information. And show the json.stack_hash, which you can use for visualizations too.

  • Auditbeat: Show changes to the /opt/ folder with the [Auditbeat File Integrity] Overview dashboard.
  • Heartbeat: Run Heartbeat and show the Heartbeat HTTP monitoring dashboard in Kibana, then stop and start the frontend application with ansible-playbook restart_frontend.yml or do it manually and see the change.
  • Metricbeat: Show the [Metricbeat Nginx] Overview and [Metricbeat MySQL] Overview dashboards.
  • Metricbeat HTTP: Show /health and /metrics with cURL (credentials are admin and secret). Then collect the same information with Metricbeat's HTTP module and show it in Kibana's Discover tab.
  • Metricbeat JMX: Display the same /health and /metrics data and its collection through JMX.
  • Visual Builder: Build a more advanced visualization with the Time Series Visual Builder, for example to show the heap usage in percent by calculating the average of jolokia.metrics.memory.heap_usage.used divided by the max of jolokia.metrics.memory.heap_usage.max.

  • Annotations: Include the deployment events as an annotations.

  • APM: Show the traces so far, point out the MySQL queries (currently on the backend instance only), and where things are slow or throwing errors. If there is not enough activity on the instances, call ./ab.sh on the monitor instance. Also show errors and metrics.
  • Kibana Dashboard Mode: Point attendees to the Kibana instance to let them play around on their own.

Setup

If the network connection is decent, show it on Amazon Lightsail. Otherwise fall back to the local setup and have all the dependencies downloaded in advance.

Lightsail

Make sure you have run this before the demo, because some steps take time and require a decent internet connection.

  1. Make sure you have your AWS account set up, access key created, and added as environment variables in AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. Protip: Use https://github.com/sorah/envchain to keep your environment variables safe.
  2. Create the Elastic Cloud instance with the same version as specified in variables.yml's elastic_version, enable Kibana, enable APM, and set the environment variables with the values for ELASTICSEARCH_HOST, ELASTICSEARCH_USER, ELASTICSEARCH_PASSWORD, KIBANA_HOST, KIBANA_ID, APM_HOST, and APM_TOKEN.
  3. Change into the lightsail/ directory.
  4. Change the settings to a domain you have registered under Route53 in inventory, variables.tf, and variables.yml. Set the Hosted Zone for that domain and export the Zone ID under the environment variable TF_VAR_zone_id. If you haven't created the Hosted Zone yet, you should set it up in the AWS Console first and then set the environment variable.
  5. If you haven't installed the AWS plugin for Terraform, get it with terraform init first. Then create the keypair, DNS settings, and instances with terraform apply.
  6. Open HTTPS on the network configuration on both instances (waiting for this Terraform issue to automate these steps).
  7. Apply the base configuration to all instances with ansible-playbook configure_all.yml.
  8. Apply the instance specific configuration with ansible-playbook configure_backend.yml.
  9. Deploy the JARs with ansible-playbook deploy_backend.yml and ansible-playbook deploy_frontend.yml (Ansible is also building them).

When you are done, remove the instances, DNS settings, and key with terraform destroy.

Workshop

Very similar to the Lightsail setup above. The main difference is that everything is running on one instance and you need to open the port 5601 for Kibana (Elasticsearch, APM,... are only accessible on localhost) and 88 if you want to include the PHP examples.

Credentials:

  • SSH: ssh [email protected]<number>.xeraa.wtf elastic-admin / secret
  • Elasticsearch: http://localhost:9200 admin / secret
  • Kibana: http://workshop-<number>.xeraa.wtf:5601 admin / secret

Local

Make sure you have run this before the demo, because some steps take time and require a decent internet connection.

  1. Change into the local/ directory.
  2. Run docker-compose up, which will bring up Elasticsearch, Kibana, and all the Beats.
  3. Run the Java applications from their directories with ./gradle bootRun.

When you are done, stop the Java applications and remove the Docker setup with docker-compose down -v.

Todo

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].