在Ubuntu12.04VPS上安装和配置Graphite和Statsd
状态: 已弃用
本文介绍了不再受支持的 Ubuntu 版本。 如果您当前正在运行运行 Ubuntu 12.04 的服务器,我们强烈建议您升级或迁移到受支持的 Ubuntu 版本:
原因: Ubuntu 12.04 已于 2017 年 4 月 28 日终止生命周期 (EOL) and no longer receives security patches or updates. This guide is no longer maintained.
请参阅:
本指南可能仍可用作参考,但可能不适用于其他 Ubuntu 版本。 如果可用,我们强烈建议使用为您正在使用的 Ubuntu 版本编写的指南。 您可以使用页面顶部的搜索功能来查找更新的版本。
介绍
Graphite 和 statsd 是用于可视化数据的非常有价值的工具。 Statsd 收集有关正在运行的进程的数据,而石墨是一个可用于创建图形的图形库。
我们将在 Ubuntu 12.04 VPS 实例上设置这些工具。
安装石墨
Graphite 有许多我们需要满足的依赖项。 我们还想安装允许我们访问 Web 界面的 Web 服务器包。
首先,使用 apt-get 更新和升级你的包:
sudo apt-get update sudo apt-get upgrade
安装所需的软件包:
sudo apt-get install --assume-yes apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 build-essential python3.2 python-dev libpython3.2 python3-minimal libapache2-mod-wsgi libaprutil1-ldap memcached python-cairo-dev python-django python-ldap python-memcache python-pysqlite2 sqlite3 erlang-os-mon erlang-snmp rabbitmq-server bzr expect libapache2-mod-python python-setuptools
我们将使用 python-setuptool 的“easy_install”实用程序来安装一些更重要的 python 组件:
sudo easy_install django-tagging zope.interface twisted txamqp
接下来,我们将从项目网站获取 Graphite 组件。
Carbon 是数据聚合器,Graphite web 是 web 组件,whisper 是数据库库:
cd ~ wget https://launchpad.net/graphite/0.9/0.9.10/+download/graphite-web-0.9.10.tar.gz wget https://launchpad.net/graphite/0.9/0.9.10/+download/carbon-0.9.10.tar.gz wget https://launchpad.net/graphite/0.9/0.9.10/+download/whisper-0.9.10.tar.gz
使用 tar 提取档案:
find *.tar.gz -exec tar -zxvf '{}' \;
进入 Whisper 目录并使用提供的安装文件进行安装:
cd whisper* sudo python setup.py install
现在,移动到 carbon 目录并执行相同的操作:
cd ../carbon* sudo python setup.py install
最后,移动到 Graphite 目录并检查依赖项。 您应该会收到一条消息,表明您的依赖项都已正确安装。:
cd ../graphite* sudo python check-dependencies.py
All necessary dependencies are met. All optional dependencies are met.
您现在可以安全地安装 Graphite:
sudo python setup.py install
配置石墨
接下来,我们将配置我们刚刚安装的软件。
我们将移动到 Graphite 配置目录副本或创建一些我们将用于我们的应用程序的文件:
cd /opt/graphite/conf sudo cp carbon.conf.example carbon.conf
Create a file to handle our polling settings:
sudo nano storage-schemas.conf
将以下数据复制到文件中:
[stats] priority = 110 pattern = .* retentions = 10:2160,60:10080,600:262974
保存并关闭文件。
接下来,我们将配置 Graphite 数据库。 转到 Graphite webapp 目录并运行数据库脚本:
cd /opt/graphite/webapp/graphite/ sudo python manage.py syncdb
系统将提示您创建超级用户帐户。 键入“yes”继续,然后按照提示进行操作。
当您在此目录中时,将本地设置示例文件复制到生产版本:
sudo cp local_settings.py.example local_settings.py
配置 Apache
接下来,我们将配置 Apache 以提供我们的 Web 内容。
首先复制一些示例配置文件:
sudo cp ~/graphite*/examples/example-graphite-vhost.conf /etc/apache2/sites-available/default sudo cp /opt/graphite/conf/graphite.wsgi.example /opt/graphite/conf/graphite.wsgi
将 Graphite 存储目录的所有权授予 Apache Web 用户,以便它可以正确写入数据:
sudo chown -R www-data:www-data /opt/graphite/storage
为我们的 WSGI 数据创建一个目录:
sudo mkdir -p /etc/httpd/wsgi
我们需要编辑我们之前复制的 Apache 配置文件:
sudo nano /etc/apache2/sites-available/default
更改 WSGISocketPrefix 以反映我们刚刚创建的目录。 此外,更改 ServerName 属性以反映您的域名或 IP 地址:
... ... WSGISocketPrefix /etc/httpd/wsgi <VirtualHost *:80> ServerName Your.Domain.Name.Here ... ...
保存并关闭文件。
重新启动 Apache 以实现我们的更改:
sudo service apache2 restart
安装和配置 Statsd
要使用 statsd,我们需要安装 node.js。 为此,我们将安装“python-software-properties”,其中包含一个用于添加 PPA 的实用程序:
sudo apt-get install python-software-properties
我们现在可以添加适当的 PPA:
sudo apt-add-repository ppa:chris-lea/node.js
按“enter”接受存储库更改。 现在再次更新 apt 包列表并安装 node.js:
sudo apt-get update sudo apt-get install nodejs
我们现在将安装 statsd 以从我们的 VPS 提供 Graphite 数据。
首先,安装 git 以便我们可以下载项目文件:
sudo apt-get install git
现在将 git 存储库克隆到我们的可选软件目录中:
cd /opt sudo git clone git://github.com/etsy/statsd.git
在新的 statsd 目录中为 statsd 创建配置文件:
sudo nano /opt/statsd/localConfig.js
将以下信息复制并粘贴到文件中:
{ graphitePort: 2003, graphiteHost: "127.0.0.1", port: 8125 }
启动服务
启动 carbon 数据聚合器,以便它开始发送数据:
sudo /opt/graphite/bin/carbon-cache.py start
接下来,移动到 statsd 目录并使用 node.js 命令运行文件:
cd /opt/statsd node ./stats.js ./localConfig.js
19 Jul 21:15:34 - reading config file: ./localConfig.js 19 Jul 21:15:34 - server is up
您应该会收到一条消息,通知您 statsd 服务器已启动并正在运行。
查看结果
要查看图表数据,请打开 Web 浏览器并导航到您的域或 IP 地址:
Your.Domain.Name.Here
您将在中间看到一个空白框。
您还将在左侧看到一个导航菜单。 这是我们首先要解决的问题
单击“石墨”框,您应该有许多不同的选项。 如果单击文件层次结构,您将看到许多数据集。
选择一个并单击它。 看起来没有数据被绘制出来。 我们将需要更改比例以查看任何信息。
在 Graphite Composer 上,选择左侧的第二个图标以调整日期范围。 选择一个仅在当前时间两侧捕获几个小时的范围。
接下来单击“图形选项”,将鼠标悬停在“线模式”上并选择“连接线”以连接数据点。
您可能还想选择“自动刷新”以使图表在接收数据时自动更新。
请注意,您选择的每个新数据集 都会将 该数据添加到图表中。 它不会切换到该数据集。 单击“图表数据”以根据需要删除数据集。 您也可以再次单击左侧的数据类别以取消选择它。