前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >搭建炫酷的服务器监控平台

搭建炫酷的服务器监控平台

作者头像
我被狗咬了
发布2019-09-23 14:40:29
1.6K0
发布2019-09-23 14:40:29
举报
文章被收录于专栏:Python乱炖Python乱炖

本文所使用的工具为如下:

Telegraf「数据采集」

InfluxDB「数据存储」

Grafana「数据可视化」

一般的我们如果需要搭建服务器监控平台,需要去读取服务器实时的内存信息,CPU状态等等,就正如我们上一篇使用python从零搭建服务器监控系统一样。如果大家没看过之前的那篇文章,推荐大家去看看。里面有搭建监控系统的整个思路。总的来说就是数据采集,数据存储,数据可视化这三个方面。

这次我们使用的是Influxdata公司提供的全家桶。Telegraf、InfluxDB、Grafana。

Telegraf是专门用来采集数据的,在这里我们也有自己采集数据的办法(大家还记得psutils吗?),这里我们不再过多赘述。

InfluxDB是一款时间序列数据库,用来存储log日志等这些有时间信息的数据。

Grafana这就是好看的原因了,毕竟界面都在这写的好好的~https://grafana.com/grafana

这里我们使用Docker去快速搭建环境,如果你Docker还没装的话,可以参照Docker入门这篇文章

Telegraf「数据采集」

首先我们使用Docker去安装InfluxDB:

docker run -d -p 8086:8086 --name=influxdb influxdb

dcoker会自动从仓库下载最新版本的influxdb镜像,后台运行一个名为influxdb的容器并映射主机8086端口到容器8086端口。

若想将数据存储到宿主机而非容器内,可使用以下命令启动挂载本地目录到容器内。

# $pwd为当前工作目录,可替换为其它宿主机目录

docker run -d -p 8086:8086 -v $PWD:/var/lib/influxdb --name=influxdb influxdb

然后我们访问这个接口:

curl -G http://localhost:8086/query --data-urlencode "q=show databases"

能收到以下这样的结果就证明我们运行成功了。

关于我们如何启动容器我们之前在docker那个章节有讲过,启动暂停重启:docker start XXX、docker stop XXX、docker restart XXX

我们现在启动influxdb

InfluxDB「数据存储」

下面我们来安装Telegraf:

wget https://dl.influxdata.com/telegraf/releases/telegraf-1.6.3-1.x86_64.rpm

安装

sudo yum localinstall telegraf-1.6.3-1.x86_64.rpm

我们可以修改Telegraf的配置文件(/etc/telegraf/telegraf.conf)来配置它数据输出至influxdb。

vim /etc/telegraf/telegraf.conf

打开上面四行注释

对于telegraf,我们可以使用systemctl指令启动和关闭telegraf:

# 启动

systemctl start telegraf

# 停止

systemctl stop telegraf

Grafana「数据可视化」

最后一步使用docker安装grafana:

docker run -d -p 3000:3000 --name=grafana grafana/grafana

初次启动,grafana会创建数据库,时间稍长,稍后即可访问:

http://localhost:3000

打开grafana登录页面。

输入默认用户名密码登录(admin)

你需要自己创建自己的用户名和密码。

添加数据源:

配置:

url需配置成正确的宿主机ip和端口(防火墙需放行8086),若不想暴露数据库端口,可换成influxdb容器的ip地址(需自行进入容器查看,容器重启后可能会发生变化)避免数据库暴露至公网。

InfluxDB Details需填写

数据库名:telegraf

用户名:root

密码:root

下面要回到主页创建面板:

(因为这个机器没怎么使用,所以CPU的占用率会比较低)

当然,我们也可以设置预警信息,当cpu使用超过百分之多少的时候报警:

我们看一下设置好使用后的效果:

怎么样/看起来是不是很炫酷?所有的数据都一目了然。你也来试试吧!记住,他们是Influxdata全家桶!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python乱炖 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Telegraf「数据采集」
  • InfluxDB「数据存储」
  • Grafana「数据可视化」
  • Telegraf「数据采集」
  • InfluxDB「数据存储」
  • Grafana「数据可视化」
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档