카이도스의 Tech Blog
Grafana, Loki, Promtail 모니터링+로그 셋팅+zabbix 연동 본문
728x90
반응형
설치환경 : ubuntu 20.04, IDC 서버
모니터링 환경 구축 후 로깅모니터링까지 붙이는 방식으로 진행하려고 한다.
기존 모니터링은 자빅스+그레이로그 사용중이지만 그라파나+로키 연동하여 통합해서 사용하려고한다.(Alert은 기존 자빅스 활용)
그라파나 통합만 완료하고 자빅스 연동하면 기존 자빅스에 연결된 IDC 170대 가량의 서버매트릭을 바로 확인가능하다.
목표: 모니터링-grafana, log-grafana, Alert-zabbix
순서는 grafana, prometheus 설치 후 기존 자빅스 모니터링 연동 및 promtail, Loki 를 이용해 로그모니터링까지 진행하려고 한다.
참고링크 - 링크
1. grafana 설치
# 그라파나 설치
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install -y grafana
# 서비스 파일 생성
systemctl edit grafana-server.service
[Service]
# Give the CAP_NET_BIND_SERVICE capability
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
# A private user cannot have process capabilities on the host's user
# namespace and thus CAP_NET_BIND_SERVICE has no effect.
PrivateUsers=false
붙여넣은후에는 Ctrl+O -> Enter -> Ctrl+X 를 순서대로 눌러서 빠져나옵니다.
# 서비스 시작 및 확인
sudo service grafana-server start
sudo service grafana-server status
sudo update-rc.d grafana-server defaults
http://서버IP:3000
2. 프로메테우스 설치
sudo apt install -y prometheus prometheus-node-exporter
sudo vi /etc/default/prometheus
ARGS="--storage.tsdb.retention=15d"
http://서버IP:9090
3. 자빅스 연동
3-1. configuration → Plugins → zabbix 검색 후 설치 및 enable → 데몬 재구동
# 자빅스 플러그인 설치
grafana-cli plugins install alexanderzobnin-zabbix-app
3-2. configuration → Data sources → zabbix 추가(관련설정 입력-URL, username, password) → save& test
URL : http://서버IP/zabbix/api_jsonrpc.php
3.3 완료 후 그라파나 대시보드 Import 진행- 참고링크
4. Loki 설치 (Loki와 promtail은 github에서 최신 릴리즈 확인 후 최신버전으로 진행)
# loki 설치
cd /etc/grafana/
curl -O -L "https://github.com/grafana/loki/releases/download/v2.8.1/loki-linux-amd64.zip"
unzip loki-linux-amd64.zip
chmod a+x "loki-linux-amd64"
rm -rf loki-linux-amd64.zip
mv loki-linux-amd64 loki
# loki-local-config.yaml 다운로드
wget https://raw.githubusercontent.com/grafana/loki/master/cmd/loki/loki-local-config.yaml
# grafana-loki.service 파일 생성
cat > /etc/systemd/system/grafana-loki.service <<EOF
[Unit]
Description=Grafana Loki
Documentation=https://github.com/grafana/loki
After=network-online.target
[Service]
User=root
Restart=always
ExecStart=/etc/grafana/loki --config.file=/etc/grafana/loki-local-config.yaml
[Install]
WantedBy=multi-user.target
EOF
# 서비스 시작 및 확인
systemctl daemon-reload
service grafana-loki restart
service grafana-loki status
systemctl enable grafana-loki
설치 완료 후 configuration → Data sources → Loki 추가
관련 대시보드 import하면 완료
5. promtail 설치
# promtail 설치
curl -O -L "https://github.com/grafana/loki/releases/download/v2.8.1/promtail-linux-amd64.zip"
unzip promtail-linux-amd64.zip
chmod a+x "promtail-linux-amd64"
rm -rf promtail-linux-amd64.zip
mv promtail-linux-amd64 promtail
# promtail config 다운로드
wget https://raw.githubusercontent.com/grafana/loki/v2.8.1/clients/cmd/promtail/promtail-local-config.yaml
# grafana-promtail.service 생성
cat > /etc/systemd/system/grafana-promtail.service <<EOF
[Unit]
Description=Grafana promtail
Documentation=https://github.com/grafana/loki
After=network-online.target
[Service]
User=root
Restart=always
ExecStart=/etc/grafana/promtail --config.file=/etc/grafana/promtail-local-config.yaml
[Install]
WantedBy=multi-user.target
EOF
# 재시작
systemctl daemon-reload
service grafana-promtail restart
service grafana-promtail status
systemctl enable grafana-promtail
6. promtail 설치(에이전트 개념으로 로그 수집할 서버에 설치)
# promtail 설치
sudo su -
mkdir -p /etc/promtail
cd /etc/promtail
curl -O -L "https://github.com/grafana/loki/releases/download/v2.8.1/promtail-linux-amd64.zip"
apt install -y unzip
unzip promtail-linux-amd64.zip
chmod a+x "promtail-linux-amd64"
rm -rf promtail-linux-amd64.zip
mv promtail-linux-amd64 promtail
# promtail config 생성
cat > /etc/promtail/promtail-local-config.yaml <<EOF
server:
http_listen_port: 9080
grpc_listen_port: 0
positions:
filename: /tmp/positions.yaml
clients:
- url: http://그라파나설치한서버IP:3100/loki/api/v1/push
scrape_configs:
- job_name: system
static_configs:
- targets:
- grafana
labels:
job: zabbix-syslog
__path__: /var/log/*log
EOF
# grafana-promtail.service 생성
cat > /etc/systemd/system/grafana-promtail.service <<EOF
[Unit]
Description=Grafana promtail
Documentation=https://github.com/grafana/loki
After=network-online.target
[Service]
User=root
Restart=always
ExecStart=/etc/promtail/promtail --config.file=/etc/promtail/promtail-local-config.yaml
[Install]
WantedBy=multi-user.target
EOF
# 재시작
systemctl daemon-reload
service grafana-promtail restart
service grafana-promtail status
systemctl enable grafana-promtail
job 이름은 호스트네임으로 변경해서 관리하면 좋음.
728x90
반응형
'모니터링' 카테고리의 다른 글
Redis Exporter (1) | 2024.02.04 |
---|---|
mongodb_exporter 설치 (0) | 2024.02.04 |
Datadog Agent 설치 (0) | 2023.04.04 |
DATADOG-AWS 연동 (0) | 2023.03.29 |
kafka zabbix 모니터링 설정 (0) | 2023.02.09 |
Comments