Beats:安装及配置 Metricbeat (二)- 8.x
这篇文章是继文章 “Beats:安装及配置 Metricbeat (一)- 8.x” 的续篇。你可以先阅读之前的那篇文章再继续阅读这篇文章。我们在这篇文章中继续之前的探讨。
使用 fingerprint 来代替证书
在实际的使用中,我们需要从 Elasticsearch 的安装目录中拷贝证书来配置 metricbeat。这样有时觉得并不是很方便。相反,我们可以直接使用 fingerprint 来对 metricbeat 的证书来进行配置。我们可以参考文章 “Beats:使用 fingerprint 来连接 Beats/Logstash 和 Elasticsearch”。我们对 metricbeat.yml 进行如下的修改:
/etc/metricbeat/metricbeat.yml
output.elasticsearch:# Array of hosts to connect to.hosts: ["192.168.0.3:9200"]# Protocol - either `http` (default) or `https`.protocol: "https"# Authentication credentials - either API key or username/password.#api_key: "id:api_key"username: "${ES_USER}"password: "${ES_PASSWORD}"# ssl.certificate_authorities: ["/etc/metricbeat/http_ca.crt"]ssl.ca_trusted_fingerprint: "633bf7f6e4bf264e6a05d488af3c686b858fa63592dc83999a0d77f7e9fe5940"
在上面,我们使用 ssl.ca_trusted_fingerprint 的配置来代替 ssl.certificate_authorities 的配置。显然这个比较方便,因为我们不需要拷贝证书,而且配置是不需要含有证书路径。
等修改完上面的配置后,我们重新运行如下的命令来测试这个输出是否已经成功:
metricbeat test output
oot@ubuntu2004:/etc/metricbeat# metricbeat test output
elasticsearch: https://192.168.0.3:9200...parse url... OKconnection...parse host... OKdns lookup... OKaddresses: 192.168.0.3dial up... OKTLS...security: server's certificate chain verification is enabledhandshake... OKTLS version: TLSv1.3dial up... OKtalk to server... OKversion: 8.9.0
从输出的结果中来可能,我们的证书配置是成功的。
使用 API key 来代替用户名及密码
在很多的情况下,我们并不希望使用 elastic 这个超级用户来对 Beats 进行配置。我们可以使用 API key 来进行配置。使用 API 可以的好处是它可以定义 API key 的使用时效,比如1一个月。当然它也可以定义相应的权限。在下面我们来展示如何创建 API key:
我们拷贝上面的 API key,并在 metricbeat.yml 中进行配置:
/etc/metricbeat/metricbeat.yml
output.elasticsearch:# Array of hosts to connect to.hosts: ["192.168.0.3:9200"]# Protocol - either `http` (default) or `https`.protocol: "https"# Authentication credentials - either API key or username/password.#api_key: "id:api_key"# username: "${ES_USER}"# password: "${ES_PASSWORD}"api_key: sFizXYoBxPLM4LwrKywe:NMOjRbUvT7ykunWDsVG4uQ# ssl.certificate_authorities: ["/etc/metricbeat/http_ca.crt"]ssl.ca_trusted_fingerprint: "633bf7f6e4bf264e6a05d488af3c686b858fa63592dc83999a0d77f7e9fe5940"
在上面,我们使用 api_key 来代替 username/password 的配置。我们使用如下的命令来测试配置是否成功:
metricbeat test output
root@ubuntu2004:/etc/metricbeat# metricbeat test output
elasticsearch: https://192.168.0.3:9200...parse url... OKconnection...parse host... OKdns lookup... OKaddresses: 192.168.0.3dial up... OKTLS...security: server's certificate chain verification is enabledhandshake... OKTLS version: TLSv1.3dial up... OKtalk to server... OKversion: 8.9.0
上面显示我们的配置是成功的。
创建新用户并使用新用户信息来进行配置
在上面,我们已经说明了使用 elastic 超级用户是非常不好的一个习惯,因为一旦 elastic 这个超级用户的信息被泄露,那么它可能造成灾难性的后果。在实际的使用中,我们尽量避免使用 elastic 这个超级用户。我们可以参考之前的文章 “Beats:最佳实践” 来创建一个针对 Beats 数据采集的用户。这个用户有较少的权限。即便泄露也可能不会造成特别大的损失。更多信息,可以参阅官方文档 Grant privileges and roles needed for publishing | Filebeat Reference [8.9] | Elastic
我们参考之前的文章 “Elasticsearch:用户安全设置” 来创建用户及 roles。
我们接下来创建用户:
如上所示,我创建了一个叫做 user 的用户,而它的密码为 password。
接下来,我们使用如下的命令来创建一个属于 mertic 用户的 API key:
POST _security/api_key/grant
{"grant_type": "password","username": "metric","password": "password","api_key": {"name": "mertic"}
}
我们可以使用如下的方法来对 Metricbeat 进行配置:
api_key: "id:api_key"
/etc/metricbeat/metricbeat.yml
output.elasticsearch:# Array of hosts to connect to.hosts: ["192.168.0.3:9200"]# Protocol - either `http` (default) or `https`.protocol: "https"# Authentication credentials - either API key or username/password.api_key: "s1jWXYoBxPLM4LwrZSzu:rL-6POdnQDSAjWWHao9Ybw"# username: "${ES_USER}"# password: "${ES_PASSWORD}"# ssl.certificate_authorities: ["/etc/metricbeat/http_ca.crt"]ssl.ca_trusted_fingerprint: "633bf7f6e4bf264e6a05d488af3c686b858fa63592dc83999a0d77f7e9fe5940"
配置完毕后,我们再进行如下的测试:
metricbeat test output
root@ubuntu2004:/etc/metricbeat# metricbeat test output
elasticsearch: https://192.168.0.3:9200...parse url... OKconnection...parse host... OKdns lookup... OKaddresses: 192.168.0.3dial up... OKTLS...security: server's certificate chain verification is enabledhandshake... OKTLS version: TLSv1.3dial up... OKtalk to server... OKversion: 8.9.0
很显然我们的配置是成功的。我们可以使用和之前文章 “Beats:安装及配置 Metricbeat (一)- 8.x” 中所述的 keystore 来保存这些信息。
/etc/mertricbeat/metrcibeat.yml
# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:# Array of hosts to connect to.hosts: ["192.168.0.3:9200"]# Protocol - either `http` (default) or `https`.protocol: "https"# Authentication credentials - either API key or username/password.api_key: "${ES_API_KEY}"# username: "${ES_USER}"# password: "${ES_PASSWORD}"# ssl.certificate_authorities: ["/etc/metricbeat/http_ca.crt"]ssl.ca_trusted_fingerprint: "633bf7f6e4bf264e6a05d488af3c686b858fa63592dc83999a0d77f7e9fe5940"
metricbeat keystore add ES_API_KEY
root@ubuntu2004:/etc/metricbeat# metricbeat keystore add ES_API_KEY
Enter value for ES_API_KEY:
Successfully updated the keystore
在上面,我们使用 s1jWXYoBxPLM4LwrZSzu:rL-6POdnQDSAjWWHao9Ybw 作为输入。它就是 id:api_key 的组合。我们再次运行如下的命令来检查配置是否成功:
root@ubuntu2004:/etc/metricbeat# metricbeat test output
elasticsearch: https://192.168.0.3:9200...parse url... OKconnection...parse host... OKdns lookup... OKaddresses: 192.168.0.3dial up... OKTLS...security: server's certificate chain verification is enabledhandshake... OKTLS version: TLSv1.3dial up... OKtalk to server... OKversion: 8.9.0
当然针对有些用户喜欢使用 username 及 password 来配置而不使用 API key,你也可以是使用如下的配置:
/etc/metricbeat/metricbeat.yml
output.elasticsearch:# Array of hosts to connect to.hosts: ["192.168.0.3:9200"]# Protocol - either `http` (default) or `https`.protocol: "https"# Authentication credentials - either API key or username/password.# api_key: "${ES_API_KEY}"username: "metric"password: "password"# ssl.certificate_authorities: ["/etc/metricbeat/http_ca.crt"]ssl.ca_trusted_fingerprint: "633bf7f6e4bf264e6a05d488af3c686b858fa63592dc83999a0d77f7e9fe5940"
这样我们就完成了这个部分的展示。在接下来的文章中,我将介绍如何使用 Alerts 来对 Metricbeat 进行通知。
相关文章:

Beats:安装及配置 Metricbeat (二)- 8.x
这篇文章是继文章 “Beats:安装及配置 Metricbeat (一)- 8.x” 的续篇。你可以先阅读之前的那篇文章再继续阅读这篇文章。我们在这篇文章中继续之前的探讨。 使用 fingerprint 来代替证书 在实际的使用中,我们需要从 Elasticsear…...
Redis之哨兵模式解读
目录 基本介绍 单哨兵模式 多哨兵模式 哨兵的本质 配置哨兵模式 故障恢复原理 哨兵监控工作流程 哨兵模式缺点 基本介绍 当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式,更多…...
题目:2644.找出可整除性得分最大的整数
题目来源: leetcode题目,网址:2644. 找出可整除性得分最大的整数 - 力扣(LeetCode) 解题思路: 遍历计算即可。 解题代码: class Solution {public int maxDivScore(int[] nums, int[] di…...

报错:axios 发送的接口请求 404
axios 发送的接口请求 404 一、问题二、分析 一、问题 二、分析 axios 发送的接口请求 404,根本没有把接口信息发送到后端,这个时候你可以查看检查一下自己的接口名字,或让后端配合换一个接口名字再发送一次接口请求...

三年前端还不会配置Nginx?刷完这篇就够了
什么是Nginx Nginx是一个开源的高性能HTTP和反向代理服务器。它可以用于处理静态资源、负载均衡、反向代理和缓存等任务。Nginx被广泛用于构建高可用性、高性能的Web应用程序和网站。它具有低内存消耗、高并发能力和良好的稳定性,因此在互联网领域非常受欢迎。 为…...

blender 场景灯光基础设置
在 blender 中,打光分为两个部分,一个是世界光,一个是场景光; 世界光: 世界光:在 Blender 中,世界光指的是用于设置场景整体照明的环境光。它可以通过调整颜色、强度、阴影等参数来影响场景的…...

如何查看 SQLyog 中数据库连接信息中的密码
SQLyog 数据库连接信息中的密码无法选择明文展示,也无法复制 可以将数据库连接信息导出到文本查看明文密码 工具--》导入/导出连接详情:...

【SpringSecurity】八、集成图片验证码
文章目录 1、生成图片验证码2、创建验证码过滤器3、将过滤器加入SpringSecurity过滤链4、修改登录页 SpringSecurity是通过过滤器链来完成的,接下来的验证码,可以尝试创建一个过滤器放到Security的过滤器链中,在自定义的过滤器中比较验证码。…...

【本地代码问题】启动程序,报错:java.lang.IllegalArgumentException: No selectors
启动程序的时候报错了 问题怎么出现的解决方式,注释掉jetty的内容,回归tomcat的使用 问题怎么出现的 我本地启动程序的时候报错了:报的是这个错误,可能和容器的选择有关吧 解决方式,注释掉jetty的内容,回…...

手写RPC框架--4.服务注册
RPC框架-Gitee代码(麻烦点个Starred, 支持一下吧) RPC框架-GitHub代码(麻烦点个Starred, 支持一下吧) 服务注册 服务注册a.添加服务节点和主机节点b.抽象注册中心c.本地服务列表 服务注册 a.添加服务节点和主机节点 主要完成服务注册和发现的功能,其具体流程如下&…...
oracle 解锁表
操作的前提 用 sys 用户 以 SYSDBA 角色登录 第一种解锁方式 1.查询被锁的表 select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l.object_id o.object_id and l.session_ids.sid;2.查询那个session引起表被锁 sele…...

使用Dbeaver连接GaussDB
1.下载DBeaver,官网地址 2.安装软件,打开软件,点击数据库->驱动管理器,具体操作如下图: 3、选择新建后进行参数设置,如下图: 具体参数如下图 驱动名称: GS #随便定义 驱动类型&#…...

WSL使用技巧 / 虚拟机对比
WSL使用技巧 / 虚拟机对比 前言虚拟机比较VMware使用技巧WSL使用技巧官方文档工具安装WSL基本命令运行命令关闭卸载磁盘管理导入导出指定安装路径 前言 本文介绍了VMware和WSL的区别,并详细介绍了WSL的使用方法和技巧。 虚拟机比较 VMware 比较灵活,拥…...
vuex_cart案例
json-server使用 在目录下新建db文件夹>里面新建index.json index.json {"cart": [{"id": 100001,"name": "低帮城市休闲户外鞋天然牛皮COOLMAX纤维","price": 128,"count": 6,"thumb": "http…...

Linux系统的安装
文章目录 1 Linux介绍1.1 Linux是什么1.2 Linux的特点1.3 Linux的应用1.4 Linux的发行版本1.5 Linux的Shell 2 Linux安装2.1 安装方式2.2 什么是VMware2.3 VMware主要功能2.4 什么是CentOS2.5 VMware与CentOS与Linux的关系2.6 VMware安装CentOS的步骤 1 Linux介绍 1.1 Linux是…...

微服务设计和高并发实践
文章目录 1、微服务的设计原则1.1、服务拆分方法1.2、微服务的设计原则1.3、微服务架构 2、高并发系统的一些优化经验2.1、提高性能2.1.1、数据库优化2.1.2、使用缓存2.1.3、服务调用优化2.1.4、动静分离2.1.5、数据库读写分离 2.2、服务高可用2.2.1、限流和服务降级2.2.2、隔离…...

2023年高教社杯数学建模思路 - 案例:粒子群算法
文章目录 1 什么是粒子群算法?2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法? 粒子群算法(Pa…...
Tomcat 集群介绍
一.Tomcat 集群介绍 在实际生产环境中,单台 Tomcat 服务器的负载能力或者说并发能力在四五百左右。大 部分情况下随着业务增长,访问量的增加(并发量不止四五百),单台 Tomcat 服务器是 无法承受的。这时就需要将多台 Tomcat 服务器组织起来&a…...

Windows右键添加用 IDEA 打开
1.安装IDEA时 安装时会有个选项来添加,如下: 勾选即可 2.修改注册表 安装时未勾选,可以把下面代码中程序路径改为自己的,保存为对应的 idea.reg文件,双击即可 Windows Registry Editor Version 5.00[HKEY_CLASSES…...
Golang 中return和defer执行先后顺序
先给出最终结论: 执行return语句 -> 执行defer函数 -> 函数返回 这里可能会有一个疑问, 执行return语句和函数返回难道不是一回事? Golang语言中函数的return不是原子操作,而是分为了两步: 返回值赋值真正函数返回 Gol…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

windows系统MySQL安装文档
概览:本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容,为学习者提供全面的操作指导。关键要点包括: 解压 :下载完成后解压压缩包,得到MySQL 8.…...
【SpringBoot自动化部署】
SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...