# kibana

Published articles for kibana.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## End-to-end SAP Observability with Elastic, Google Cloud, and Kyndryl: A deep dive

DevFeed: [End-to-end SAP Observability with Elastic, Google Cloud, and Kyndryl: A deep dive](<https://devfeed.tech/articles/end-to-end-sap-observability-with-elastic-google-cloud-and-kyndryl-a-deep-dive-4834.md>)

Original publisher: [Read original article](<https://www.elastic.co/blog/sap-observability-elastic-google-kyndryl>)

Author: Valerio Arvizzigno,Francesco Di Stefano

Published: 2024-07-08T00:00:00Z

Content type: article

Language: en

Sources: [Elastic Blog - Elasticsearch, Kibana, and ELK Stack](<https://devfeed.tech/sources/elastic-blog-elasticsearch-kibana-and-elk-stack.md>)

Topics: [observability](<https://devfeed.tech/topics/observability.md>), [Google Cloud Platform (GCP)](<https://devfeed.tech/topics/google-cloud.md>), [dashboards](<https://devfeed.tech/topics/dashboards.md>), [log management](<https://devfeed.tech/topics/log-management.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [hosting](<https://devfeed.tech/topics/hosting.md>), [Security](<https://devfeed.tech/topics/security.md>), [networking](<https://devfeed.tech/topics/networking.md>)

Tags: [anomaly-detection-cloud-migration-sap-monitoring-real-time-analysis-network-visibility-google-c](<https://devfeed.tech/tags/anomaly-detection-cloud-migration-sap-monitoring-real-time-analysis-network-visibility-google-c.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [elastic](<https://devfeed.tech/tags/elastic.md>), [enterprise](<https://devfeed.tech/tags/enterprise.md>), [google](<https://devfeed.tech/tags/google.md>), [google-cloud](<https://devfeed.tech/tags/google-cloud.md>), [industries](<https://devfeed.tech/tags/industries.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [integrations](<https://devfeed.tech/tags/integrations.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [kyndryl](<https://devfeed.tech/tags/kyndryl.md>), [logs](<https://devfeed.tech/tags/logs.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [networking](<https://devfeed.tech/tags/networking.md>), [observability](<https://devfeed.tech/tags/observability.md>), [observability-log-analytics-metrics-business-analytics-cloud](<https://devfeed.tech/tags/observability-log-analytics-metrics-business-analytics-cloud.md>), [operations](<https://devfeed.tech/tags/operations.md>), [platforms](<https://devfeed.tech/tags/platforms.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This article presents a full-stack observability approach for complex SAP environments, developed by Elastic in collaboration with Google Cloud and Kyndryl. It describes using Kibana and Elastic integrations to provide visibility across hybrid infrastructure, applications, business processes, logs, metrics, traces, security, and compliance.

### Source excerpt

Companies across almost all industries rely on robust complex SAP systems to power their core operations. At Elastic, with the collaboration of Kyndryl and Google Cloud, we designed a full-stack observability experience for your SAP environment.

## How we improved reporting and monitoring of test automation results

DevFeed: [How we improved reporting and monitoring of test automation results](<https://devfeed.tech/articles/how-we-improved-reporting-and-monitoring-of-test-automation-results-28033.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2023-02-15-how-we-improved-reporting-and-monitoring-of-test-automation-results/>)

Author: Giuseppe Donati Web Test Automation Engineer Not a stereotypical Italian guy; Except

Published: 2023-02-15T00:00:00Z

Content type: article

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Test automation](<https://devfeed.tech/topics/test-automation.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [kibana](<https://devfeed.tech/topics/kibana.md>), [logstash](<https://devfeed.tech/topics/logstash.md>), [Grafana](<https://devfeed.tech/topics/grafana.md>), [Cucumber](<https://devfeed.tech/topics/cucumber.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [gcp](<https://devfeed.tech/tags/gcp.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [quality-assurance](<https://devfeed.tech/tags/quality-assurance.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [test-automation](<https://devfeed.tech/tags/test-automation.md>)

### AI overview

The article describes trivago's updated system for executing, reporting, and monitoring Selenium-based end-to-end tests. It covers GitHub Actions workflows, custom runners on Google Cloud, cloud report storage, Kafka and Logstash processing, Elasticsearch and Kibana visualization, and Grafana and Slack alerting.

### Source excerpt

Over the last few years, we completely refactored what was described in our previous article about how we use the ELK sta...

## Better URL Search with Elasticsearch

DevFeed: [Better URL Search with Elasticsearch](<https://devfeed.tech/articles/better-url-search-with-elasticsearch-27985.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2020-02-11-betterurlsearchwithelasticsearch/>)

Author: Jorge Luis Betancourt Follow

Published: 2020-02-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [log management](<https://devfeed.tech/topics/log-management.md>), [tokenization](<https://devfeed.tech/topics/tokenization.md>), [Query (disambiguation)](<https://devfeed.tech/topics/query.md>)

Tags: [ascii](<https://devfeed.tech/tags/ascii.md>), [cardinality](<https://devfeed.tech/tags/cardinality.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logs](<https://devfeed.tech/tags/logs.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [tokenization](<https://devfeed.tech/tags/tokenization.md>)

### AI overview

This article explains how trivago searches URL components stored in Elasticsearch within an ELK-based logging pipeline. It examines how the Standard Analyzer tokenizes URL-like query strings and discusses preprocessing and flattened-field approaches for matching query-parameter key/value pairs, including their tradeoffs.

### Source excerpt

At trivago, we generate a huge amount of logs and we have our own custom setup for shipping logs using mostly

## How to manage nested objects in Elasticsearch documents

DevFeed: [How to manage nested objects in Elasticsearch documents](<https://devfeed.tech/articles/how-to-manage-nested-objects-in-elasticsearch-documents-37446.md>)

Original publisher: [Read original article](<https://iridakos.com/programming/2019/05/02/add-update-delete-elasticsearch-nested-objects>)

Author: Lazarus Lazaridis

Published: 2019-05-02T12:30:00Z

Content type: tutorial

Language: en

Sources: [Lazarus Lazaridis](<https://devfeed.tech/sources/lazarus-lazaridis.md>)

Topics: [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [kibana](<https://devfeed.tech/topics/kibana.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [nested-objects](<https://devfeed.tech/tags/nested-objects.md>), [opensource](<https://devfeed.tech/tags/opensource.md>), [programming](<https://devfeed.tech/tags/programming.md>), [script](<https://devfeed.tech/tags/script.md>), [scripts](<https://devfeed.tech/tags/scripts.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

This tutorial explains how to manage nested objects in Elasticsearch documents using Kibana. It covers defining a nested mapping, indexing a document containing cats, and adding, removing, and updating nested objects through the Update API and scripts.

### Source excerpt

In this post we are going to manage nested objects of a document indexed with Elasticsearch. The nested type is a specialised version of the object datatype that allows arrays of objects to be indexed in a way that they can be queried independently of each other. - Nested datatype - Official Elasticsearch reference Prerequisites To follow this post you need: an up and running Elasticsearch instance I use 6.7 here an up and running Kibana instance to interact with Elasticsearch Preparation The document of our index will represent a human and its nested objects will be cats (no surprises). Create the index Open your Kibana dev console and type the following to create the index. # Create the index PUT iridakos_nested_objects { "mappings": { "human": { "properties": { "name": { "type": "text" }, "cats": { "type": "nested", "properties": { "colors": { "type": "integer" }, "name": { "type": "text" }, "breed": { "type": "text" } } } } } } } Human has: a name property of type text a cats property of type nested Each cat has: a colors property of type integer a name property of type text a breed property of type text Add a human In the Kibana console, execute the following to add a human with three cats. # Index a human POST iridakos_nested_objects/human/1 { "name": "iridakos", "cats": [ { "colors": 1, "name": "Irida", "breed": "European Shorthair" }, { "colors": 2, "name": "Phoebe", "breed": "European" }, { "colors": 3, "name": "Nino", "breed": "Aegean" } ] } Confirm the insertion with: GET iridakos_nested_objects/human/1 You should see something like this: { "_index": "iridakos_nested_objects", "_type": "human", "_id": "1", "_version": 1, "found": true, "_source": { "name": "iridakos", "cats": [ { "colors": 1, "name": "Irida", "breed": "European Shorthair" }, { "colors": 2, "name": "Phoebe", "breed": "European" }, { "colors": 3, "name": "Nino", "breed": "Aegean" } ] } } Done, moving on. Managing nested objects Add a new nested object Suppose that iridakos got a new Persian

## SAML SSO Authentication for Splunk with G Suite

DevFeed: [SAML SSO Authentication for Splunk with G Suite](<https://devfeed.tech/articles/saml-sso-authentication-for-splunk-with-g-suite-27895.md>)

Original publisher: [Read original article](<https://clevertap.com/blog/saml-sso-authentication-for-splunk-with-g-suite/>)

Author: kishlaya kumar

Published: 2018-04-12T07:00:30Z

Content type: tutorial

Language: en

Sources: [CleverTap](<https://devfeed.tech/sources/clevertap.md>)

Topics: [saml](<https://devfeed.tech/topics/saml.md>), [Single sign-on (SSO)](<https://devfeed.tech/topics/sso.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Google](<https://devfeed.tech/topics/google.md>), [log management](<https://devfeed.tech/topics/log-management.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [kibana](<https://devfeed.tech/topics/kibana.md>), [logstash](<https://devfeed.tech/topics/logstash.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [browser](<https://devfeed.tech/tags/browser.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [elk](<https://devfeed.tech/tags/elk.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [google](<https://devfeed.tech/tags/google.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [log-management](<https://devfeed.tech/tags/log-management.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>), [technology](<https://devfeed.tech/tags/technology.md>), [technology-engineering](<https://devfeed.tech/tags/technology-engineering.md>)

### AI overview

A step-by-step guide to configuring SAML-based single sign-on for Splunk using Google (G Suite) as the identity provider. It explains the SAML authentication model and flow, following the authors' move from ELK to Splunk for on-premises log management and analytics.

### Source excerpt

From early on, our team used ELK (Elasticsearch-Logstash-Kibana) for log management and analytics. ELK served us well, but as our The post SAML SSO Authentication for Splunk with G Suite first appeared on CleverTap.

## ElasticSearch 最佳实践

DevFeed: [ElasticSearch 最佳实践](<https://devfeed.tech/articles/elasticsearch-40980.md>)

Original publisher: [Read original article](<https://blog.joway.io/posts/elasticsearch-bp/>)

Author: Joway

Published: 2017-05-28T00:00:00Z

Content type: tutorial

Language: zh

Sources: [Random Thoughts](<https://devfeed.tech/sources/random-thoughts.md>)

Topics: [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [kibana](<https://devfeed.tech/topics/kibana.md>), [Ansible](<https://devfeed.tech/topics/ansible.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>)

Tags: [ansible](<https://devfeed.tech/tags/ansible.md>), [aws](<https://devfeed.tech/tags/aws.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [ssd](<https://devfeed.tech/tags/ssd.md>), [tech](<https://devfeed.tech/tags/tech.md>)

### AI overview

A practical guide to tuning and operating Elasticsearch clusters, covering hardware and JVM memory settings, CPU behavior during queries and force merges, swap, node and cluster configuration, shard recovery, rolling restarts, and logging pipelines. It also discusses using Kafka as a buffer and Ansible for consistent cluster management.

### Source excerpt

Elasticsearch 是一个需要不停调参数的庞然大物 , 从其自身的设置到JVM层面, 有着无数的参数需要根据业务的变化进行调整。最近采用3台 AWS r3.2xlarge , 32GB, 4核, 构建了一套日均日志量过亿的 EFK 套件。经过不停地查阅文档进行调整优化 , 目前日常CPU占用只在30% , 大部分 Kibana 内的查询都能在 5s ~ 15s 内完成。

## Distributed Troubleshooting

DevFeed: [Distributed Troubleshooting](<https://devfeed.tech/articles/distributed-troubleshooting-20407.md>)

Original publisher: [Read original article](<https://target.github.io/infrastructure/distributed-troubleshooting>)

Author: Target Brands, Inc

Published: 2017-04-05T05:00:00Z

Content type: article

Language: en

Sources: [Target](<https://devfeed.tech/sources/target.md>)

Topics: [big-data](<https://devfeed.tech/topics/big-data.md>), [incident](<https://devfeed.tech/topics/incident.md>), [SIEM, Security, Observability](<https://devfeed.tech/topics/siem-security-observability.md>), [systems](<https://devfeed.tech/topics/systems.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [telemetry](<https://devfeed.tech/topics/telemetry.md>)

Tags: [big-data](<https://devfeed.tech/tags/big-data.md>), [data](<https://devfeed.tech/tags/data.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [elk](<https://devfeed.tech/tags/elk.md>), [incident](<https://devfeed.tech/tags/incident.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [logs](<https://devfeed.tech/tags/logs.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-components](<https://devfeed.tech/tags/open-source-components.md>), [troubleshooting](<https://devfeed.tech/tags/troubleshooting.md>)

### AI overview

The article describes Target's Distributed Troubleshooting Platform for investigating issues across a large open source big data platform. It aggregates service logs and metrics so engineers can inspect information from many machines and services in one place, using open-source components and the Elasticsearch, Logstash, and Kibana stack.

### Source excerpt

Target's open source big data platform contains a vast array of clustered technologies or ecosystems working together. Troubleshooting an issue within a single ecosystem is a difficult task let alone an issue that spans several ecosystems. It is impractical for a single human to individually investigate ecosystems one at a time for potential problems. The house will burn to the ground long before an engineer can find the cause of an issue and resolve it without quick access to aggregated system metrics and logs. The Solution How to identify, troubleshoot and resolve a distributed issue? Fight fire with fire of course! Big data issues must be solved with big data solutions. At Target, we are constantly expanding our Distributed Troubleshooting Platform to encapsulate every log and metric from every service in every ecosystem of our big data platform. Aggregating this data into a single troubleshooting platform enables an engineer to view error logs and system metrics across hundreds of machines and services with a single click. A troubleshooting platform like the one described above is not a new idea. Systems like Splunk have been doing it for years. Splunk however, has restrictions on the amount of data that can be ingested without an enterprise license. The larger we scale; the more money we pay for systems like Splunk. We created our Distributed Troubleshooting Platform from open-source components and without enterprise licenses. This allows us to utilize it on every server in the big data platform without worrying about the volume of data it is processing and re-negotiating enterprise licenses. It becomes a given, not a variable. Our Distributed Troubleshooting Platform is similar to the black box recorder on an aircraft. A majority of the time, the contents are never viewed. When the plane crashes however, the contents of the black box are the only way to reconstruct what happened and learn from the incident. Running a big data platform without enterprise licens

## Go and structured logging with ElasticSearch

DevFeed: [Go and structured logging with ElasticSearch](<https://devfeed.tech/articles/go-and-structured-logging-with-elasticsearch-29659.md>)

Original publisher: [Read original article](<https://goteleport.com/blog/golang-elastic-search/>)

Author: sasha@goteleport.com (Sasha Klizhentas)

Published: 2016-01-01T00:00:00Z

Content type: tutorial

Language: en

Sources: [Teleport](<https://devfeed.tech/sources/teleport.md>)

Topics: [Logging](<https://devfeed.tech/topics/logging.md>), [log management](<https://devfeed.tech/topics/log-management.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [kibana](<https://devfeed.tech/topics/kibana.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [beats](<https://devfeed.tech/tags/beats.md>), [docker](<https://devfeed.tech/tags/docker.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [format](<https://devfeed.tech/tags/format.md>), [framework](<https://devfeed.tech/tags/framework.md>), [go](<https://devfeed.tech/tags/go.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [logging](<https://devfeed.tech/tags/logging.md>), [udp](<https://devfeed.tech/tags/udp.md>)

### AI overview

This tutorial describes an experiment that uses Go, logrus, and Elastic Beats to emit structured logs over UDP and ship them to Elasticsearch. It also covers running Elasticsearch and Kibana with Docker and configuring the document schema and mappings.

### Source excerpt

We are playing with Elastic Beats, doing structured logging with Golang and Elastic Search

## Elasticsearch and Kibana for Selenium Automation

DevFeed: [Elasticsearch and Kibana for Selenium Automation](<https://devfeed.tech/articles/elasticsearch-and-kibana-for-selenium-automation-27935.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2015-12-02-selenium_with_kibana/>)

Author: Teodor Rupi Follow

Published: 2015-12-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [kibana](<https://devfeed.tech/topics/kibana.md>), [Selenium](<https://devfeed.tech/topics/selenium.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Automation](<https://devfeed.tech/topics/automation.md>), [Data visualization](<https://devfeed.tech/topics/data-visualization.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [logstash](<https://devfeed.tech/topics/logstash.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [apache](<https://devfeed.tech/tags/apache.md>), [automation](<https://devfeed.tech/tags/automation.md>), [backend](<https://devfeed.tech/tags/backend.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [ci](<https://devfeed.tech/tags/ci.md>), [data-visualization](<https://devfeed.tech/tags/data-visualization.md>), [devops](<https://devfeed.tech/tags/devops.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [java](<https://devfeed.tech/tags/java.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [linux](<https://devfeed.tech/tags/linux.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [mac](<https://devfeed.tech/tags/mac.md>), [mac-os](<https://devfeed.tech/tags/mac-os.md>), [maven](<https://devfeed.tech/tags/maven.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [selenium](<https://devfeed.tech/tags/selenium.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

This article describes trivago's Selenium-based automated testing infrastructure and its use of Kibana for real-time reporting, filtering, and analysis of test results. It outlines a setup that uses Jenkins, Kafka, Logstash, Elasticsearch, and Kibana, with testing across multiple platforms and browsers.

### Source excerpt

The advances and growth of our Selenium based automated testing infrastructure generated an unexpected number of test results to evaluate. We had to rethink our reporting systems. Combining the power of Selenium with Kibana's graphing and filtering features totally changed our way of working.

## Writing a Fuzzy Receipt Parser in Python

DevFeed: [Writing a Fuzzy Receipt Parser in Python](<https://devfeed.tech/articles/writing-a-fuzzy-receipt-parser-in-python-27933.md>)

Original publisher: [Read original article](<https://tech.trivago.com/post/2015-10-06-python_receipt_parser/>)

Author: Matthias Endler

Published: 2015-10-06T00:00:00Z

Content type: tutorial

Language: en

Sources: [Trivago](<https://devfeed.tech/sources/trivago.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Parser](<https://devfeed.tech/topics/parser.md>), [Hackathon](<https://devfeed.tech/topics/hackathon.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [kibana](<https://devfeed.tech/topics/kibana.md>)

Tags: [csv](<https://devfeed.tech/tags/csv.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [engineering-culture](<https://devfeed.tech/tags/engineering-culture.md>), [hackathon](<https://devfeed.tech/tags/hackathon.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [python](<https://devfeed.tech/tags/python.md>), [scanner](<https://devfeed.tech/tags/scanner.md>), [usb](<https://devfeed.tech/tags/usb.md>)

### AI overview

A Python hackathon project explores building a fuzzy receipt parser for household expense tracking. The tool is intended to scan receipts, identify the shop, date, and total with more than 90% precision, and export the results to CSV for later analysis.

### Source excerpt

Last weekend, the Python Hackathon Düsseldorf took place at trivago's office. Although we were only five people we had a lot of fun. I took the chance to brush up my Python skills a little bit. Also I wanted to scratch an itch that was bugging me for a long time: our housekeeping book.

## Fixing Discourse performance regressions

DevFeed: [Fixing Discourse performance regressions](<https://devfeed.tech/articles/fixing-discourse-performance-regressions-41339.md>)

Original publisher: [Read original article](<https://samsaffron.com/archive/2015/10/02/fixing-discourse-performance-regressions>)

Author: Sam Saffron

Published: 2015-10-02T07:26:25Z

Content type: tutorial

Language: en

Sources: [Sam Saffron](<https://devfeed.tech/sources/sam-saffron.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Rails](<https://devfeed.tech/topics/rails.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Grafana](<https://devfeed.tech/topics/grafana.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>)

Tags: [debugging](<https://devfeed.tech/tags/debugging.md>), [grafana](<https://devfeed.tech/tags/grafana.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [performance](<https://devfeed.tech/tags/performance.md>), [performance-tuning](<https://devfeed.tech/tags/performance-tuning.md>), [rails](<https://devfeed.tech/tags/rails.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

A Discourse performance regression is used to explain a methodology for performance debugging and optimization. The article recommends prioritizing heavily used foreground routes, monitoring traffic and long-term performance trends, establishing baselines and goals, and using tools such as Kibana, Grafana, rack-mini-profiler, and flamegraphs. It also warns that Rails performance tuning in development mode can produce misleading noise compared with production.

### Source excerpt

Recently, I discovered a performance regression on a very common page on Discourse. I spent a fair amount of time debugging and optimizing. I follow a certain methodology while I do this kind of work. This post is a breakdown on the specific issue I faced with some points you can take back and apply to your next performance debugging session. Pick your fights The first and most important point to take is that you should pick your battles. Discourse has hundreds of routes, however the vast majority of the server cost is incurred by a handful. Pasted image792x576 22 KB The most important 3 routes for us are "topics/show", "list/latest" and "categories/index". They are the heart of the site and lion's share of foreground routes. "topic/timings", "user avatars" and "drafts" are all background routes, we still want to minimize work on them so servers work less hard and we can host more sites, however slowness there is usually not observed by end users. I always try to focus first on the most active foreground routes, those are the spots where I will invest the most amount of effort optimizing. To get a good picture of our traffic patterns we use Kibana. To answer the same question you may use Google Analytics, New Relic or some other tool. Start with a baseline and a goal We have a Grafana dashboard keeping an eye on our 2 most important routes for every site we run. I visit the dashboard regularly to see how performance is on those routes. Is displaying topics getting faster or slower? It is very important to have long term trends so you can isolate when stuff starts playing up. Recently I discovered this: Pasted image971x271 56.7 KB Showing topics on 2 particular sites (one is shown) got much slower. Having this information is golden. This graph is a visible report card on my work towards improving performance. When I see a graph like this my immediate goal becomes restoring old performance characteristics. This is particularly important here since this is our most imp

## 10x: Logging at Clay.io

DevFeed: [10x: Logging at Clay.io](<https://devfeed.tech/articles/10x-logging-at-clay-io-35612.md>)

Original publisher: [Read original article](<https://zolmeister.com/2014/10/10x-logging-at-clay-io.html>)

Author: Zoli Kahan

Published: 2014-10-25T05:00:00Z

Content type: article

Language: en

Sources: [Zolmeister](<https://devfeed.tech/sources/zolmeister.md>)

Topics: [Logging](<https://devfeed.tech/topics/logging.md>), [log management](<https://devfeed.tech/topics/log-management.md>), [logstash](<https://devfeed.tech/topics/logstash.md>), [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [kibana](<https://devfeed.tech/topics/kibana.md>), [Amazon VPC](<https://devfeed.tech/topics/amazon-vpc.md>), [Server](<https://devfeed.tech/topics/server.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Docker](<https://devfeed.tech/topics/docker.md>)

Tags: [aggregate](<https://devfeed.tech/tags/aggregate.md>), [amazon](<https://devfeed.tech/tags/amazon.md>), [amazon-vpc](<https://devfeed.tech/tags/amazon-vpc.md>), [analyze](<https://devfeed.tech/tags/analyze.md>), [apply](<https://devfeed.tech/tags/apply.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [complex](<https://devfeed.tech/tags/complex.md>), [docker](<https://devfeed.tech/tags/docker.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [kibana](<https://devfeed.tech/tags/kibana.md>), [linux](<https://devfeed.tech/tags/linux.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logs](<https://devfeed.tech/tags/logs.md>), [logstash](<https://devfeed.tech/tags/logstash.md>), [network](<https://devfeed.tech/tags/network.md>), [series](<https://devfeed.tech/tags/series.md>), [server](<https://devfeed.tech/tags/server.md>), [servers](<https://devfeed.tech/tags/servers.md>), [ssh](<https://devfeed.tech/tags/ssh.md>)

### AI overview

This article describes how Clay.io used Logstash to aggregate logs from more than 20 servers, with Elasticsearch and Kibana for analysis. It also discusses log rotation, securing Elasticsearch through Amazon VPC, and open-sourced Docker containers for deploying a distributed logging system.

### Source excerpt

10x: Logging at Clay.io Managing 20+ servers as a small team is no easy task, and when things go wrong (they always do) figuring out what happened quickly is essential. Of course we can't ssh into each machine, that would take ages, so instead we use Logstash to aggregate our logs. This is the second post in my series, and if you missed last episode: Architecture at Clay.io. Logstash overview Logstash deployments have two parts. The aggregate server (or cluster), and the client servers.