【EFK日志系统】在kibana操作索引模板、生命周期、管道等

之前已经搭建好了es集群、es-head信息面板、kibana、filebeat和metricbeat,但是其中的索引模板等信息你在kibana界面暂时看不到

接下来我们设置索引模式、索引模板、生命周期、管道限制等,简单写一写样例,(大家可以根据自己的需求自定义,不过system-*这个索引我建议按照执行就行)使这个日志系统更加的完善

参考上几篇
docker一键部署EFK系统(elasticsearch filebeat kibana metricbeat es-head)
【EFK日志系统】docker一键部署kibana、es-head
【EFK日志系统】docker一键部署filebeat、metricbeat
【EFK日志系统】在kibana操作索引模板、生命周期、管道等


输入172.23.165.185:5601
输入账号密码登录

管道

在kibana界面找到开发工具,输入指令
这个管道是限制输出host.ip中其他多余的字段,这部分可以自定义,通过过滤、限制达到目的

PUT _ingest/pipeline/retain_first_ip_pipeline
{
  "description": "Retain only the first IP address in host.ip",
  "processors": [
    {
      "script": {
        "lang": "painless",
        "source": """
          if (ctx.host?.ip != null && ctx.host.ip.length > 0) {
            ctx.host.ip = [ctx.host.ip[0]];
          }
        """
      }
    }
  ]
}

在这里插入图片描述

生命周期

一般情况下,我们的日志量不大就没必要设置这个;如果日志量比较大,恰巧自己的磁盘容量不能扩充,那么只能设置生命周期回滚,保证日志总量有上限

我们设置是单日索引1GB,超过1G滚动,所有索引保存周期是30天

为了简单示意,我们只设置保存周期为30天

PUT _ilm/policy/system   #名字随便取,在模板对应好就行
{
  "policy": {
    "phases": {
      "hot": {
        "min_age": "0ms",
        "actions": {
          "set_priority": {
            "priority": 100
          }
        }
      },
      "delete": {
        "min_age": "30d",  
        "actions": {
          "delete": {}
        }
      }
    }
  }
}

相应的,起的业务应用生命周期也是这样,这里只不过我们只是对系统日志进行了设置

索引模板

定义索引模板,这样传输的日志信息才能按照你给出的字段显示在kibana

PUT /_index_template/system   # 这个是索引模板的名字
{
  "index_patterns": ["system-*"],      #这个是索引模板的适用范围,凡是以system开头的索引都应用这个模板
  "template": {
    "settings": {
      "index": {
        "number_of_shards": 1,
        "codec": "best_compression",
        "default_pipeline": "retain_first_ip_pipeline",     #这个是刚刚定义的管道(可以去掉哈)
        "lifecycle": {
          "name": "system"      #这个是刚刚定义的生命周期,名字对应好
        }
      }
    },
    "mappings": {
      "properties": {
        "@timestamp": {
          "type": "date"
        },
        "system": {
          "properties": {
            "process": {
              "properties": {
                "memory": {
                  "properties": {
                    "rss": {
                      "properties": {
                        "bytes": {
                          "type": "long"
                        }
                      }
                    }
                  }
                },
                "name": {
                  "type": "keyword"
                },
                "cpu": {
                  "properties": {
                    "total": {
                      "properties": {
                        "pct": {
                          "type": "float"
                        }
                      }
                    }
                  }
                }
              }
            },
            "memory": {
              "properties": {
                "total": {
                  "type": "long"
                },
                "used": {
                  "properties": {
                    "pct": {
                      "type": "float"
                    }
                  }
                }
              }
            },
            "load": {
              "properties": {
                "1": {
                  "type": "float"
                },
                "15": {
                  "type": "float"
                },
                "5": {
                  "type": "float"
                },
                "norm": {
                  "properties": {
                    "1": {
                      "type": "float"
                    },
                    "15": {
                      "type": "float"
                    },
                    "5": {
                      "type": "float"
                    }
                  }
                }
              }
            },
            "cpu": {
              "properties": {
                "total": {
                  "properties": {
                    "pct": {
                      "type": "float"
                    }
                  }
                },
                "cores": {
                  "type": "long"
                }
              }
            },
            "network": {
              "properties": {
                "in": {
                  "properties": {
                    "bytes": {
                      "type": "long"
                    }
                  }
                },
                "out": {
                  "properties": {
                    "bytes": {
                      "type": "long"
                    }
                  }
                }
              }
            }
          }
        },
        "host": {
          "properties": {
            "hostname": {
              "type": "keyword"
            },
            "os": {
              "properties": {
                "family": {
                  "type": "keyword"
                },
                "version": {
                  "type": "keyword"
                },
                "platform": {
                  "type": "keyword"
                }
              }
            },
            "name": {
              "type": "keyword"
            },
            "id": {
              "type": "keyword"
            },
            "architecture": {
              "type": "keyword"
            }
          }
        },
        "metricset": {
          "properties": {
            "period": {
              "type": "long"
            },
            "name": {
              "type": "keyword"
            }
          }
        },
        "event": {
          "properties": {
            "duration": {
              "type": "long"
            },
            "module": {
              "type": "keyword"
            },
            "dataset": {
              "type": "keyword"
            }
          }
        },
        "mongodb": {
          "properties": {
            "replstatus": {
              "properties": {
                "members": {
                  "properties": {
                    "down": {
                      "properties": {
                        "hosts": {
                          "type": "keyword"
                        },
                        "count": {
                          "type": "integer"
                        }
                      }
                    },
                    "recovering": {
                      "properties": {
                        "hosts": {
                          "type": "keyword"
                        }
                      }
                    },
                    "rollback": {
                      "properties": {
                        "hosts": {
                          "type": "keyword"
                        }
                      }
                    },
                    "startup2": {
                      "properties": {
                        "hosts": {
                          "type": "keyword"
                        }
                      }
                    },
                    "unhealthy": {
                      "properties": {
                        "hosts": {
                          "type": "keyword"
                        }
                      }
                    },
                    "unknown": {
                      "properties": {
                        "hosts": {
                          "type": "keyword"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "aliases": {}
  }
}

索引模式

1.在kibana界面找到Stack Management

在这里插入图片描述
2.在索引模式下创建索引模式

在这里插入图片描述

3.在输入框输入system-*
下面应该会出现很多单个索引(表示有符合要求的索引),点击下一步

选择时间戳创建

记得刷新字段


至此就完成了
在kibana界面查看日志

在这里插入图片描述

有需求的同学可以设置监控面板
在这里插入图片描述

注意事项

简单列一下
1.es集群不健康,说明三个节点不通,首先检查防火墙有没有给你开放这几个端口9100 9200 9300 5601等,再就是检查你的证书,是不是同一个证书文件,如果不是,重新在任意一个节点生成,然后复制到其他的节点config

2.生命周期有没有生效,可以在kibana的索引管理界面查看每个索引是否受管
正常的顺序是,我们首先创建了索引模板,然后es能够检索索引,然后在kibana创建索引模式,我们就可以看到日志信息

如果你发现没有受管,请将现在所有的索引删除,如果信息不能删除,那么请将生命周期重新跑一遍

遇到服务有问题docker logs name_id查看


纯摸索自用,不周望指正,欢迎交流!!

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石子君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值