Cấu hình Target
1. Node exporter
Đây là 1 exporter cơ bản của một target (Server cần giám sát), chạy trên port 9100, cung cấp cho Prometheus các metric cơ bản (Ram, Cpu, disk, network,...)
Chạy port 9100
1.1 Cài đặt trên linux
# Tải file cài đặt và giải nén
wget https://github.com/prometheus/node_exporter/releases/download/v1.10.2/node_exporter-1.10.2.linux-amd64.tar.gz
tar xvfz node_exporter-1.10.2.linux-amd64.tar.gz
# Tạo user chạy service
sudo useradd -rs /bin/false node_exporter
sudo mv node_exporter-*.linux-amd64/node_exporter /usr/local/bin/
sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter
# Tạo file service chạy ngầm
sudo tee /etc/systemd/system/node_exporter.service > /dev/null <<EOF
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
ExecStart=/usr/local/bin/node_exporter
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# Bật service chạy node exporter
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
sudo systemctl status node_exporter
Đối với họ RHEL, Rockey, CentOS cần thêm
# Allow SELinux
sudo chcon -t bin_t /usr/local/bin/node_exporter
# Mở port 9100
sudo firewall-cmd --permanent --add-port=9100/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-ports
2. Haproxy Exporter
Chạy port 9101
2.1 Cài đặt trên linux
# Tải haproxy exporter
wget https://github.com/prometheus/haproxy_exporter/releases/download/v0.12.0/haproxy_exporter-0.12.0.linux-amd64.tar.gz
tar xvfz haproxy_exporter-0.12.0.linux-amd64.tar.gz
# Move sang /usr/local/bin
cd haproxy_exporter-0.12.0.linux-amd64
mv haproxy_exporter /usr/local/bin
cat /etc/haproxy/haproxy.cfg
cd ~
# Chạy test exporter
haproxy_exporter --haproxy.scrape-uri="http://admin:Nuce@1234@localhost:8404/stats;csv"
# Tạo user riêng cho service
sudo useradd -rs /bin/false haproxy_exporter
sudo chown haproxy_exporter:haproxy_exporter /usr/local/bin/haproxy_exporter
# Tạo service chạy ngầm
sudo tee /etc/systemd/system/haproxy_exporter.service > /dev/null <<EOF
[Unit]
Description=HaProxy Exporter
After=network.target
[Service]
User=node_exporter
ExecStart=/usr/local/bin/haproxy_exporter --haproxy.scrape-uri="http://admin:Nuce@1234@localhost:8404/stats;csv"
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# Reload daemon. start service
sudo systemctl daemon-reload
sudo systemctl enable haproxy_exporter
sudo systemctl start haproxy_exporter
sudo systemctl status haproxy_exporter
3. Promtail
Cài promtail để đẩy log từ docker container về loki. Ở đây sẽ chạy promtail bầng docker
3.1 Cài đặt promtail
Tạo thư mục ~/promtail/config
mkdir -p ~/promtail/config
Tạo file promtail-config.yml
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml # tracks where Promtail left off
clients:
- url: http://10.20.0.62:3100/loki/api/v1/push
scrape_configs:
- job_name: docker
docker_sd_configs:
- host: unix:///var/run/docker.sock
refresh_interval: 10s
relabel_configs:
- source_labels: [__meta_docker_container_name]
target_label: container
- source_labels: [__meta_docker_container_label_com_docker_compose_service]
target_label: service
- source_labels: [__meta_docker_container_label_com_docker_compose_project]
target_label: project
- source_labels: [__meta_docker_container_name]
regex: "/(.+)"
target_label: instance