mirror of
https://github.com/Bryanthelol/namekoplus
synced 2025-09-13 20:26:02 +08:00
Compare commits
17 Commits
Author | SHA1 | Date | |
---|---|---|---|
4cb47e6d3b | |||
548817ea1b | |||
0b893851ff | |||
62e6b1c1ed | |||
58804bbe50 | |||
1818308508 | |||
7866e6cbbf | |||
a34e1c7d0b | |||
b6659976fb | |||
6c059ac19d | |||
3641e7a1fa | |||
ac50af774d | |||
96d33944a4 | |||
0fd6949262 | |||
a8d088f6a3 | |||
0a2a382a35 | |||
e19884b1c0 |
11
README.md
11
README.md
@@ -4,6 +4,13 @@
|
||||
|
||||
A lightweight Python distributed microservice solution
|
||||
|
||||
## Installation
|
||||
|
||||
```shell
|
||||
python3 -m pip install namekoplus
|
||||
```
|
||||
|
||||
|
||||
## CLI Usage
|
||||
|
||||
### Checkout Command
|
||||
@@ -29,5 +36,5 @@ namekoplus init --directory <dir_name> --type <template_type>
|
||||
|
||||
See Documents:
|
||||
|
||||
- [English](https://murl.vip/TwML)
|
||||
- [中文](https://murl.vip/B0O9)
|
||||
- [English](https://legendary-sopapillas-e2626d.netlify.app/)
|
||||
- [中文](https://doc.bearcatlog.com/)
|
@@ -28,15 +28,14 @@
|
||||
"links": [],
|
||||
"liveNow": false,
|
||||
"panels": [
|
||||
% for grafana_dict in grafana_list:
|
||||
% for grafana_dict in grafana_list:
|
||||
{
|
||||
"aliasColors": {},
|
||||
"bars": false,
|
||||
"dashLength": 10,
|
||||
"dashes": false,
|
||||
"datasource": {
|
||||
"type": "statsd",
|
||||
"uid": "5qrwjFCnk"
|
||||
"type": "statsd"
|
||||
},
|
||||
"fill": 1,
|
||||
"fillGradient": 0,
|
||||
@@ -47,7 +46,7 @@
|
||||
"y": 0
|
||||
},
|
||||
"hiddenSeries": false,
|
||||
"id": 5,
|
||||
"id": ${loop.index},
|
||||
"legend": {
|
||||
"alignAsTable": true,
|
||||
"avg": true,
|
||||
@@ -92,7 +91,7 @@
|
||||
"title": "${service_name} | ${grafana_dict['stat_name']}",
|
||||
"tooltip": {
|
||||
"shared": true,
|
||||
"sort": 0,
|
||||
"sort": ${loop.index},
|
||||
"value_type": "individual"
|
||||
},
|
||||
"type": "graph",
|
||||
@@ -116,8 +115,13 @@
|
||||
"yaxis": {
|
||||
"align": false
|
||||
}
|
||||
|
||||
% if grafana_dict['is_last'] == 1:
|
||||
}
|
||||
% endfor
|
||||
% else:
|
||||
},
|
||||
% endif
|
||||
% endfor
|
||||
],
|
||||
"refresh": "3s",
|
||||
"schemaVersion": 36,
|
||||
|
@@ -109,7 +109,7 @@ def start_statsd_agent():
|
||||
|
||||
def start_statsd_exporter():
|
||||
with status(f'Starting statsd exporter'):
|
||||
statsd_mapping_file_path = os.path.join('.', 'statsd_mapping.yml')
|
||||
statsd_mapping_file_path = os.getcwd() + '/statsd_mapping.yml'
|
||||
returned_string = docker.run(image='prom/statsd-exporter:latest', name='statsd-exporter', pull='missing',
|
||||
detach=True, restart='always', tty=True, hostname='statsd-exporter',
|
||||
publish=[(9125, 9125, 'udp'), (9102, 9102)], interactive=True,
|
||||
@@ -136,7 +136,7 @@ def start_grafana():
|
||||
grafana_conf_dir = os.path.join(get_directory('chassis-agent'), 'metric-configs')
|
||||
grafana_provisioning_path = os.path.join(grafana_conf_dir, 'grafana_conf/provisioning')
|
||||
grafana_config_path = os.path.join(grafana_conf_dir, 'grafana_conf/config/grafana.ini')
|
||||
grafana_dashboard_path = os.path.join('.', 'grafana_dashboards')
|
||||
grafana_dashboard_path = os.path.join(os.getcwd(), 'grafana_dashboards')
|
||||
returned_string = docker.run(image='grafana/grafana:latest', name='grafana', hostname='grafana',
|
||||
detach=True, restart='always', tty=True, interactive=True,
|
||||
publish=[(3100, 3000)], pull='missing',
|
||||
@@ -367,6 +367,11 @@ def metric_config_gen(module, class_name_str):
|
||||
for config in config_list:
|
||||
if config['class_name'] == class_name:
|
||||
grafana_list.append(config)
|
||||
for idx, grafana_dict in enumerate(grafana_list):
|
||||
if idx + 1 == len(grafana_list):
|
||||
grafana_dict['is_last'] = 1
|
||||
else:
|
||||
grafana_dict['is_last'] = 0
|
||||
grafana_configs_dir = os.path.join(get_directory('chassis-agent'), 'metric-configs')
|
||||
grafana_file_path = os.path.join(grafana_configs_dir, 'grafana.json.mako')
|
||||
output_file = os.path.join('grafana_dashboards', f'{class_name}_Grafana.json')
|
||||
|
@@ -2,7 +2,8 @@ AMQP_URI: pyamqp://${RABBIT_USER:admin}:${RABBIT_PASSWORD:admin}@${RABBIT_HOST:l
|
||||
WEB_SERVER_ADDRESS: '0.0.0.0:8000'
|
||||
RPC_EXCHANGE: 'nameko-rpc'
|
||||
|
||||
max_workers: 10
|
||||
max_workers: 20
|
||||
PREFETCH_COUNT: 20
|
||||
parent_calls_tracked: 20
|
||||
|
||||
LOGGING:
|
||||
|
@@ -1,5 +1,6 @@
|
||||
AMQP_URI: pyamqp://${RABBIT_USER:admin}:${RABBIT_PASSWORD:admin}@${RABBIT_HOST:localhost}:${RABBIT_PORT:5672}/
|
||||
RPC_EXCHANGE: 'nameko-rpc'
|
||||
|
||||
max_workers: 10
|
||||
max_workers: 20
|
||||
PREFETCH_COUNT: 20
|
||||
parent_calls_tracked: 20
|
||||
|
@@ -1,7 +1,8 @@
|
||||
AMQP_URI: pyamqp://${RABBIT_USER:admin}:${RABBIT_PASSWORD:admin}@${RABBIT_HOST:localhost}:${RABBIT_PORT:5672}/
|
||||
RPC_EXCHANGE: 'nameko-rpc'
|
||||
|
||||
max_workers: 10
|
||||
max_workers: 20
|
||||
PREFETCH_COUNT: 20
|
||||
parent_calls_tracked: 20
|
||||
|
||||
LOGGING:
|
||||
|
@@ -2,7 +2,8 @@ AMQP_URI: pyamqp://${RABBIT_USER:admin}:${RABBIT_PASSWORD:admin}@${RABBIT_HOST:l
|
||||
WEB_SERVER_ADDRESS: '0.0.0.0:8000'
|
||||
RPC_EXCHANGE: 'nameko-rpc'
|
||||
|
||||
max_workers: 10
|
||||
max_workers: 20
|
||||
PREFETCH_COUNT: 20
|
||||
parent_calls_tracked: 20
|
||||
|
||||
LOGGING:
|
||||
|
@@ -1,7 +1,8 @@
|
||||
AMQP_URI: pyamqp://${RABBIT_USER:admin}:${RABBIT_PASSWORD:admin}@${RABBIT_HOST:localhost}:${RABBIT_PORT:5672}/
|
||||
RPC_EXCHANGE: 'nameko-rpc'
|
||||
|
||||
max_workers: 10
|
||||
max_workers: 20
|
||||
PREFETCH_COUNT: 20
|
||||
parent_calls_tracked: 20
|
||||
|
||||
LOGGING:
|
||||
|
@@ -1,7 +1,8 @@
|
||||
AMQP_URI: pyamqp://${RABBIT_USER:admin}:${RABBIT_PASSWORD:admin}@${RABBIT_HOST:localhost}:${RABBIT_PORT:5672}/
|
||||
RPC_EXCHANGE: 'nameko-rpc'
|
||||
|
||||
max_workers: 10
|
||||
max_workers: 20
|
||||
PREFETCH_COUNT: 20
|
||||
parent_calls_tracked: 20
|
||||
|
||||
LOGGING:
|
||||
|
17
setup.py
17
setup.py
@@ -9,13 +9,12 @@ with open(path.join(here, 'README.md'), encoding='utf-8') as f:
|
||||
|
||||
setup(
|
||||
name='namekoplus',
|
||||
version='0.4.10',
|
||||
version='0.4.27',
|
||||
description='A lightweight Python distributed microservice solution',
|
||||
long_description=long_description,
|
||||
long_description_content_type='text/markdown',
|
||||
url='',
|
||||
project_urls={
|
||||
'Documentation': 'https://doc.bearcatlog.com/',
|
||||
'Source Code': 'https://github.com/Bryanthelol/namekoplus',
|
||||
'Bug Tracker': 'https://github.com/Bryanthelol/namekoplus/issues',
|
||||
},
|
||||
@@ -50,7 +49,7 @@ setup(
|
||||
install_requires=[
|
||||
'nameko==3.0.0rc11',
|
||||
'click==8.1.5',
|
||||
'python-on-whales==0.64.0',
|
||||
'python-on-whales==0.65.0',
|
||||
'pytest==7.4.0',
|
||||
'mako==1.2.4',
|
||||
'shortuuid==1.0.11'
|
||||
@@ -58,13 +57,15 @@ setup(
|
||||
extras_require={
|
||||
'ha': ['tenacity==8.2.2',
|
||||
'cachetools==5.3.0',
|
||||
'circuitbreaker==2.0.0',
|
||||
'logstash_formatter==0.5.17'],
|
||||
'ob': ['statsd==4.0.1',
|
||||
'nameko-sentry==1.0.0',
|
||||
'circuitbreaker==2.0.0'],
|
||||
'ob': ['nameko-sentry==1.0.0',
|
||||
'nameko-tracer==1.4.0'],
|
||||
'log': ['loguru==0.7.2',
|
||||
'logstash_formatter==0.5.17'],
|
||||
'metric': ['statsd==4.0.1'],
|
||||
'schema': ['marshmallow==3.20.1'],
|
||||
'security': ['cryptography'],
|
||||
'dev': ['environs==9.5.0']
|
||||
'dev': ['python-dotenv==1.0.0',
|
||||
'environs==9.5.0']
|
||||
},
|
||||
)
|
||||
|
Reference in New Issue
Block a user