監控神器-普羅米修斯Prometheus的安裝


搬磚黨的福音:普羅米修斯-監控神器

功能:

  • 在業務層用作埋點系統

Prometheus支持多種語言(Go,java,python,ruby官方提供客戶端,其他語言有第三方開源客戶端)。我們可以通過客戶端方面的對核心業務進行埋點。如下單流程、添加購物車流程。

  • 在應用層用作應用監控系統

一些主流應用可以通過官方或第三方的導出器,來對這些應用做核心指標的收集。如redis,mysql

  • 在系統層用作系統監控
    除了常用軟件, prometheus也有相關系統層和網絡層exporter,用以監控服務器或網絡。
  • 集成其他的監控
    prometheus還可以通過各種exporte,集成其他的監控系統,收集監控數據,如AWS CloudWatch,JMX,Pingdom等等

Prometheus架構:

prometheus是一個用Go編寫的時序數據庫,可以支持多種語言客戶端,架構如下:

 

下面說一下這個開源軟件的安裝實踐過程,目標如下:

  1. 安裝go 語言環境
  2. 在監控服務器上安裝prometheus
  3. 在被監控環境上安裝export
  4. 安裝grafana

 

具體安裝過程如下:

步驟1:安裝go 語言環境

由於Prometheus 是用golang開發的,所以首先安裝一個go環境,Go語言是跨平台,支持Windows、Linux、Mac OS X等系統,還提供有源碼,可編譯安裝

Windows :go1.8.3.windows-amd64.msi (78MB)

Linux :go1.8.3.linux-amd64.tar.gz (86MB)

Mac :go1.8.3.darwin-amd64.tar.gz (85MB)   (推薦)

Source: go1.8.3.src.tar.gz (15MB)

由於國內需要翻牆:所以我是通過某些國內資源下載的:https://download.csdn.net/download/cuipuke/10048498

下載后,上傳到要部署的服務器(部署服務器和外網隔離,所以轉了一道)。解壓縮然后修改配置文件

[root@archive soft]# tar -C /usr/local -xzf go1.8.3.linux-amd64.tar.gz

[root@archive soft]# vim  /etc/profile

在文件的最后添加如下內容:

export PATH=$PATH:/usr/local/go/bin

保存退出后,接着讓配置文件立刻生效:

[root@archive aiops]# source  /etc/profile

驗證一下是否成功,用go version 來驗證

[root@archive aiops]# go  version

go version go1.8.3 linux/amd64

步驟2:在監控服務器上安裝prometheus

開始安裝prometheus,首先先去官網下載對應系統的版本:https://prometheus.io/download/,如下圖:

下載后上傳到部署的服務器,在服務上執行如下命令解壓(root用戶,解壓到 /usr/local):

tar  -vxf  prometheus-2.3.2.linux-amd64.tar.gz  -C /usr/local/

為了以后進入目錄方便,做了一個軟連接:

ln  -sv  /usr/local/prometheus-2.3.2.linux-amd64/  /usr/local/Prometheus

接着要配置一下監控的配置文件:prometheus.yml

 

配置完成后,只需要運行起來這個軟件:

[root@archive prometheus]# ./prometheus

 

通過如下URL可以打開prometheus的自帶監控界面: IP:9090,點擊targets 跳轉到監控目標,這里展現了多個監控對象。紅框的表示部署的prometheus

 

說明:上圖中117 顯示藍色是因為,117已經安裝了export,其他未安裝的顯示為紅色。

步驟3:在系統層用作系統監控exporter

以在159這台主機為例,安裝exporter ,這台linux環境是centos,因此用的監控export是node_exporter-0.16.0.linux-amd64.tar.gz  ,首先在官網下載這個文件,然后上傳到被監控的主機(作為部署服務的主機上也需要安裝 export),因此下載並部署后,執行如下命令:

tar xvf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/

nohup /usr/local/node_exporter-0.16.0.linux-amd64/node_exporter &

執行后,我們回到prometheus查看監控目標,可以看到159主機也顯示為藍色了。

啟動后,可以看到159主機已經變成藍色,正常up 狀態。其他幾台116,117,118 主機也通過先安裝go環境,再安裝export的方式,進行監控起來。

         接下來說一下oracle主機115的監控,Oracle的監控,需要用到第三方寫的export。prometheus是開源軟件提供了多種語言支持,因此有很多第三方的exporter實現,https://prometheus.io/docs/instrumenting/exporters/ 官網這里有介紹一些第三方的鏈接:

 

 

通過這個可以找oracle的第三方exporter,這是一個git工程https://github.com/iamseth/oracledb_exporter

 

 

這里面,找到

通過releases找到適合自己的版本,我直接用的是二進制文件,圖中執行這里標紅色,參數語法有問題,具體應該如下:

        ./oracledb_exporter.linux-amd64 -log.level error -web.listen-address IP:9161

下面看一下具體情況:

上傳下面文件到部署的服務器(需要有安裝oracle客戶端,這樣才能連的上數據庫,這里因為已經安裝了oracle客戶端,略了客戶端安裝)

 [oracle@localhost soft]$ ls  -ltr

總用量 93296

-rw-r--r-- 1 oracle dba 90029041 9月   5 13:57 go1.8.3.linux-amd64.tar.gz

-rwxr-xr-x 1 oracle dba  5502288 9月   5 13:57 oracledb_exporter.linux-amd64

1、首先安裝go 環境,與上面相同,這里略過

2、接着將二進制文件運行起來,步驟如下:

修改執行權限

[root@localhost soft]# chmod +x  oracledb_exporter.linux-amd64

再設置執行的環境變量,命令行直接執行如下命令export:

export DATA_SOURCE_NAME=用戶名/密碼@ 數據庫服務名

啟動服務

./oracledb_exporter.linux-amd64 -log.level error -web.listen-address IP:9161

 

步驟4:給prometheus換一個面板

下面給監控換一個dashboard,這里用的是grafana,下載地址https://grafana.com/grafana/download

如果部署的服務器可以聯網可以直接執行下面命令:

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.3-1.x86_64.rpm 
sudo yum localinstall grafana-5.2.3-1.x86_64.rpm 

如果不能,只能先下載再部署。rpm包的安裝也很簡單,執行如下命令

[root@archive soft]# rpm  -i  grafana-5.2.3-1.x86_64.rpm

接着把grafana加入到系統服務,將服務啟動

[root@archive soft]# sudo /sbin/chkconfig --add grafana-server

[root@archive soft]#  sudo service grafana-server start

Starting Grafana Server: ...

啟動后,打開如下URL,端口采用默認的3000,http://10.1.4.159:3000/

 

輸入默認的admin/admin

進去后會要求修改密碼,然后點擊add datasource,選中 Prometheus 2.0 Stats后,就可以呈現如下的監控面板了:

有同事說比較丑。好吧,美丑自在人心,哈哈。

 


免責聲明!

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



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