在刚刚开始接触ELK的时候我们习惯把每一个index都按照day来切割。但是我们会发现我们的shards 会很多。

其实我们一该把那些小的index按照一周或者一个月来rolling,来减少我们的shards数。

我使用的是logstash5,这里我们每启动一个logstash的进程的时候我们会发现我们的jvm 参数的-Xmx1g -Xms1g

但是我么一些可以设置小一点,比如512m 甚至是256m 来减少资源分配

具体的操作方案:

原文来自于:http://www.atechref.com/blog/elk/elk-stack-logstash-mutate-and-monthly-index-setting/

How often should a new log index be created? Once a day, Once a week, Once a month? A simple search in Google would return various responses each arguing the pros and cons of creating indexes daily or weekly. Lets look at how to do that with logstash.

My take on that is “once a month” index is the best option.  The following is my reasoning for this.

Pros:

Easier back up with a monthly index
Simple to create snapshots and restore
One index to backup externally on NAS or other storage outside of ELK stack
Works well where the retention policy for active logs is days or days etc
Allows complete logs for the whole month to be restored in one go.
Cons: Potential for large index sizes
Have to restore the whole index to search for a specific day of the month
Backup and restore of these indexes can take some time in slower systems or single node instances
Creating a monthly rolling index file In order to create a new index each month automatically ensure you have the following setting in your logstash config file for e.g. devlogstash.conf. input{
….
}
filter{
….
}
output{
elasticsearch{ hosts => [“192.168.0.1:”]
index => “dev-logstash-%{+YYYY.MM}” } }
Creating a weekly rolling index file The weekly name format would be YYYY.ww as in 2017.01 for the first week of the year in number. Config setting would be as shown below. input{
….
}
filter{
….
}
output{
elasticsearch{ hosts => [“192.168.0.1:”]
index => “dev-logstash-%{+YYYY.ww}” } }
Creating a daily rolling index file Just add MM.DD instead of WW to the setting above to create a daily rolling index as shown below. input{
….
}
filter{
….
}
output{
elasticsearch{ hosts => [“192.168.0.1:”]
index => “dev-logstash-%{+YYYY.MM.DD}” } }
Creating a Year, month and week rolling index file And that could be defined as YYYY.MM.ww to create a weekly rolling index as shown below. input{
….
}
filter{
….
}
output{
elasticsearch{ hosts => [“192.168.0.1:”]
index => “dev-logstash-%{+YYYY.MM.ww}” } }
Restart logstash for these changes to take effect.

Create rolling monthly, weekly and daily Logstash indices的更多相关文章

  1. log4j日志配置(按天/按日)

    项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. ...

  2. [Java][log4j]支持同一时候按日期和文件大小切割日志

    依据DailyRollingFileAppender和RollingFileAppender改编,支持按日期和文件大小切割日志.  源文件: package com.bao.logging; impo ...

  3. log4j配置参数详解——按日志文件大小、日期切分日志文件

    项目中尽管对log4j有基本的配置,例如按天生成日志文件以作区分,但如果系统日志文件过大,则就需要考虑以更小的单位切分或者其他切分方式.下面就总结一下log4j常用的配置参数以及切分日志的不同方式. ...

  4. 【Logstash系列】使用Logstash作为收集端采集IIS日志

    现阶段Logstash在Windows端的日志采集一直存在若干问题,包括:   1. LS有读锁:进程开启后Input指定路径下的所有文件都会被锁死无法重命名或删除. 2. LS不识别*:如果在pat ...

  5. logstash 对配置文件conf敏感信息,密码等加密

    logstash的配置文件conf经常会涉及敏感信息,比如ES,mysql的账户密码等,以下使用logstash导入mysql为例子,加密隐藏mysql的密码. 在向keystore中添加key及其s ...

  6. matplot模块中的pylab

    pylab的目的 Pylab combines the functionality of pyplot with the capabilities of NumPy in a single names ...

  7. Ansible简明使用手册

            Ansible使用简明手册 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric ...

  8. Oracle 调度程序(scheduler)摘自一位大神

    在11g中,Oracle提供了一个新建的Scheduler特性,帮助将作业实现自动化.它还可以帮助你控制资源的利用与并可以将数据库中的作业按优先顺序执行.传统的dbms_jobs的一个限制是它只能调度 ...

  9. C# 添加系统计划任务方案

    你可以在Windows 计划任务管理器里面添加计划任务,调试OK后导出XML文件,然后在要部署的计算机上执行CMD导入命令,把计划任务信息配置导入到服务器上的计划任务列表中,命令如下: SCHTASK ...

随机推荐

  1. elasticsearch备忘

    1.解决java.lang.RuntimeException: can not run elasticsearch as rootadduser *** //添加用户passwd *** //给用户赋 ...

  2. 怎样使用Fiddler获取WebApi的token值?

    User-Agent: Fiddler Host: localhost: Content-Length: Content-Type: application/json grant_type=passw ...

  3. Knockout学习之监控数组

    监控数组 单个监控属性.组合属性虽然可以解决大部分的问题,但是还有很多是他们无法做到的,比如在一组数据中进行移除添加,所以这节我们将要学习监控数组. 由于监控属性是由ko的observable构造,那 ...

  4. 如何用命令行执行loadrunner的脚本

    SET M_ROOT=D:\Mercury Interactive\Mercury LoadRunner\bin cd %M_ROOT% wlrun.exe -TestPath D:\ceshi10\ ...

  5. gnu screen的用法

    在使用ssh或者telnet登录远程主机后执行一些耗时的命令, 如果此时ssh或者telnet中断, 那么远程主机上正在执行的程序或者说命令也会被迫终止. screen能够很好地解决这个问题, scr ...

  6. [javase学习笔记]-8.3 statickeyword使用的注意细节

    这一节我们看静态在使用过程中应注意的几个细节. 上一节我们在学习成员变量与静态变量的差别时,对于两种变量的调用方式不同一时候出现了"无法从静态上下文中訪问非静态变量"的错误.这个问 ...

  7. 【centos6】安装redis + phpredis 以及 常用配置参数

    1.redis-server和redis-cli安装文章:http://www.cnblogs.com/skyessay/p/6429988.html 1.前置条件:查看是否安装gcc,命令:gcc ...

  8. Asp.net中GridView使用详解(引)【转】

    Asp.net中GridView使用详解(引) GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList ...

  9. Zabbix触发器支持的函数说明

    原文出处:https://www.zabbix.com/documentation/2.0/manual/appendix/triggers/functions 译者: pengyao abschan ...

  10. 什么是分表和分区 MySql数据库分区和分表方法

    1.为什么要分表和分区 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性 ...