Sobes.tech
Middle

Бо кадом системҳои назорат шинос ҳастед?

sobes.tech AI

Ҷавоб аз AI

  • Prometheus
  • Grafana
  • Zabbix
  • Nagios
  • Datadog
  • ELK Stack (Elasticsearch, Logstash, Kibana)

Ман ба таҷрибаи ҳамгироии барномаҳои Python бо Prometheus ва Grafana барои ҷамъоварӣ ва визуализатсияи метрикҳо дорам:

# Мисоли содироти метрикҳо ба Prometheus бо истифода аз prometheus_client
from prometheus_client import start_http_server, Counter

# Эҷоди ҳисобкунак барои дархостҳо
REQUESTS_TOTAL = Counter('app_requests_total', 'Миқдори умумии дархостҳо ба барнома')

def process_request():
    # Имитацияи коркарди дархост
    REQUESTS_TOTAL.inc()

if __name__ == '__main__':
    # Идора кардани сервери HTTP барои намоиши метрикҳо
    start_http_server(8000)
    print("Сервери метрик Prometheus дар порт 8000 оғоз шуд")
    # Дар барномаи воқеӣ, дар ин ҷо давраи коркарди дархостҳо хоҳад буд
    process_request()

Ман огоҳӣ додани дар Prometheus Alertmanager ва панелҳо дар Grafana барои пайгирии нишондиҳандаҳои асосии иҷроиш ва ҳолати системаро танзим кардам.

Ҳамчунин, ELK Stack-ро барои ҷамъоварӣ ва таҳлили марказонидашудаи логҳои барномаҳо истифода кардам.

# Мисоли логгирӣ ба Elasticsearch бо истифода аз logging ва logstash-async
import logging
import logstash_async

# Танзими logger
logger = logging.getLogger('my-app')
logger.setLevel(logging.INFO)

# Илова кардани handler барои Logstash
handler = logstash_async.handler.AsynchronousLogstashHandler(
    'localhost',  # Меҳмонхонаи Logstash
    5000,         # Порт Logstash
    database_path='logstash_logs.db' # Одатан: роҳ ба базаи додаҳо барои буфергирӣ
)
logger.addHandler(handler)

# Логгирии паём
logger.info('Барнома бо муваффақият оғоз шуд', extra={'user_id': 123})

Ман бо консепсияҳои агентҳои мониторинг, экспортерҳо, scraping, нигоҳдории сатрҳои вақти ва огоҳӣ шинос ҳастам. Ман аҳамияти мониторингро барои таъмини эътимоднокӣ ва иҷрои системҳо фаҳмидам.