환경: controller 3, compute 1, ceph 1의 openstack, Monitoring VM
openstack의 VM에서 발생하는 traffic을 Monitoring VM에서 수집해 시각화
openstack을 설치하면서 같이 설치한 OVS의 기능으로 sFlow 프로토콜을 발생
ovs-vsctl -- --id=@sflow create sflow agent=192.168.122.21 target="\"192.168.122.3:6343\"" header=128 sampling=30 polling=10 -- set bridge br-ovs-public sflow=@sflow
Monitoring VM에 docker 설치
apt-get update
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
Monitoring VM에 sFlow 프로토콜을 받을 sFlow-RT 설치
docker run -d -p 6343:6343/udp -p 8008:8008 sflow/prometheus -Dsnmp.ifname=yes
Apps에서 Applications가 제대로 보이면 정상
browse-flows에서 수집되는 데이터 확인 가능
sFlow-RT의 API에서 Rest API를 확인할 수 있는데 해당 정보로 Prometheus에서 사용할 데이터를 정의
vi prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
# - "first.rules"
# - "second.rules"
scrape_configs:
- job_name: 'sflow-rt-metrics'
metrics_path: /prometheus/metrics/ALL/ALL/txt
static_configs:
- targets: ['192.168.122.3:8008']
- job_name: 'sflow-rt-inout'
metrics_path: /app/prometheus/scripts/export.js/flows/ALL/txt
static_configs:
- targets: ['192.168.122.3:8008']
params:
metric: ['ip_src_dst_bps']
key: ['ipsource','ipdestination']
label: ['src','dst']
value: ['bytes']
sflow-rt-inout가 위의 Rest API 기반으로 만들어진 메트릭스
필요한 데이터인 ipsource와 ipdestination, bytes를 포함한 메트릭스
프로메테우스 컨테이너 생성
docker run --name prometheus -v /root/prometheus.yml:/etc/prometheus/prometheus.yml -p 9090:9090 -d prom/prometheus
프로메테우스를 시각화 하기위한 Grafana 배포
docker run --name grafana -p 3000:3000 -d grafana/grafana
그라파나에 프로메테우스 연결
정상적으로 연결되어 아까 정의했던 ip_src_dst_bps 메트릭스가 생성
dst, src의 값과 value값으로 bytes가 나오는 것을 확인
'Infra' 카테고리의 다른 글
Journal Log 용량 제한 (0) | 2024.05.24 |
---|---|
Squid proxy 폐쇄망 연결 (0) | 2024.05.23 |
OpenVSwitch sFlow (0) | 2024.05.23 |
Fluentd 설정 방법 (0) | 2024.05.23 |
Rabbit MQ - Fluentd - Opensearch (0) | 2024.05.23 |