docker安裝、部署、漢化監控服務grafana+prometheus

在docker上部署springcloud項目 https://www.jianshu.com/p/3f385c0a4af3
 
打包springcloud項目的時候需要到父工程下的lifecycle(lifecycle是maven中一個十分完善的生命週期模型,所以使用Lifecycle中的install項目就會自動去maven倉庫下載需要的包)
下完成clean、compile、deploy的操作纔可
 
uname -a 查看內核版本
yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-17.12.1.ce
systemctl start docker
systemctl enable docker
docker version
 
 
 
2.安裝wget命令 yum -y install wget
c.centos安裝maven3.0  https://www.cnblogs.com/jikexianfeng/p/8454644.html  注意下載地址需要到官網上找: http://maven.apache.org/download.cgi
 
 
3.docker安裝prometheus和grafana
a.下載鏡像包
docker pull prom/node-exporter
docker pull prom/prometheus
docker pull grafana/grafana
 
 
b.啓動node exporter(這個是監聽機器的服務
docker run -d -p 9100:9100 \
  -v "/proc:/host/proc:ro" \
  -v "/sys:/host/sys:ro" \
  -v "/:/rootfs:ro" \
  --net="host" \
  prom/node-exporter
 
查看服務是否正常啓動curl http://localhost:9100/metrics
如果在prometheus中發現此服務不能連接,請關閉防火牆再試
iptables -F
c.查看端口是否已經啓動
netstat -anpt
 
d.新建目錄prometheus,編輯配置文件prometheus.yml  (主要是配置請求url路徑和數據採集地址)
 
mkdir /opt/prometheus
cd /opt/prometheus/
vim prometheus.yml
 
 
 
e.啓動prometheus
docker run -d --restart="always" \
-p 9090:9090 \
-v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
 
個人打包鏡像執行命令
docker run --name prometheus -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prometheus
 
 
訪問prometheus服務
http://192.168.91.132:9090/targets
 
f.啓動grafana
新建空文件夾grafana-storage,用來存儲數據
mkdir /opt/grafana-storage
設置權限
chmod 777 -R /opt/grafana-storage
因爲grafana用戶會在這個目錄寫入文件,直接設置777,比較簡單粗暴!
啓動grafana
 
docker run -d \
-p 3000:3000 \
--name=grafana \
-v /opt/grafana-storage:/var/lib/grafana \
-v /opt/grafana-public:/usr/share/grafana/public \
-v /opt/grafana-conf:/usr/share/grafana/conf \
grafana/grafana
 
-v的命令是將grafana的conf文件和前端public文件持久化到外部linux上
測試自己打包的docker命令
docker run -d \
-p 3000:3000 \
--name=grafana \
-v /opt/grafana-storage:/var/lib/grafana \
-v /opt/grafana-public:/usr/share/grafana/public \
-v /opt/grafana-conf:/usr/share/grafana/conf \
grafana
 
docker-compose方式 部署其它監控服務yml配置(prometheus+grafana,與上面的docker run是一樣的效果)
 
 
version: '2'
 
 
services:
    prometheus:
        image: prometheus
        container_name: prometheus
        hostname: prometheus
        restart: always
        volumes:
            - /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
        ports:
            - "9090:9090"
        networks:
            - monitor
 
 
    grafana:
        image: grafana
        container_name: grafana
        hostname: grafana
        restart: always
        ports:
            - "3000:3000"
        volumes:
            - /opt/grafana-storage:/var/lib/grafana  
            - /opt/grafana-public:/usr/share/grafana/public  
            - /opt/grafana-conf:/usr/share/grafana/conf
        networks:
            - monitor
networks:
    monitor:
        driver: bridge
4.漢化grafana
 
下載漢化代碼,網上一堆
 
執行腳本
npm install --global --production windows-build-tools
npm build 不行的話用npm run-script build
 
如果需要在自己windows電腦上運行執行
npm install -g yarn ;  yarn install ; yarn start
 
常見異常:
  • 如果npm run-script build的時候報錯Warning: Task "exec:webpack" failed. Use --force to continue.可以嘗試用npm start run 同樣會打包好的
進入到linux服務器
 
查看grafana docker服務名稱
docker ps 查看正在運行中的容器  docker ps -a 查看所有的
如果發現容器沒有起來則通過docker ps -a查詢出所有的如下:
然後再通過docker start grafana啓動,停止則是docker stop grafana,移除容器則是docker rm grafana
進入docker容器
以管理員權限進入 的命令格式 docker exec -ti -u root 容器id(以上截圖裏的container id)  /bin/bash  或者/bin/sh
如果要退出輸入exit
 
進入到/usr/share/grafana會看到如下文件
 
接下來把public備份成public2然後從外部拷貝public進來
 
mv public public2
拷貝外部文件 docker cp /opt/zch/public grafana:/usr/share/grafana
然後重啓docker服務
退出到linux中exit
docker stop grafana
docker start grafana
 
 
然後訪問 http://192.168.19.130:3000/?orgId=1就發現已經漢化好了
 
 
5.郵件發送和報警功能設置需要先配置smtp郵件服務器
進入到docker修改grafanadefault.ini的配置,如下【在此採用的qq郵箱作爲服務器】:
[smtp]
enabled = true
host = 必填,qq郵箱裏的host
user =  必填
password = qq郵箱裏面的key
cert_file =
key_file =
skip_verify = false
from_address =  必填
from_name =  必填
ehlo_identity =
 
 
 password【這個是qq郵箱中的smtp的授權碼】
然後就是儀表板的界面配置了:
a.http://localhost:3333/alerting/notifications頁面配置通知頻道然後配置郵件地址即可,就會產生一條通知頻道的配置
b.dashboard儀表板中條件規則然後配置alert發送目的地以及信息即可,當數據滿足此條件就會發送郵件到以上配置的通知頻道中的地址了,
同時在alert rules也會產生一條報警
 

linux上配置郵件服務器
 
 
遠程拉取鏡像
docker pull beginor/gitlab-ce:11.0.1-ce.0
 
 
創建配置或數據的映射目錄
mkdir -p /opt/gitlab/etc
mkdir -p /opt/gitlab/log
mkdir -p /opt/gitlab/data
 
 
運行容器
docker run \
    --detach \
    --publish 8443:443 \
    --publish 8090:8082 \
    --name gitlab \
    --restart unless-stopped \
    -v /opt/gitlab/etc:/etc/gitlab \
    -v /opt/gitlab/log:/var/log/gitlab \
    -v /opt/gitlab/data:/var/opt/gitlab \
    beginor/gitlab-ce:11.0.1-ce.0
 
 
配置gitlab主機名
vi /opt/gitlab/etc/gitlab.rb
將external_url 後面的值設爲'http://ip'
修改ip的配置 vi /opt/gitlab/data/gitlab-rails/etc/gitlab.yml
如果端口被佔用vi /opt/gitlab/etc/gitlab.rb文件  將裏面的unicorn的nginx地址配置端口進行修改
 
進入鏡像docker exec -ti gitlab /bin/bash
配置完後嘗試訪問
http://ip:8090
 
6.springcloud引入prometheus的依賴和相關配置
啓動springcloud服務
 
7.修改linux系統中的prometheus.yml的配置地址爲所起springcloud服務地址
 
8.grafana頁面上進行相關的操作,設置數據源
 
配置prometheus地址
 
由於docker有映射端口問題所以直接選擇Browser吧
 
導入儀表板
 
然後上傳json文件即可(注意json中的datasource必須與你新建的一樣,否則需要到儀表板上全部重新配置
 
對於grafana具體細節的操作還請自行百度
 
 
/var/lib/grafana/plugins
端口有9100 9090 3000
 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章