Closed anjia0532 closed 2 months ago
把 _type的值固定写 '_doc' 试试
不同的es服务版本不同,es 服务端高版本不用设置 doc_type
那我测试时候没用那么高的服务端版本,高版本去掉了 doc_type
这是elatic的改版历史
es高版本服务端不能传type了.
提交代码了,今后不兼容es7以前的服务端.
对,es 有好多破坏性更新,相对来说往logstash写数据兼容性更好些(当然性能肯定赶不上直写ES)
目前好像很少人使用 控制台和文件以外的日志handler,99%的人认为日志就是控制台和写文件,我自己也比较少用es mongo 这些handler.
我对 python 生态了解的不太多,我这边主要用的Java。微服务场景下Java这边用ELK(ES,Logstash,Kibana)还挺常见的(否则的话一个业务跨多个应用或者多个模块,日志分布在不同的模块,服务器,机房,容器,很难把一次业务串起来)。
可以把ES当做一个私有的日志百度。拿着关键字搜就行了。而传统的写文件,日志少了还好,多了以后,就得cat | grep ,挺难用的其实。
尤其是公司内,多人协作时,出问题后,直接丢一个日志链接过去比直接丢一个大几个G日志文件更友好一些。
当然传统的写文件这块,ELK也有类似方案,使用FileBeat可以直接解析日志文件,然后上报到ES里。
配置了
is_add_elastic_handler=True
后 报Action/metadata line [1] contains an unknown parameter [_type]
把 https://github.com/ydf0509/nb_log/blob/master/nb_log/handlers_more.py#L391 删除
_type
后正常我的环境是
elasticsearch server 是 elasticsearch:8.11.1