본문 바로가기

Monitoring/Grapana+Graphite+Statd

04. Install Graphite

 
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