用grafana轻松搭建懒猫监控大盘

人间沧海

发布于537天前
hello lazycat!
## 一、写在前面
猫的官方监控应用目前尚未推出,目前只能查看磁盘使用空间的信息,无法监控 CPU、内存、网络等关键指标。对于喜欢折腾技术的小伙伴来说,这可能让人有些按捺不住。那么,在官方应用上线之前,我们不妨自己动手,用 Grafana 搭建一个自用的监控系统,满足探索的欲望!

重要提醒:
- **以下操作需要获取SSH 权限并启用Playground Docker功能。这可能带来一定风险,请务必提前做好数据备份,以免意外影响数据安全!!**
- **在执行任何命令或者操作之前,请务必确保你已经充分相关的影响,以免意外影响数据安全!!**


## 二、效果预览
先上几个效果图,直观感受一下这个监控系统能实现哪些功能吧!是不是看起来就很酷炫?实时查看 CPU 使用率、内存占用、磁盘状态、网络流量……一目了然。

- 监控目录菜单
![3.jpg](https://dl.playground.lazycat.cloud/guidelines/296/24982953-b6c8-494a-9be5-05a6d84d04d8.jpg "3.jpg")

- 概要信息
![2.jpg](https://dl.playground.lazycat.cloud/guidelines/296/462382ce-acea-436e-b619-2149306ff63c.jpg "2.jpg")

- 概要信息
![1.jpg](https://dl.playground.lazycat.cloud/guidelines/296/737ff105-4a88-4c76-b8ed-20c61447cfe8.jpg "1.jpg")

怎么样,看着感觉心动吗?如果看着没感觉,那可能这篇文章不适合你,哈哈哈!

## 三、前置准备
Grafana和Prometheus是业内非常流行的监控工具,本篇文章的重点在于分享思路,帮助大家了解如何将这套工具应用到懒猫微服上,而不是深入讲解技术细节。
如果你对它们的技术原理感兴趣,可以自行查阅相关资源,网上有很多优秀的教程供参考。

在动手开干之前,有两项准备工作,先提前看下:
#### 1、获取SSH权限
参考 https://developer.lazycat.cloud/ssh.html 这篇文章,申请SSH权限。
#### 2、开启Dockge
参考 https://developer.lazycat.cloud/dockerd-support.html  这篇文章开启Dockge。

注意事项:
- 如果系统重启,需要重新启用Dockge。
- 启用过程中请确保数据安全,建议在操作前进行必要的备份。

## 四、动手开干
我们主要用到了grafana、prometheus、node_exporter这3个软件,整个过程一共3步
- 1、ssh到懒猫内,提前准备好相关的配置文件
- 2、通过上文的dockge,配置docker compose,并启动相关容器
- 3、启动成功之后,进入grafana,新建dashboard,导入提前准备好的模版。
- 4、enjoy it!

#### 1、准备好prometheus的配置文件。
ssh到懒猫,在`/data`目录下新建一个名为 `monitor`的目录,我们后续相关的配置和docker的数据都存放在这个目录下。

接着新建一个名为 `prometheus.yml`的文件,填入以下内容:

```shell
global:
  scrape_interval: 15s  # 每15秒抓取一次

scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['node_exporter:9100']  # 替换为实际的服务地址
```
#### 2、目录权限修改
在`/data/monitor`目录下新建名为`grafana-data`的目录,并修改owner给472用户。
执行如下命令:
```
chown -R 472:472 grafana-data
```
因为grafana container中的user默认情况下不是以root启动的,默认使用了472。

#### 3、在dockge上配置docker compose
好像没办法添加附件,直接放一个link吧,大家拿到这个compose可以直接使用。


#### 4、启动
前面都搞好之后,在你的dockge上面点击start,启动3个container。注意观察输出 和 container的状态。

启动好了之后,ssh到懒猫,在shell直接用以下命令测试下容器的各个服务是否已经启动成功
```
#测试grafana是否启动正常
curl localhost:3000 
#测试prometheus是否正常
curl localhost:9090
#测试node exporter是否正常
curl localhost:9100/metrics
```

#### 5、配置
如果上面都没问题,打开浏览器尝试下,在局域网内可以通过  http://懒猫ip:3000 访问到grafana。
能看到grafana的登陆界面就没问题,我们接下来继续配置,一共2步
##### ①、在grafana中添加prometheus的数据源
打开grafana,添加datasource,类型选择 prometheus。url输入: 
http://prometheus:9090
因为我们在docker compose的配置中,已经把网络打通了,所以这里直接使用container name访问。
##### ②、使用模版创建dashboard
数据都已经打通了,如果你愿意折腾,可以自己动手尝试下创建dashboard。想省事儿地话,在这里下载grafana的dashboard模版 
https://grafana.com/grafana/dashboards/1860-node-exporter-full/ 
点击右侧的download json,你会得到一个json文件。

接着在grafana中新建dashboard,然后import 刚才的json文件。
OK了!

## 五、收尾
总结下,其实过程很简单,一共就5步
- 1、申请ssh权限,开启playground
- 2、ssh到懒猫,创建好目录,准备好配置文件和相关目录权限
- 3、在dockge中添加 docker  compose,把container都跑起来,验证下是否成功
- 4、浏览器打开grafana,配置prometheus数据源,然后导入模版文件。

感谢你读到这里,有问题的话可以来微信群交流,或者在评论区留言!

评论

0

暂无评论

说点什么呢~
收藏
1
0
0