【運維】普羅米修斯監控平台


 

視頻參考:

https://www.bilibili.com/video/BV16J411z7SQ

 

一、平台安裝

Prometheus 官網下載地址:

https://prometheus.io/download/

 

安裝Prometheus

cd /opt
tar -zxvf prometheus-2.5.0.linux-amd64.tar.gz

直接啟動

nohup /opt/prometheus-2.5.0.linux-amd64/prometheus --config.file="/opt/prometheus-2.5.0.linux-amd64/prometheus.yml" &

 

訪問平台主頁:

http://localhost:9090/

 

二、監控其他機器:

在被監控的機器上安裝Node_exporter節點導出器組件

tar -zxvf node_exporter-0.16.0.linux-amd64.tar.gz

直接啟動即可

nohup /root/node_exporter-0.16.0.linux-amd64/node_exporter &

查看端口是否為監聽狀態

[root@centos6-3 node_exporter-0.16.0.linux-amd64]# lsof -i:9100
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node_expo 3050 root    3u  IPv6  16461      0t0  TCP *:jetdirect (LISTEN)


# 如果是這樣. 執行命令安裝 yum install -y lsof 
[root@centos6-3 node_exporter-0.16.0.linux-amd64]# lsof -i:9100
-bash: lsof: command not found

 

通過此被監控機的地址訪問被收集的信息:

http://centos6-3:9100/metrics

 

回到監控平台所在機器,增加配置項

vim /opt/prometheus-2.5.0.linux-amd64/prometheus.yml

下面高亮標識的是增加項,其余是平台默認設置

注意配置參數要和默認的對齊,否則yml解析異常,平台無法啟動

# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']


 - job_name: 'agent1' # 取一個job名稱來代 表被監控的機器    static_configs: - targets: ['centos6-3:9100'] # 這里改成被監控機器 的IP,后面端口接9100

 

中止正在執行的平台進程

pkill prometheus

檢查是否成功中止

lsof -i:9090

然后重啟,並再次檢查

nohup /opt/prometheus-2.5.0.linux-amd64/prometheus --config.file="/opt/prometheus-2.5.0.linux-amd64/prometheus.yml" & 

檢查是否成功運行

[root@centos6-2 prometheus-2.5.0.linux-amd64]# lsof -i:9090
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
prometheu 3822 root    6u  IPv6  18775      0t0  TCP *:websm (LISTEN)
prometheu 3822 root    7u  IPv4  18777      0t0  TCP localhost:33806->localhost:websm (ESTABLISHED)
prometheu 3822 root    9u  IPv6  18778      0t0  TCP localhost:websm->localhost:33806 (ESTABLISHED)
prometheu 3822 root   10u  IPv6  18793      0t0  TCP localhost:39398->localhost:websm (ESTABLISHED)
prometheu 3822 root   11u  IPv6  18794      0t0  TCP localhost:websm->localhost:39398 (ESTABLISHED)
[root@centos6-2 prometheus-2.5.0.linux-amd64]# 

 

平台訪問后會多出被監控機器的信息:

http://centos6-2:9090/targets

 

三、監控MYSQL

在被監控的機器上安裝 mysqld_exporter

[root@centos6-1 ~]# tar -zxvf mysqld_exporter-0.11.0.linux-amd64.tar.gz
mysqld_exporter-0.11.0.linux-amd64/
mysqld_exporter-0.11.0.linux-amd64/NOTICE
mysqld_exporter-0.11.0.linux-amd64/LICENSE
mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter

 

在MYSQL數據庫中創建一個授權用戶

GRANT SELECT,REPLICATION CLIENT,PROCESS 
ON *.* TO 'mysql_monitor'@'locahost'
IDENTIFIED BY '123456';
(注意:授權ip為localhost,因為不是prometheus服務器來直接找mariadb 獲取數據,
而是prometheus服務器找mysql_exporter,mysql_exporter 再找mariadb。
所以這個localhost是指的mysql_exporter的IP)

5.7.36 對用戶管理嚴格了,需要前行配置:

SET GLOBAL VALIDATE_PASSWORD_POLICY = LOW;
SET GLOBAL VALIDATE_PASSWORD_LENGTH = 6; 

然后別忘記刷新權限:

FLUSH PRIVILEGES;

 

回到mysqld_exporter,配置上授權用戶的賬號信息

vim /root/mysqld_exporter-0.11.0.linux-amd64/.my.cnf

添加信息:

[client]
user=mysql_monitor
password=123456

 

啟動mysqld_exporter,檢查是否成功運行:

[root@centos6-1 mysqld_exporter-0.11.0.linux-amd64]# nohup /root/mysqld_exporter-0.11.0.linux-amd64/mysqld_exporter --config.my-cnf="/root/mysqld_exporter-0.11.0.linux-amd64/.my.cnf" &
[1] 4449
[root@centos6-1 mysqld_exporter-0.11.0.linux-amd64]# nohup: 忽略輸入並把輸出追加到"nohup.out"

[root@centos6-1 mysqld_exporter-0.11.0.linux-amd64]# lsof -i:9104
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mysqld_ex 4449 root    3u  IPv6  17725      0t0  TCP *:peerwire (LISTEN)

 

回到監控平台的主機,增加mysqld_exporter對應的配置項:

vim /opt/prometheus-2.5.0.linux-amd64/prometheus.yml

# 配置參數項
  - job_name: 'agent_mysql5.7.36' # 取一個job名稱來代 表被監控的機器 
    static_configs:
    - targets: ['centos6-1:9104'] # 這里改成被監控機器 的IP,后面端口接9100

 

重啟平台:

[root@centos6-2 prometheus-2.5.0.linux-amd64]# pkill prometheus
[root@centos6-2 prometheus-2.5.0.linux-amd64]# nohup /opt/prometheus-2.5.0.linux-amd64/prometheus --config.file="/opt/prometheus-2.5.0.linux-amd64/prometheus.yml" &
[2] 4699
[1]   Done                    nohup /opt/prometheus-2.5.0.linux-amd64/prometheus --config.file="/opt/prometheus-2.5.0.linux-amd64/prometheus.yml"
[root@centos6-2 prometheus-2.5.0.linux-amd64]# nohup: 忽略輸入並把輸出追加到"nohup.out"

[root@centos6-2 prometheus-2.5.0.linux-amd64]# lsof -i:9090
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
prometheu 4699 root    5u  IPv6  20328      0t0  TCP *:websm (LISTEN)
prometheu 4699 root    7u  IPv4  20330      0t0  TCP localhost:34188->localhost:websm (ESTABLISHED)
prometheu 4699 root    8u  IPv6  20331      0t0  TCP localhost:websm->localhost:34188 (ESTABLISHED)
[root@centos6-2 prometheus-2.5.0.linux-amd64]# 

刷新一下Target頁面就有了對應的監控信息:

 

 

四、Grafana可視化工具

安裝Grafana

命令執行發現安裝失敗,缺少依賴:

[root@centos6-3 ~]# rpm -ivh grafana-5.3.4-1.x86_64.rpm
warning: grafana-5.3.4-1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 24098cb6: NOKEY
error: Failed dependencies:
    urw-fonts is needed by grafana-5.3.4-1.x86_64
[root@centos6-3 ~]# 

 

可以直接使用yum安裝此依賴

sudo yum install -y  urw-fonts

 

然后可以了

[root@centos6-3 ~]# rpm -ivh grafana-5.3.4-1.x86_64.rpm
warning: grafana-5.3.4-1.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 24098cb6: NOKEY
Preparing...                ########################################### [100%]
   1:grafana                ########################################### [100%]
### NOT starting grafana-server by default on bootup, please execute
 sudo /sbin/chkconfig --add grafana-server
### In order to start grafana-server, execute
 sudo service grafana-server start
POSTTRANS: Running script
[root@centos6-3 ~]# 

 

自啟動grafana 和 開啟grafana

# centos7
systemctl start grafana-server
systemctl enable grafana-server

# centos6
service grafana-server start 
chkconfig grafana-server

 

檢查是否運行

[root@centos6-3 ~]# lsof -i:3000
COMMAND    PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
grafana-s 5160 grafana   10u  IPv6  22936      0t0  TCP *:hbci (LISTEN)

 

訪問平台頁面:

賬號信息 admin / admin

http://centos6-3:3000/login

 

數據源設置項:

 

側邊欄導航篩選

 

 

五、Grafana監控MySQL數據庫

編輯配置文件:

vim /etc/grafana/grafana.ini

在最下面添加配置項:

[dashboards.json] 
enabled = true 
path = /var/lib/grafana/dashboards

 

切換到這個目錄下,通過GIT拉取dashboard

# 如果沒有git執行此命令安裝
yum install git -y

# 切換到lib/grafana下面拉取
cd /var/lib/grafana/ 
git clone https://github.com/percona/grafana-dashboards.git

# 然后重命名
cp -r grafana-dashboards/dashboards/ /var/lib/grafana/

# 重啟服務
service grafana-server restart

我發現直接拉倉庫很慢,改在本機win中拉取了也不行

這個辦法可行,在Gitee上搬Github庫,再從Gitee上面拉取

https://blog.csdn.net/qq_26736193/article/details/105387507

 

 

回到grafana的面板,創建新面板時使用【導入】

 

使用JSON文件進行導入:

這里和教程的說的不太一樣,Grafana已經分別用目錄存放了,文件也改名了

 

導入發現報錯,沒有數據源:

回到數據源這里,改回默認的Prometheus

 

發現模板對不上號,換用了,顯示算正常了,但是沒有數據

https://blog.csdn.net/qq_40460909/article/details/81386666

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM