一、软件版本

  1.jdk-8u211-linux-x64.rpm

  2.elasticsearch-6.8.1.rpm

  3.logstash-6.8.1.rpm

  4.kibana-6.8.1-x86_64.rpm

  5.winlogbeat-6.8.4-windows-x86_64   在windows服务器安装配置

说明:elasticsearch做集群   主机1:192.168.1.102 主机2:192.168.1.104

     logstash和kibana安装在主机1上

二、安装软件

  2.1 主机1和主机2:jdk-8u211-linux-x64.rpm和elasticsearch-6.8.1.rpm 并配置elasticsearch

    说明:elasticsearch依赖jdk环境,所以先安装jdk-8u211-linux-x64.rpm

    yum -y localinstall  jdk-8u211-linux-x64.rpm

            yum -y localinstall  elasticsearch-6.8.1.rpm

        

  创建数据目录和日志目录及权限修改
  [root@linux-elk1 ~]# mkdir -p /elk/{data,logs}
  [root@linux-elk1 ~]# chown elasticsearch.elasticsearch /elk/ -R

  修改内存限制,内存锁定需要进行配置需要2g以上内存,否则会导致无法启动elasticsearch。
  [root@linux-elk1 ~]# vim /usr/lib/systemd/system/elasticsearch.service
  在[Service]下加入下面这行内容
  LimitMEMLOCK=infinity

  [root@linux-elk1 ~]# vim /etc/elasticsearch/jvm.options
  -Xms2g
  -Xmx2g #最小和最大内存限制.

        编辑配置文件:vim /etc/elasticsearch/elasticsearch.yml 

  [root@logsystem src]# grep -v "^#" /etc/elasticsearch/elasticsearch.yml
  cluster.name: my-log
  node.name: node-1
  path.data: /elk/data
  path.logs: /elk/logs
  network.host: 192.168.1.102
  http.port: 9200
  discovery.zen.ping.unicast.hosts: ["192.168.1.102","192.168.1.104"]

  设置开机启动
  systemctl enable elasticsearch.service

  systemctl daemon-reload
  systemctl start elasticsearch.service

  查看状态
  systemctl status elasticsearch.service

  正在运行,查看端口
  ss -tnl

  

  查看信息,也是一种检测。若能出现如下信息,则说明配置正确
  curl http://192.168.1.102:9200

  

  

  集群有状态: green ,red , yellow
  绿色表示一切是好的(集群功能齐全)
  黄色意味着所有数据是可用的,但是一些副本尚未分配(集群功能齐全)
  红色意味着一些数据不可用
  即使一个集群是红色的,它仍然是部分功能(即它将继续搜索请求从服务可用的碎片)但是你可能需要尽快修复它,因为你有缺失的数据。

  Restful API:
  四类API
  1. 检查集群,节点,索引等健康与否,以及获取其相应状态
  2.管理集群,节点,索引及元数据
  3.执行CRUD操作
  4.执行高级操作,如paging ,filtering等

  ES访问接口:9200/tcp

  语法:
  curl -X<VERB> '<PROTOCOL>://host:port/<PATH>?QUERY_STRING/' -d '<BODY>'

  查看elasticsearch相关信息 json格式的
  [root@logsystem ~]# curl http://192.168.1.102:9200/_cluster/health?pretty=true
  {
  "cluster_name" : "elasticsearch",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
  }

  [root@logsystem ~]# curl -X GET http://192.168.1.102:9200/_cat/nodes?v
  ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
  192.168.1.102 7 95 1 0.00 0.01 0.05 mdi * node-1

  [root@logsystem ~]# curl -X GET http://192.168.1.102:9200/_cat/indices?help

  [root@logsystem ~]# curl -X GET 'http://192.168.1.102:9200/_cluster/state/version?pretty'
  {
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "qKuBK9TlQ3G-Rj6IFAXzTQ",
  "version" : 16,
  "state_uuid" : "SzhdF4PvRIGFbwlI_PD_cg"
  }

  2.2主机1: logstash-6.8.1.rpm 并配置

   wget https://artifacts.elastic.co/downloads/logstash/logstash-6.8.1.rpm

   yum -y localinstall  logstash-6.8.1.rpm

  [root@logsystem ~]cd /etc/logstash/conf/

  vim system-log.conf 

  input{

    beats{
    add_field => {"myid"=>"windows_log"}
    port => 5044
  }
    beats {
    add_field => {"myid"=>"nginx_log"}
    port => 5400
    }
  stdin{}
  }

  output{
    if [myid] == "windows_log"{
      elasticsearch{
      hosts=>"192.168.1.102:9200"
      index=>"%{type}-%{+YYYY-MM-dd}"
      }
  }
  if [myid] == "nginx_log"{
      elasticsearch{
      hosts=>"192.168.1.102:9200"
      index=>"nginx_pj_log-%{+YYYY-MM-dd}"
      }
      }
  stdout{ codec=>rubydebug }
  }

  启动logstash:

    [root@logsystem src]# nohup logstash -f /etc/logstash/conf.d/server_log.conf & 

  测试配置文件是否有语法错误:
  [root@logsystem ~]logstash -f /etc/logstash/conf/system-log.conf

  数据类型
  Array: [item1,item2,...]
  Boolean: true,false
  Bytes:
  Codec: 编码器
  Hash: key=>value
  Number:
  Password:
  Path:文件系统路径
  String:字符串
  字段引用 []
  条件判断: == ,!=,<,>, in ,not in ,and,or ....

  常用imput Plugin
  imput插件:
  File :从指定的文件中读取事件流,按行来标记一个事件。
  使用FileWatch(Ruby开发)来监听文件是否变化; .sincedb保存文件的相关信息数据库中。

  [root@logsystem logstash]# rpm -ql logstash |grep "patterns" 查找pattern

elasticsearch服务收到数据验证:

  2.3主机1:安装配置kibana   

  [root@logsystem src]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.8.1-x86_64.rpm
  安装
  [root@logsystem src]# yum localinstall kibana-6.8.1-x86_64.rpm -y 

  配置
  [root@logsystem src]# vim /etc/kibana/kibana.yml
  server.port: 5601 #监听端口
  server.host: "192.168.1.102" #监听地址
  elasticsearch.hosts: ["http://192.168.1.102:9200"] #elasticsearch服务器地址
  i18n.locale: "zh-CN" #修改中文

  [root@logsystem src]# systemctl start kibana
  [root@logsystem src]# systemctl enable kibana

查看服务

访问:http://192.168.1.102:5601

  2.4 收集服务器日志上安装winlogbeat-6.8.4-windows-x86_64

  解压到 C:\Program Files

  重新命名文件夹为winlogbeat
  用管理员身份打开windows的 powershell
  运行以下命令来安装服务
  PS C:\Users\Administrator> cd 'C:\Program Files\Winlogbeat'
  PS C:\Program Files\Winlogbeat> .\install-service-winlogbeat.ps1

  不能安装时,令来关闭一些安全防护,输入命令后按Y确认
  PS C:\Program Files\Winlogbeat> set-executionpolicy remotesigned
  PS C:\Program Files\Winlogbeat> set-executionpolicy Bypass

winlogbeat.yml 配置文件修改:

  winlogbeat.event_logs:
  - name: Application #应用程序事件;
  ignore_older: 8h #忽略8小时后的日志,初次启用传日志很有用;
  provider: #过虑源yml列表
  - Application Error
  - Application Hang
  - Windows Error Reporting
  - name: Security #安全日志
  ignore_older: 8h
  event_id: 4624, 4625, 4700-4800, -4735 #事件ID 匹配中事件ID发送
  - name: System #系统日志
  ignore_older: 8h

  检查配置语法
.  \winlogbeat.exe test config -c .\winlogbeat.yml -e

  启动winlogbeat
  C:\Program Files\Winlogbeat> Start-Service winlogbeat

  Windlogbeat基本配置 

  1.配置发送日志到logstash
  output.logstash:
  # The Logstash hosts
  hosts: ["10.10.10.10:5044"]
  2.配置发送日志到elasticsearch
  output.elasticsearch:
  hosts: ["10.10.10.10:9200"]
  template.name: "winlogbeat"
  template.path: "winlogbeat.template.json"
  template.overwrite: false

坑1:插件存放路径
报错:
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: Property [elasticsearch.version] is missing for plugin [head]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.2.2.jar:5.2.2]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.2.2.jar:5.2.2]

原因:新版本的elasticsearch不允许插件放入/usr/share/elasticsearch/plugins 目录下。(插件bigdesk,head ...)
解决:把插件移到其它目录即可

  

ELK收集windows服务器日志笔记的更多相关文章

  1. salt收集windows服务器日志时间

    定义收集时间区间: time.ps1 $a = get-date $b = $a.adddays(-) $c = $b.tostring('yyyy-MM-dd') $d = get-date -fo ...

  2. elk收集windows日志

    参考网站:https://www.secpulse.com/archives/55636.html https://blog.csdn.net/qq_38094271/article/details/ ...

  3. ELK收集Nginx自定义日志格式输出

    1.ELK收集日志的有两种常用的方式: 1.1:不修改源日志格式,简单的说就是在logstash中转通过 grok方式进行过滤处理,将原始无规则的日志转换为规则日志(Logstash自定义日志格式) ...

  4. 带你了解zabbix整合ELK收集系统异常日志触发告警~

    今天来了解一下关于ELK的“L”-Logstash,没错,就是这个神奇小组件,我们都知道,它是ELK不可缺少的组件,完成了输入(input),过滤(fileter),output(输出)工作量,也是我 ...

  5. ELK收集Nginx|Tomcat日志

    1.Nginx 日志收集,先安装Nginx cd /usr/local/logstash/config/etc/,创建如下配置文件,代码如下 Nginx.conf input { file { typ ...

  6. 搭建ELK收集PHP的日志

    架构: filebeat --> redis -->logstash --> es --> kibana 每个客户端需要安装filebeat收集PHP日志 filebeat把收 ...

  7. elk收集tomcat的日志

    logstash收集tomcat的日志 不要修改下tomcat中server.xml的日志格式,否则tomcat无法启动,试过多次,不行,就用自带的日志让logstash去收集 首先给tomcat日志 ...

  8. ELK收集tomcat访问日志并存取mysql数据库案例

    这个案例中,tomcat产生的日志由filebeat收集,然后存取到redis中,再由logstash进行过滤清洗等操作,最后由elasticsearch存储索引并由kibana进行展示. 1.配置t ...

  9. ELK收集tomcat状态日志

    1.先查看之前的状态日志输出格式:在logs/catalina.out这个文件中 最上面的日志格式我们可能不太习惯使用,所以能输出下面的格式是最好的,当然需要我们自定义日志格式,接下来看看如何修改 2 ...

随机推荐

  1. nginx的一些知识(一)

    第8章 web网站的搭建 curl -Lv 网站地址:查看网站的请求信息和响应信息,并且会将结果输出出来 8.1 web网站的的传输原理过程 会进行DNS的解析 进行客户端和服务端进行三次握手协议 客 ...

  2. 使用iCamera 测试MT9F002 1400w高分辨率摄像头说明 续集2

    使用iCamera 测试MT9F002 1400w高分辨率摄像头说明 续集2 本方案测试三种分辨率输出(其他更多分辨率设置,可以参考手册配置) 3776*3288=1241万像素 3776*2832= ...

  3. 【CSS】340- 常用九宫格布局的几大方法汇总

    对,就是类似这样的布局~ 目录 1  margin负值实现 2  祖父和亲爹的里应外合 3  换个思路 - li生个儿子帮大忙 4 借助absolute方位值,实现自适应的网格布局 5 cloumn多 ...

  4. 【RabbitMQ】使用学习

    [RabbitMQ]使用学习 转载: ============================================================= =================== ...

  5. 【Java Web开发学习】Spring MVC 开始配置

    Spring MVC 开始配置 转载:http://www.cnblogs.com/yangchongxing/p/8871370.htm 学习搭建最简单的Spring MVC框架. ======== ...

  6. JavaEE基础(06):Servlet整合C3P0数据库连接池

    本文源码:GitHub·点这里 || GitEE·点这里 一.C3P0连接池 1.C3P0简介 C3P0是一个开源的JDBC连接池,应用程序根据C3P0配置来初始化数据库连接,可以自动回收空闲连接的功 ...

  7. android开发针对小米、三星、华为8.0+系统个别型号打开应用闪退

    最近开发中有个别客户反馈新换的三星.小米或者华为手机打开应用就闪退,而且是个别型号.针对这种情况特别查阅了一些资料,原因是8.0+系统的手机不允许后台创建服务,那么怎么修改呢,请看代码: 1.修改启动 ...

  8. 基于C# WPF框架的贪吃蛇

    游戏开始界面 游戏开始 共有两条蛇,吃到红色食物加1分,吃到绿色毒食物减1分,知道0不减: 碰到墙壁游戏结束,碰到对方游戏结束,碰到自己游戏结束 此游戏通过Canvas画布布局,通过C#代码实现 游戏 ...

  9. Java使用iBatis批量插入数据到Oracle数据库

    Java使用iBatis批量插入数据到Oracle数据库 因为我们的数据跨库(mysql,oracle),单独取数据的话需要遍历好多遍,所以就想着先从mysql数据库中取出来的数据然后在oracle数 ...

  10. C# (转载)webbrowser专题(参考资料:https://www.cnblogs.com/blogpro/p/11458390.html)

    C# .Net 2.0实例学习:WebBrowser页面与WinForm交互技巧 2 Study Case :高亮显示 上一个例子中我们学会了查找文本——究跟到底,对Web页面还是只读不写.那么,如果 ...