Jan 08 2021
Elasticsearch 效能調整與自動維運
針對index的一些效能調校
在Index Management中有個index templates的頁簽,在這裡可以改變一些index的行為或是屬性, 有些index屬性對於整個ELK的查詢或是機器的影響是很巨大的,當Log量越大的時候就需要改變一些設定, 尤其是放在雲端的ELK,如果使用越大的機器消費金額就會變得很可觀,在不是賺錢的機器上還是能省則省。
index.codec在官方的文件中有兩個選項,預設是Default採用LZ4的壓縮,另一個選項是best_compression, 使用它可以得到更高的壓縮效率但會增加CPU的附載,不過減少硬碟的空間是可觀的
refresh_interval這個在官方文件說明是index的刷新頻率,這個選項會影響到新增的log多久內可能不會被看見, 但refresh index他需要消耗許多的CPU來處理,這個值如果越大刷新的頻率就會降低,機器的CPU usage就不會被這個吃掉, 可以減少一些CPU的運算
number_of_replicas是Elasticsearch會建立多少個副本,但複本越多所需要消耗的CPU與硬碟空間就會加大
自動維運Index的小技巧
通常架設了ELK初期會常常觀看一些硬碟空間, CPU usage, Memory usage等等的,時間久了就會忘記了...
但是硬碟的空間是有限的,Application Log其實也是有時效性的,他不需要永久的存在在硬碟上(畢竟要花錢的...)所以自動刪除index就變得很重要, 在Index Lifecycle Policies中我會設定兩個policy,一個production跟一個non-production的,production通常會留存30天以, 而非production的一般來說在兩週到三週就沒有參考價值了,所以非production只留存14天。