'Prometheus'에 해당되는 글 3건

fluent-bit , influxDB

Prometheus 2024. 7. 19. 15:23

 

docker-compose.yml

version: "3.9"
services:
  fluent-bit:
    image: fluent/fluent-bit:latest
    container_name: fluent-bit
    privileged: true
    user : root
    volumes:
      - /var/lib/docker/containers/:/docker-logs/:ro
      - ./fluent-bit.conf:/fluent-bit/etc/fluent-bit.conf
      - /home/ubuntu/fluent/output:/home/ubuntu/fluent/output

Docker Container Log 정확한 위치

 

 

fluent-bit.conf

[INPUT]
    name              tail
    Tag               node_metrics
    path              /docker-logs/*.log
    path_key         path
    multiline.parser  docker, cri
    Parser docker
    Docker_Mode  On

[SERVICE]
    Flush        1
    Parsers_File parsers.conf

[OUTPUT]
    Name          influxdb
    Match         *
    Host          호스트주소
    Port          8086
    Bucket        버킷명
    Org           조직아이디 0232313aaaa
    HTTP_Token    influxdb 토큰

OUTPUT  influxDB에 던지는 방법이다.

서버에 대한 부하도 굉장히 적다.

 

parsers.conf

[PARSER]
    Name        springboot
    Format      regex
    Regex       (?<time>\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}.\d{1,3}) (?<level>[^ ]*) (?<number>\d*) --- (?<thread>\[[^ ]*) (?<logger>[^ ]*) *: (?<message>[^ ].*)$
    Time_Key    time
    Time_Format %Y-%m-%d %H:%M:%S.%L

[PARSER]
    Name         docker
    Format       json
    Time_Key     time
    Time_Format  %Y-%m-%dT%H:%M:%S.%L
    Time_Keep    On
    # Command      |  Decoder | Field | Optional Action
    # =============|==================|=================
    Decode_Field_As   escaped    log

[MULTILINE_PARSER]
    name          multiline-regex-test
    type          regex
    flush_timeout 1000
    #
    # Regex rules for multiline parsing
    # ---------------------------------
    #
    # configuration hints:
    #
    #  - first state always has the name: start_state
    #  - every field in the rule must be inside double quotes
    #
    # rules |   state name  | regex pattern                  | next state
    # ------|---------------|--------------------------------------------
    rule      "start_state"   "/([a-zA-Z]+ \d+ \d+\:\d+\:\d+)(.*)/"  "cont"
    rule      "cont"          "/^\s+at.*/"                     "cont"

[PARSER]
    Name named-capture-test
    Format regex
    Regex /^(?<date>[a-zA-Z]+ \d+ \d+\:\d+\:\d+) (?<message>.*)/m

한 디렉토리에 3개 파일 만들고 도커 컴포저 실행시키면 된다.

Agent 마다 각각 설치

 

Agent :  node -expoter  ,    fluent

그라파나 :  Prometheus ,  그라파나, influxdb 

node -expoter  Prometheus 수집

fluent(docker log)  influxdb  수집

 

둘다 그라파나에서 대쉬보드에서 보여준다.

 

 

 

influxdb  2 버전이상으로 해야지 관리자 페이지가 보인다.

docker-compose.yml

   version: '3'
services:
  influxdb:
    image: influxdb:2.7.7
    container_name: influx
    ports:
      - '8086:8086'
    environment:
      - INFLUXDB_ADMIN_ENABLED=true
      - INFLUXDB_ADMIN_USER=admin
      - INFLUXDB_ADMIN_PASSWORD=초기패스워드
    tty: true
    stdin_open: true
    volumes:
      - ./influx/config:/etc/influxdb
      - ./influxdb:/var/lib/influxdb

 

 

 

정규식으로 차차 분석 하면 될듯

 

 

 

 

 

 

'Prometheus' 카테고리의 다른 글

신규 설치 error  (0) 2024.04.18
Grafana 기초1  (0) 2021.11.10
블로그 이미지

iesay

,

신규 설치 error

Prometheus 2024. 4. 18. 15:28

1] cadvisor나  node-exporter에서는   /var/lib/docker/containers/   
   못 가지고 오는점 순수 HW 모니터링만 가능한듯
   (promtail, loki로 해결)

2]  etc 경로 못찾는 점 파일을 디렉토리로 인식

failed parsing config: /etc/loki/local-config.yaml does not exist, set config.file for custom config path
경로 못찾는 문제는   loki  promtail 2.9.2로 업그레이드


3] 데이터가 보여지는 상태에서     그라파나에 연결 가능한줄 이해  
  예전에는 그랬슴  그라파나에서 loki로 바로 3100포트 연결하니 보임
   
 예전 유지보수 하던건   중간에   prometheus가 수집해서 보여주는 형태
   [먼지모를 Agent] -> grok -> 프로메테우스 -> 그라파나      

  지금 신규 서비스는  
   promtail -> loki -> 그라파나 

 

 

 

'Prometheus' 카테고리의 다른 글

fluent-bit , influxDB  (2) 2024.07.19
Grafana 기초1  (0) 2021.11.10
블로그 이미지

iesay

,

Grafana 기초1

Prometheus 2021. 11. 10. 13:41

테스트 환경 : VirturalBox 6.x   ,  Ubuntu20.04

 

ubuntu 설치시에 Prometheus를 기본으로 추가 하여 설치 하였다.

prometheus.yml 설정파일이 보이고  9090포트가 LISTEN이 된걸 확인 할수 있다.

root@server:/# find ./ -name prometheus.yml
./var/snap/prometheus/53/prometheus.yml
root@server:/#

root@server:/# netstat -an | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:40778         127.0.0.1:9090          ESTABLISHED
tcp        0     64 192.168.0.50:22         192.168.0.28:9862       ESTABLISHED
tcp6       0      0 :::9090                 :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 127.0.0.1:9090          127.0.0.1:40778         ESTABLISHED
udp        0      0 127.0.0.53:53           0.0.0.0:*
udp        0      0 192.168.0.50:68         0.0.0.0:*
raw6       0      0 :::58                   :::*                    

 

 

모니터정보를 수집할 Agent를 설치한 모습

 

'Prometheus' 카테고리의 다른 글

fluent-bit , influxDB  (2) 2024.07.19
신규 설치 error  (0) 2024.04.18
블로그 이미지

iesay

,