es kibana
内网地址
127.0.0.1:9200
https://vpcep-7c16b185-4d03-475c-bf9b-c38cde8d02c0.test.huaweicloud.com:9200
账户 admin
密码 admin
#端口
9200 eskibana
https://127.0.0.1:5601/app/login?nextUrl=%2F
账户 admin
密码 admin
docker 构建容器启动
docker system prune -a
目录
cd /home/golang/filebeat/logs
调试 filebeat 配置
# 修改模板参数值 上传的参数不一致
setup.template.priority
# json解析问题调整
json.keys_under_root: true # 修改这一行
json.add_error_key: true
json.message_key: json # 修改这一行
# 先调试->在调试docker启动是否正常同步->启动镜像->启动正式容器
服务test配置
目录
cd /home/golang/filebeat/logs
filebeat.docker.yml
filebeat.config:modules:path: ${path.config}/modules.d/*.ymlreload.enabled: falsefilebeat.inputs:- type: logenabled: truepaths:- /var/log/test/**/*.log- /var/log/nginx/**/*.logprocessors:- decode_json_fields:fields: ["json"]process_array: falsemax_depth: 1target: ""output.elasticsearch:hosts: ["https://vpcep-7c16b185-4d03-475c-bf9b-c38cde8d02c0.test.huaweicloud.com:9200"]username: "admin"password: "admin"ssl.verification_mode: "none" # 忽略 SSL 证书验证index: "metricbeat-test-prd-%{+yyyy.MM.dd}" # 索引命名格式,按日期分割setup.template.name: "metricbeat-test-prd"
setup.template.pattern: "metricbeat-*"
setup.template.priority: 260# 禁用内置的索引模板(以防干扰)
filebeat.template.settings:index.number_of_shards: 1index.number_of_replicas: 0
使用官方的Filebeat基础镜像
目录
Dockerfile 文件
/home/golang/filebeat/logs
vim Dockerfile
filebeat.config:modules:path: ${path.config}/modules.d/*.ymlreload.enabled: falsefilebeat.inputs:- type: logenabled: truepaths:- /var/log/test/**/*.log- /var/log/nginx/**/*.logprocessors:- decode_json_fields:fields: ["json"]process_array: falsemax_depth: 1target: ""output.elasticsearch:hosts: ["https://vpcep-7c16b185-4d03-475c-bf9b-c38cde8d02c0.test.huaweicloud.com:9200"]username: "admin"password: "admin"ssl.verification_mode: "none" # 忽略 SSL 证书验证index: "metricbeat-test-prd-%{+yyyy.MM.dd}" # 索引命名格式,按日期分割setup.template.name: "metricbeat-test-prd"
setup.template.pattern: "metricbeat-*"
setup.template.priority: 260# 禁用内置的索引模板(以防干扰)
filebeat.template.settings:index.number_of_shards: 1index.number_of_replicas: 0
构建Docker镜像
docker build . -t metricbeat-test-prd
命令运行Filebeat容器
# 使用 Filebeat OSS 版本的基础镜像
FROM docker.elastic.co/beats/filebeat-oss:7.10.2# 将本地的 filebeat.docker.yml 文件复制到容器中
COPY filebeat.docker.yml /usr/share/filebeat/filebeat.yml# 挂载 Docker 守护进程的 socket(如果需要监控容器日志)
VOLUME ["/var/run/docker.sock:/var/run/docker.sock:ro"]# 挂载日志目录
VOLUME ["/var/log/test"]
VOLUME ["/var/log/nginx"]# 设置容器环境变量以避免兼容性问题
ENV ES_VERSION=7.10.2# 启动 Filebeat 并指定配置文件
CMD ["filebeat", "-e", "--strict.perms=false", "-c", "/usr/share/filebeat/filebeat.yml"]
查看容器日志
docker run -d \--name=metricbeat-test-prd \--user=root \--volume="/var/run/docker.sock:/var/run/docker.sock:ro" \--volume="/var/log/test:/var/log/test:ro" \--volume="/var/log/nginx:/var/log/nginx:ro" \metricbeat-test-prd
创建 es index
#地址
https://127.0.0.1:5601/app/dev_tools#/console
#命令
#
put /metricbeat-test-prd
添加 index 到面板
步骤 1:创建或验证索引模式
首先,确保在Kibana中创建了一个适用于metricbeat-test-prd*
的索引模式。
-
登录到Kibana。
-
导航到 Management(管理) > Kibana > Index Patterns(索引模式)。
-
如果
metricbeat-test-prd*
索引模式尚未创建,点击 Create index pattern(创建索引模式)。 -
在“Index pattern”字段中输入
metricbeat-test-prd*
。 -
选择时间字段(如果适用),例如
@timestamp
,然后点击 Create index pattern(创建索引模式)。
步骤 2:配置 Discover 视图
创建好索引模式后,可以在 Discover 中查看和探索数据:
-
导航到 Discover 选项卡。
-
在页面顶部,您会看到一个索引选择下拉菜单。
-
在下拉菜单中选择
metricbeat-test-prd*
索引模式。 -
数据应自动加载,您可以开始使用各种过滤器、查询和数据视图。
步骤 3:调整可视化和过滤器
如果您需要对 metricbeat-test-prd*
索引的数据进行更复杂的过滤或分析,您可以使用以下功能:
-
查询栏:在顶部的查询栏中,您可以输入查询DSL(如
@timestamp:[2024-01-01 TO 2024-12-31]
)来过滤数据。 -
时间选择器:通过页面右上方的时间范围选择器,您可以选择不同的时间段。
-
字段过滤器:在字段列表中,您可以点击字段名称来应用过滤器。
步骤 4:保存和共享
如果您已经设置了特定的查询或过滤器,并希望保存它以便以后使用,您可以点击 Save(保存)按钮。这样您可以在 Discover 中快速访问已保存的视图。
discover
添加
metricbeat-test-prd*
查看索引
#按条件查询
GET /metricbeat-test-prd/_search
{"query": {"match_all": {}}
}
#查询
GET /_cat/indices/metricbeat-test-prd
#查看索引
GET _cat/indices?v
#地址
https://127.0.0.1:5601/app/dev_tools#/console
#kibana 创建索引命令
PUT /_data_stream/metricbeat-test-prd
docker 直接启动
以docker形式启动filebeat
docker run -d \--name=filebeat \--user=root \--volume="/home/golang/filebeat/logs/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro" \--volume="/var/run/docker.sock:/var/run/docker.sock:ro" \--volume="/home/golang/filebeat/logs:/home/golang/filebeat/logs/logs:ro" \docker.elastic.co/beats/filebeat:8.6.2 filebeat -e --strict.perms=false
#调试
docker run \--name=filebeat \--user=root \--volume="/home/golang/filebeat/logs/filebeat.docker.yml:/usr/share/filebeat/filebeat.yml:ro" \--volume="/var/run/docker.sock:/var/run/docker.sock:ro" \--volume="/home/golang/filebeat/logs:/home/golang/filebeat/logs/logs:ro" \docker.elastic.co/beats/filebeat:8.6.2 filebeat -e --strict.perms=false
filebeat 配置 filebeat.docker.yml
prd
filebeat.config:modules:path: ${path.config}/modules.d/*.ymlreload.enabled: falsefilebeat.inputs:
type: log
enabled: true
paths:
processors:
decode_json_fields:fields: ["json"]process_array: falsemax_depth: 1target: ""
output.elasticsearch:ssl.verification_mode: nonehosts: ["https://127.0.0.1:9200"]username: "admin"password: "admin"index: "metricbeat-test-prd"
setup.template.name: "metricbeat-test-prd"
setup.template.pattern: "metricbeat-*"
setup.template.priority: 50