更新在AmazonLinux2上安装的Graphite的配置
首先
这篇文章是上次发布的以下文章的延续。
在AmazonLinux2上构建Graphite+Grafana,而不使用Docker。
上次我们是使用默认设置进行安装的,所以这篇文章的主题是再次审视一下更多的设置。
设定概述
-
- 将Graphite数据库从SQLite更改为PostgreSQL
-
- 更改local_settings.py(Graphite的配置)
-
- 更改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?