【elasticsearch】慢查詢替代查詢審計的嘗試

【elasticsearch】慢查詢替代查詢審計的嘗試

使用了es有兩年了,突然發現一個,es沒有查詢審計日志,某個用戶查詢了某個索引的審計。
找了官方文檔和社區的回復都是說使用slow log替代慢查詢。
嘗試一下。

參考鏈接1:https://discuss.elastic.co/t/does-elasticsearch-capture-audit-logs-for-query-dsl-eql-and-sql-or-not/339398/8
參考鏈接2:https://www.elastic.co/guide/en/elasticsearch/reference/7.17/auditing-search-queries.html

前置條件

elasticsearch: 7.17.13
操作系統:linux7.9
es加密配置,只有加密后才可以使用slow log

xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate 
xpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12 
xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12

普通查詢

 curl -u elastic:AAA320 localhost:9200/sq-20240506/_search

普通插入

curl -u elastic:AAA320 -H 'Content-Type: application/json' -X POST localhost:9200/sq-20240506/_doc/1 -d '
{
"firstname": "Krishna",
"lastname": "kumar"
}'

上述查詢和插入沒有任何slow log信息。

設置慢查詢

這里設置trace的慢查詢為0ms,會捕獲所有查詢。

curl -u elastic:AAA320 -H 'Content-Type: application/json'  -XPUT 'http://localhost:9200/_all/_settings?preserve_existing=true' -d '{"index.search.slowlog.threshold.fetch.debug" : "500ms","index.search.slowlog.threshold.fetch.info" : "800ms","index.search.slowlog.threshold.fetch.trace" : "0ms","index.search.slowlog.threshold.fetch.warn" : "1s","index.search.slowlog.threshold.query.debug" : "2s","index.search.slowlog.threshold.query.info" : "5s","index.search.slowlog.threshold.query.trace" : "0ms","index.search.slowlog.threshold.query.warn" : "10s"
}'

查看日志

慢查詢日志,存放再es的日志文件夾中,elasticsearch_index_search_slowlog.log,這里可以看到TRACE級別的日志,可以看到分query和fetch兩種,有節點信息、索引信息、分片以及耗時,但是我還是覺得這里缺少了查詢用戶,查詢來源信息,目前還是無法滿足我的實際排查需求。

] tailf elasticsearch_index_search_slowlog.log
[2024-05-06T16:33:29,528][TRACE][i.s.s.query              ] [node-1] [sq-20240506][0] took[179.4micros], took_millis[0], total_hits[1 hits], types[], stats[], search_type[QUERY_THEN_FETCH], total_shards[1], source[{}], id[], 
[2024-05-06T16:33:29,529][TRACE][i.s.s.fetch              ] [node-1] [sq-20240506][0] took[3.3ms], took_millis[3], total_hits[1 hits], types[], stats[], search_type[QUERY_THEN_FETCH], total_shards[1], source[{}], id[],

取消慢查詢

curl -u elastic:AAA320 -H 'Content-Type: application/json' -XPUT 'http://localhost:9200/_all/_settings' -d '{"index.search.slowlog.threshold.fetch.debug": null,"index.search.slowlog.threshold.fetch.info": null,"index.search.slowlog.threshold.fetch.trace": null,"index.search.slowlog.threshold.fetch.warn": null,"index.search.slowlog.threshold.query.debug": null,"index.search.slowlog.threshold.query.info": null,"index.search.slowlog.threshold.query.trace": null,"index.search.slowlog.threshold.query.warn": null
}'

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/10937.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/10937.shtml
英文地址,請注明出處:http://en.pswp.cn/web/10937.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Py深度學習基礎|關于Batch Normalization

1. 為什么需要Batch Normalization 通常我們會在輸入層進行數據的標準化處理,這是為了讓模型學習到更好的特征。同樣,在模型的中間層我們也可以進行normalize。在神經網絡中, 數據分布對訓練會產生影響。 比如我們使用tanh作為激活函數,當輸入…

Baidu Comate智能編碼助手:AI編程時代提升效率的好幫手

目錄 寫在前面一、如何安裝二、如何使用場景需求體驗步驟 三、AI 編程實戰指令功能插件功能知識庫功能 四、問題建議五、體驗總結🚀寫在最后 寫在前面 Baidu Comate 是基于文心大模型的 AI編程工具,它結合百度積累多年的編程現場大數據和外部優秀開源數據…

MySQL中的多表查詢

數據庫設計范式(范例) 好的數據庫設計,事倍功半,不會有歧義 第一范式:列保證原子性(列不可再分解) 聯系方式:電話,微信,QQ,郵箱 這些都不可分解 第二范式:要…

annaconda詳細解讀換源文件

annaconda換源詳細解讀文件 annaconda換源詳細解讀文件 annaconda換源詳細解讀文件 #踩坑/annaconda換源詳細解讀通道問題 如何準確使用國內源高效安裝GPU版本的Pytorch - 知乎 文件中的custom通道,需要自己手動添加到默認通道里面,記得后面更上/包名…

在xAnyLabeling中加載自己訓練的yolov8s-obb模型進行半自動化標注

任務思路: 先使用xAnyLabeling標注一部分樣本,訓練出v1版本的yolov8-obb模型,然后加載yolov8-obb模型到xAnyLabeling中對其余樣本進行半自動化標注。節省工作量。 任務流程: 1.準備xAnyLabeling標注工具 下載代碼,…

Redis系列-3 Redis緩存問題

1.緩存的作用 數據庫(如Mysql)的持久化特點帶來了較低的性能,高并發的場景下,連接池很快被耗盡而出現宕機或DOS,無法繼續對外提供服務。相對于數據庫的硬盤IO,緩存中間件基于內存進行讀寫,從而具備較大的吞吐量和高并…

SpringBoot:注解詳解

RequestMapping 注解在類上:表示該類中所有響應請求的方法都以此地址為父路徑 value(path) 指定請求的實際訪問地址,默認RequestMapping(“url”)的值url即為value的值。指定的地址可以是 URI Template 模式。 method 指定請求的method類型…

數據結構(四)——二叉樹和堆(下)

制作不易,三連支持一下唄!!! 文章目錄 前言一、二叉樹鏈式結構的實現總結 前言 這篇博客我們將來了解普通二叉樹的實現和應用,對大家之前分治和遞歸的理解有所挑戰。 一、二叉樹鏈式結構的實現 1.前置說明 在學習二叉…

Java入門——繼承和多態(上)

包 包是組織類的一種方式. 使用包的主要目的是保證類的唯一性. 例如, 你在代碼中寫了一個 Test 類. 然后你的舍友也可能寫一個 Test 類. 如果出現兩個同名的類, 就會沖突, 導致 代碼不能編譯通過. 導入包中的類 Java 中已經提供了很多現成的類供我們使用. 例如 public cla…

服裝店會員管理系統結合小程序商城幫你挖掘出潛在客戶

在現代社會,隨著科技的不斷進步和人們消費習慣的變化,傳統的服裝店已經不再能夠滿足消費者的需求。為了更好地服務客戶,提升銷售業績,許多服裝店開始引入會員管理系統,并結合小程序商城,實現線上線下的無縫…

LeetCode-2079. 給植物澆水【數組 模擬】

LeetCode-2079. 給植物澆水【數組 模擬】 題目描述:解題思路一:簡單的模擬題,初始化為0,考慮先不澆灌每一個植物解題思路二:初始化為n,考慮每一個植物需要澆灌解題思路三:0 題目描述&#xff1a…

在ubuntu安裝Docker容器

1、進入root用戶模式 sudo -i 回車后,輸入root的密碼即可進入root模式2、在ubuntu上安裝docker (1)直接使用 apt 安裝,一般這樣也自動啟動好了 apt install docker.io3、驗證安裝成功,以及啟動與校驗 (…

C++11:常用語法匯總

目錄 🍁統一的列表初始化 { }initializer_list 🍁decltype 推導表達式類型🍁可變參數模板解析可變參數包方法一方法二 🍁lambda 表達式捕捉列表的使用運用場景舉例lambda表達式 與 函數對象 🍁統一的列表初始化 { } 在…

STM32F407-驅動SHT41采集溫濕度

STM32F407-驅動SHT41采集溫濕度 SHT41 SHT41通過I2C方式進行驅動 從機地址: 0x44 獲取數據方式 1)先發送I2C寫,寫入特定指令 2)延時一段時間,等待SHT41處理 3)再進行I2C讀,讀數據即可 一些…

Ansible(二)

一、Playbook基礎 1.1 Playbook定義 Playbook其實是Ansible服務的一個配置文件,Ansible使用Playbook的YAML語言配置編寫成操作需求,實現對遠端主機或策略部署,實現對遠端主機的控制與管理。 1.2 Playbook組成 Tasks:任務&…

【Qt 學習筆記】Qt常用控件 | 布局管理器 | 垂直布局Vertical Layout

博客主頁:Duck Bro 博客主頁系列專欄:Qt 專欄關注博主,后期持續更新系列文章如果有錯誤感謝請大家批評指出,及時修改感謝大家點贊👍收藏?評論? Qt常用控件 | 布局管理器 | 垂直布局Vertical Layout 文章編號&#x…

skynet - spinlock 簡單的自旋鎖

spinlock.h 代碼位于: https://github.com/cloudwu/skynet/blob/master/skynet-src/spinlock.h 該文件內,根據不同環境提供了 3 種 api 實現: pthread_mutex_t 系列函數gcc 內置原子操作函數std atomic 系列函數 看了下,效率最…

滲透測試-信息收集

網絡安全信息收集是網絡安全領域中至關重要的一環,它涉及到對目標系統、網絡或應用進行全面而細致的信息搜集和分析。這一過程不僅有助于理解目標網絡的結構、配置和潛在的安全風險,還能為后續的滲透測試、風險評估和安全加固提供有力的支持。 在網絡安…

安卓開發--新建工程,新建虛擬手機,按鍵事件響應(含:Android中使用switch-case遇到case R.id.xxx報錯)

安卓開發--新建工程,新建虛擬手機,按鍵事件響應 1.前言2.運行一個工程2.1布局一個Button2.2 button一般點擊事件2.2 button屬性點擊事件2.2 button推薦點擊事件(含:Android中使用switch-case遇到case R.id.xxx報錯) 本…

MATLAB 多項式

MATLAB 多項式 MATLAB將多項式表示為行向量,其中包含按冪次降序排列的系數。例如,方程P(x) X 4 7 3 - 5 9可以表示為 p [1 7 0 -5 9]; 求值多項式 polyval函數用于求一個特定值的多項式。例如,在 x 4 時,計算我們之前的多項式…