Graphite 는 기본적으로 Unix Base 의 환경에서 구축해야 한다.
왜냐하면 윈도우는 체계가 다른 Regular Expression 시스템을 사용하기 때문에
여러가지 문제가 발생할 수 있다.
여기에서는 Ubuntu 에서 Graphite 를 설치하는 방법에 대해서 알아보도록 하자.
포트 열기
먼저 StatsD 클라이언트가 8125 번 포트를 통해 데이터를 전송하므로 해당 포트를 열어놓는다.
그리고 웹 기반으로 동작하므로
80 (HTTP) , 443 (HTTPS) , 8125 (StatsD) 가 모두 정상적으로 열렸는지 확인하자.
$ ufw allow 8125/tcp
$ ufw status
|
우분투 업데이트 및 업그레이드
다음으로 우분투를 업그레이드 한 다음 재부팅한다.
#패키지 레포지토리 업데이트
$ sudo rm -rf /var/lib/apt/lists/*
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo reboot
|
컴포넌트 설치
필요한 컴포넌트는 아래와 같다.
그리고 여기서는 Graphite 의 DB 로 MySql 을 사용하기로 한다.
모두 차례대로 설치하자.
$ sudo apt-get install mysql-server
$ sudo apt-get install python-mysqldb
$ sudo apt-get install python-pymysql
$ sudo apt-get install graphite-web
$ sudo apt-get install graphite-carbon
$ sudo apt-get install apache2
$ sudo apt-get install libapache2-mod-wsgi
$ sudo apt-get install apt-transport-https
|
MySql 유저와 데이터베이스 생성
MySql 에 'graphite' 라는 이름의 유저와 데이터베이스 생성한다.
$ sudo mysql -p
> CREATE USER 'graphite'@'localhost' IDENTIFIED BY 'password';
> CREATE DATABASE IF NOT EXISTS `graphite` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON `graphite`.* TO 'graphite'@'localhost';
> quit;
|
Graphite Configuration
local_settings.py 파일을 열어 다음의 내용을 수정한다.
먼저 SECRET_KEY 를 찾아서 적당히 긴 랜덤 스트링 값으로 셋팅해 준다.
그리고 TIME_ZONE 을 찾아서 '지역/도시이름' 으로 Time Zone 을 설정한다.
마지막으로 DB 접근 Config 를 셋팅한다.
MySql 의 default port 는 3306 이며 user/password 는 앞서 생성한 graphite 를 사용하면 된다.
$ sudo nano /etc/graphite/local_settings.py
SECRET_KEY = 'electric_cloud_rules'
TIME_ZONE = 'Asia/Seoul'
DATABASES = {
'default': {
'NAME': 'graphite',
'ENGINE': 'django.db.backends.mysql',
'USER': 'graphite',
'PASSWORD': 'password',
'HOST': '127.0.0.1',
'PORT': '3306',
'STORAGE_ENGINE': 'INNODB'
}
}
마지막으로 graphite 와 MySql 서버간에 동기화 하는 명령을 수행한다.
보통 첫번째 동기화 명령에서 실패하기 때문에 두번 실행해야 한다.
$ sudo graphite-manage syncdb
$ sudo graphite-manage syncdb
|
\Enable caching in Carbon
graphite-carbon 파일을 열어 카본 캐시 사용설정을 true 로 하고
카본 캐칭 서비스를 시작한다.
$ sudo nano /etc/default/graphite-carbon
CARBON_CACHE_ENABLED=true
이후 Ctrl + O 버튼으로 파일 저장후 Ctrl+X 로 nano 를 빠져나온다.
$ sudo systemctl start carbon-cache
|
Graphite Web 설정
통상 아래와 같은 방법으로 아파치의 시작 페이지를 수정하여 웹 서비스를 실행시킨다.
nano 사용후 저장후 종료한다. (Ctrl + O, Ctrl + X)
아파치의 시작 페이지를 비활성화 한다.
$ sudo a2dissite 000-default
Graphite 의 시작 페이지를 apache2 에 설정한다.
$ sudo cp /usr/share/graphite-web/apache2-graphite.conf /etc/apache2/sites-available
Graphite 의 포트를 8888 로 수정수정한다.
$ sudo nano /etc/apache2/sites-available/apache2-graphite.conf
<VirtualHost *:8888>
$ sudo nano /etc/apache2/ports.conf
Listen 80
Listen 8888
아파치의 시작 페이지를 활성화 하는데 앞서 cp 한 페이지로 활성화 한다.
$ sudo a2ensite apache2-graphite
아파치 서비스를 재시작한다.
$ sudo systemctl restart apache2
|
Graphite Web 시작
서비스가 동작하는지 동일한 네트워크 대역의 다른 PC 를 사용해 해당 웹으로 접근해 본다.
http://IP_ADDRESS:8888
'Monitoring > Grapana+Graphite+Statd' 카테고리의 다른 글
06. Install Grafana (0) | 2020.01.22 |
---|---|
05. Install StatsD (0) | 2020.01.22 |
03. StatsD (0) | 2020.01.22 |
02. Graphite (0) | 2020.01.22 |
01. Grafana (0) | 2020.01.22 |