Tiếp tục bài viết về Prometheus, ở bài viết trước mình đã hướng dẫn bạn thực hiện cài đặt Prometheus lên CentOS 7 hoàn tất, bài viết hôm nay mình sẽ hướng dẫn bạn cấu hình thực hiện giám sát một máy chủ Linux. Hãy theo dõi và thực hiện cùng mình nhé.
Bước 1: Cài đặt Node Exporter lên máy chủ Linux
Mình sẽ cài đặt Node Exporter lên VPS cá nhân để test luôn. Bạn truy cập vào Node Exporter tại trang chủ để tải về bản mới nhất nhé.
- Tải về node_exporter từ trang chủ bằng lệnh wget
wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
- Giải nén node_exporter vừa tải về
tar -xvzf node_exporter-1.0.1.linux-amd64.tar.gz
- Tạo user cho node_exporter
useradd -rs /bin/false nodeusr
- Di chuyển node_exporter vừa giải nén vào thư mục /usr/local/bin/
mv node_exporter-1.0.1.linux-amd64/node_exporter /usr/local/bin/
Tạo file service cho node_exporter
/etc/systemd/system/node_exporter.service
Sau đó copy các đoạn mã sau và dán vào file và save lại.
[Unit] Description=Node Exporter After=network.target [Service] User=nodeusr Group=nodeusr Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target
- Reload lại daemon
systemctl daemon-reload
- Khởi động và kích hoạt dịch vụ node exporter
systemctl start node_exporter systemctl enable node_exporter systemctl status node_exporter
- Mở port trên firewall
Bạn cần mở port 9100 trên hệ thống. Nếu bạn sử dụng firewalld thì thực hiện lệnh sau như. Nếu dùng CSF thì bạn mở file cấu hình tại /etc/csf/csf.conf và thêm port 9100 vào TCP nhé, nếu không sử dụng firewall bạn có thể bỏ qua bước này.
firewall-cmd --zone=public --add-port=9100/tcp --permanent firewall-cmd --reload systemctl restart firewalld
Bây giờ bạn hãy truy cập http://IP-Address:9100/metrics để kiểm tra nhé.
Bước 2: Thêm cấu hình node exporter vào Prometheus server
Bạn ssh vào máy chủ prometheus sau đó mở file cấu hình prometheus.yml
thêm vào đoạn sau.
vi /etc/prometheus/prometheus.yml
- job_name: 'node_exporter_centos' scrape_interval: 5s static_configs: - targets: ['IP_Access_Client:9100']
Sau khi đã thêm hoàn tất bạn khởi động lại dịch vụ Prometheus
systemctl restart prometheus
Và bây giờ hãy truy cập http://Prometheus-Server-IP:9090/targets
kiểm tra và add targets
nhé. Hãy xem ảnh minh họa bên dưới của mình. Dòng State
hiện UP
là đã thành công.
Bây giờ bạn hãy click vào graph và truy vấn bất kỳ số liệu nào và click vào Execute để hiển thị.
Với ảnh ở trên mình đang thực hiện monitor memory, để monitor mysql server thì bạn cần tạo user và tải cài đặt mysqld_exporter. Để làm được việc này bạn thực hiện như sau.
Thực hiện Monitor MySQL Server bằng Prometheus
Tại máy chủ linux tarrget bạn truy cập MySQL và tạo user như sau.
CREATE USER 'mysqlexporter'@'localhost' IDENTIFIED BY 'RYHu6V1230heyHdKb' WITH max_user_connections 2;
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'mysqlexporter'@'localhost';
FLUSH PRIVILEGES;
quit;
- Sau đó tải mysqld_exporter từ trang chủ về cài đặt.
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
- Giải nén file vừa tải về
tar -xvzf mysqld_exporter-0.12.1.linux-amd64.tar.gz
- Thêm user cho mysqld_exporter
useradd -rs /bin/false mysqld_exporter
- Move mysqld_exporter đến /usr/bin
mv mysqld_exporter-0.12.1.linux-amd64/mysqld_exporter /usr/bin
- Change ownership cho file
chown mysqld_exporter:mysqld_exporter /usr/bin/mysqld_exporter
- Tạo mới một thư mục mysql_exporter trong /etc/
mkdir -p /etc/mysql_exporter
- Tạo file Password MySQL cho mysqld_exporter
Bạn dùng lệnh vi ,vim,nano tạo file .my.cnf sau đó thêm vào đoạn bên dưới.
Lưu ý: Nhập vào user/pass tương ứng mà bạn đã tạo ở bước trên.
vi /etc/mysql_exporter/.my.cnf
[client] user=mysqlexporter password=RYHu6V1230heyHdKb
Sau khi tạo xong bạn lưu lại và change owner, và permission cho file
chown -R mysqld_exporter:mysqld_exporter /etc/mysql_exporter chmod 600 /etc/mysql_exporter/.my.cnf
- Tạo file dịch vụ mysql_exporter và thêm vào đoạn sau.
vi /etc/systemd/system/mysql_exporter.service
[Unit] Description=MySQL Server fosslinux After=network.target [Service] User=mysqld_exporter Group=mysqld_exporter Type=simple ExecStart=/usr/bin/mysqld_exporter \ --config.my-cnf="/etc/mysql_exporter/.my.cnf" Restart=always [Install] WantedBy=multi-user.target
- Thực hiện reload,start lại các dịch vụ sau
systemctl daemon-reload systemctl enable mysql_exporter systemctl start mysql_exporter systemctl status mysql_exporter
Bây giờ bạn hãy truy cập vào http://Server_IP:9104/metrics
và theo dõi,
Tiếp theo bạn quay lại máy chủ Prometheus server, mở file prometheus.yml
và thêm vào các dòng sau.
vi /etc/prometheus/prometheus.yml
- job_name: 'mysql_exporter_fosslinux' scrape_interval: 5s static_configs: - targets: ['IP_Access_Client:9104']
- Thực hiện restart lại dịch vụ.
systemctl restart prometheus
Sau khi đã thêm hoàn tất, bạn truy cập http://IP:9090/target
s để kiểm tra.
Bây giờ bạn hãy truy vấn đề MySQL và theo dõi nhé. Qua bài viết này mong sẽ giúp bạn thực hiện cài đặt thiết lập cấu hình cũng như giám sát sự hoạt động của máy chủ của mình. Nếu cần hỗ rợ thêm các vấn đề nào khác hãy để lại comment bên dưới cho mình nhé.