热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu14.04安装图形监控工具Graphite

什么是Graphite?先看看百度百科是怎么介绍Graphite是一个Python写的web应用,采用django框架,Graphite用来进行收集服务器所有的即时状态,用户请求信息,Memcached命中率,RabbitMQ消息服务器的状态,Unix操作系统的负载状态,Graphite服务器大约每分钟需要有4800次更新操作,Graphite采用简单的文本协议和绘图功能可以方

什么是Graphite?

先看看百度百科是怎么介绍

Graphite 是一个Python写的web应用,采用django框架,Graphite用来进行收集服务器所有的即时状态,用户请求信息,Memcached命中率,RabbitMQ消息服务器的状态,Unix操作系统的负载状态,Graphite服务器大约每分钟需要有4800次更新操作,Graphite采用简单的文本协议和绘图功能可以方便地使用在任何操作系统上。

百度百科讲的还算是比较清楚了,Graphite是用来监控系统的, 比如操作系统,缓存服务系统等,但是监控的数据怎么得到呢?Graphite并不负责,它只负责显示,数据哪里来人家不care,你只要按照他的数据格式给它,Graphite就可以机智的用漂亮的页面显示给你,不过不用担心,graphite的安装的一系列套件,提供了API去传数据给它,而且数据如何存储的也不用我们担心,只管发数据给它就行。说的这么好,到底怎么安装呢?

先别急,事情总不是那么完美,Graphite不支持Windows,因此对于只使用WindowsCoder就有点小失落了,不过没关系,相信作为程序员都是有办法的,这些都是小事情。

下面就进入Graphite的世界!

安装

操作系统:Ubuntu 14.04
Python :2.7.6

安装graphite的环境

Graphite的需要的支持环境如下:
* a UNIX-like Operating System
* Python 2.6 or greater
* Pycairo
* Django 1.4 or greater
* django-tagging 0.3.1 or greater
* Twisted 8.0 or greater (10.0+ recommended)
* zope-interface (often included in Twisted package dependency)
* pytz
* fontconfig and at least one font package (a system package usually)
* A WSGI server and web server. Popular choices are:
* Apache with mod_wsgi
* gunicorn with nginx
* uWSGI with nginx

Ubuntu已经安装了python,所以不需要安装再安装了,只用确保版本大于等于2.6即可。这里我们服务器选择Apache,如果已经安装了就不用安装了,只用安装WSGI的模块libapache2-mod-wsgi
下面是安装所有支持环境的命令,建议一个一个安装,可以查看每个安装成功与否。

$sudo apt-get update
$ sudo apt-get install apache2 libapache2-mod-wsgi python-django python-twisted python-cairo python-pip python-django-tagging

安装Graphite三大组件

  • whisper(数据库)
  • carbon(监控数据,默认端口2003,外部程序StatsD通过这个端口,向Graphite输送采样的数据)
  • graphite-web(网页UI)

使用pip命令可以快速的安装

$sudo pip install whisper
$sudo pip install carbon
$sudo pip install graphite-web

安装完成后默认在/opt/graphite目录

然后使用Pip安装pytz,用于转换TIME_ZONE,后面会介绍

$ sudo pip install pytz

配置graphite

进入/opt/graphite/conf目录,使用给的example配置

$ sudo cp carbon.conf.example carbon.conf 
$ sudo cp storage-schemas.conf.example storage-schemas.conf 
$ sudo cp graphite.wsgi.example graphite.wsgi  

apache添加Graphite的虚拟主机

安装graphite的时候会生成一个/opt/graphite/example的文件夹,里面有一个配置好的虚拟主机文件,将其复制到Apache放置虚拟主机的配置文件的地方,默认是/etc/apache2/sites-available文件夹

$sudo cp /opt/graphite/example/example-graphite-vhost.conf    /etc/apache2/sites-available/graphite-vhost.conf

然后在编辑修改监听端口为8008以及一个WSGISocketPrefix的默认目录,修改后如下:

/etc/apache2/sites-enable下建立该配置文件的软链接

$cd /etc/apache2/sites-enable
$sudo ln -s ../sites-available/graphite-vhost.conf   graphite-vhost.conf 

初始化数据库

初始化 graphite需要的数据库,修改 storage 的权限,用拷贝的方式创建 local_settings.py文件(中间会问你是不是要创建一个superuser,选择no,把<用户名>改成你当前的Ubuntu的用户名,这是为了让carbon有权限写入whisper数据库,其实carbon里面也可以指定用户的,更新:graphite需要admin权限的用户才能创建User Graph,所以superuser是很重要的,可以使用 python manage.py createsuperuser创建):

$ cd /opt/graphite/webapp/graphite/

$ sudo python manage.py syncdb
$ sudo chown -R <用户名>:<用户名> /opt/graphite/storage/  
$ sudo cp local_settings.py.example local_settings.py

$ sudo /etc/init.d/apache2 restart  #重启apache

上面代码中的用户名为Apache对应的用户,一般为www-data,可以使用下面的代码获得,在apacheweb根目录(默认:var/www/html)穿件control.php


    echo exec("whoami");
?>
  • 1

在浏览器访问http://localhost/control.php既可以看到对应的用户名

启动Carbon

$ cd /opt/graphite/

$ sudo ./bin/carbon-cache.py start

此时在浏览器访问http://localhost:8008,看到下面页面说明配置成功

如果出现没有权限访问的错误页面,可以修改Apache配置文件/etc/pache2/apache2.conf,找到下图中的位置,注释掉Require all denied ,然后重启Apache再次访问。

修改Graphite默认的时区

打开/opt/graphite/webapp/graphite/setting.py,找到TIME_ZONE,默认是UTC,将其修改为Asia/Shanghai
,然后找到USE_TZ,没有的话自己在文件末尾添加,设置为True

发送数据到graphite

发送数据的方法比较多,科一参考官方文档Feeding In Your Data,此外,在/opt/graphite/examples下提供了一份通过Socket发送数据的例子examples-client.py

Graphite官方文档:Graphite官方文档

CentOS 5.5 安装Graphite  http://www.linuxidc.com/Linux/2013-06/86597.htm

更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/122435.htm


推荐阅读
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 本文内容皆为作者原创,如需转载,请注明出处:https:www.cnblogs.comxuexianqip13045462.html1.自定义分页器的拷贝及使用当我们需要使用 ... [详细]
  • 【云计算】Dockerfile、镜像、容器快速入门 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文讨论了在Linux系统中,使用chown命令将django项目目录下的static目录的拥有者从root改为eureka的问题。作者尝试了多种命令,包括chown和sudo chown等,但都没有成功修改拥有者。文章提供了相关目录的权限信息,并补充了项目所在磁盘和操作系统的信息。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • 都说Python处理速度慢,为何月活7亿的 Instagram依然在使用Python?
    点击“Python编程与实战”,选择“置顶公众号”第一时间获取Python技术干货!来自|简书作者|我爱学python链接|https:www.jian ... [详细]
  • DRF类视图让你的代码DRY起来
    刚开始写views.py模块的代码,一般都是用def定义的函数视图,不过DRF更推荐使用class定义的类视图,这能让我们的代码更符合DRY(Don'tRepeatYour ... [详细]
  • Django框架详解:了解Django的含义和作用
    Django是一个开放源代码的Web应用框架,由Python写成。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的;Django主要由模型,模板,视图,UR ... [详细]
author-avatar
开心就好一切美好
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有