728x90
반응형
python 파일 (3-1example.py)
# cat 3-1-example.py
import http.server
from prometheus_client import start_http_server
class MyHandler(http.server.BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.end_headers()
self.wfile.write(b"Hello World")
# http 서버 서비스 포트는 8001
# prometheus matric 수집 포트는 8000
if __name__ == "__main__":
start_http_server(8000)
server = http.server.HTTPServer(('192.168.56.128', 8001), MyHandler)
server.serve_forever()
# PIP3 설치 및 실행 (에러)
- pip3 및 prometheus_client 설치가 안되어 있다고 함
# python3 3-1-example.py
Traceback (most recent call last):
File "/etc/prometheus/ep-examples-master/3/3-1-example.py", line 2, in <module>
from prometheus_client import start_http_server
ModuleNotFoundError: No module named 'prometheus_client'
# pip3 --version
-bash: pip3: command not found
- pip3 및 prometheus_client 설치
# apt update
# apt install python3-pip
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
build-essential cpp cpp-11 dpkg-dev fakeroot g++ g++-11 gcc gcc-11 gcc-11-base javascript-common libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl libasan6 libatomic1 libc-dev-bin libc-devtools libc6 libc6-dev libcc1-0 libcrypt-dev
libdeflate0 libdpkg-perl libexpat1-dev libfakeroot libfile-fcntllock-perl libgcc-11-dev libgd3 libgomp1 libisl23 libitm1 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore liblsan0 libmpc3 libnsl-dev libpython3-dev libpython3.10
libpython3.10-dev libpython3.10-minimal libpython3.10-stdlib libquadmath0 libstdc++-11-dev libtiff5 libtirpc-dev libtsan0 libubsan1 libwebp7 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxpm4 linux-libc-dev lto-disabled-list make manpages-dev python3-dev
python3-wheel python3.10 python3.10-dev python3.10-minimal rpcsvc-proto zlib1g-dev
..
..
..
..
# pip3 install prometheus_client
Collecting prometheus_client
Downloading prometheus_client-0.20.0-py3-none-any.whl (54 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.5/54.5 KB 1.2 MB/s eta 0:00:00
Installing collected packages: prometheus_client
Successfully installed prometheus_client-0.20.0
# pip3 -V
pip 22.0.2 from /usr/lib/python3/dist-packages/pip (python 3.10)
# python 파일 실행 (3-1example.py)
# python3 3-1-example.py
192.168.56.1 - - [09/Mar/2024 09:05:08] "GET / HTTP/1.1" 200 -
192.168.56.1 - - [09/Mar/2024 09:05:08] "GET /favicon.ico HTTP/1.1" 200 -
# python3 3-1-example.py &
# netstat -ntpa |grep LISTEN
tcp 0 0 192.168.56.128:8001 0.0.0.0:* LISTEN 3295/python3
tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 3299/python3
# ps -ef |grep python3
root 3299 1387 0 09:21 pts/0 00:00:00 python3 3-1-example.py
# 3-1-example.py 중지 또는 kill
# kill -9 3299
# 동작 확인
# python3 3-1-example.py
192.168.56.1 - - [09/Mar/2024 09:05:08] "GET / HTTP/1.1" 200 -
192.168.56.1 - - [09/Mar/2024 09:05:08] "GET /favicon.ico HTTP/1.1" 200 -
# prometheus에 clinet 추가하기
# pwd
/etc/prometheus
# ls
alertmanager console_libraries consoles ep-examples-master prometheus.yml prometheus.yml.20240225
- prometheus.yml 파일에 등록 및 prometheus 재기동 (주의 : 8000번 포트로 등록)
# vi prometheus.yml
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'example'
static_configs:
- targets: ['192.168.56.128:8000']
# systemctl restart prometheus
# systemctl status prometheus
● prometheus.service - Prometheus
Loaded: loaded (/etc/systemd/system/prometheus.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2024-03-09 09:34:02 KST; 7s ago
Main PID: 3320 (prometheus)
Tasks: 8 (limit: 2219)
Memory: 63.8M
CPU: 1.698s
CGroup: /system.slice/prometheus.service
└─3320 /usr/local/bin/prometheus --config.file /etc/prometheus/prometheus.yml --storage.tsdb.path />
- Prometheus -> Status -> Targets 에서 확인
- 192.168.56.128:8000/metrics 값 확인
- python_info 값 입력후 Execute 확인
python_info{implementation="CPython", instance="192.168.56.128:8000", job="example", major="3", minor="10", patchlevel="12", version="3.10.12"}
|
1 |
728x90
반응형
LIST
'Manage OpenSource > Prometheus - Grafana' 카테고리의 다른 글
Prometheus Third-party exporters Nvidia-docker 설치 (0) | 2024.03.09 |
---|---|
Prometheus Pushgateway 설치 (1) | 2024.03.09 |
Prometheus Alertmanager 설치 -2 (slack연결) (0) | 2024.03.03 |
Prometheus Alertmanager 설치 -1 (설치 및 rules 설정) (0) | 2024.03.02 |
Prometheus - Grafana 설치 (1) (0) | 2024.03.01 |