You've already forked pg_probackup_exporter
mirror of
https://github.com/pavel-v-sobolev/pg_probackup_exporter.git
synced 2026-06-18 21:35:20 +02:00
Merge pull request #5 from agospher4eg/minio-storage-support
minio storage support
This commit is contained in:
@@ -17,6 +17,8 @@ It exports pg_probackup metrics as a web service in prometheus format.
|
|||||||
PG_PROBACKUP_EXPORTER_PORT = '9899'
|
PG_PROBACKUP_EXPORTER_PORT = '9899'
|
||||||
3) path to backup folder e.g.
|
3) path to backup folder e.g.
|
||||||
PG_PROBACKUP_PATH = '/mnt/backup'
|
PG_PROBACKUP_PATH = '/mnt/backup'
|
||||||
|
4) path to minio config (optionally)
|
||||||
|
PG_PROBACKUP_S3_MINIO_CONFIG = '/etc/pg_probackup/s3.config'
|
||||||
|
|
||||||
Metrics are available under _http://your_host:port/metrics_<br />
|
Metrics are available under _http://your_host:port/metrics_<br />
|
||||||
|
|
||||||
@@ -29,6 +31,7 @@ User=postgres
|
|||||||
Group=postgres
|
Group=postgres
|
||||||
Environment=PG_PROBACKUP_COMMAND='/usr/bin/pg_probackup-17'
|
Environment=PG_PROBACKUP_COMMAND='/usr/bin/pg_probackup-17'
|
||||||
Environment=PG_PROBACKUP_PATH='/mnt/backup'
|
Environment=PG_PROBACKUP_PATH='/mnt/backup'
|
||||||
|
Environment=PG_PROBACKUP_S3_MINIO_CONFIG='/etc/pg_probackup/s3.config'
|
||||||
ExecStart=/usr/bin/python3 /usr/local/bin/pg_probackup_exporter.py
|
ExecStart=/usr/bin/python3 /usr/local/bin/pg_probackup_exporter.py
|
||||||
KillMode=control-group
|
KillMode=control-group
|
||||||
TimeoutSec=5
|
TimeoutSec=5
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ To use this program, you need to set 3 environment vars:
|
|||||||
PG_PROBACKUP_EXPORTER_PORT = '9899'
|
PG_PROBACKUP_EXPORTER_PORT = '9899'
|
||||||
3) path to backup folder e.g.
|
3) path to backup folder e.g.
|
||||||
PG_PROBACKUP_PATH = '/mnt/backup'
|
PG_PROBACKUP_PATH = '/mnt/backup'
|
||||||
|
4) path to S3 configuration file (optionally)
|
||||||
|
PG_PROBACKUP_S3_MINIO_CONFIG = '/etc/pg_probackup/s3.config'
|
||||||
Metrics are available under http://your_host:port/metrics
|
Metrics are available under http://your_host:port/metrics
|
||||||
|
|
||||||
"""
|
"""
|
||||||
@@ -34,6 +35,8 @@ cmd = os.environ.get('PG_PROBACKUP_COMMAND')
|
|||||||
|
|
||||||
backup_path = os.environ.get('PG_PROBACKUP_PATH')
|
backup_path = os.environ.get('PG_PROBACKUP_PATH')
|
||||||
|
|
||||||
|
minio_config_path = os.environ.get('PG_PROBACKUP_S3_MINIO_CONFIG')
|
||||||
|
|
||||||
if cmd is None:
|
if cmd is None:
|
||||||
print('ERROR: Need PG_PROBACKUP_COMMAND environment varible')
|
print('ERROR: Need PG_PROBACKUP_COMMAND environment varible')
|
||||||
sys.exit()
|
sys.exit()
|
||||||
@@ -73,6 +76,8 @@ def metrics_folder():
|
|||||||
|
|
||||||
# call pg_probackup_command
|
# call pg_probackup_command
|
||||||
show_cmd = f"""{cmd} show --backup-path="{backup_path}" --format=json"""
|
show_cmd = f"""{cmd} show --backup-path="{backup_path}" --format=json"""
|
||||||
|
if minio_config_path:
|
||||||
|
show_cmd = f"{show_cmd} --s3=minio --s3-config-file={minio_config_path}"
|
||||||
cmd_result = os.popen(show_cmd).read()
|
cmd_result = os.popen(show_cmd).read()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -93,6 +98,8 @@ def metrics_folder():
|
|||||||
instance = d['instance']
|
instance = d['instance']
|
||||||
|
|
||||||
config_cmd = f"""{cmd} show-config --backup-path="{backup_path}" --format=json --instance={instance}"""
|
config_cmd = f"""{cmd} show-config --backup-path="{backup_path}" --format=json --instance={instance}"""
|
||||||
|
if minio_config_path:
|
||||||
|
config_cmd = f"{config_cmd} --s3=minio --s3-config-file={minio_config_path}"
|
||||||
cmd_result = os.popen(config_cmd).read()
|
cmd_result = os.popen(config_cmd).read()
|
||||||
try:
|
try:
|
||||||
config_data = json.loads(cmd_result)
|
config_data = json.loads(cmd_result)
|
||||||
|
|||||||
Reference in New Issue
Block a user