Sobes.tech
Middle

What monitoring do you use for your applications and what tools do you apply for this?

sobes.tech AI

Answer from AI

I use comprehensive monitoring, including the following areas:

  • Infrastructure Monitoring: Server, network, storage status (CPU, memory, disk, traffic, availability).
  • Application Monitoring (APM): Code performance, requests, errors, transactions.
  • Logging: Collection, centralization, and analysis of application and system logs.
  • User Experience Monitoring (RUM/Synthetic): Tracking user behavior, page load times, feature availability.

Tools I often use:

Category Tools Purpose
Infrastructure Prometheus, Zabbix, Nagios Collect metrics from various sources, alert when metrics exceed thresholds.
APM New Relic, Dynatrace, Datadog APM, OpenTelemetry Trace requests, analyze function performance, identify bottlenecks in code.
Logging ELK Stack (Elasticsearch, Logstash, Kibana), Loki Centralized collection, parsing, storage, and visualization of logs, error search and analysis.
Visualization Grafana Create informative dashboards to display all metrics and logs in a user-friendly format.
Alerting Alertmanager, PagerDuty Notify responsible personnel about critical events and issues.
User Experience Sentry, Site24x7, Pingdom Monitor website availability and response times, track client-side errors.

For collecting metrics from applications, I often use exporters that provide metrics in a format understandable by Prometheus. For example:

# Example Prometheus configuration for collecting metrics from node_exporter
scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['<server_ip>:9100'] # IP and port of node_exporter

For centralized logging, I configure agents that redirect logs to the collection system:

# Example command to install Filebeat (for ELK Stack)
sudo apt update && sudo apt install filebeat
sudo filebeat modules enable system nginx # Enable modules for system and nginx logs
sudo systemctl start filebeat

Choosing a specific tool depends on the application's architecture, infrastructure scale, and budget. It's important to set up metric aggregation and alerting rules to receive timely and relevant notifications about issues without overwhelming the team with excessive information.