# logstash-filter-java_eastcom_filter-redis **Repository Path**: antch_hw/logstash-filter-java_eastcom_filter-redis ## Basic Information - **Project Name**: logstash-filter-java_eastcom_filter-redis - **Description**: 编写Logstash 的redis-filter插件,满足公司的业务需求 - **Primary Language**: Java - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2019-11-01 - **Last Updated**: 2025-01-25 ## Categories & Tags **Categories**: logging **Tags**: None ## README # logstash_filter_redis_eastcom2 #### 介绍 本项目旨在提供适合东信话单数据清洗的Logstash过滤器插件(依赖于Redis)。由于官方未提供基于Redis的技filter,因此只能自己动手。目前插件只哈希类型的查询。给定一个号码,查询号码的区号,省份,城市信息,检查找的信息,封装到事件中对应的新的字段中。(具有**话单清洗**的定制化特色)。 #### 软件架构 ![输入图片说明](https://images.gitee.com/uploads/images/2019/1106/153216_ad8ab94c_1382872.png "屏幕截图.png") #### 安装教程 1. 首先需要熟悉Logstash官方关于Java插件开发的文档。文档地址https://www.elastic.co/guide/en/logstash/current/java-filter-plugin.html 2. 下载Logstash的源代码https://github.com/elastic/logstash.git,下载之后,按照官方教程生成 logstash-core-x.y.z.jar 文件。 3. git clone插件示例代码,地址https://github.com/logstash-plugins/logstash-filter-java_filter_example; 4. 将下载的代码导入到Eclipse或者你喜欢的IDE(先安装一下Gradle); 5. 然后按照官方的步骤,在项目根目录下创建 gradle.properties 文件,指定一下你刚才clone的logstash项目的本地路径; 6. 接下来,你就有了可以使用的LogstashAPI了,可以开心的编码了; 7. 打包,按照官方的教程生成gem文件; #### 使用说明 1. 将生成的gem文件拷贝到你Logstash所在的机器(注意:**机器可以联网哦哦!!**有人说我的机器就是连不了网怎么办,那你先找个能上网的机器,插件安装好了,然后再把安装好插件的Logstash替换未安装的不就好了)。 2. 执行命令: ```shell ./logstash-plugin install --no-verify --local your_plugin.gem ``` 3. 可以验证一下: ```shell ./logstash-plugin list ``` 4. 插件安装完成后就是需要配置了,下面给出一个配置示例,相关的解释也在注释中说明: ```groovy java_filter_redis { host => "192.168.1.161" # redis的地址 port => 6379 # redis端口 password => "xxxx" # redis密码 source => "phoneNumber" # 要根据哪一个字段的值查询 use_heap_cache_for_areacode => true # 是否根据区号查询 from_to_target_field => { # 哈希结构,每一对,第一个值是redis哈希中的字段名字,第二个是要生成的字段的名字 "area_code" => "phoneNumber_code" "province" => "phoneNumber_province" "city" => "phoneNumber_city" } } ``` #### 支持与反馈 1. 有疑问请随时与我反馈。 2. 有想法请与我联系。