【Prometheus專題】2. Prometheus監控組件安裝

本文檔將介紹如何在CentOS7上安裝prometheus各組件,包括prometheus本身,也有alertmanager
prometheus所在的機器配置要求也不是很高, 正常8c16g1T的機器足夠了,硬盤上需要考慮的長遠一些,你的監控數據要保留多久,我這邊四套k8s集羣(pod數量200+), 加上一些基礎資源比如zookpeer、kafka、redis的監控數據,一個月能用磁盤300G,各位在申請機器時最好申請500G+的,如果你要用prometheus監控你的node節點,最好1T+吧,因爲拉監控的歷史數據,一般都1個月起。


各位請注意,我這邊的數據盤掛載的目錄是/srv; 如果你們的數據盤不是這個,請注意替換

Prometheus

下載並安裝

下載地址: https://github.com/prometheus/prometheus/releases/download/v2.22.0/prometheus-2.22.0.linux-amd64.tar.gz

useradd -r -M -s /sbin/nologin   prometheus
mkdir -p /srv/app; mkdir -p /srv/{data,logs,backup}/prometheus
wget -c https://github.com/prometheus/prometheus/releases/download/v2.22.0/prometheus-2.22.0.linux-amd64.tar.gz
tar -zxf prometheus-2.22.0.linux-amd64.tar.gz
mv prometheus-2.22.0.linux-amd64 /srv/app/prometheus
chown -Rf prometheus:prometheus /srv/{app,data,logs,backup}/prometheus

添加服務啓動

vim /etc/systemd/system/prometheus.service 
#寫入以下內容
[Unit]
Description=Prometheus
After=network.target alertmanager.target    #如果不使用告警模塊alertmanager,可以把alertmanager.target去掉

[Service]
Type=simple
User=prometheus
ExecStart=/srv/app/prometheus/prometheus \
          --web.listen-address=localhost:9090 \
          --web.external-url=http:///prometheus \
          --web.page-title=Prometheus  \
          --config.file=/srv/app/prometheus/prometheus.yml \
          --storage.tsdb.path=/srv/data/prometheus \
          --storage.tsdb.retention=90d \
          --web.enable-lifecycle
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

啓動參數解析

  • --web.listen-address=localhost:9090 監聽地址,建議監聽本地,方便nginx代理+認證
  • --web.external-url=http:///prometheus 類似root_url; nginx代理時可以定義location
  • --web.page-title=Prometheus web界面的標題,這個根據自己的情況自定義
  • --config.file=/srv/app/prometheus/prometheus.yml 配置文件的路徑
  • --storage.tsdb.path=/srv/data/prometheus prometheus的監控數據存放目錄
  • --storage.tsdb.retention=90d 監控數據保留多少天
  • --web.enable-lifecycle 當 Prometheus 有配置文件修改,我們可以採用 Prometheus 提供的熱更新方法實現在不停服務的情況下實現配置文件的重新加載。

設置開機啓動

systemctl enable prometheus
systemctl start prometheus

Alertmanager

下載地址: https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz

下載安裝

useradd -r -M -s /sbin/nologin   alertmanager
mkdir -p /srv/{data,logs,backup}/alertmanager
wget -c https://github.com/prometheus/alertmanager/releases/download/v0.21.0/alertmanager-0.21.0.linux-amd64.tar.gz
tar -zxf alertmanager-0.21.0.linux-amd64.tar.gz
mv alertmanager-0.21.0.linux-amd64 /srv/app/alertmanager
chown -Rf alertmanager:alertmanager /srv/{app,data,logs,backup}/alertmanager

添加服務啓動

vim /etc/systemd/system/alertmanager.service 
#寫入以下內容
[Unit]
Description=Alertmanager
After=network.target

[Service]
Type=simple
User=alertmanager
ExecStart=/srv/app/alertmanager/alertmanager \
          --web.listen-address=localhost:9093 \
          --web.external-url=http://localhost/alertmanager \
          --config.file=/srv/app/alertmanager/alertmanager.yml \
          --storage.path=/srv/data/alertmanager
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

啓動參數解析

  • --web.listen-address=localhost:9093 服務監聽地址
  • --web.external-url=http://localhost/alertmanager 服務root_url
  • --config.file=/srv/app/alertmanager/alertmanager.yml 服務配置目錄
  • --storage.path=/srv/data/alertmanager 服務數據存儲目錄

設置開機自啓

systemctl enable alertmanager
systemctl start alertmanager

看到這裏你會發現並沒有服務配置上的修改就已經把服務給啓動了,其實不受影響的,默認的配置也是可以正常啓動服務的。下一篇再來講解prometheus和alertmanager的配置。

Grafana

數據庫配置

grafana比較特殊,雖然不需要外部數據庫也是能夠啓動的,但是對於講求備份來說是機器不安全和方便的;建議使用MySQL, 安裝MySQL數據庫的文檔見: https://www.cnblogs.com/DevOpsTechLab/p/13581691.html ; 我這裏就不再寫一遍了

創建需要的數據庫以及用戶並授權訪問

注意: 生產環境注意修改高強度密碼, 但是不能有特殊字符,grafana對數據庫密碼特殊字符的支持程度不高(大坑!)

mysql>create database grafana;
mysql>grant all on grafana.* to 'grafana'@'%' identified by '12345678';    

grafana下載安裝並配置

下載地址: https://dl.grafana.com/oss/release/grafana-7.2.1.linux-amd64.tar.gz

useradd -r -M -s /sbin/nologin   grafana
mkdir -p /srv/{data,logs,backup}/grafana
wget https://dl.grafana.com/oss/release/grafana-7.2.1.linux-amd64.tar.gz
tar -zxvf grafana-7.2.1.linux-amd64.tar.gz
mv grafana-7.2.1  /srv/app/grafana
chown -Rf grafana:grafana /srv/{data,logs,backup}/grafana

修改配置

vim  /srv/app/grafana/conf/defaults.ini
#修改以下配置
data = /srv/data/grafana
logs = /srv/logs/grafana
plugins = /srv/data/plugins
root_url = http:///grafana
type = mysql
host = 127.0.0.1:3306
name = grafana
user = grafana
password =12345678

添加服務啓動

vim /etc/systemd/system/grafana.service 
#寫入以下內容
[Unit]
Description=Grafana
After=network.target mysqld.target

[Service]
Type=simple
User=grafana
ExecStart=/srv/app/grafana/bin/grafana-server -homepath /srv/app/grafana
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

設置開機自啓

systemctl enable grafana
systemctl start grafana

Nginx代理以上服務

server {
         listen       80;
         server_name  localhost;
         access_log    /var/log/nginx/access.log;
         error_log       /var/log/nginx/error.log;
         location /grafana/ {
              proxy_pass         http://localhost:3000/;
              #proxy_set_header   Authorization "";     #如果訪問prometheus添加了http認證,建議增加這個配置
              proxy_set_header   Host               $host;
              proxy_set_header   X-Real-IP        $remote_addr;
              proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         }
         location /prometheus {
              proxy_pass         http://localhost:9090;
              proxy_set_header   Host                $host;
              proxy_set_header   X-Real-IP        $remote_addr;
              proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         }
         location /alertmanager {
              proxy_pass         http://localhost:9093;
              proxy_set_header   Host               $host;
              proxy_set_header   X-Real-IP        $remote_addr;
              proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
         }
}

好了,到此,全部安裝都結束了,配置上的問題,後面的篇章再講。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章