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

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

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全家桶!

本文分享自微信公众号 - Python乱炖(Cooking_python)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏卡尼慕

认识区块链

一般的账本:中心化管理,单人记账,随时可改,有顺序的交易数据库。如银行内部管理所有用户的交易明细,通常情况下,管理者拥有对账本的最终解释权。

37220
来自专栏萌海无涯

Django学习数据库操作(10)

我们学习 HTML 文件的数据返回,替换其中的内容我们是固定的格式,现在我们学习从数据库的操作,从而能让我们的页面展现更多的内容。

8020
来自专栏数据和云

AWR 报告深度解读:Redo Nowait指标的算法和诊断泄露二十多万名用户数据

AWR知识体系:https://www.modb.pro/topic/6165(复制到浏览器打开或者点击“阅读原文”)

9920
来自专栏一Li小麦

web之攻与受(劫持与注入篇)

劫持与注入,怎么有种涩涩的感觉。确实,好多时候被攻击都是跟好色有关。当然,好色并不是罪,但即便好色也得注意上网环境的安全。

11910
来自专栏玩转JavaEE

一波骚操作,我把 SQL 执行效率提高了 10,000,000 倍!

发现没有用到索引,type全是ALL,那么首先想到的就是建立一个索引,建立索引的字段当然是在where条件的字段。

9040
来自专栏卡尼慕

JAVA Swing 学生管理系统

前段时间用JAVA+Mysql做了一个学生管理信息系统,开始只是对JAVA的练练手,最终实现了用户可在不同电脑上(联网情况)实现登入,并且对学生信息的增删查改操...

73420
来自专栏CDA数据分析师

收藏 | 300 秒带你吃透大数据!

对于很多人来说,当他第一次听到“大数据”这个词,会自然而然从字面上去理解——认为大数据就是大量的数据,大数据技术就是大量数据的存储技术。

14440
来自专栏FreeBuf

教你如何搭建威胁情报库

威胁情报是一种基于数据的,对组织即将面临的攻击进行预测的行动。预测(基于数据)将要来临的的攻击。威胁情报利用公开的可用资源,预测潜在的威胁,可以帮助你在防御方面...

10020
来自专栏ellipse数据库技术

并行数据库

并行数据库系统是新一代高性能数据库系统,致力于开发数据库操作的时间并行性和空间并行性,是当今研究热点之一。并行数据库技术起源于20世纪70年代的数据库机研究,希...

11530
来自专栏数据和云

MongoDB数据库因安全漏洞,导致Family Locator泄露二十多万名用户数据

摘要:本月第二次,未受保护的MongoDB数据库因大量安全漏洞而导致敏感信息泄露,受欢迎的家庭跟踪应用程序Family Locator已经暴露了超过238,00...

29130

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励