Kibana8.5破解白金版,配置webhook推送日志告警到钉钉

前提:你已经安装好了Elasticsearch和Kibana,Elastic分为基础版、白金版和企业版。告警推送通道只有白金版才支持webhook,所以需要进行破解。

1:下载源代码文件

破解Elastic需要修改两个java文件,分别为LicenseVerifier.javaXPackBuild.java,我们从github上下载对应的源文件,注意你的Elasticsearch版本,修改url中对应的版本号即可,我这里是8.5.

curl -o LicenseVerifier.java -s https://raw.githubusercontent.com/elastic/elasticsearch/8.5/x-pack/plugin/core/src/main/java/org/elasticsearch/license/LicenseVerifier.java
curl -o XPackBuild.java -s https://raw.githubusercontent.com/elastic/elasticsearch/8.5/x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/XPackBuild.java

2:修改代码

修改XPackBuild.java,在第一个静态方法中的if、else是判断jar包有没有被修改的,我们修改这段代码。

import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.jar.JarInputStream;
import java.util.jar.Manifest;

/**
 * Information about the built version of x-pack that is running.
 */
public class XPackBuild {
   

    public static final XPackBuild CURRENT;

    static {
   
        final String shortHash;
        final String date;

        Path path = getElasticsearchCodebase();
        /*if (path.toString().endsWith(".jar")) {
            try (JarInputStream jar = new JarInputStream(Files.newInputStream(path))) {
                Manifest manifest = jar.getManifest();
                shortHash = manifest.getMainAttributes().getValue("Change");
                date = manifest.getMainAttributes().getValue("Build-Date");
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        } else {
            // not running from a jar (unit tests, IDE)
            shortHash = "Unknown";
            date = "Unknown";
        }*/

		shortHash = "Unknown";
		date = "Unknown";
        CURRENT = new XPackBuild(shortHash, date);
    }

    /**
     * Returns path to xpack codebase path
     */
    @SuppressForbidden(reason = "looks up path of xpack.jar directly")
    static Path getElasticsearchCodebase() {
   
        URL url = XPackBuild.class.getProtectionDomain().getCodeSource().getLocation();
        try {
   
            return PathUtils.get(url.toURI());
        } catch (URISyntaxException bogus) {
   
            throw new RuntimeException(bogus);
        }
    }

    private String shortHash;
    private String date
### 如何在Kibana中设置和配置告警系统 #### 使用ElastAlert Kibana Plugin配置告警 对于希望利用`elastalert-kibana-plugin`实现告警功能的用户而言,此插件提供了直观的方式,在Kibana界面内管理和创建告警规则[^1]。安装完成后,可以通过访问Kibana中的相应菜单项进入告警管理页面。 #### Sentinl 插件用于告警配置 Sentinl作为一个依赖于Kibana环境运行的插件,其主要作用在于提供定时任务执行以及告警通知的功能。为了使Sentinl正常工作并能够发送告警信息,需要先按照官方文档指导完成基本安装过程,之后通过编辑位于`/etc/kibana/sentinl.json`文件内的参数来进行个性化配置[^2][^4]。一旦完成了这些准备工作,则可以在Kibana界面上找到Sentinl选项卡,并在此基础上定义具体的告警逻辑与动作响应策略。 #### 配置告警至Email/Webhook 当涉及到将告警消息传递给外部服务时,如电子邮件或WebHook接口,上述提到的一些工具都支持此类操作。以sentinl为例,只需要确保网络连接畅通无阻的前提下,在相应的告警规则设定里指定目标URL或是收件人的邮箱地址即可[^3]。 ```json { "actions": { "email_admins": { "throttle_period": "5m", "email": { "to": ["admin@example.com"], "subject": "{{ctx.metadata.name}}触发了警告" } }, "webhook_action": { "method": "POST", "url": "http://example.com/webhook_endpoint", "body": "{\"message\": \"{{ctx.payload.hits.total}}条记录匹配\"}" } } } ``` 以上展示了如何向管理员发送邮件提醒以及调用远程API端点的例子;其中变量替换机制允许动态构建内容字符串,从而更好地适应不同场景下的需求变化。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值