更新在AmazonLinux2上安装的Graphite的配置

首先

这篇文章是上次发布的以下文章的延续。
在AmazonLinux2上构建Graphite+Grafana,而不使用Docker。
上次我们是使用默认设置进行安装的,所以这篇文章的主题是再次审视一下更多的设置。

设定概述

    1. 将Graphite数据库从SQLite更改为PostgreSQL

 

    1. 更改local_settings.py(Graphite的配置)

 

    1. 更改carbon数据保留期限

 

    将carbon作为服务化

环境

項目値OSAmazonLinux2インスタンスタイプt3.microPython3.7.9 (デフォルトでインストール済み)PostgreSQL11.5Graphite1.1.8

石墨设定

网页应用程序数据库更改

将默认的SQLite更改为PostgreSQL。

安装PostgreSQL11

# インストール
amazon-linux-extras enable postgresql11
yum install postgresql-server postgresql-devel postgresql-contrib

# DBセットアップ
postgresql-setup initdb

# 起動
systemctl start postgresql.service
systemctl enable postgresql.service

# ユーザパスワード設定
sudo passwd postgres

# pythonからPostgreSQLに接続するためのライブラリをインストール
pip3 install psycopg2

在PostgreSQL中,允许密码认证。将IPv4本地连接从 “ident” 更改为 “md5″。

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 ident

修改完后,将重新启动postgresql。

systemctl restart postgresql.service

接下来,我们将创建 Graphite 使用的数据库。

# PostgreSQLにログイン
sudo -u postgres psql

# graphiteユーザを作成
postgres=# CREATE USER graphite WITH PASSWORD 'password';

# graphiteデータベースを作成
postgres=# CREATE DATABASE graphite WITH OWNER graphite;

更改Graphite的配置,使其引用PostgreSQL。
创建并配置以下文件。

DATABASES = {
    'default': {
        'NAME': 'graphite',
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'USER': 'graphite',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '5432'
    }
}

我将建立数据库。

PYTHONPATH=/opt/graphite/webapp django-admin.py migrate --settings=graphite.settings --run-syncdb

# apacheも再起動
systemctl restart httpd.service

其他网络应用的结构

最后,我们构建的配置文件如下述所示。

SECRET_KEY = 'MY_SECRET_KEY'
TIME_ZONE = 'Asia/Tokyo'

DASHBOARD_REQUIRE_AUTHENTICATION = True
DASHBOARD_REQUIRE_PERMISSIONS = True

DATABASES = {
    'default': {
        'NAME': 'graphite',
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'USER': 'graphite',
        'PASSWORD': 'password',
        'HOST': 'localhost',
        'PORT': '5432'
    }
}

我們將應用設定。

PYTHONPATH=/opt/graphite/webapp django-admin.py migrate --settings=graphite.settings --run-syncdb

# apacheも再起動
systemctl restart httpd.service

碳的构成

让我们尝试更改指标的保存期限。

    • 60秒のデータ – 30日

 

    • 5分のデータ - 90日

 

    1時間のデータ – 3年
[default]
pattern = .*
retentions = 60s:30d,5m:90d,1h:3y

将碳服务化

使用systemd将Carbon服务化。
由于没有默认提供,所以进行了各种调查并创建了。
创建以下的service文件。

[Unit]
Description=Graphite Carbon Cache
After=network.target

[Service]
Type=forking
StandardOutput=syslog
StandardError=syslog
ExecStart=/opt/graphite/bin/carbon-cache.py --config=/opt/graphite/conf/carbon.conf --pidfile=/var/run/carbon-cache.pid start
ExecReload=/bin/kill -USR1 $MAINPID
PIDFile=/var/run/carbon-cache.pid

[Install]
WantedBy=multi-user.target

我会启动并确认它不会出错。

systemctl enable carbon-cache.service
systemctl start carbon-cache.service

结束时

虽然设置似乎还不够完整,但是只要至少设置到这个程度,应该就能使用Graphite了。

请参阅网址

    • AWS(Amazon Linux2)にPostgreSQLをインストールする

 

    • 19.1. pg_hba.confファイル

 

    • Ubuntuに監視ツール『Graphite』をインストールして構成する方法

 

    • ネットワークメトリクスを視覚化してみた(collectd + Graphite + Grafana)

 

    /opt/graphite/bin/carbon-cache.py start systemd service?
广告
将在 10 秒后关闭
bannerAds