commit | 7187d6b1764f5cf91d3e42cdfd69c3dfaf0e19b2 | [log] [tgz] |
---|---|---|
author | Michal Kobus <mkobus@mirantis.com> | Tue Jul 11 11:56:06 2023 +0200 |
committer | Michal Kobus <mkobus@mirantis.com> | Tue Sep 19 15:36:36 2023 +0200 |
tree | d0c226105289d9ec0e2ae62984f6fee1108e7194 | |
parent | cacc82326022f849d39ad528890d878935882c51 [diff] |
Improve sf-notifier worker management - tune uwsgi with feature flags based on https://www.bloomberg.com/company/stories/configuring-uwsgi-production-deployment/ - add second HTTP process for redundancy - increase worker lifetime to 1 hour - handle Prometheus metrics in multiprocess mode Change-Id: Ie63333d982fd73791db15eedc0604d0e1f01f34f Related-PROD: PRODX-34058
Prometheus Alertmanager webhook receiver sending alert notification to Salesforce.
Install Python dependencies:
$ virtualenv venv -p python3 $ source venv/bin/activate (venv)$ source sf_notifier/vars/development (venv)$ pip install --upgrade pip (venv)$ pip install -e .
Add to settings/development.py
credentials for your Salesforce customer (not engineering) account:
SF_CONFIG = { 'AUTH_URL': 'xxx', 'USERNAME': 'xxx', 'PASSWORD': 'xxx', 'ORGANIZATION_ID': 'xxx', 'ENVIRONMENT_ID': 'xxx', 'SANDBOX_ENABLED': True }
You may also specify environment variables to override Python settings:
export SFDC_AUTH_URL="xxx" export SFDC_USERNAME="xxx" export SFDC_PASSWORD="xxx" export SFDC_ORGANIZATION_ID="xxx" export SFDC_ENVIRONMENT_ID="xxx" export SFDC_SANDBOX_ENABLED=true
Run server:
(venv)$ uwsgi --http 127.0.0.1:5000 --wsgi-file sf_notifier/server.py --callable app_dispatch
Check in browser:
http://127.0.0.1:5000/metrics