jiabanl 发表于 2019-1-28 11:55:52

ELK 作为交换机和路由器日志管理系统的简单实践!

  硬件环境:


[*]  


[*]  IBM System X3650m3
[*]  CPU:Xeon E5620 2.4GHz
[*]  内存:8G
[*]  硬盘:300G(RAID1)

  软件环境:
  a. 系统:CentOS6.5
  b. E : elasticsearch-2.1.1.rpm
  L : logstash-2.1.1-1.noarch.rpm
  k : kibana-4.3.1-linux-x64.tar.gz
  c.python-meld3-0.6.7-1.el6.x86_64.rpm
  d. supervisor-3.0-1.gf.el6.noarch.rpm
  注: logstash自带的启动脚本有问题,所以使用supervisor来管理logstash的服务器进程
  一.

  1. 安装logstash:
yum -y localinstall logstash-2.1.1-1.noarch.rpm  2. 配置logstash(/etc/logstash/conf.d/logstash.conf,默认没有需要自己编写)
input{
    udp{
      port => 514#用于接收交换机和路由器的日志的服务器端口
      type => "switch_route"
    }
}
filter{
    if == "switch_route" {
      grok{
            #用于过滤日志信息,NUMBER等大写字母表示的是logstash自带的正则模式,冒号后面的表示自定义的显示字段
            match => ["message", "%{NUMBER:internal_id}: %{SYSLOGTIMESTAMP:message_timestamp}: %{GREENDATA"}]
      }
      #用于解析syslog的severity 和 facility
      syslog_pri{}
    }
}
output{
    #stdout{
    #    codec => rubydebug #将数据输出到标准输出,主要用于调试
    #}
    elasticsearch{
      hosts => ['127.0.0.1:9200'] #指定elasticsearch的服务器,可以指定多个用逗号分隔
      workers => 5 #elasticsearch初始启动多少工作进程
      template_overwirte => true #表示当单独指定模版文件的时候是否覆盖默认的模板
    }
}  3. 配置supervisor并启动logstash服务
1. supervisor配置(/etc/supervisord.d/logstash.ini):

directory = /opt/logstash
command = /opt/logstash/bin/logstash -f /etc/logstash/conf.d/logstash -l /var/log/logstash/logstash.log
2. 启动logstash服务器
supervisorctl start logstash
3. 验证已经监听UDP的514端口
lsof -i:514  二.

  1. 安装elasticsearch:
yum -y localinstall elasticsearch-2.1.1.rpm  2. 启动elasticsearch服务
service elasticsearch start  3. 验证是否已经启用9200和9300端口
lsof -i:9200/9300  三.

[*]  解压kibana到/opt目录下

tar xf kibana-4.3.1-linux-x64.tar.gz -C /opt
ln -s kibana-4.3.1-linux-x64 kibana  2. 配置supervisor用于启动kibana进程
配置文件路径:/etc/supervisord.d/kibana.ini

directory = /opt/kibana
command = /opt/kibana/bin/kibana  3. 启动kibana服务
supervisorctl start kibana  4. 验证kibana服务进程是否已经监听5601端口
lsof -i:5601  四.
  此时,可以在浏览器中输入http://127.0.0.1:5601 既可以访问kibana了
  

  其他:
  elasticsearch提供了restAPI可以通过浏览器来查看elasticsearch服务是否已经有包含数据,以及其他一些信息,例如查看是否已经接受到了数据:
curl http://127.0.0.1:9200/_search?pretty  elasticsearch数据的存储路径是:
/var/lib/elasticsearch/elasticsearch/  




页: [1]
查看完整版本: ELK 作为交换机和路由器日志管理系统的简单实践!