在docker上部署springcloud项目 https://www.jianshu.com/p/3f385c0a4af3
grafana操作最全文档 http://www.doc88.com/p-4039177469210.html
1.在linux上安装docker https://www.cnblogs.com/qgc1995/archive/2018/08/29/9553572.html
打包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中发现此服务不能连接,请关闭防火墙再试
c.查看端口是否已经启动
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
下载汉化代码,网上一堆
安装nodejs安装npm https://blog.csdn.net/u011342720/article/details/81267908
执行脚本
npm install --global --production windows-build-tools
npm build 不行的话用npm run-script build
如果需要在自己windows电脑上运行执行
npm install -g yarn ; yarn install ; yarn start
常见异常:
进入到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
邮件服务器
参考文档: http://www.imooc.com/article/73338 https://blog.csdn.net/u012013791/article/details/79522920
进入到docker
修改
grafana
的
default.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
也会产生一条报警
l
inux上配置邮件服务器
参考文档: https://www.cnblogs.com/zuxing/articles/9329152.html
远程拉取镜像
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的依赖和相关配置
项目搭建参考文档【 https://www.cnblogs.com/dalaoyang/p/10508817.html
】
启动springcloud服务
7.修改linux系统中的prometheus.yml的配置地址为所起springcloud服务地址
8.grafana页面上进行相关的操作,设置数据源
配置prometheus地址
由于docker有映射端口问题所以直接选择Browser吧
导入仪表板
然后上传json文件即可(注意json中的
datasource必须与你新建的一样,否则需要到仪表板上全部重新配置)
对于grafana具体细节的操作还请自行百度
grafana插件下载 https://grafana.com/grafana/plugins/grafana-piechart-panel/installation
本次下载饼图 https://grafana.com/api/plugins/grafana-piechart-panel/versions/1.3.9/download 然后解压到
端口有9100 9090 3000