Skip to content

Commit f6df267

Browse files
committed
temp commit
1 parent 6f95dd3 commit f6df267

42 files changed

Lines changed: 1124 additions & 3854 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Agent Listening:
2+
- Check with console every 60s
3+
- Is there any configure change? (templates\configuration\keystore\etc)
4+
- Is there any new service?(plugins\scripts\etc)
5+
- Pulling new configure from server
6+
- Pulling new service from server
7+
- Restarting service
8+
- Report status to server

TODO

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,23 @@
1+
# 探针安装
2+
1. 通过脚本一键下载和解压,生成配置文件
3+
2. 探针发送一个注册请求到远程管理节点,如果已经注册则跳过此步骤
4+
如果有 Token,自动 Enroll,如果失败,手动待 Enroll
5+
6+
服务端分配节点到资源配置组,根据 Token 来自动分配。
7+
服务端初始化相关配置信息,默认为基本的自己本节点的监控指标采集。
8+
9+
3. 正常采集数据,发送到远程管理节点
10+
4. 处理后续的配置变更和升级
11+
12+
113
1.采集本机节点监控。
214
2.监控先入本地队列。
315

416
https://github.com/netdata/go.d.plugin/tree/master/modules/elasticsearch
517

18+
19+
20+
621
Agent 职责
722
# 负责 Elasticsearch 进程的启动管理
823
# 负责 Elasticsearch 本地配置的更新
@@ -71,4 +86,4 @@ http://localhost:9200/_cluster/state/version,nodes,master_node,routing_table
7186

7287
## 元数据,基本不变,一般只需要采集一次
7388
http://localhost:9200/_nodes/_local
74-
只采集指定节点端口暴露出来的统计数据,避免分布式采集造成的数据超时
89+
只采集指定节点端口暴露出来的统计数据,避免分布式采集造成的数据超时

agent.yml

Lines changed: 78 additions & 235 deletions
Original file line numberDiff line numberDiff line change
@@ -1,254 +1,97 @@
11
env:
2-
# LOGGING_ES_ENDPOINT: http://localhost:9200
3-
# LOGGING_ES_USER: admin
4-
# LOGGING_ES_PASS: admin
52
API_BINDING: "0.0.0.0:2900"
63

74
path.data: data
85
path.logs: log
96
path.configs: "config"
107
configs.auto_reload: true
118

9+
resource_limit.cpu.max_num_of_cpus: 1
10+
resource_limit:
11+
memory:
12+
max_in_bytes: 533708800 #50MB
13+
14+
task:
15+
max_concurrent_tasks: 3
16+
17+
stats:
18+
include_storage_stats_in_api: false
19+
20+
#TODO
21+
#elastic:
22+
# skip_init_metadata_on_start: true
23+
# health_check:
24+
# enabled: true
25+
# interval: 60s
26+
# availability_check:
27+
# enabled: false
28+
# interval: 60s
29+
30+
#TODO remove
31+
elastic.elasticsearch: default_ingest_cluster
32+
elasticsearch:
33+
- name: default_ingest_cluster
34+
enabled: true
35+
endpoint: "http://localhost:9200"
36+
elastic:
37+
enabled: true
38+
remote_configs: true
39+
health_check:
40+
enabled: true
41+
interval: 30s
42+
availability_check:
43+
enabled: true
44+
interval: 60s
45+
metadata_refresh:
46+
enabled: true
47+
interval: 30s
48+
cluster_settings_check:
49+
enabled: true
50+
interval: 20s
51+
store:
52+
enabled: false
53+
orm:
54+
enabled: true
55+
init_template: true
56+
template_name: ".infini"
57+
index_prefix: ".infini_"
58+
59+
disk_queue:
60+
max_msg_size: 20485760
61+
max_bytes_per_file: 20485760
62+
max_used_bytes: 524288000
63+
retention.max_num_of_local_files: 1
64+
compress:
65+
idle_threshold: 1
66+
num_of_files_decompress_ahead: 0
67+
segment:
68+
enabled: true
69+
1270
api:
1371
enabled: true
1472
network:
1573
binding: $[[env.API_BINDING]]
74+
# tls:
75+
# enabled: true
76+
# cert_file: /etc/ssl.crt
77+
# key_file: /etc/ssl.key
78+
# skip_insecure_verify: false
1679

1780
badger:
81+
mem_table_size: 1048576
1882
value_log_max_entries: 1000000
1983
value_log_file_size: 104857600
2084
value_threshold: 1024
21-
22-
#metrics:
23-
# enabled: true
24-
# queue: metrics
25-
# network:
26-
# enabled: true
27-
# summary: true
28-
# details: true
29-
# memory:
30-
# metrics:
31-
# - swap
32-
# - memory
33-
# disk:
34-
# metrics:
35-
# - iops
36-
# - usage
37-
# cpu:
38-
# metrics:
39-
# - idle
40-
# - system
41-
# - user
42-
# - iowait
43-
# - load
44-
# instance:
45-
# enabled: true
46-
47-
#elasticsearch:
48-
# - name: default
49-
# enabled: true
50-
# endpoint: $[[env.LOGGING_ES_ENDPOINT]]
51-
# discovery:
52-
# enabled: true
53-
# basic_auth:
54-
# username: $[[env.LOGGING_ES_USER]]
55-
# password: $[[env.LOGGING_ES_PASS]]
56-
57-
#pipeline:
58-
# - name: logs_indexing_merge
59-
# auto_start: true
60-
# keep_running: true
61-
# processor:
62-
# - indexing_merge:
63-
# index_name: ".infini_logs"
64-
# elasticsearch: "default"
65-
# input_queue: "logs"
66-
# idle_timeout_in_seconds: 10
67-
# output_queue:
68-
# name: "logs_requests"
69-
# label:
70-
# tag: "logs"
71-
# worker_size: 1
72-
# bulk_size_in_mb: 10
73-
# - name: ingest_logs
74-
# auto_start: true
75-
# keep_running: true
76-
# processor:
77-
# - bulk_indexing:
78-
# bulk:
79-
# compress: true
80-
# batch_size_in_mb: 5
81-
# batch_size_in_docs: 5000
82-
# consumer:
83-
# fetch_max_messages: 100
84-
# queues:
85-
# type: indexing_merge
86-
# tag: "logs"
87-
# when:
88-
# cluster_available: ["default"]
89-
# - name: metrics_indexing_merge
90-
# auto_start: true
91-
# keep_running: true
92-
# processor:
93-
# - indexing_merge:
94-
# elasticsearch: "default"
95-
# index_name: ".infini_metrics"
96-
# input_queue: "metrics"
97-
# output_queue:
98-
# name: "metrics_requests"
99-
# label:
100-
# tag: "metrics"
101-
# worker_size: 1
102-
# bulk_size_in_mb: 5
103-
# - name: ingest_metrics
104-
# auto_start: true
105-
# keep_running: true
106-
# processor:
107-
# - bulk_indexing:
108-
# bulk:
109-
# compress: true
110-
# batch_size_in_mb: 5
111-
# batch_size_in_docs: 5000
112-
# consumer:
113-
# fetch_max_messages: 100
114-
# queues:
115-
# type: indexing_merge
116-
# tag: "metrics"
117-
# when:
118-
# cluster_available: ["default"]
119-
120-
# collect es metrics from default cluster
121-
# - name: collect_default_node_stats
122-
# enabled: false
123-
# auto_start: true
124-
# keep_running: true
125-
# retry_delay_in_ms: 10000
126-
# processor:
127-
# - es_node_stats:
128-
# elasticsearch: default
129-
# - name: collect_default_index_stats
130-
# enabled: false
131-
# auto_start: true
132-
# keep_running: true
133-
# retry_delay_in_ms: 10000
134-
# processor:
135-
# - es_index_stats:
136-
# elasticsearch: default
137-
# - name: collect_default_cluster_stats
138-
# enabled: false
139-
# auto_start: true
140-
# keep_running: true
141-
# retry_delay_in_ms: 10000
142-
# processor:
143-
# - es_cluster_stats:
144-
# elasticsearch: default
145-
# - name: collect_default_cluster_health
146-
# enabled: false
147-
# auto_start: true
148-
# keep_running: true
149-
# retry_delay_in_ms: 10000
150-
# processor:
151-
# - es_cluster_health:
152-
# elasticsearch: default
153-
154-
# collect es logs
155-
# - name: collect_default_es_logs
156-
# enabled: false
157-
# auto_start: true
158-
# keep_running: true
159-
# retry_delay_in_ms: 3000
160-
# processor:
161-
# - es_logs_processor:
162-
# queue_name: "logs"
163-
# elasticsearch: default
164-
# # optional
165-
# # logs_path: "/opt/es/elasticsearch-7.7.1/logs"
166-
# collect:
167-
# server:
168-
# json: true
169-
# text: false
170-
# search_slow:
171-
# json: true
172-
# text: false
173-
# indexing_slow:
174-
# json: true
175-
# text: false
176-
# deprecation:
177-
# json: true
178-
# text: false
179-
# audit:
180-
# json: true
181-
# text: false
182-
# gc:
183-
# json: false
184-
# text: true
185-
186-
# collect customized logs
187-
# - name: log_collect
188-
# enabled: false
189-
# auto_start: true
190-
# keep_running: true
191-
# retry_delay_in_ms: 3000
192-
# processor:
193-
# - logs_processor:
194-
# queue_name: "logs"
195-
# logs_path: "/opt/es/elasticsearch-7.7.1/logs"
196-
# # metadata for all log items
197-
# metadata:
198-
# category: elasticsearch
199-
# # patterns are matched in order
200-
# patterns:
201-
# - pattern: ".*_server.json$" # file name pattern to match
202-
# # log type, json/text/multiline
203-
# type: json
204-
# # metadata for matched files
205-
# metadata:
206-
# name: server
207-
# # (json) timestamp fields in json message, match the first one
208-
# timestamp_fields: ["timestamp", "@timestamp"]
209-
# # (json) remove fields with specified key path
210-
# remove_fields:
211-
# [
212-
# "type",
213-
# "cluster.name",
214-
# "cluster.uuid",
215-
# "node.name",
216-
# "node.id",
217-
# "timestamp",
218-
# "@timestamp",
219-
# ]
220-
# - pattern: "gc.log$" # file name pattern to match
221-
# # log type, json/text/multiline
222-
# type: json
223-
# # metadata for matched files
224-
# metadata:
225-
# name: gc
226-
# # (text) regex to match timestamp in the log entries
227-
# timestamp_patterns:
228-
# - "\\d{4}-\\d{1,2}-\\d{1,2}T\\d{1,2}:\\d{1,2}:\\d{1,2}.\\d{3}\\+\\d{4}"
229-
# - "\\d{4}-\\d{1,2}-\\d{1,2} \\d{1,2}:\\d{1,2}:\\d{1,2},\\d{3}"
230-
# - "\\d{4}-\\d{1,2}-\\d{1,2}T\\d{1,2}:\\d{1,2}:\\d{1,2},\\d{3}"
231-
# - pattern: ".*.log$" # file name pattern to match
232-
# # log type, json/text/multiline
233-
# type: multiline
234-
# # (multiline) the pattern to match a new line
235-
# line_pattern: '^\['
236-
# # metadata for matched files
237-
# metadata:
238-
# name: server
239-
# # (text) regex to match timestamp in the log entries
240-
# timestamp_patterns:
241-
# - "\\d{4}-\\d{1,2}-\\d{1,2}T\\d{1,2}:\\d{1,2}:\\d{1,2}.\\d{3}\\+\\d{4}"
242-
# - "\\d{4}-\\d{1,2}-\\d{1,2} \\d{1,2}:\\d{1,2}:\\d{1,2},\\d{3}"
243-
# - "\\d{4}-\\d{1,2}-\\d{1,2}T\\d{1,2}:\\d{1,2}:\\d{1,2},\\d{3}"
244-
24585
agent:
246-
major_ip_pattern: ".*"
247-
labels:
248-
env: dev
249-
tags:
250-
- linux
251-
- x86
252-
- es7
253-
- v7.5
25486

87+
configs:
88+
#for managed client's setting
89+
managed: true # managed by remote servers
90+
interval: "1s"
91+
servers: # config servers
92+
- "http://localhost:2900"
93+
max_backup_files: 5
94+
95+
#for config servers
96+
manager:
97+
# local_configs_repo_path: /Users/medcl/go/src/infini.sh/agent/config_repo/

api/api.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ type AgentAPI struct {
1313
}
1414

1515
func (handler *AgentAPI) Init() {
16-
api.HandleAPIMethod(api.GET, "/stats/_local", handler.LocalStats())
17-
api.HandleAPIMethod(api.DELETE, "/manage/:agent_id", handler.DeleteAgent())
18-
api.HandleAPIMethod(api.POST, "/manage/register/:agent_id", handler.RegisterCallBack())
19-
api.HandleAPIMethod(api.GET, "/agent/:agent_id/host/_basic", handler.HostBasicInfo())
20-
api.HandleAPIMethod(api.GET, "/agent/:agent_id/host/usage/:category", handler.HostUsageInfo())
21-
api.HandleAPIMethod(api.GET, "/agent/:agent_id/process/_elastic", handler.ElasticProcessInfo())
16+
//api.HandleAPIMethod(api.DELETE, "/manage/:agent_id", handler.DeleteAgent())
17+
//api.HandleAPIMethod(api.POST, "/manage/register/:agent_id", handler.RegisterCallBack())
18+
//api.HandleAPIMethod(api.GET, "/agent/:agent_id/host/_basic", handler.HostBasicInfo())
19+
//api.HandleAPIMethod(api.GET, "/agent/:agent_id/host/usage/:category", handler.HostUsageInfo())
20+
//api.HandleAPIMethod(api.GET, "/agent/:agent_id/process/_elastic", handler.ElasticProcessInfo())
2221
}

0 commit comments

Comments
 (0)