常用命令

curl -XGET "http://localhost:9200"    看看连接是否成功
ss -tanl     判断是否启动成功,可执行如下命令,查看是否启用9200端口即可
more elasticsearch.log 查看日志???
ps aux |grep elastic  进服务器查看es服务

常见问题

elasticsearch自动关闭 原因:es占用的内存空间过大 

修改elasticsearch的配置文件 ??未必是这个解决方案

  • cd /opt/elasticsearch/config
  • vim jvm.options
  • 修改 -Xms 和 -Xmx,根据系统剩余内存自己感觉配置 我还剩了四个g 所以都分配为1个G
  • -Xms1g
  • -Xmx1g

安装

https://elasticsearch.cn/download/  所有软件安装地址

一、说明

ELK是当下流行的日志监控系统。ELK是Elasticsearch、Logstash、Kibana三个软件的统称。

在ELK日志监控系统中,Logstash负责读取和结构化各类日志+发送给Elasticsearch,Elasticsearch负责存储Logstash发送过来的日志+响应Kibana的查询,Kibana负责从Elasticsearch查询内容+在web界面中向用户展示。

二、ELK安装与启动

ELK看是三个工具,但是都相当于”绿色软件“,基本都是下载解压就能运行了。

需要有java环境

安装java环境:https://www.runoob.com/java/java-environment-setup.html#win-install

需要node环境

安装node环境: Node.js

window安装 elk的版本必须一致

一,安装elasticsearch

1、官网下载ZIP  Elasticsearch:官方分布式搜索和分析引擎 | Elastic

2、解压

3、进bin目录:E:\php-extend\ELK\elasticsearch-7.7.0\bin,shift+右键 --》 “此处打开命令行”,输入:elasticsearch

(或者进入E:\php-extend\ELK\elasticsearch-7.7.0\bin,双击elasticsearch.bat即可)

4、启动ES成功,打开地址:http://localhost:9200/    

      linux安装看这篇文章 在linux上安装elasticsearch简称ES 简单介绍安装步骤_nishihong的博客_es linux 安装

二,安装logstash  ????

1、官网下载ZIP Download Logstash Free | Get Started Now | Elastic

2、解压

3、进bin目录:E:\php-extend\ELK\logstash-7.7.0\bin,shift+右键 --》 “此处打开命令行”,输入:logstash -e 'input{stdin{}}output{stdout{}}'

【中间不能有空格不然回报错:

ERROR: Unknown command '{'

See: 'bin/logstash --help'
[ERROR] 2020-05-22 09:43:31.313 [main] Logstash - java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit

4.暂时不清楚是否就可以了

三,安装kibana

1、官网下载ZIP  Download Kibana Free | Get Started Now | Elastic

2、解压

3、解压后编缉config/kibana.yml,将server.host项修改为本机ip,将elasticsearch.url项赋值为elasticsearch地址。如我这里是:

server.host: "127.0.0.1"

elasticsearch.url: "http://localhost:9200"

保存

4.进入kibana的bin目录,双击kibana.bat(第一种方式)。通过cmd的方式进入kibana的bin目录,运行kibana.bat(第二种方式);

建议使用第二种,可以看是否有报错

错误解决方式

错误1:cannot find module './lib/agent'

解决方案:第一步是因为我没有在当前目录下面去npm install express  我是在全局里面安装的express 所以不能引用express的模块所以报了错!

访问:http://localhost:5601,出现以下界面即完成安装。 ?????现在不行了,有时间再看看啊啥原因

linux安装 elk的版本必须一致

[root@izbp1agmpooj77xy5u4sspz /]# wget https://artifacts.elastic.co/downloads/kibana/kibana-7.9.3-linux-x86_64.tar.gz

下载安装包 

ELK日志分析 docker elk查看日志_elasticsearch

解压到 /usr/local/

tar -xzvf kibana-7.9.3-linux-x86_64.tar.gz -C /home/

重命名为 kibana

目录重命名:mv kibana-7.9.3 kibana

ELK日志分析 docker elk查看日志_ELK日志分析 docker_02

vim config/kibana.yml

# 放开注释,将默认配置改成如下:

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://27.18.90.26:9200"
kibana.index: ".kibana"

#用来登录的账号密码
elasticsearch.username: "elastic"
elasticsearch.password: "sChyNxdeDFL4BQUZFzgM"   #或者使用keystore的保存的密码"${ES_PWD}"

创建 kibana 用户。

useradd kibana

chgrp -R esuser ./kibana
chown -R esuser ./kibana
chmod 777 kibana

su esuser


进入bin目录启动:  ./bin/kibana
或者守护进程启动: nohup ./bin/kibana &
或者 nohup ./bin/kibana >/dev/null 2>&1 &  
 

关键在于最后的 >/dev/null 2>&1 部分,/dev/null是一个虚拟的空设备(类似物理中的黑洞),任何输出信息被重定向到该设备后,将会石沉大海

>/dev/null 表示将标准输出信息重定向到"黑洞"

2>&1 表示将标准错误重定向到标准输出(由于标准输出已经定向到“黑洞”了,即:标准输出此时也是"黑洞",再将标准错误输出定向到标准输出,相当于错误输出也被定向至“黑洞”)


查看进程号 jps 或者 ps -ef|grep kibana  或者 ps -ef|grep 5601
- 杀死进程 kill -9 进程号前台停止:


nohup 命令
用途:LINUX命令用法,不挂断地运行命令。
语法:nohup Command [ Arg ... ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。
在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。
nohup: ignoring input and appending output to `nohup.out'  忽略输入输出,将信息化信息记录到nohup.out文件中。

ELK日志分析 docker elk查看日志_elasticsearch_03

 

ELK日志分析 docker elk查看日志_ELK日志分析 docker_04

需要开放5601端口号

 

ELK日志分析 docker elk查看日志_ELK日志分析 docker_05

config/kibana.yml添加

i18n.locale: "zh-CN"

重启端口即可

ELK日志分析 docker elk查看日志_elasticsearch_06

kibana使用手册

基础搜索

1、打开discover,选择要搜索的索引

(1)send_code_v2 AND 发送成功

(2)url:send_code_v2 AND content:发送成功

(3)status:[400 TO 499]在范围  status:{20 TO 30} 不在这个范围    lucence模式才能使用

(4) "王者荣耀"  "" 这里面的词 代表完全匹配

2.打开 dev tools - 开发工具 》 控制台

GET /test_ik/_search
{

  "sort":[{
          "@timestamp":{
            "order":"DESC" //排序
      }
    }
  ],
  "from":"0",
  "size":10

}

###创建索引
PUT /my_index

###查询索引
GET /my_index

###创建文档 /索引/类型/id
PUT /my_index/user/1
{
  "name":"倪时鸿",
  "age":29,
  "sex":0
}

###更新文档
PUT /my_index/user/1
{
  "name":"倪时1鸿",
  "age":29,
  "sex":0
}

###获取
GET /my_index/user/1

###删除
DELETE /my_index

3、添加需要在discover搜索的索引

打开     Stack Management 》 索引模式 》创建索引模式

kibana配置功能

1、配置生命周期

(1)打开 Stack Management 》 打开 index_lifecycle_management 》创建策略

(2)打开 索引管理 》 选择相应的索引 》管理 》添加对应规则的生命周期