随便抄了一篇,目前我们的项目也在用,这个是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/

最新文章

  1. C#设计模式-迭代器模式
  2. 快排查找第K小的数
  3. ACdream: Sum
  4. TOMcat9 免安装版的配置
  5. 学习ASP.NET Core Razor 编程系列四——Asp.Net Core Razor列表模板页面
  6. vscode 好用插件
  7. Servlet工作原理解析
  8. viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
  9. 针对piix4_smbus ****host smbus controller not enabled的解决方法
  10. ELK--filebeat nginx模块
  11. linux 链接理解
  12. jquery 共用函数
  13. UGUI RectTransform
  14. Swagger生成的接口需要权限验证的处理方法
  15. hiveserver2不能启动
  16. 使用NGUI来制作技能的CD冷却效果
  17. [javascript]JS如何获取当前时间戳
  18. 9-C++远征之多态篇-学习笔记
  19. Maven配置一键部署远程Tomcat
  20. 关于java@Override错误

热门文章

  1. C#高级编程第10版 note
  2. python PIL 图像处理库简介(一)
  3. Linux——用户管理简单学习笔记(四)
  4. hdu 2795 Billboard 线段树+二分
  5. python 获取IP
  6. Seleniumz中 dr.quit()和dr.close()的区别
  7. OpenGL入门程序二:绘制简单的圆
  8. 动态规划3--Help Jimmy
  9. linux系统方面的知识
  10. 4-10 辅助方法controll_name,;SanitizeHelper; 伪元素和scss中的&, @Media; cache介绍。