您的位置 首页 php

elk 环境搭建以及php测试样例

1. JAVA 环境安装

 #jdk1.8下载
#下载地址 

wget 
tar -zxvf jdk-8u301-linux-x64.tar.gz
mv jdk-8u301-linux-x64 java
mv java /usr/local/
#环境变量配置
vim /etc/profile
#java
export JAVA_HOME=/usr/local/ java 
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export  JRE _HOME=$JAVA_HOME/jre
#
source /etc/profile
java -version #测试java是否成功  

2.elasticsearch 安装

2.1 用户和用户组创建

elasticsearch 默认是非root用户启动我这里添加 elk 用户和用户组 并创建elk的目录

 groupadd elk
useradd -m -g elk elk
# elk 安装目录在 /user/local/elk 目录下
mkdir elk  

2.2 elasticsearch安装以es基本配置和跨域配置等

es 安装配置请注意磁盘容量 如果剩余量很小会报错,如果启动报错,请查看日志

 #下载elasticsearch
wget 
tar -zxvf elasticsearch-7.13.0-linux-x86_64.tar.gz
#修改es配置文件
cd /usr/local/elk/elasticsearch/config
vim elasticsearch.yml
http.port: 9200
node.name: node-1
cluster.initial_master_nodes: ["node-1"]
#network.host: 0.0.0.0  #如果允许外网访问这里需要改为0.0.0.0
#添加跨域配置
http. cors .enabled: true
http.cors.allow-origin: "*"
cluster.routing.allocation.disk.threshold_enabled: true
cluster.routing.allocation.disk.watermark.flood_stage: 5gb
cluster.routing.allocation.disk.watermark.low: 30gb
cluster.routing.allocation.disk.watermark.high: 20gb  

2.3 安装i k分词器

ik分词器要和 es版本一致

 cd /usr/local/elk/elasticsearch/bin
./elasticsearch-plugin install   

2.4 es启动

 #切换用户启动es
su elk
bin/elasticsearch -d
#测试es是否启动
curl 127.0.0.1:9200
#{
  "name" : "node-1",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "RzObV5d0Ro-aj5uxOMZE6g",
  "version" : {
    "number" : "7.13.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "5ca8591c6fcdb1260ce95b08a8e023559635c6f3",
    "build_date" : "2021-05-19T22:22:26.081971330Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}  

2.5安装 elasticsearch-head

2.1 依赖node环境

这里不做赘述 请自行 百度 安装

2.2 安装elasticsearch-head

 git clone 
cd elasticsearch-head
npm install
npm audit fix
npm audit fix --force
npm run start
访问地址:
  

3.kibana 安装

3.1 安装

  wget  
tar -zxvf kibana-7.13.0-darwin-x86_64.tar.gz
mv kibana-7.13.0-darwin-x86_64 /usr/local/elk/kibana

#汉化
vim /usr/local/elk/kibana/config/kibana.yml
i18n.locale: "zh-CN"

#启动kibana
cd /usr/local/elk/kibana
nohup bin/kibana &  

3.2 配置外网可访问

阿里云 等服务器,请确保端口开放

 vim /usr/local/elk/kibana/config/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["#34;]
kibana.index: ".kibana"  

4.安装logstash

mysql -connector-java-8.0.26.jar

这里需要主要。需要倒入这个包

 #下载地址


#解压后进入目录

#命令行进入
bin/logstash -e "input { stdin {} } output { stdout {} }"
#mysql-connector-java-8.0.26.jar
cd /usr/local/elk/logstash/jars  

4.2配置文件处理demo.conf

 input {
  stdin {
  }
   jdbc  {
    #数据库信息配置
    jdbc_connection_string => "jdbc:mysql://localhost:3306/test?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8"
    jdbc_driver_class => "com.mysql.cj.jdbc.Driver"
    jdbc_driver_library => "/usr/local/elk/logstash/jars/mysql-connector-java-8.0.26.jar"
    jdbc_user => "root"
    jdbc_password => "root"
    jdbc_paging_enabled => "true"
    jdbc_page_size => 10000
    jdbc_default_timezone => "Asia/Shanghai"
    #执行sql文件位置
    statement_filepath => "/usr/local/elk/logstash/config/demo.sql"
    schedule => "* * * * *"
    lowercase_column_names => "false"
  }
}

output {
  elasticsearch {
    hosts => ["#34;]
    index => "index_name"
    document_id => "%{infoid}"
    #user => "elastic"
    #password => "changeme"
  }
  stdout {
    codec => json_lines
  }
}  

4.3sql处理

这里的sql请根据自己的业务自行编写 使用logstash同步数据到es中

4.4启动logstash

 bin/logstash -f config/user.conf  

5 注意点:

1. logstash 如果多次启动报错请删除 data目录下的 .lock文件

2. es报错或者卡顿。请注意磁盘大小 和jvm参数设置

3. kibana访问请确定外网端口是否开放

4. logstash 大批量倒入数据请确定添加了 mysql-connector-java-8.0.26.jar

解决es只能查询10000条数据的问题

 PUT index_name/_settings?preserve_existing=true
{
  "max_result_window": "1000000"
}

GET index_name/_search
{
 "query": {
 "match_all": {}
 },
 "track_total_hits":true
}  

下一期整理es在php中如何使用

如有错误请及时指出。

文章来源:智云一二三科技

文章标题:elk 环境搭建以及php测试样例

文章地址:https://www.zhihuclub.com/148989.shtml

关于作者: 智云科技

热门文章

网站地图