CHI TIẾT BÀI VIẾT

Prometheus và Grafana - Phần 1. Cài đặt Prometheus và Grafana trên CentOS

25/07/2021 3:41:26 PM | Xem: lần

Phần 1. Cài đăt Prometheus & Grafana trên CentOS

Phần 2. Cấu hình Prometheus & Grafana giám sát Windows Server

---------------------------------------------------------------------------------------------------

PHẦN 1. CÀI ĐẶT PROMETHEUS & GRAFANA TRÊN CENTOS


1. Cấu hình chung cho hệ thống trước khi bạn cài đặt Prometheus. 
1.1. Chuẩn bị một máy CentOS 7 có hai card mạng:
+NAT (DHCP)
+Lớp mạng 192.168.100.0 (đặt ip là 192.168.100.11)
 

1.2. Update linux,syn NTP linux,disable selinux
yum update –y
ntpdate 1.ro.pool.ntp.org
vim /etc/sysconfig/selinux
Change "SELINUX=enforcing” to "SELINUX=disabled”.
Lưu lại và reboot lại Centos.

1.3. Tải SSH secure để có thể copy câu lệnh vô CentOS



 
1.4. Cài iptables trên Centos 7
-Xóa firewalld
systemctl stop firewalld
systemctl disable firewalld
systemctl mask –now firewalld

 -Cài đặt iptables
yum install iptables-services –y
systemctl start iptables
systemctl enable iptables

-Mở các port sau
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9090 -j ACCEPT



2. Cài đặt Prometheus bằng Dorker
2.1. Cài đặt Dorker
-Cài đặt các gói cần thiết
yum install -y yum-utils device-mapper-persistent-data lvm2
-Cấu hình docker-ce repo
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo


-Cài đặt docker-ce
yum install docker-ce docker-ce-cli containerd.io (nếu hỏi thì cứ nhập y)
systemctl enable docker
systemctl restart docker

-Kiểm tra version
docker version

2.2. Cài đặt Go Lang
-Tải source cài đặt golang về
wget https://dl.google.com/go/go1.12.5.linux-amd64.tar.gz


-Giải nén
tar -xvzf go1.12.5.linux-amd64.tar.gz
-Start golang
mv go /usr/local
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

-Kiểm tra version và config
go version
go env

- Enable Golang run khi khởi động
vi .bashrc
Copy đoạn config vào cuối file
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

2.3. Cài đặt Prometheus với docker
- Git clone code về sau đó build image(nên dùng cách này vì có thể kiểm soát được code)
git clone https://github.com/prometheus/prometheus
cd prometheus/



+Sử dụng Go Lang để build file config của prometheus (binary)
make build

*Xuất hiện lỗi do thiếu gói yarn🡪cài đặt gói yarn
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install nodejs
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo rpm --import https://dl.yarnpkg.com/rpm/pubkey.gpg
yum install yarn
yarn --version


Gõ lại: make build


+Lỗi này là do bản golang đã cài không phù hợp🡪xóa golang vừa cài đặt và cài golang 1.13
+Xóa golang cũ
rm -rvf /usr/local/go/
+Cài đặt golang 1.13
wget https://dl.google.com/go/go1.13.3.linux-amd64.tar.gz
tar -xzf go1.13.3.linux-amd64.tar.gz
mv go /usr/local
export GOROOT=/usr/local/go
export GOPATH=$HOME/Projects/Proj1
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
go version
go env



Gõ lại: make build(mất một khoảng thời gian để build file)

 
+Sau đó sẽ xuất hiện hai file prometheus,promtool
+Sửa lại đường dẫn trong Dockerfile như hình dưới
vi Dockerfile


+ Build Image:
docker image build -t prometheus:latest



*Lỗi không có file npm_licenses.tar.bz2🡪Tạo file npm_licenses.tar.bz2
make npm_licenses



+Gõ lại: docker image build -t prometheus:latest


 
+ Run Image đã build
docker run --restart=always --mount source=prometheus-data,target=/prometheus --mount source=prometheus-config,target=/etc/prometheus --name prometheus -d -p 9090:9090 prometheus
docker ps


+Truy cập : 192.168.100.11:9090


 
8. Cài đặt grafana
+Pull image grafana về local
docker pull grafana/grafana


 
+Run image grafana
docker run --restart=always -d -p 3000:3000 grafana/grafana


+Truy cập : 192.168.100.11:3000(admin/admin)



+Connect Grafana tới prometheus



Sau đó chọn Add data source
 



TTS - Nguyễn Hữu Hiểu