241 lines
5.9 KiB
YAML
241 lines
5.9 KiB
YAML
---
|
||
kind: ConfigMap
|
||
metadata:
|
||
name: categraf-config
|
||
apiVersion: v1
|
||
data:
|
||
config.toml: |
|
||
[global]
|
||
# whether print configs
|
||
print_configs = false
|
||
|
||
# add label(agent_hostname) to series
|
||
# "" -> auto detect hostname
|
||
# "xx" -> use specified string xx
|
||
# "$hostname" -> auto detect hostname
|
||
# "$ip" -> auto detect ip
|
||
# "$hostname-$ip" -> auto detect hostname and ip to replace the vars
|
||
hostname = "$HOSTNAME"
|
||
|
||
# will not add label(agent_hostname) if true
|
||
omit_hostname = false
|
||
|
||
# s | ms
|
||
precision = "ms"
|
||
|
||
# global collect interval
|
||
interval = 15
|
||
|
||
# [global.labels]
|
||
# region = "shanghai"
|
||
# env = "localhost"
|
||
|
||
[writer_opt]
|
||
# default: 2000
|
||
batch = 2000
|
||
# channel(as queue) size
|
||
chan_size = 10000
|
||
|
||
[[writers]]
|
||
url = "http://${NSERVER_SERVICE_WITH_PORT}/prometheus/v1/write"
|
||
|
||
# Basic auth username
|
||
basic_auth_user = ""
|
||
|
||
# Basic auth password
|
||
basic_auth_pass = ""
|
||
|
||
# timeout settings, unit: ms
|
||
timeout = 5000
|
||
dial_timeout = 2500
|
||
max_idle_conns_per_host = 100
|
||
logs.toml: |
|
||
[logs]
|
||
## key 占位符
|
||
api_key = "ef4ahfbwzwwtlwfpbertgq1i6mq0ab1q"
|
||
## 是否开启日志采集
|
||
enable = false
|
||
## 接受日志的server地址
|
||
send_to = "127.0.0.1:17878"
|
||
## 发送日志的协议 http/tcp
|
||
send_type = "http"
|
||
## 是否压缩发送
|
||
use_compress = false
|
||
## 是否采用ssl
|
||
send_with_tls = false
|
||
##
|
||
batch_wait = 5
|
||
## 日志offset信息保存目录
|
||
run_path = "/opt/categraf/run"
|
||
## 最多同时采集多少个日志文件
|
||
open_files_limit = 100
|
||
## 定期扫描目录下是否有新增日志
|
||
scan_period = 10
|
||
## udp 读buffer的大小
|
||
frame_size = 9000
|
||
##
|
||
collect_container_all = true
|
||
## 全局的处理规则
|
||
[[logs.Processing_rules]]
|
||
## 单个日志采集配置
|
||
[[logs.items]]
|
||
## file/journald/tcp/udp
|
||
type = "file"
|
||
## type=file时 path必填,type=journald/tcp/udp时 port必填
|
||
path = "/opt/tomcat/logs/*.txt"
|
||
source = "tomcat"
|
||
service = "my_service"
|
||
---
|
||
apiVersion: v1
|
||
kind: ConfigMap
|
||
metadata:
|
||
name: input-prometheus
|
||
data:
|
||
prometheus.toml: |
|
||
# # collect interval
|
||
# interval = 15
|
||
|
||
[[instances]]
|
||
urls = ["http://127.0.0.1:8080/metrics"]
|
||
name_prefix = "k8s"
|
||
#bearer_token_file = "/var/run/secrets/kubernetes.io/serviceaccount/token"
|
||
|
||
url_label_key = "instance"
|
||
url_label_value = "{{.Host}}"
|
||
|
||
## Scrape Services available in Consul Catalog
|
||
[instances.consul]
|
||
enabled = false
|
||
agent = "http://localhost:8500"
|
||
query_interval = "5m"
|
||
|
||
[[instances.consul.query]]
|
||
name = "a service name"
|
||
tag = "a service tag"
|
||
url = 'http://{{if ne .ServiceAddress ""}}{{.ServiceAddress}}{{else}}{{.Address}}{{end}}:{{.ServicePort}}/{{with .ServiceMeta.metrics_path}}{{.}}{{else}}metrics{{end}}'
|
||
[instances.consul.query.tags]
|
||
host = "{{.Node}}"
|
||
|
||
# bearer_token_string = ""
|
||
|
||
# e.g. /run/secrets/kubernetes.io/serviceaccount/token
|
||
|
||
# # basic auth
|
||
# username = ""
|
||
# password = ""
|
||
|
||
# headers = ["X-From", "categraf"]
|
||
|
||
# # interval = global.interval * interval_times
|
||
# interval_times = 1
|
||
|
||
labels = {source="categraf123"}
|
||
|
||
# support glob
|
||
# ignore_metrics = [ "go_*" ]
|
||
|
||
# support glob
|
||
# ignore_label_keys = []
|
||
|
||
# timeout for every url
|
||
# timeout = "3s"
|
||
|
||
## Optional TLS Config
|
||
#use_tls = false
|
||
# tls_min_version = "1.2"
|
||
# tls_ca = "/etc/categraf/ca.pem"
|
||
# tls_cert = "/etc/categraf/cert.pem"
|
||
# tls_key = "/etc/categraf/key.pem"
|
||
## Use TLS but skip chain & host verification
|
||
#insecure_skip_verify = true
|
||
---
|
||
apiVersion: apps/v1
|
||
kind: Deployment
|
||
metadata:
|
||
annotations:
|
||
deployment.kubernetes.io/revision: "2"
|
||
labels:
|
||
app: mock
|
||
name: mock
|
||
spec:
|
||
replicas: 1
|
||
selector:
|
||
matchLabels:
|
||
app: mock
|
||
strategy:
|
||
rollingUpdate:
|
||
maxSurge: 25%
|
||
maxUnavailable: 25%
|
||
type: RollingUpdate
|
||
template:
|
||
metadata:
|
||
creationTimestamp: null
|
||
labels:
|
||
app: mock
|
||
spec:
|
||
containers:
|
||
- name: mock
|
||
image: flashcatcloud/mock:0.0.1
|
||
imagePullPolicy: IfNotPresent
|
||
command: ["./mock"]
|
||
resources: {}
|
||
env:
|
||
- name: TZ
|
||
value: Asia/Shanghai
|
||
- name: HOSTNAME
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: spec.nodeName
|
||
- name: HOSTIP
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: status.hostIP
|
||
- name: categraf
|
||
image: flashcatcloud/categraf:v0.1.10
|
||
command: ["/usr/bin/categraf"]
|
||
args: ["-configs", "/opt/categraf/conf"]
|
||
imagePullPolicy: IfNotPresent
|
||
resources: {}
|
||
env:
|
||
- name: TZ
|
||
value: Asia/Shanghai
|
||
- name: HOSTNAME
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: spec.nodeName
|
||
- name: HOSTIP
|
||
valueFrom:
|
||
fieldRef:
|
||
apiVersion: v1
|
||
fieldPath: status.hostIP
|
||
volumeMounts:
|
||
- mountPath: /opt/categraf/conf/config.toml
|
||
name: categraf-config
|
||
subPath: config.toml
|
||
- mountPath: /opt/categraf/conf/logs.toml
|
||
name: categraf-config
|
||
subPath: logs.toml
|
||
- mountPath: /opt/categraf/conf/input.prometheus
|
||
name: input-prometheus
|
||
dnsPolicy: ClusterFirst
|
||
restartPolicy: Always
|
||
schedulerName: default-scheduler
|
||
securityContext: {}
|
||
volumes:
|
||
- configMap:
|
||
defaultMode: 420
|
||
items:
|
||
- key: config.toml
|
||
path: config.toml
|
||
- key: logs.toml
|
||
path: logs.toml
|
||
name: categraf-config
|
||
name: categraf-config
|
||
- configMap:
|
||
defaultMode: 420
|
||
name: input-prometheus
|
||
name: input-prometheus
|