随便抄了一篇,目前我们的项目也在用,这个是linux和windows通吃的一种监控方案,非常有效,详细和优美,需要监控什么具体的业务内容,自己向influxdb中插入就行了。


监控服务器状态是运维必不可少的一部分, 通常情况, 我们用得比较多的就是graphite, 因为使用python写的, 所以对于大部分运维工程师来讲, 算是比较熟悉的语言. 但graphite毕竟比较老了, 界面体验方面不太友好, 加上graphite部署起来也不是太容易, 会给新手造成一定困扰.

这里给大家介绍的是另一种监控系统grafana, 相比graphite, 优势非常大, 特别是配置和部署, 要简单很多, 界面方面的体验做得非常好, 特别是还兼容graphite的数据

由于grafana仅仅只是提供界面显示, 所以他需要从influxdb中获取数据, 而influxdb中的数据又需要从其他地方收集过来, 常用的收集工具是collectdtelegraf, 其中collectd这里不做介绍, 有些数据不是太适合, 而 influxdb 自身集成 telegraf插件, 不需要进行专门的配置

collectd/telegraf(收集数据)  ------->   influxdb(保存数据)  -------> grafana(显示数据)

安装配置

influxdb 1.x+

cd /opt
# 下载速度很慢, 建议用迅雷下载, 然后通过ftp上载到服务器
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.0.2.x86_64.rpm
yum localinstall influxdb-1.0.2.x86_64.rpm service influxdb start

管理后台默认端口: 8083, 我们可以直接访问后台管理数据
数据传递默认端口: 8086, 其他服务传递数据的端口

telegraf 1.x+

cd /opt
# 下载速度很慢, 建议用迅雷下载, 然后通过ftp上载到服务器
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.0.1.x86_64.rpm
yum localinstall telegraf-1.0.1.x86_64.rpm cd /etc/telegraf
# 只收集cpu, 内存和硬盘的数据
telegraf -sample-config -input-filter cpu:mem:disk -output-filter influxdb > telegraf.conf
# 设置将数据传递写入influxdb服务器
vi telegraf.conf
# 将地址改成 influxdb 对应的服务器地址, 端口默认 8086, 默认数据库 telegraf

# 启动服务
service telegraf start

grafana 3.x+

cd /opt
# 下载速度很慢, 建议用迅雷下载, 然后通过ftp上载到服务器
wget https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm
yum localinstall grafana-3.1.1-1470047149.x86_64.rpm # 启动服务
service grafana-server start
# 添加开机启动
chkconfig --add grafana-server

默认启动端口 3000, 账户密码默认都是 admin

grafana 使用

  • 创建数据源


  • 创建显示面板

  • 添加单个面板

  • 选择定义数据源

  • 从数据源中添加数据

最终显示结果:


参考官方文档

telegraf: https://docs.influxdata.com/telegraf/v1.0/
influxdb: https://docs.influxdata.com/influxdb/v1.0
grafana: http://docs.grafana.org/

grafana+influxdb+telegraf监控服务器cpu,内存和硬盘的更多相关文章

  1. Grafana+Influxdb+Telegraf监控mysql

    Grafana+Influxdb+Telegraf监控mysql 一.安装 1.1安装Grafana+influxdb+telegraf 1.2启动服务,添加开机启动 1.3查看grafana界面 二 ...

  2. grafana + influxdb + telegraf

    grafana + influxdb + telegraf , 构建性能监控平台http://www.cnblogs.com/Scissors/p/5977670.html https://docs. ...

  3. docker-compose(grafana influxdb) + telegraf 快速搭建简单监控

     灵活实现方案:   1:     telegraf 为go 语言写得占用内存小 收集主机各项监控数据 定时写入 时序DB   influxdb ------------------------&qu ...

  4. jmeter ---监控服务器CPU, 内存,网络数据

    JMeter如何收集获得服务器cpu,内存,磁盘,网络等相关资源使用率的信息 1. JMeter 自带的Monitor Results 监控 JMeter 自带的Monitor Results 在官网 ...

  5. linux查看系统CPU,内存,硬盘使用情况

    top查看CPU,内存使用情况 free查看硬盘使用情况

  6. grafana + influxdb + telegraf , 构建性能监控平台

    1.安装平台 1).grafana , 访问各类数据源 , 自定义报表.显示图表等等 , 用于提供界面监控 , 默认端口为3000 , 默认登陆信息admin wget https://grafana ...

  7. 性能监控扩展篇(grafana + influxdb + telegraf)

    之前已经说过了自己写sh脚本监控,我看有人评论了说用telegraf进行数据收集,于是乎去研究了下,感觉还可以,不过磁盘io的的表个人感觉有些美中不足,并未直接给出读写速率的情况,可能是研究时间太短, ...

  8. 用python监控Linux,CPU,内存,硬盘

    #!/usr/local/bin/python3.5 #coding:utf-8 import mailll, linecache, re, socket, os, time hostname = s ...

  9. JMeter监控服务器CPU, 内存,网络数据

    http://wenku.baidu.com/link?url=un5QtWHa-A9kCTeVN0PnU3gDEMri38hYqjc8-skNXTD-v65FMObdq1LxfQDb1I6oIK9k ...

随机推荐

  1. 08_Flume_Selector实践

    实践一:replicating selector 1.目标场景 selector将event复制,分发给所有下游节点 2.Flume Agent配置 Agent配置 # Name the compon ...

  2. HDU 6150 Vertex Cover(构造)

    http://acm.hdu.edu.cn/showproblem.php?pid=6150 #include<iostream> #include<algorithm> #i ...

  3. C++中的也能使用正则表达式----转载

    转自:https://www.cnblogs.com/ittinybird/p/4853532.html, 以作笔记. 正则表达式Regex(regular expression)是一种强大的描述字符 ...

  4. ubuntu server 多网卡

    https://wenku.baidu.com/view/51fb15742f60ddccdb38a007.html

  5. Python day18模块介绍2(使用BASE_DIR修改临时path,os模块)

    1.BASE_DIR修改path(别人导入py项目时不会因为绝对路径无法解释) #sys修改环境变量 #使用BASE_DIR将绝对路径改为相对路径 import sys,os BASE_DIR=os. ...

  6. c++ primer plus 第七章 课后题答案

    #include <iostream> using namespace std; double HAR_AVG(double, double); void TEST(bool); int ...

  7. Eclipse打JAR包,插件FatJar安装与使用

    下载fatJar插件,解压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹拷贝到eclipse 的plugins下,重新启动Eclipse3.1,Windo ...

  8. AMD,CMD.CommonJs和UMD还有es6的模块化对比

    CommonJS CommonJS是服务器端模块的规范,Node.js采用了这个规范. 根据CommonJS规范,一个单独的文件就是一个模块.加载模块使用require方法,该方法读取一个文件并执行, ...

  9. Object.defineProperty方法 使用

    Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象. 语法: Object.defineProperty(obj, pr ...

  10. MongoDB分片集群环境搭建记录

    --创建配置服务器mongod.exe --logpath "G:\USERDATA\MONGODB\Test2\Log\mongodb.log" --logappend --db ...