Prometheus系列——Prometheus Server安裝
因為一些特殊的原因,最近更新公司的監控系統,從zabbix更換為prometheus,也剛好之前看過《prometheus監控實戰》這本書,一直沒有機會實踐,正好借此機會實戰一下。
Prometheus就不介紹了吧,網上很多我也不想去抄那些簡介了,在此推薦官網的文檔Prometheus官方文檔,或者中文的文檔推薦Prometheus中文文檔,他們寫的應該比我轉述的更牛逼。
話不多說開始安裝,現在此聲明一下,筆者安裝使用的服務器:CentOS7.6 64位,因為centos6已經稍微落伍了。
一、下載二進制包安裝Prometheus Server
本文主要介紹使用二進制的方式安裝Prometheus,這種方式比較推薦,github的release也有相應的編譯好的二進制包,下載對應的版本,就能很好的使用了。筆者安裝的環境時CentOS7.6,64位,所以我的二進制包-是:https://github.com/prometheus/prometheus/releases/download/v2.17.1/prometheus-2.17.1.linux-amd64.tar.gz
cd /usr/local/src/ wget https://github.com/prometheus/prometheus/releases/download/v2.17.1/prometheus-2.17.1.linux-amd64.tar.gz tar xzf prometheus-2.17.1.linux-amd64.tar.gz mv prometheus-2.17.1.linux-amd64 /usr/local/prometheus
二、修改配置文件
筆者將配置文件放到了/etc/prometheus 這個文件夾下面
mkdir -pv /etc/prometheus cp -a /usr/local/prometheus/prometheus.yml /etc/prometheus ##配置文件內容如下,這個是默認的配置文件,暫時先保持默認: # 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=
三、創建prometheus用戶以及創建數據存儲目錄
## 創建用戶 useradd -s /sbin/nologin -M prometheus ## 創建數據目錄 mkdir -pv /usr/local/prometheus/data ## 相關目錄賦權,因為接下來我配置prometheus啟動用戶是prometheus這個用戶 chown -R promethues.root /etc/prometheus chown -R promethues.root /usr/local/prometheus
四、啟動Prometheus服務
1、配置systemd啟動prometheus
其實prometheus啟動很簡單“/usr/local/prometheus/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data”這條命令就能啟動,但是不易管理,所以配置systemd管理,使用systemd進行啟停prometheus
# vim /etc/systemd/system/prometheus.service [Unit] Description=Prometheus Documentation=https://prometheus.io/ After=network.target [Service] Type=simple User=prometheus ExecStart=/usr/local/prometheus/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data Restart=on-failure [Install] WantedBy=multi-user.target
上面這個文件中,如果不指定storage.tsdb.path的話,這個目錄會默認配置在prometheus命令所在目錄下的data目錄中(好像我配置這個就是默認的位置,哈哈哈,就這么任性),哦,對了,為了某些不記得systemd如何啟動的同學,我羅列下使用systemd管理prometheus,
# 啟動prometheus systemctl start prometheus # 查看prometheus狀態 systemctl status prometheus # 開機啟動???或者讓prometheus成為systemd的一個服務 systemctl enable prometheus # 重啟prometheus systemctl restart prometheus # 停止prometheus systemctl stop prometheus
2、配置supervisor啟動prometheus
supervisor配置文件編寫
# vim /etc/supervisord.d/prometheus-server.ini [program:prometheus-server] # command=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data --storage.tsdb.retention=60d ; the program (relative uses PATH, can take args) numprocs=1 ; number of processes copies to start (def 1) directory=/usr/local/prometheus/ ; directory to cwd to before exec (def no cwd) autostart=true ; start at supervisord start (default: true) autorestart=true ; retstart at unexpected quit (default: true) startsecs=30 ; number of secs prog must stay running (def. 1) startretries=3 ; max # of serial start failures (default 3) exitcodes=0,2 ; 'expected' exit codes for process (default 0,2) stopsignal=QUIT ; signal used to kill process (default TERM) stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) user=root ; setuid to this UNIX account to run the program redirect_stderr=true ; redirect proc stderr to stdout (default false) stdout_logfile=/usr/local/prometheus/prometheus.stdout.log ; stderr log path, NONE for none; default AUTO stdout_logfile_maxbytes=64MB ; max # logfile bytes b4 rotation (default 50MB) stdout_logfile_backups=4 ; # of stdout logfile backups (default 10) stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) stdout_events_enabled=false ; emit events on stdout writes (default false) stopasgroup=true killasgroup=true
superviso.r方式啟動
supervisorctl update supervisorctl start prometheus-server supervisorctl stop prometheus-server
五、打開prometheus自帶的web界面
使用四中的命令啟動Prometheus,然后訪問prometheus默認端口,http://ip:9090/graph
好了,至此prometheus的server端已經完成安裝。
GitHub
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。