云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 18.04上安装和配置Graphite的方法

在Ubuntu 18.04上安装和配置Graphite的方法

2019-02-23 10:14:20作者:叶云稿源:云网牛站

本文介绍在Ubuntu 18.04上安装和配置Graphite的方法。

 

简介

Graphite是一个高度可用的时间序列监视和数据存储,支持数据可视化,理想情况下,你将在要监视的系统上安装其他工具,这些工具将收集指标并将其发送到Graphite例如Statsd。

Graphite由3个软件组件组成:

carbon - 一个侦听时间序列数据的Twisted守护程序。

whisper - 一个用于存储时间序列数据的简单数据库库(在设计上与RRD类似)。

graphite webapp - 一个Django webapp,使用Cairo按需呈现图形。

 

方法1、使用Docker在Ubuntu 18.04上安装Graphite

在Ubuntu 18.04上安装Graphite的第一个简单方法是使用Docker。

第1步:更新系统和已安装的软件包。

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo reboot

第2步:安装Docker

参考:在Ubuntu 18.04系统中安装指定docker版本的简单方法

确认服务正在运行,然后才能继续,运行systemctl status docker命令:

在Ubuntu 18.04上安装和配置Graphite的方法

第3步:安装Graphite和statsd容器

一旦docker引擎安装并运行,就可以启动Graphite和Statsd的docker容器了,我们将使用Graphite的官方Docker repo:

在主机系统上创建目录以进行持久数据存储:

$ sudo mkdir -p /data/graphite/{statsd,configs,data}

Graphite和Statsd的设置可能很复杂,提供的docker image将让你在几分钟内运行并收集统计数据:

$ sudo docker run -d \

--name graphite \

--restart=always \

-p 80:80 \

-p 2003-2004:2003-2004 \

-p 2023-2024:2023-2024 \

-p 8125:8125/udp \

-p 8126:8126 \

-v /data/graphite/configs:/opt/graphite/conf \

-v /data/graphite/data:/opt/graphite/storage \

-v /data/graphite/statsd:/opt/statsd \

graphiteapp/graphite-statsd

等待docker引擎下载并启动docker容器,这可能需要一些时间,具体取决于你的网速,完成后,你应该能够看到docker容器正在运行,运行docker ps命令:

在Ubuntu 18.04上安装和配置Graphite的方法

这将启动名为graphite的Docker容器,另请注意,如果主机上已经占用了相应的端口,你可以自由地将容器端口重新映射到任何主机端口。

包括组件:Nginx、Graphite、Carbon、Statsd。

映射端口如下图:

在Ubuntu 18.04上安装和配置Graphite的方法

默认情况下,statsd侦听UDP端口8125,如果你希望它侦听TCP端口8125,则可以在运行容器时将环境变量STATSD_INTERFACE设置为tcp。

第3步:访问Graphite Web界面

当一切运行正常时,使用服务器IP地址或端口号以及主机上映射到容器端口80的端口访问Graphite Web仪表板:

在Ubuntu 18.04上安装和配置Graphite的方法

默认登录信息是:

用户名:root

密码:root

在Ubuntu 18.04上安装和配置Graphite的方法

首次登录后,在http://ip-address/admin/auth/user/1/更改此登录信息:

在Ubuntu 18.04上安装和配置Graphite的方法

提供所需的root密码并确认:

在Ubuntu 18.04上安装和配置Graphite的方法

现在可以注销并重新登录以确认新密码正在运行。

 

方法2、从apt软件包在Ubuntu 18.04上安装Graphite

按照以下步骤在你的Ubuntu 18.04服务器上运行Graphite。

第1步:更新系统包:

安装的第一步是确保更新所有系统软件包:

$ sudo apt-get update

$ sudo apt-get upgrade

升级后考虑重新启动服务器:

$ sudo reboot

第2步:在Ubuntu 18.04上安装Graphite

服务器重启后,继续安装Graphite包,我们将安装Graphite web application和carbon,它将数据存储在Graphite的专用数据库中:

$ sudo apt-get install graphite-web graphite-carbon

等待包完成安装,然后继续下一步:

# apt policy graphite-web

graphite-web:

Installed: 1.0.2+debian-2

Candidate: 1.0.2+debian-2

Version table:

*** 1.0.2+debian-2 500

500 http://mirrors.digitalocean.com/ubuntu bionic/universe amd64 Packages

100 /var/lib/dpkg/status

# apt policy graphite-carbon 

graphite-carbon:

Installed: 1.0.2-1

Candidate: 1.0.2-1

Version table:

*** 1.0.2-1 500

500 http://mirrors.digitalocean.com/ubuntu bionic/universe amd64 Packages

100 /var/lib/dpkg/status

第3步:安装和配置MariaDB数据库

默认情况下,Graphites使用SQLite数据库来存储Django模型,例如保存的图形,仪表板,用户首选项等,请注意,度量数据不会存储在此处,在本文中,我们将使用MariaDB数据库服务器,参考在Ubuntu 18.04系统上安装MariaDB 10.4的步骤

数据库服务器启动并准备就绪后,为Graphite创建一个数据库,以root用户身份登录数据库服务器并为graphite创建数据库:

$ mysql -u root -p

Enter password: 

Welcome to the MariaDB monitor. Commands end with ; or \g.

Your MariaDB connection id is 19258

MariaDB [(none)]> create database graphite_db;

MariaDB [(none)]> grant all privileges on graphite_db.* tographite_user identified by "strongpassword";

Query OK, 0 rows affected (0.000 sec)

MariaDB [(none)]> flush privileges;

Query OK, 0 rows affected (0.001 sec)

数据库准备好后。

第4步:配置Graphite、Carbon

安装Graphite软件包后,继续进行配置:

$ sudo vim /etc/graphite/local_settings.py

设置时区:

TIME_ZONE = "Asia/Shanghai"

设置一个密钥,你可以使用uuidgen生成一个:

SECRET_KEY = 'my_secret_key'

请将其设置为一个长的随机唯一字符串,以用作密钥:

DATABASES = {

'default': {

'NAME': '/var/lib/graphite/graphite.db',

'ENGINE': 'django.db.backends.sqlite3',

'USER': '',

'PASSWORD': '',

'HOST': '',

'PORT': ''

}

}

然后添加MySQL/MariaDB的配置:

DATABASES = {

'default': {

'NAME': 'graphite_db',

'ENGINE': 'django.db.backends.mysql',

'USER': 'graphite_user',

'PASSWORD': 'strongpassword',

'HOST': '127.0.0.1',

'PORT': ''

}

}

安装pymysql Python模块:

$ sudo apt-get install python3-pymysql

$ sudo apt-get install python-pymysql

现在同步数据库以具有适当的结构:

$ sudo graphite-manage migrate auth

Operations to perform:

Apply all migrations: auth

Running migrations:

Applying contenttypes.0001_initial... OK

Applying auth.0001_initial... OK

Applying contenttypes.0002_remove_content_type_name... OK

Applying auth.0002_alter_permission_name_max_length... OK

Applying auth.0003_alter_user_email_max_length... OK

Applying auth.0004_alter_user_username_opts... OK

Applying auth.0005_alter_user_last_login_null... OK

Applying auth.0006_require_contenttypes_0002... OK

Applying auth.0007_alter_validators_add_error_messages... OK

Applying auth.0008_alter_user_username_max_length... OK

$ sudo graphite-manage migrate

Operations to perform:

Apply all migrations: admin, auth, contenttypes, sessions, tagging

Running migrations:

Applying admin.0001_initial... OK

Applying admin.0002_logentry_remove_auto_add... OK

Applying sessions.0001_initial... OK

Applying tagging.0001_initial... OK

Applying tagging.0002_on_delete... OK

启用carbon缓存:

$ sudo /etc/default/graphite-carbon

CARBON_CACHE_ENABLED=true

启用日志轮换:

$ sudo vim /etc/carbon/carbon.conf

ENABLE_LOGROTATION = True

使用以下命令启动Carbon service/ St以启动启动:

$ sudo systemctl start carbon-cache

$ sudo systemctl enable carbon-cache

然后再配置Web应用程序,可以运行以下命令:

$ sudo apt-get install nginx

参考:在Ubuntu 18.04 Server中安装LEMP的方法[Nginx、MariaDB、PHP7.2]

 

相关主题

在Ubuntu 18.04.1服务器上安装docker的步骤,附基本配置说明

精选文章
热门文章