本文介绍在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命令:
第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命令:
这将启动名为graphite的Docker容器,另请注意,如果主机上已经占用了相应的端口,你可以自由地将容器端口重新映射到任何主机端口。 包括组件:Nginx、Graphite、Carbon、Statsd。 映射端口如下图:
默认情况下,statsd侦听UDP端口8125,如果你希望它侦听TCP端口8125,则可以在运行容器时将环境变量STATSD_INTERFACE设置为tcp。 第3步:访问Graphite Web界面 当一切运行正常时,使用服务器IP地址或端口号以及主机上映射到容器端口80的端口访问Graphite Web仪表板:
默认登录信息是: 用户名:root 密码:root
首次登录后,在http://ip-address/admin/auth/user/1/更改此登录信息:
提供所需的root密码并确认:
现在可以注销并重新登录以确认新密码正在运行。
方法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]。
相关主题 |