ELK日志系统:Elasticsearch+logstash
解决:1.分布式日志数据集中式查询管理
2.系统监控,包含系统集中式查询和管理
3.故障查询,安全信息和事件管理,报表功能
Elasticsearch:基于lucene的搜索服务器,提供分布式多用户能力全力搜索引擎,用JAVA开发,当今流行的企业级搜索引擎,可以事实搜索,稳定,可靠,快速,方便。
特点:实时分析,分布式实时储存,文档导向,高可用,可以集群,分片,复制。
Elasticsearch:与sql的对比
–DB → Databases(数据库) → Tables(表) → Rows(行) → Columns(列)
–ES → Indices(索引)→ Types(类型)→ Documents(文档)→ Fields(字段)
logstash:是一个数据采集,加工处理以及传输的工具
特点:1.所有类型的数据集中处理。 2.不同模式格式数据的正常化.
3.自定义格式迅速扩张。 4.自定义数据源轻松添加插件.
安装:没有配置文件,需要手动配置,安装在/opt/logstash下
https://github.com/logstash-plugins
https://www.elastic.co/guide/en/logstash/current/index.html
宏文件路径:/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-2.0.5/patterns/
grok-patterns
Elasticsearch安装步骤;
单台Elasticsearch安装
1、yum仓库(跳板机)
mkdir /var/ftp/localrepo/elk
cp *.rpm /var/ftp/localrepo/elk
cd /var/ftp/localrepo
createrepo –update .
2、配置 /etc/hosts
ip地址 主机名
3、安装
yum makecache
yum install java-1.8.0-openjdk elasticsearch
4、修改配置 /etc/elasticsearch/elasticsearch.yml
54: network.host: 0.0.0.0
5 启动服务验证
systemctl start elasticsearch.service
curl http://192.168.1.51:9200/
Elasticsearch集群步骤:
1、yum仓库(跳板机)
mkdir /var/ftp/localrepo/elk
cp *.rpm /var/ftp/localrepo/elk
cd /var/ftp/localrepo
createrepo –update .
2、配置 /etc/hosts
ip地址 主机名
3、安装
yum makecache
yum install java-1.8.0-openjdk elasticsearch
4、修改配置 /etc/elasticsearch/elasticsearch.yml
17: cluster.name: 集群名称
23: node.name: 本机名称
54: network.host: 0.0.0.0
68: discovery.zen.ping.unicast.hosts: [“es-0001”, “集群成员”]
5、启动服务验证
systemctl start elasticsearch
curl http://任意节点ip:9200/_cluster/health?pretty
跳板机用ansible批量编辑集群
1.把hosts和elasticsearch.ymlvim放在ansible主机当前目录并配置好,并编写ansible-playbook
[root@se1 ~]# vim /etc/hosts
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.51 es1
192.168.1.52 es2
192.168.1.53 es3
192.168.1.54 es4
192.168.1.55 es5
[root@es1 ~]#/etc/elasticsearch/elasticsearch.yml
17: cluster.name: yan
23: node.name: {{ ansible_hostname}}
54: network.host: 0.0.0.0
68: discovery.zen.ping.unicast.hosts: [“es1”, “es2″,”es3″,”es4″,”es5”]
[root@es1 ~]#scp /etc/hosts /etc/elasticsearch/elasticsearch.yml root:192.168.1.252:/root/
[root@ecs-proxy ~]#vim essetup.yml
—
– name: elasticsearch cluster install //集群的批量配置和服务安装
hosts: es //es1-5集群
tasks:
– name: Copy file with /etc/hosts //复制/etc/hosts
copy:
src: hosts //ansible拷贝目录在当前主机当前路径下
dest: /etc/hosts //被拷贝主机路径
owner: root //被拷贝权限
group: root
mode: ‘0644’
– name: install elasticsearch //yum安装elasticsearch软件
yum:
name: java-1.8.0-openjdk,elasticsearch
state: installed
update_cache: yes
– template: //类似copy但是可以使用变量
src: elasticsearch.yml
dest: /etc/elasticsearch/elasticsearch.ymlvim
owner: root
group: root
mode: 0644 //文件权限
notify: reload elasticsearch //触发名称
tags: esconf //标签,可在命令-t +名称来执行当前所在步骤
– service: //设置服务自启
name: elasticsearch
enabled: yes
handlers: //触发器,当执行reload elasticsearch时自动重启服务
– name: reload elasticsearch
service:
name: elasticsearch
stte: restarted
3.kibana(待编辑)