NuoDB收集代理(NuoCA)
pynuoca的Python项目详细描述
NuoDB收集代理(NuoCA)是一个框架,用于从运行的系统收集时间序列度量和事件数据,并将其发送到可以使用这些数据的组件。 NuoCA可以很容易地将收集到的数据发送到文件系统、ElasticSearch、restapi、InfluxDB、Kafka。在
Requirements
- Python–以下选项之一:
- CPython>;=2.7
- NuoDB–以下选项之一:
- ^{4.0平方英寸
- Python库:
- 埃努姆
- 点击
- 弹性搜索
- python dateutil
- 皮普布苏
- 皮亚姆
- 请求
- 卷曲
- 雅普赛人
- 卡夫卡Python
- Logstash 5.x,如果使用NuoAdminAgentLog或Logstash插件
- 如果使用Zabbix插件,则为Zabbix 2.2(或更高版本)
- 如果使用ElasticSearch插件,则为ElasticSearch 5.x
- 如果使用InfluxDB,则InfluxDB 1.4.3
- Zookeeper 3.4.10,如果使用Kafka producer
- 如果使用Kafka producer,则为Kafka 2.11-1.0.0
如果您还没有这样做,Download and Install NuoDB。在
Installation
最后一个稳定版本在PyPI上可用,可以与一起安装 pip:
$ pip install pynuoca
或者(例如,如果pip不可用),可以下载tarball 从GitHub并与Setuptools一起安装:
^{pr2}$Example
NuoCA需要在同一台Linux机器上安装NuoDB。 要为各种不同的环境获取NuoDB,请访问NuoDB community edition homepage。在
安装NuoCA:
$ pip install pynuoca
pip将相关文件安装在:
/usr/bin/nuoca /usr/etc/nuoca* /usr/lib/python2.7/site-packages/pynuoca
启动您的NuoDB数据库并通过nuocmd验证NuoDB是否正在运行:
$ nuocmd show domain server version: 4.1-2-644d1d6206, server license: Enterprise server time: 2020-08-26T15:11:06.709, client token: 63b87d8fb5f2a8599472befaeae6fcf07dd929b7 Servers: [nuoadmin-0] localhost:48005 [last_ack = 8.53] [member = ADDED] [raft_state = ACTIVE] (LEADER, Leader=nuoadmin-0, log=0/47/47) Connected * Databases: test [state = RUNNING] [SM] 48414cee8a28/localhost:48007 [start_id = 0] [server_id = nuoadmin-0] [pid = 1234] [node_id = 1] [last_ack = 2.58] MONITORED:RUNNING [TE] 48414cee8a28/localhost:48006 [start_id = 1] [server_id = nuoadmin-0] [pid = 1230] [node_id = 2] [last_ack = 2.41] MONITORED:RUNNING
我们将使用一个简单的输出插件将指标写入磁盘。 还有许多其他插件可用,例如:ElasticSearch、Kafka、InfluxDB和Rest。 您可以使用以下文件:
$ cat /usr/etc/nuoca.yml NUOCA_LOGFILE: /var/log/nuodb/nuoca.log INPUT_PLUGINS: - NuoAdminNuoMon: description : Collection from NuoDB engines nuocaCollectionName: NuoMon client_key: ${NUOCMD_CLIENT_KEY} api_server: ${NUOCMD_API_SERVER} OUTPUT_PLUGINS: - File: filePath: /tmp/output.txt
设置预期的环境变量。 如果使用TLS,NUOCMD_CLIENT_KEY必须设置为TLS客户端私钥。此文件通常位于/etc/nuodb/keys/。 NUOCMD_API_SERVER必须设置为要连接到的管理服务器或负载平衡器。 如果在同一台计算机上运行,请使用https://localhost:8888。在
NuoCA设置由位于/usr/etc中的nuoca_settings.yml文件控制。 对于大多数安装,默认值是可以接受的:
$ cat /usr/etc/nuoca_settings.yml # Global settings for NuoCA # # Override Default Logging Level INFO, # with one of: DEBUG, INFO, WARNING, ERROR, CRITICAL # nuoca.logging.level: DEBUG # # Enable nuoca.log collection (default is false) # collect.nuoca.log: true # # Enable Logging of collection counts (default is false) # logCollectionCounts: true
现在可以启动NuoCA服务器了:
$ /usr/bin/nuoca /usr/etc/nuoca.yml Using CONFIG file /usr/etc/nuoca_settings.yml INFO:nuoca:nuoca server init. INFO:nuoca:NuoCA, PID: 1716 INFO:nuoca:plugin dir: /tmp/nuoca/plugins INFO:nuoca:Creating plugin: NuoAdminNuoMon INFO:nuoca:Plugin: NuoAdminNuoMon, PID: 1722 INFO:nuoca:Called to start plugin: NuoAdminNuoMon INFO:nuoca:NuoAdminNuoMon: plugin config: {'domain_password': '', 'nuoca_start_ts': None, 'api_server': '${NUOCMD_API_SERVER}', 'description': 'Collection from NuoDB engines', 'nuocaCollectionName': 'NuoMon', 'nuoca_collection_interval': 30, 'client_key': '${NUOCMD_CLIENT_KEY}'} INFO:nuoca:Creating plugin: File INFO:nuoca:Plugin: File, PID: 1723 INFO:nuoca:Called to start plugin: File INFO:nuoca:Starting collection interval: 1598455230000
现在可以在/tmp/output.txt中找到度量。在
Resources
NuoDB文档:Documentation
License
PyNuoCA是根据MIT License授权的。在
- 项目
标签: