AI Log Analysis: Anomaly Detection and Alerting System

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1All 1566 services
AI Log Analysis: Anomaly Detection and Alerting System
Medium
~1-2 weeks
Frequently Asked Questions

AI Development Areas

AI Solution Development Stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1317
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1226
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    925
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1156
  • image_logo-advance_0.webp
    B2B Advance company logo design
    620
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    894

Your microservices system generates gigabytes of logs per minute. Manual anomaly search in Kibana no longer suffices — incidents are missed, and response time grows. Developing an AI system that automatically parses logs, finds unusual patterns, and sends alerts becomes critical. We created a solution that reduces detection time by 10x (from hours to minutes) and cuts monitoring costs by up to 40% through automation.

In large projects with hundreds of microservices, manual log analysis is impossible. Engineers spend hours on dashboards but miss anomalies in long call chains. Our system automatically identifies abnormal situations and prioritizes them.

How Log Parsing Works

Unstructured logs are transformed into typed events. We use the stream parser Drain3 (algorithm from Drain3: Log Parsing) — it processes 100,000 lines per second, which is 10x faster than an LLM approach with GPT-4. After parsing, each log is reduced to a template with parameters (timestamp, level, service, request ID).

Method Speed (lines/s) Accuracy Setup Complexity
Drain3 100,000 95% Low
Spell 80,000 90% Low
LLM (GPT-4) 1,000 99% High (prompts, cost)

In practice, Drain3 covers 95% of cases. For non-standard formats (e.g., custom protocols), we connect LLM parsing on a small sample.

Why Three Levels of Detection?

One method does not cover all anomaly types. We use three complementary approaches for reliable detection.

Detection Method Anomaly Type Accuracy Latency
Frequency-based Error spikes High Low (minutes)
Semantic Rare, unusual messages Medium Medium (minutes)
Sequence-based Non-standard chains High Low (real-time)

Frequency Anomaly (count-based). We monitor the frequency of each template in a time window. If an ERROR-level template's frequency increases 5x relative to baseline, it's an anomaly. This catches error spikes.

import pandas as pd
from collections import deque
import numpy as np

class TemplateFrequencyMonitor:
    def __init__(self, window_minutes=10, baseline_minutes=60):
        self.baseline_window = deque(maxlen=baseline_minutes)
        self.current_window = deque(maxlen=window_minutes)

    def update(self, template_counts_per_minute):
        self.baseline_window.append(template_counts_per_minute)
        self.current_window.append(template_counts_per_minute)

        if len(self.current_window) < self.current_window.maxlen:
            return {}

        anomalies = {}
        current = pd.DataFrame(list(self.current_window)).mean()
        baseline = pd.DataFrame(list(self.baseline_window)).mean()

        for template_id in current.index:
            base_rate = baseline.get(template_id, 1)
            curr_rate = current[template_id]
            spike_ratio = curr_rate / (base_rate + 0.1)
            if spike_ratio > 5 and curr_rate > 10:
                anomalies[template_id] = {
                    'spike_ratio': spike_ratio,
                    'current_rate': curr_rate,
                    'baseline_rate': base_rate
                }
        return anomalies

Semantic Anomaly (embedding-based). The frequency method misses rare but critical messages. We obtain log embeddings via Sentence-Transformer and apply Isolation Forest. The model finds semantically unusual messages even if their frequency is normal.

Sequence Anomaly (sequence-based). Some event chains are typical (e.g., Auth → DB query → Response). If the system goes Auth → Error → Wait, that's an anomaly. We build an n-gram model of normal sequences and detect non-standard transitions.

Each method covers its own anomaly class. In total, false positives are under 5%, and incident misses are under 1%. This allows the system to pay for itself within 3–6 months by reducing downtime.

ML Severity Classification

We fine-tune BERT (on client-labeled logs) to classify severity: informational, warning, error, critical. The classifier looks at semantics, not just the log level (ERROR may be non-critical). Example: a message "Connection timeout after 30000ms" gets a critical label if confidence is above 85%.

Practical Implementation: ELK + ML Layer

Architecture: Elasticsearch (storage), Logstash/Fluent Bit (collection), Kibana (visualization), Python FastAPI (ML layer with Drain3, detection, and classifier), Kafka (log streaming — prevents data loss). Large project: we integrated the system for a platform with 200+ microservices processing 5 TB of logs per day. Anomaly detection time dropped from 30 minutes to 2 minutes, and false alerts fell from 20 to 2 per day.

Implementation includes these steps:

  1. Audit current logging stack and gather requirements.
  2. Configure log collection (Fluent Bit, Filebeat) and Kafka.
  3. Develop and calibrate models (Drain3, detection, classifier).
  4. Integrate with existing monitoring systems (PagerDuty, OpsGenie).
  5. Documentation and team training.
  6. Three months of post-launch support.

To evaluate your scenario, contact us — we will conduct a free log audit and provide a preliminary estimate.

Why Choose Us

We are an AI/ML engineering team with 5 years of experience in NLP and MLOps. We have completed over 50 projects in log analysis and monitoring. Certified AWS and GCP specialists ensure solution reliability. We don't sell a box — we adapt the system to your data.

Timelines and Cost

Basic version (Drain3 + frequency anomaly + Elasticsearch) — from 3 to 4 weeks. Extended version (with semantic anomaly and correlation) — from 2 to 3 months. Cost is calculated individually based on log volume and number of services. Total monitoring cost (TCO) reduction is 30-50% depending on volume. Order a consultation — we will send an estimate within 2 business days.