---
id: monitoring-datadog
title: "Datadog"
shortTitle: "Datadog"
track: monitoring
trackTitle: "Monitoring & Alerting"
order: 5
level: important
status: published
estimatedMinutes: 25
prerequisites:
  - monitoring-zabbix
next: monitoring-newrelic
reviewedAgainst: 2026-10-12
sources:
  - title: "Datadog Agent"
    url: https://docs.datadoghq.com/agent/
  - title: "Tags"
    url: https://docs.datadoghq.com/getting_started/tagging/
---

# Datadog

Datadog là dịch vụ monitoring chạy trên cloud của chính Datadog. Agent cài trên máy hoặc trong cluster sẽ gửi metric và log về đó. Bài này không cài agent và không tạo API key.

## Để làm gì

Bạn sẽ đọc được một bộ tag, và hiểu vì sao dashboard lọc theo `env:prod` lại trống trơn khi host chỉ được gắn tag `environment:prod`.

## Gồm những gì

- Agent, API key và site của tài khoản.
- Tag dạng `key:value`.
- Monitor, tức alert của Datadog. Nó làm cùng việc với alert của Grafana, nhưng chạy bên phía Datadog.

Bài không gửi metric thật.

## Dùng khi nào

Công ty đã trả tiền Datadog và muốn xem nhiều cluster ở một chỗ. Đừng đăng ký tài khoản mới chỉ để học, vì Prometheus và Grafana đã đủ cho lab local.

API key là secret. Key phải nằm trong biến môi trường của agent, không nằm trong Git và không nằm trong image.

## Kiến thức cốt lõi

Agent chạy các check trên máy rồi đẩy kết quả ra ngoài. Nếu không có agent, hoặc agent không ra được Internet, host đó sẽ không xuất hiện trên UI. Site trong cấu hình cũng phải khớp với tài khoản: vùng US và vùng EU là hai endpoint nhận dữ liệu khác nhau. Trỏ sai site thì dù key đúng, bạn vẫn không thấy dữ liệu.

Tag có dạng `env:prod`, không phải một chuỗi tự do. Monitor và dashboard đều lọc theo tag. Với Datadog, `env` và `environment` là hai khóa khác nhau hoàn toàn. Hãy chọn một quy ước đặt tên và gắn tag ở agent hoặc ở integration theo đúng quy ước đó, đừng để mỗi nơi gắn một kiểu.

Log và metric đi theo hai đường riêng. Nếu bật thu log mà không cấu hình exclusion, khối lượng log tăng và hóa đơn tăng theo. Lab này không bật thu log.

## Lệnh và code mẫu

Một mẩu cấu hình để đọc, không áp dụng:

```yaml
tags:
  - env:lab
  - service:shop
```

API key không xuất hiện trong file này. Docs agent hướng dẫn cách truyền key qua biến môi trường.

## Thực hành

1. Viết tag cho một máy lab và một máy production, cả hai dùng chung khóa `env`.
2. Nêu một lý do khiến dashboard prod trống: host không mang đúng khóa và đúng giá trị tag.
3. Không cài agent và không copy key.

## Kết quả mong đợi

Bạn có hai bộ tag cùng khóa `env` nhưng khác giá trị. Không có dữ liệu nào bị gửi đi.

## Checklist

- [ ] API key không nằm trong repo.
- [ ] Tag theo một bảng tên chung của team.
- [ ] Không bật thu toàn bộ log chỉ để xem một dòng.

## Lỗi thường gặp

**Cài hai agent trên cùng một host.** Số liệu bị nhân đôi, hoặc UI hiện hai host cho một máy. Mỗi máy chỉ nên có một agent, trừ khi tài liệu Datadog chỉ rõ một sidecar có nhiệm vụ riêng.

**Tag gắn trên container nhưng dashboard lại lọc theo tag của host.** Tag ở hai tầng này không tự gộp với nhau dù trùng tên. Hãy xem monitor đang lọc ở tầng nào.

## Nguồn

1. [Datadog Agent](https://docs.datadoghq.com/agent/) — agent gửi gì và key nằm ở đâu.
2. [Tagging](https://docs.datadoghq.com/getting_started/tagging/) — dạng `key:value`.

## Tiếp theo

[New Relic](./06-newrelic.md)
