Grafana、Prometheus-監控平臺

 一:Grafana 簡介與部署

安利一個生產環境正在使用的監控和告警平臺:grafana,它是一個開源的可對指標和日誌進行查詢、可視化和告警的平臺。

docker 安裝官方文檔:https://grafana.com/docs/grafana/latest/administration/configure-docker/

# 創建持久化目錄
cd /root/data/docker
mkdir -p grafana/data
mkdir -p grafana/logs
# 將修改後的配置文件放在指定的目錄
cp grafana.ini grafana/
# 修改目錄權限,docker方式啓動grafana使用的uid和gid爲472
chown 472:472 grafana/data -R
# 啓動容器
docker run -d \
-p 3000:3000 \
--name=grafana \
-v /root/data/docker/grafana/data:/var/lib/grafana \
-v /root/data/docker/grafana/logs:/var/log/grafana \
-v /root/data/docker/grafana/grafana.ini:/etc/grafana/grafana.ini \
--restart=always \
grafana/grafana:7.2.1

注意:需要將 grafana.ini 文件中的domain改爲服務器的外網ip,否則告警通知鏈接的host是localhost

環境地址:http://ip:3000/login

初始用戶名/密碼爲admin/admin

 

二:Influxdb安裝

InfluxDB是一個由InfluxData開發的開源時序型數據。它由Go寫成,着力於高性能地查詢與存儲時序型數據。InfluxDB被廣泛應用於存儲系統的監控數據,IoT行業的實時數據等場景。

 

官方文檔:https://hub.docker.com/_/influxdb

# 創建持久化目錄
cd /root/data/docker
mkdir -p influxdb
# 啓動容器
docker run -d \
-p 8086:8086 \
--name=influxdb \
-v /root/data/docker/influxdb:/var/lib/influxdb \
--restart=always \
influxdb:1.8

初始化數據庫:

# 啓動influxdb客戶端
docker exec -it influxdb influx
# 創建數據庫,數據ttl 2周
CREATE DATABASE "test" WITH DURATION 2w REPLICATION 1 NAME "default";

  

三:Prometheus及exporter安裝

官方網址:https://prometheus.io

# 拉取鏡像
docker pull prom/prometheus
# 創建配置文件
mkdir -p /root/data/docker/prometheus
cd /root/data/docker/prometheus
# 配置文件內容見附件, 將裏面的ip改爲服務器的ip
vim prometheus-config.yml
# 啓動
docker run --name prometheus --restart=always -d -p 9090:9090 \
-v /root/data/docker/prometheus/prometheus-config.yml:/etc/prometheus/prometheus.yml \
prom/prometheus --config.file=/etc/prometheus/prometheus.yml

在grafana配置數據源

 

下面用prometheus監控服務器:

vim prometheus-config.yml
# 全局配置
global:

  scrape_interval:     15s

  evaluation_interval: 15s

scrape_configs:

  # 監控服務器

  - job_name: 'server'  

    static_configs:

    - targets: ['內網ip:9100']

安裝:

# 下載安裝包
mkdir -p /root/data/monitor
cd /root/data/monitor
wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-amd64.tar.gz
tar zxvf node_exporter-1.1.2.linux-amd64.tar.gz
# 配置系統級的啓動命令
cd /etc/systemd/system/
# 內容見下面
vim node_exporter.service
systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporte

node_exporter.service的內容如下:

[Unit]
Description=Node Exporter
Wants=network-online.target
After=network-online.target

[Service]
User=root
ExecStart=/root/data/monitor/node_exporter-1.1.2.linux-amd64/node_exporter

[Install]
WantedBy=default.target

配置:

 

 

 11074:https://grafana.com/grafana/dashboards/11074,其實就是官方和社區構建的儀表板。

 最終效果:

 

 Grafana、Prometheus、influxdb三者相輔相成,不僅可以快速幫我們構建系統級別的監控,還能快速的導入服務器、數據庫等其他常用基建的儀表盤,

同事又支持精緻化的業務打點與告警規則的配置。

 

 

 

 

 

 

 

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