[Pyroscope] 온프레미스 구성 in Linux
온프레미스 Linux에서 직접 바이너리를 받고 설정하는 방법을 정리한다.
먼저 curl로 바이너리를 다운받는다.
curl -fL https://github.com/grafana/pyroscope/releases/download/v1.0.0/pyroscope_1.0.0_linux_amd64.tar.gz | tar xvz
./pyroscope

그럼 이렇게 단일 바이너리로 떨궈준다. 비교적 편한 편이다.
그럼 바로 실행해서 사용해볼 수 있다.
systemd 데몬 등록
이것도 거의 서버처럼 다뤄야 하니, 언제든 실행이 보장되도록 구성을 해줘야 한다.
먼저 바이너리를 누구나 접근할 수 있는 절대경로에 넣어둔다. /usr/bin이 적절할 것 같다.
sudo mv ./pyroscope /usr/bin/pyroscope

pyroscope는 현재 실행경로를 기준으로 ./data에 데이터를 쌓기 때문에, 그걸 저장하기 위한 공간도 하나 마련해준다.
sudo mkdir /var/lib/pyroscope
그리고 데몬 설정파일을 만들어준다.
sudo vi /etc/systemd/system/pyroscope.service[Unit]
Description=Pyroscope
[Service]
Type=simple
Restart=on-failure
RestartSec=1
User=root
WorkingDirectory=/var/lib/pyroscope
ExecStart=/usr/bin/pyroscope
[Install]
WantedBy=network-online.target
데몬 로드만 하면 끝이다.
sudo systemctl enable --now pyroscope.service

그래서 이렇게 잘 뜨고
접속도 잘 되면 된거다.

저장되는 모니터링 데이터는 아까 만들었던 /var/lib 경로에 저장될 것이다.
너무 쌓인 경우에 디스크 정리를 하려면 별도 설정을 줘야한다. 그건 별도 포스트에 정리하겠다.
참조
https://grafana.com/docs/pyroscope/latest/get-started/
https://grafana.com/docs/pyroscope/latest/configure-server/configure-disk-storage/