Docker实战-部署GPE微服务的监控体系
前言
微服务体系架构里,有很多的解决方案都是使用GPE作为微服务体系的监控体系, 如下图所示:
我们这里经常提到的GPE,包括Grafana,Promethues,Exporter三个部分, 其中Grafana是一个功能强大的可自定义话的图形报表系统,Prometheus包括TSDB时序数据库和基于时序的查询系统,Exporter是数据采集的客户端系统。
如图中所示, 通过exporter采集需要监控的节点,比如图中Linux主机,Mysql数据库,Redis服务器,prometheus从exporter获取采集数据,并把数据保存在prometheus的TSDB里, grafana里将prometheus作为数据源,通过定义图形报表的展示规则,通过Prometheus提供的查询语言,获取数据,在仪表盘里进行显示,最终就出现我们看到的图中的Dashboard的效果。 GPE具有非常好的扩展性和适用性, 通过不同的Exporter客户端和自定义的Grafana的模板,可以进行很多中服务器或者节点的监控。 今天我们这个文章,将的就是这个GPE体系的部署和搭建过程。 使用Docker来作为演示过程的环境。
安装Grafana
获取镜像
[root@izwz9g3javh5eeean08tbtz ~]# docker image pull grafana/grafana
Using default tag: latest
latest: Pulling from grafana/grafana
97518928ae5f: Pull complete
5b58818b7f48: Pull complete
d9a64d9fd162: Pull complete
4e368e1b924c: Pull complete
867f7fdd92d9: Pull complete
387c55415012: Pull complete
07f94c8f51cd: Pull complete
ce8cf00ff6aa: Pull complete
e44858b5f948: Pull complete
4000fdbdd2a3: Pull complete
Digest: sha256:18d94ae734accd66bccf22daed7bdb20c6b99aa0f2c687eea3ce4275fe275062
Status: Downloaded newer image for grafana/grafana:latest
docker.io/grafana/grafana:latest
查看镜像
[root@izwz9g3javh5eeean08tbtz ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
grafana/grafana latest 9b957e098315 5 weeks ago 275MB
建立数据卷
root@izwz9g3javh5eeean08tbtz ~]# mkdir /volume/grafana
启动Grafana
[root@izwz9g3javh5eeean08tbtz ~]# docker run \
-d \
-p 3000:3000 \
--name=grafana \
-v /volume/grafana:/var/lib/grafana \
grafana/grafana
修改为自启动
[root@izwz9g3javh5eeean08tbtz ~]# docker update --restart always grafana
查看容器
[root@izwz9g3javh5eeean08tbtz ~]# docker container ls | grep grafana
修改grafana的默认密码
[root@izwz9g3javh5eeean08tbtz ~]# docker container exec -it grafana /bin/sh
/usr/share/grafana $ cd /usr/share/grafana/bin
/usr/share/grafana/bin $ ./grafana-cli admin reset-admin-password admin1234567890
INFO[01-19|05:32:01] The state of unified alerting is still not defined. The decision will be made during as we run the database migrations logger=settings
WARN[01-19|05:32:01] falling back to legacy setting of 'min_interval_seconds'; please use the configuration option in the `unified_alerting` section if Grafana 8 alerts are enabled. logger=settings
INFO[01-19|05:32:01] Config loaded from logger=settings file=/usr/share/grafana/conf/defaults.ini
INFO[01-19|05:32:01] Config overridden from Environment variable logger=settings var="GF_PATHS_DATA=/var/lib/grafana"
INFO[01-19|05:32:01] Config overridden from Environment variable logger=settings var="GF_PATHS_LOGS=/var/log/grafana"
INFO[01-19|05:32:01] Config overridden from Environment variable logger=settings var="GF_PATHS_PLUGINS=/var/lib/grafana/plugins"
INFO[01-19|05:32:01] Config overridden from Environment variable logger=settings var="GF_PATHS_PROVISIONING=/etc/grafana/provisioning"
INFO[01-19|05:32:01] Path Home logger=settings path=/usr/share/grafana
INFO[01-19|05:32:01] Path Data logger=settings path=/var/lib/grafana
INFO[01-19|05:32:01] Path Logs logger=settings path=/var/log/grafana
INFO[01-19|05:32:01] Path Plugins logger=settings path=/var/lib/grafana/plugins
INFO[01-19|05:32:01] Path Provisioning logger=settings path=/etc/grafana/provisioning
INFO[01-19|05:32:01] App mode production logger=settings
INFO[01-19|05:32:01] Connecting to DB logger=sqlstore dbtype=sqlite3
INFO[01-19|05:32:01] Starting DB migrations logger=migrator
INFO[01-19|05:32:01] migrations completed logger=migrator performed=0 skipped=377 duration=956.396µs
Admin password changed successfully
通过这个命令;指定grafana的用户名admin,密码是1234567890
登录Grafana
访问地址http://192.168.56.101:3000, 在登录框输入admin/1234567890;成功登录grafana;至此Grafana就已经部署成功。
结束语
今天这个文章主要介绍了GPE体系中grafana的部署安装, 下一篇文章,我们会介绍Prometheus和Exporter的安装,并且整合GPE来实战一个Linux节点的监控实例。
谢谢大家继续关注。