반응형
테스트 및 블로그 작성한 날짜: 2023년 6월 13일

 

Prometheus 설치

아래 Web page에서 내 운영 환경에 맞는 파일을 다운로드한다.

https://prometheus.io/download/

 

아래와 같이 명령을 따라 수행하여 Prometheus 서버를 구동한다.

##
## Prometheus 서버 설치 파일을 다운로드
## 

$ wget https://github.com/prometheus/prometheus/releases/download/v2.45.0-rc.0/prometheus-2.45.0-rc.0.linux-amd64.tar.gz

##
## 압축 풀기
##

$ tar xf prometheus-2.45.0-rc.0.linux-amd64.tar.gz

$ cd prometheus-2.45.0-rc.0.linux-amd64

##
## 설정 파일 수정하기
##

$ cat prometheus.yml

# my global config
global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    # 나는 아래 부분을 수정했다.
    # 10.1.4.56:8080은 Python으로 작성한 Exporter의 접속점이다.
    static_configs:
      - targets: ["10.1.4.56:8000", "10.1.3.241:9090"]
      
##
## Prometheus 서버 구동하기
##

$ ./prometheus --config.file="./prometheus.yml" &
... 중간 생략 ...
ts=2023-06-13T08:24:54.837Z caller=main.go:1004 level=info msg="Server is ready to receive web requests."
ts=2023-06-13T08:24:54.837Z caller=manager.go:995 level=info component="rule manager" msg="Starting rule manager..."

 

Prometheus Client 예제 작성

테스트용 Metric data를 만들기 위해서 아래와 같이 Example code를 작성한다.

from prometheus_client import start_http_server, Summary
from prometheus_client import Counter
import random
import time


# Create a metric to track time spent and requests made.
REQUEST_TIME = Summary('request_processing_seconds', 'Time spent processing request')

# Decorate function with metric.
@REQUEST_TIME.time()
def process_request(t):
    """A dummy function that takes some time."""
    time.sleep(t)


if __name__ == '__main__':
    # Start up the server to expose the metrics.
    start_http_server(8000)

    c = Counter('sejong_packet_bytes', 'http request failure', ['src_ip', 'dst_ip', 'src_port', 'dst_port'])
    # Generate some requests.
    while True:
        process_request(random.random()/10)
        c.labels(src_ip='10.1.4.11', dst_ip='192.168.5.22', src_port='11111', dst_port='').inc(1322)
        c.labels(src_ip='10.1.8.33', dst_ip='192.168.9.66', src_port='12345', dst_port='23456').inc(1500)
        c.labels(src_ip='172.16.8.33', dst_ip='192.168.9.66', src_port='12345', dst_port='23456').inc(1500)
        c.labels(src_ip='172.17.7.33', dst_ip='192.168.33.66', src_port='80808', dst_port='90909').inc(1500)

 

위에서 작성한 example code를 실행한다.

$ pip install prometheus-client

$ python3 my_example.py

 

좀 더 다양한 Python example code를 보려면, GitHub 저장소를 볼 것!

https://github.com/prometheus/client_python

 

Web UI에서 Metric 확인

Query 입력하는 공간에 "increase(sejong_packet_bytes_total[30s])" 를 입력한다.

 

 

블로그 작성자: sejong.jeonjo@gmail.com

 

반응형
VLAN 설정 테스트한 날짜: 2023년 5월 19일

 

아래는 테스트할 때 사용했던 설정 내용.

$ sudo cat /etc/netplan/00-network-manager-all.yaml

network:
  version: 2
  renderer: NetworkManager
  ethernets:
## eth0에 IP Address 값을 설정하던 안 하던 VLAN 설정과는 관련이 없다.
    eth0:
      addresses: [172.16.1.11/24]
  vlans:
    vlan.2:
      id: 2
      link: eth0
      addresses: [ 172.16.2.11/24]
      

$ sudo netplan try --debug

$ ip addr

0: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 08:33:77:08:3b:2a brd ff:ff:ff:ff:ff:ff
    inet 172.16.1.11/24 brd 172.16.1.255 scope global eth0
       valid_lft forever preferred_lft forever
       
1: vlan.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 08:33:77:08:3b:2a brd ff:ff:ff:ff:ff:ff
    inet 172.16.2.11/24 brd 172.16.2.255 scope global vlan.2
       valid_lft forever preferred_lft forever
...

 

L2 Switch에 연결해서 테스트했는데 잘 동작한다.

 

 

VLAN 개념 참고 문서:  https://gettingconnected.tistory.com/79

 

 

블로그 작성자: sejong.jeonjo@gmail.com

 

반응형

 

Boot Ubuntu 22.04 in text mode

아래 예시를 따라서 설정을 변경한다.

$ sudo  cat   /etc/default/grub

... 중간 생략 ...
## 아래 줄 '#' 코멘트를 삭제
GRUB_TERMINAL=console
... 중간 생략 ...

$ sudo  update-grub

$ sudo  systemctl set-default multi-user.target

$ sudo  reboot

Ubuntu OS가 Console mode로 기동될 것이다.

 

Boot Ubuntu 22.04 in graphical mode

아래 예시를 따라서 설정을 변경한다.

$ cat /etc/default/grub

... 중간 생략 ...
## 아래 줄처럼 '#' 문자로 comment 처리
# GRUB_TERMINAL=console
... 중간 생략 ...

$ sudo  update-grub

$ sudo  systemctl set-default graphical.target

$ sudo  reboot

Ubuntu OS가 GUI mode로 기동될 것이다. (Gnome, KDE Desktop 같은 걸루~)

반응형

 

HP DL-380, DL-580 또는 Dell PowerEdge 장비처럼 network port가 4~10개가 넘는 경우

Network 물리 포트와 OS에 할당된 Network port 이름간 관계를 찾기가 어렵다.

 

이럴 때, ethtool 명령으로 특정 포트 이름의 물리 포트가 어떤 것인지 찾을 수 있다.

예를 들어, 아래처럼 명령을 수행하면 eth0 포트에 해당하는 물리 포트의 램프가 아주 빠르게 깜빡깜빡거린다.

 

 

##
## eth0 포트의 램프를 깜빡거리게 한다.
##

$  ethtool -p eth0
^C


##
## eno2 포트의 램프를 깜빡거리게 한다.
##

$  ethtool -p eno2
^C

 

반응형

 

여행 일정: 2023년 5월 첫째주 평일

 

제주도를 3일간 여행하면서 갔던 곳을 지도에 표시해봤다.

 

시간 순으로 갔던 곳을 보면,

1일차

  • 제주공항
  • 차량렌트 (레인보우 모빌리티)   # 쉐보레 트레버스 대여
  • 차박용품 대여  # 갬핑하우스
  • 함덕해수욕장, 서우봉
  • 성산포 근처 사우나
  • 신양섭지 해변 남쪽 끝 자락에서 차박  #  신양섭지해변 화장실에서 정확히 직선거리 135m 남쪽으로 있는 공터
    (대략 3대의 차량이 들어갈 공간이 있다)

2일차

  • 신양섭지 해변
  • 카페 (그초록)  ## 아침 겸 점심 식사를 위해 샌드위치 구입
  • 월정리 해변
  • 김녕해안도로
  • 김녕 해변
  • 제주 시내
  • 애월해안로
  • 애월전분공장카페
  • 금능 해변
  • 성아시 식당
  • 농협 사우나  # 한경농협 협동조합복지타운
  • 신창풍차해안
  • '판포리 판포1길' 방파제에서 차박

3일차

  • 금능 해변
  • 카페 (바이러닉 에스프레소바)
  • 차박용품 반납  # 갬핑하우스
  • 한라수목원
  • 도두봉
  • 도두동 무지개 해안도로
  • 어반 브루잉
  • 렌트카 반납
  • 제주공항

 

제주도를 몇 번 갔는지 셀수 없을 정도로 많이 갔었는데, 전체 일정을 모두 차박으로 보낸 것은 이번이 처음이다.

제주도에서 차박하면서 느낀 것, 그리고 다음에 제주에서 차박하면 주의할 것을 메모해보면...

차박 용품 대여점을 이용하여 최대한 짐을 줄여보자
 - 공항 근처에 갬핑하우스 대여점 추천.
 - 평탄화 작업까지 갬핑하우스 사장님이 도와주니까 참 편했다.
자동차는 평탄화가 잘 되는 쉐보레 트레버스 이용
 - 트레버스가 앞뒤, 좌우 공간이 넓고, 실내 전고가 놓아서 거주성이 참 좋다.
 - 의자를 접으면 거의 100% 평탄화가 된다.
 - 카니발 보다 훨씬 평탄화 작업이 수월하다.
샤워, 양치 등 씻기
 - 농협 사우나 이용
 - '한경농협 농협조합복지타운' 처럼 농협 하나로마트에 사우나 시설이 같이 있는 곳이 있다. 요금은 2023년 5월 기준 5,000원이다.

 

 

내가 빌렸던 쉐보레 트레버스

 

 

트레버스 평탄화 짱 !  우리 부부가 넉넉하게 잘 수 있을만큼 공간이 크다.

 

 

트렁크 열고, 해변을 바라보며 차크닉 !

 

 

반응형

Testbed network을 만들기 위해 L2, L3가 되는 10G 스위치를 구입했다.

구입하면서 고려했던 것은 이렇다.

  • 10Gbps 지원 (4 Port 이상)
  • 1Gbps 포트 24개 이상
  • VLAN 지원
  • Memory가 넉넉하게 장착되서 모든 Network Port의 Bandwidth가 Full Speed가 나올 것
  • LACP(Link Aggregation Control Protocol) 지원
  • 일반적으로 많이 사용되는 L3(라우팅) 프로토콜 모두 지원.  RIP, OSPF 등.
  • IPv4, IPv6 Routing 지원
  • Web UI 지원
  • DHCP 지원

위 조건을 만족하면서 적당하게 가격이 싼 제품을 찾아보니 "NEXTU 3424GL3-10G"가 가장 적절했다.

위 리스트에 기재한 것 이상으로 많은 기능을 제공하고, CISCO 또는 Arista 등 대중적인 스위치가 제공하는 L2, L3 스위칭 기능을 모두 제공한다고 보면 된다.

 

50만원 미만에 이 정도로 훌륭한 스위칭 성능과 기능을 제공하다니~   

아주 만족하고 있다.

 

 

 

 

# TODO:  WEB UI 화면 캡처해서 붙여넣고 설명하기.

반응형

 

작성일: 2023년 12월 6일

 

 

전기차가 2대가 되면서 내 집에 전기차 충전기를 설치해야 하나 고민이 되기 시작했다.

전기차 2대를 집 근처 주민센터에서 충전하는 것은 귀찮기도 하구 ㅠㅠ

 

2023년 3월, 자가(개인용) 충전기를 통해 충전하면 아래 표와 같이 요금이 나온다.

 

전기차 충전 전력 요금 (자가소비용)

 

7kWh 충전기를 설치한 경우라면, 아래와 같이 요금이 부과될 것이다.

  • 월 기본 요금: 16,730원 (2,390원 X 7kWh)
  • 월 충전 요금: 14,910원 (99.4 X 5kWh X 30일)    ##전기차로 출퇴근만 한다는 가정.
  • 총합: 대략 3만원 정도.

 

충전기 설치 비용은 충전 기기, 한전 전기 공사 비용, 기기 장착 비용 등을 모두 포함해서 대략 200만원 정도라고 한다.

(설치 장소와 설치 난이도에 따라 이 비용은 유동적이라 직접 업체와 견적을 내봐야 정확한 비용을 알 수 있다)

한 집에서 5년 이상 거주할 거라면, 설치할만한데... 5년 이하로 거주하다가 이사할 것이라면 공용 충전기를 사용하는 것보다 비용면에서 손해다.

 

언제 이사할지 몰라서 판단이 안 서네... ㅡㅡ;

오늘 설치했는데, 내년에 집을 팔고 이사하면... 완전 손해 ㅠㅠ.

 

 


 

2023년 현재,  설치할까 말까 고민 중인 제품은... "파인이브이"

 

 

반응형

 



하향등 전구 교체 날짜: 2023년 3월 25일
정비소: 블루핸즈 평촌중부점

 

계기판에 하향등 경고가 뜨길래, 이 정도 간단한 정비는 내가 직접 해야겠다는 생각으로 인터넷으로 H7 할로겐 전구를 주문했다.

하루만에 전구가 집으로 배달되었고, 새 전구를 들고 주차장으로 내려갔다.

 

아이오닉 보닛을 열고, 헤드라이트(하향등) 뒷면의 전구캡을 보는 순간... 

엇! 이거 손으로 캡을 열고 작업할 수 있는 공간이 없잖아 !!!

 

불길한 예감이 들었다.

아이오닉 일렉트릭은 다른 차량과 다르게 손으로 전구 캡을 열고 교체할 수 있는 구조가 아니었다.

더 고민하지 않고 집 근처의 현대 "블루핸즈"로 직행~~~

 

블루핸즈 정비사도 아이오닉 보닛을 열어 보고

어... 이거 뭐지?  난감하네~

이런 표정을 지었다.

기존 차량과 다르다는 것을 알아챈 정비사는 헤드라이트 뒷 부분의 전구 캡 주변 장치들을 분해해서 작업 공간을 만들었다.

대략 10분 정도 헤드라이트 주변 장치 분해하느라 시간을 썼다.

그리고 기존 망가진 전구를 빼내는데, 이것도 여유 작업 공간이 없다보니 한참 걸렸다.

정비사가 전구 1개 교체하는데, 지금까지 못본 연장들을 계속 들고 나온다.

 

자동차를 23년 타면서 이렇게 많은 종류의 연장을 쓰면서 전구 교체하는 건 처음 본다. 
오죽 신기했으면, 내가 이렇게 시간을 내가 블로그에 글을 쓰고 있겠는가...

 

정비 대기 시간을 제외하고, 순수 정비 시간에만 20분 정도 사용한 것 같다.

 

이것저것 분해를 많이 하고 시간도 많이 써서 공임이 많이 나오겠구나 생각했는데,

전구 교체비가 1만원이라고 한다.

예전에 블루핸즈에서 전구 교체할 때 이것보다 몇배는 더 비쌌던 것 같았는데 ... 오늘은 왜 이렇게 공임이 싼거지?

우리 동네 블루핸즈만 공임이 싼건가?

 

암튼, 정비는 만족스럽게 되었고

다음에 정비할 일이 있으면 우리동네 블루핸즈(평촌동, 내손동 근처)로 가야겠다. 믿음이 가네.

 

 

 

+ Recent posts