使用 Grafana、collectd 和 InfluxDB 打造现代监控系统
想打造 New Relic 那样漂亮的实时监控系统我们只需要 InfluxDB/collectd/Grafana 这三个工具,这三个工具的关系是这样的:
采集数据(collectd)-> 存储数据(InfluxDB) -> 显示数据(Grafana)。
- InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据,看版本号(v0.8.8)就知道这个项目还很年轻;
- collectd 就不用介绍了吧,C 语言写的一个系统性能采集工具;
- Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等。
下面的安装和配置步骤在 Ubuntu 14.04 Server 64bit 版上完成。升级整个系统后重启:
$ sudo apt-get update$ sudo apt-get upgrade$ sudo reboot
安装 InfluxDB
InfluxDB 是 Go 写的,不依赖任何其他包或库,很干净。安装很容易:
$ wget https://s3.amazonaws.com/influxdb/influxdb_latest_amd64.deb$ sudo dpkg -i influxdb_latest_amd64.deb
启动 InfluxDB:
$ sudo /etc/init.d/influxdb startSetting ulimit -n 65536Starting the process influxdb [ OK ]influxdb process was started [ OK ]
启动后打开 web 管理界面 http://192.168.2.183:8083/ 默认用户名和密码是 root 和 root. InfluxDB 的 Web 管理界面端口是 8083,HTTP API 监听端口是 8086,如果需要更改这些默认设定,修改 InfluxDB 的配置文件 /opt/influxdb/current/config.toml 后重启 InfluxDB 就可以了。

InfluxDB
在刚安装好的 InfluxDB 上创建一个名为 collectd 的数据库,可以用命令行创建,也可以用 Web 管理界面操作:
$ curl "http://192.168.2.183:8086/db?u=root&p=root" -d "{\"name\": \"collectd\"}"

InfluxDB
安装 collectd
安装 collectd:
$ sudo apt-get install collectd
配置 collectd 为客户端,收集到数据后直接发给 InfluxDB:
$ sudo vi /etc/collectd/collectd.conf...LoadPlugin network...<Plugin network>Server "192.168.2.183" "25826"</Plugin>...
重启 collectd:
$ sudo /etc/init.d/collectd restart
InfluxDB 现在自带一个 collectd 插件来获取 collectd 客户端发来的数据,以前可没这么方便哦,0.8.4 版本以前只能通过 influxdb-collectd-proxy 这样的第三方程序来连接 collectd 和 InfluxDB. 如果你检查一下服务器上打开的端口就会发现 influxdb 插件启动了一个 25826 端口,如果发现 InfluxDB 数据库里没有(收集到)数据,务必检查这个 25826 端口是否正常启动了:
$ sudo netstat -tuplnActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program nametcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 622/sshdtcp6 0 0 :::8086 :::* LISTEN 668/influxdbtcp6 0 0 :::22 :::* LISTEN 622/sshdtcp6 0 0 :::8090 :::* LISTEN 668/influxdbtcp6 0 0 :::8099 :::* LISTEN 668/influxdbtcp6 0 0 :::8083 :::* LISTEN 668/influxdbudp6 0 0 :::25826 :::* 668/influxdb
InfluxDB 自带的 collectd 插件默认是关闭的,需要手动配置打开 enabled = true,并填上 database = “collectd” 这一行,这里的 “collectd” 就是我们上面创建的那个数据库,更改配置后记得重启 InfluxDB:
$ sudo vi /opt/influxdb/current/config.toml$ sudo vi /opt/influxdb/shared/config.toml...# Configure the collectd api[input_plugins.collectd]enabled = true# address = "0.0.0.0" # If not set, is actually set to bind-address.# port = 25826database = "collectd"# types.db can be found in a collectd installation or on github:# https://github.com/collectd/collectd/blob/master/src/types.db# typesdb = "/usr/share/collectd/types.db" # The path to the collectd types.db file...$ sudo /etc/init.d/influxdb restartSetting ulimit -n 65536Setting ulimit -n 65536influxdb process was stopped [ OK ]Setting ulimit -n 65536Starting the process influxdb [ OK ]influxdb process was started [ OK ]
现在 InfluxDB 已经准备好接受和处理 collectd 传来的数据了。用命令行或者 Web 管理界面验证一下数据库里是否有数据:
$ curl -G 'http://192.168.2.183:8086/db/collectd/series?u=root&p=root&q=list+series&pretty=true'[{"name": "list_series_result","columns": ["time","name"],"points": [[0,"192.168.2.183/cpu-0/cpu-idle"],...]}]

InfluxDB
安装 Grafana
下载 grafana 后解压放到 web 服务器上就可用。这里省去配置 Nginx/Apache 之类的麻烦,直接用最简单的 Web 服务器 python -m SimpleHTTPServer 驱动:
$ wget http://grafanarel.s3.amazonaws.com/grafana-1.9.1.tar.gz$ tar xzvf grafana-1.9.1.tar.gz$ cd grafana-1.9.1.tar.gz$ cp config.sample.js config.js$ vi config.js...// InfluxDB example setup (the InfluxDB databases specified need to exist)datasources: {influxdb: {type: 'influxdb',url: "http://192.168.2.183:8086/db/collectd",username: 'root',password: 'root',},...},...$ sudo python -m SimpleHTTPServer
用浏览器访问 Grafana,这里的默认端口是 8000:

https://linux.cn/article-5252-1.html
使用 Grafana、collectd 和 InfluxDB 打造现代监控系统的更多相关文章
- 【监控】使用 Grafana、collectd 和 InfluxDB 打造现代监控系统
参考资料:Grafana 是 Graphite 和 InfluxDB 仪表盘和图形编辑器:http://www.oschina.net/p/grafana 使用 Grafana.collectd 和 ...
- [经验交流] 试用基于 influxdb+kapacitor 的监控系统
2017年10月16日: 使用中发现kapacitor的ui过于简单,不能满足实际工作需要,现已切换到grafana --------- 两个月前试用了基于 elasticsearch + xpack ...
- collectd+logstash+influxdb+grafana构建windows服务器应用监控系统
一.背景介绍 本监控方案支持对Windows Server服务器集群的全面监控,方案提供丰富的图表展示, 以及对异常问题进行邮件的实时报警. 本系统由Collectd(操作系统数据搜集).logsta ...
- WIndows下使用Grafana+InfluxDB打造监控系统
前言 对于一个运维DBA来说,了解数据库的TPS.QPS很有必要(QPS:每秒查询数,即对数据库每秒的DML的操作数:TPS:每秒事物处理,即对数据库每秒DDL操作数),通过了解他们,可以掌握一个实 ...
- 使用cAdvisor+Influxdb+Grafana监控系统
今天准备开始研究研究当前非常流行的Grafana+Influxdb监控系统,两者都是非常轻量级的应用但是功能却异常强大,可以说Grafana在作图显示方面真的毫不逊色与Cacti. 组件介绍 cA ...
- Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql
- Windows下本机简易监控系统搭建(Telegraf+Influxdb+Grafana)
一.文件准备 1.1 文件名称 telegraf-1.2.1_windows_amd64.zip influxdb-1.2.2_windows_amd64.zip grafana-4.2.0.wind ...
- Windows下本机简易监控系统搭建(Telegraf+Influxdb+Grafana)--转
原文地址:http://www.cnblogs.com/liugh/p/6683488.html 一.文件准备 1.1 文件名称 telegraf-1.2.1_windows_amd64.zip in ...
- Telegraf+Influxdb+Grafana(Windows下本机简易监控系统搭建)
1.文件名称 telegraf-1.5.0_windows_amd64.zip influxdb-1.4.2_windows_amd64.zip grafana-4.6.3.windows-x64.z ...
随机推荐
- PHP Java 设置cookie方法
Java Cookie cookie = new Cookie(COOKIE_NAME, encrypt_cookieV); cookie.setMaxAge(60 * 60); cookie.s ...
- ural 1250. Sea Burial
1250. Sea Burial Time limit: 1.0 secondMemory limit: 64 MB There is Archipelago in the middle of a s ...
- Linux添加Terminal快捷键和文件系统的总结
一:Fedora 怎样设置终端快捷键 百度连接:http://jingyan.baidu.com/article/cb5d61053598ed005d2fe05c.html ubuntu里面不用设置就 ...
- Long-Short Memory Network(LSTM长短期记忆网络)
自剪枝神经网络 Simple RNN从理论上来看,具有全局记忆能力,因为T时刻,递归隐层一定记录着时序为1的状态 但由于Gradient Vanish问题,T时刻向前反向传播的Gradient在T-1 ...
- topcoder SRM 618 DIV2 LongWordsDiv2
此题给出的条件是: (1)word的每个字母都是大写字母(此条件可以忽略,题目给的输入都是大写字母) (2) 相等字符不能连续,即不能出现AABC的连续相同的情况 (3)word中不存在字母组成xyx ...
- 【POJ】3071 Football
http://poj.org/problem?id=3071 题意:2^n支队伍进行淘汰赛,每一轮都是第一个与第二个,第三个与第四个比赛,给出了这些人之间的胜率,赢了的进入下一轮,相对位置不变.一共n ...
- iOS 两种易混淆的存储路径
一,NSBundle 1>我们可以通过解压等操作获取 NSBundle 中的内容. 2>NSBundle主要是包路径,也就是代码编译后的 imge 和 sb 资源文件... 3>例如 ...
- weblogic 11g 配置db2数据源
配置db2数据源可以直接在包里面配置,不需要专门在服务器上配置数据源. 在11g版本前要配置db2数据源是需要增加包,后续的版本处理了这个问题. 1. 将C:\Program Files\SQLLIB ...
- man page分類與說明
轉載自http://itzone.hk/article/article.php?aid=200407152225014657 (如有侵權,請留言或來信告知) 前言 Man page是每位程式設計員及U ...
- Secrets
https://www.youtube.com/watch?v=qHm9MG9xw1o I need another storySomething to get off my chestMy life ...