GPE監控預警系統(Grafana+Prometheus+Exporter)
GPE監控預警系統結構圖
一: Grafana
1:簡介
大規模指標數據的可視化展現,是網絡架構和應用分析中最流行的時序數據展示工具、目前已經支持絕大部分常用的時序數據庫。
Grafana支持許多不同的數據源。每個數據源都有一個特定的查詢編輯器,該編輯器定制的特性和功能是公開的特定數據來源。 官方支持以下數據源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQL和OpenTSDB等
2:安裝
linux下安裝
Step1:下載
wget https://dl.grafana.com/oss/release/grafana-6.5.1-1.x86_64.rpm
sudo yum localinstall grafana-6.5.1-1.x86_64.rpm
Step2:啟動
sudo service grafana-server start
Step3:訪問
安裝成功后瀏覽器輸入 localhost:3000 可以訪問grafana主頁,grafana默認端口3000、默認用戶名和密碼為admin/admin
Step1:下載
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.3.0.linux-amd64.tar.gz
tar -zxvf grafana-5.3.0.linux-amd64.tar.gz
Step2:啟動
cd ./grafana/bin #必須去腳本根目錄啟動
./grafana-server start # 啟動
Step3:訪問
安裝成功后瀏覽器輸入 localhost:3000 可以訪問grafana主頁,grafana默認端口3000、默認用戶名和密碼為admin/admin
windows下安裝
參考網址 https://www.jianshu.com/p/7e7e0d06709b
Step1:下載
下載地址:https://grafana.com/grafana/download?platform=windows
Step2:下載后點擊安裝即可
Step3:訪問
安裝成功后瀏覽器輸入 localhost:3000 可以訪問grafana主頁,grafana默認端口3000、默認用戶名和密碼為admin/admin
二: Prometheus
1:簡介
Prometheus是一個開源的服務監控系統,它通過HTTP協議從遠程的機器收集數據並存儲在本地的時序數據庫上
2:安裝
下載promethues 下載地址:https://prometheus.io/download/
Linux下安裝
Step1:下載
Step2:解壓重命名
tar -zxvf prometheus-2.14.0.linux-amd64.tar.gz
mv prometheus-2.14.0.linux-amd64 promethues
Step3:啟動
./prometheus
Step4:訪問
輸入ip+端口號進行訪問
windowns下安裝
Step1:下載
Step2:解壓
Step3:啟動
雙擊解壓目錄下的promethues.exe文件
Step4:訪問
查看配置文件中相應的端口號
地址欄輸入地址進行訪問、顯示如下界面則表示安裝成功
二: Exporter
1:簡介
定義
向Prometheus提供監控樣本數據的程序、Exporter的一個實例稱為target,Prometheus通過輪詢的方式定期從這些target中獲取樣本數據
來源
- 社區提供的
Prometheus社區提供了豐富的Exporter實現,涵蓋了從基礎設施,中間件以及網絡等各個方面的監控功能。這些Exporter可以實現大部分通用的監控需求。下表列舉一些社區中常用的Exporter:
范圍 | 常用Exporter |
---|---|
數據庫 | MySQL Exporter, Redis Exporter, MongoDB Exporter, MSSQL Exporter等 |
硬件 | Apcupsd Exporter,IoT Edison Exporter, IPMI Exporter, Node Exporter等 |
消息隊列 | Beanstalkd Exporter, Kafka Exporter, NSQ Exporter, RabbitMQ Exporter等 |
存儲 | Ceph Exporter, Gluster Exporter, HDFS Exporter, ScaleIO Exporter等 |
HTTP服務 | Apache Exporter, HAProxy Exporter, Nginx Exporter等 |
API服務 | AWS ECS Exporter, Docker Cloud Exporter, Docker Hub Exporter, GitHub Exporter等 |
日志 | Fluentd Exporter, Grok Exporter等 |
監控系統 | Collectd Exporter, Graphite Exporter, InfluxDB Exporter, Nagios Exporter, SNMP Exporter等 |
其它 | Blockbox Exporter, JIRA Exporter, Jenkins Exporter, Confluence Exporter等 |
- 用戶自定義的
除了直接使用社區提供的Exporter程序以外,用戶還可以基於Prometheus提供的Client Library創建自己的Exporter程序,目前Promthues社區官方提供了對以下編程語言的支持:Go、Java/Scala、Python、Ruby。同時還有第三方實現的如:Bash、C++、Common Lisp、Erlang,、Haskeel、Lua、Node.js、PHP、Rust等。
2:安裝
以mysqld exporter 為例--此處只演示windows下的安裝,linux下類同。
-
Step1:下載
地址:https://prometheus.io/download/
-
Step2:解壓+新建配置文件
解壓后在當前目錄新建.my.conf的文件,進行如下配置:[client] host=127.0.0.1 user=test //此為mysql_exporter連接mysql需要用到的用戶,自己設置 password=test
-
Step3:mysql數據庫用戶名配置
在mysql數據庫種新增剛設置的用戶名和密碼並賦予相應的權限create user 'exporter'@'localhost' identified by '123456'; GRANT REPLICATION CLIENT, PROCESS ON *.* TO 'exporter'@'localhost'; GRANT SELECT ON performance_schema.* TO 'exporter'@'localhost'; ALTER USER exporter@localhost IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges;
-
Step4:命令行啟動
進入mysqld_exporter解壓目錄,命令行鍵入如下語句即可啟動成功mysqld_exporter --config.my-cnf=.my.cnf
- Step5:訪問地址
地址欄輸入地址http://127.0.0.1:9104/metrics顯示如下圖則說明安裝成功