ELK -- 介绍及安装 (一)
一,ELK介绍
1,需求背景
业务发展越来越庞大,服务器越来越多,各种访问日志、应用日志、错误日志量越来越多,导致运维人员无法很好的去管理日志
开发人员排查问题,需要到服务器上查日志,不方便,运营人员需要一些数据,需要我们运维到服务器上分析日志。
2,为什么要用到ELK
面临问题包括日志量太大如何归档、文本搜索太慢怎么办、如何多维度查询。需要集中化的日志管理,所有服务器上的日志收集汇总。常见解决思路是建立集中式日志收集系统,将所有节点上的日志统一收集,管理,访问。
大型系统通常都是一个分布式部署的架构,不同的服务模块部署在不同的服务器上,问题出现时,大部分情况需要根据问题暴露的关键信息,定位到具体的服务器和服务模块,构建一套集中式日志系统,可以提高定位问题的效率。
一个完整的集中式日志系统,需要包含以下几个主要特点:
收集-能够采集多种来源的日志数据
传输-能够稳定的把日志数据传输到中央系统
存储-如何存储日志数据
分析-可以支持 UI 分析
警告-能够提供错误报告,监控机制
3,ELK组成
ELK是三个开源软件的缩写,分别为:Elasticsearch 、 Logstash以及Kibana , 它们都是开源软件。
4,ELK安装
架构介绍:这里用2台主机进行模拟,1台主机(192.168.204.128)用作 master 节点,用于存储数据和展示数据用,1台主机(192.168.204.130)作为data 数据节点。
1,安装仓库源 (2台主机都安装)
[root@linux-test-1 ~]# rpm -ivh https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.rpm
[root@linux-test-1 ~]# yum install elasticsearch logstash kibana -y
2,在 master 节点主机上修改 elasticsearch 和 kibana 的配置文件
修改 : elasticsearch.yml 配置文件,修改如下信息:(集群默认采用单播的模式进行)
1) ,elasticsearch 的 elasticsearch.yml 配置文件: (集群默认采用单播模式)
vi /etc/elasticsearch/elasticsearch.yml 修改如下内容:
cluster.name: my-els-server
node.name: linux-test-1
path.data: /var/lib/elasticsearch/
path.logs: /var/log/elasticsearch/
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
2),修改 kibana 的配置文件,kibana 的kibana.yml 的配置文件:
vi /etc/kibana/kibana.yml 修改如下内容:
server.port: 5601
server.host: "192.168.204.128"
elasticsearch.hosts: ["http://192.168.204.128:9200"]
kibana.index: ".kibana"
logging.dest: /var/log/kibana.log
3,启动 elasticsearch 和 kibana 服务
通过下面的命令来检查 es 服务是否正常部署了,检查健康状态。
[root@linux-test-1 ~]# curl '192.168.204.128:9200/_cluster/health?pretty'
访问:http://192.168.204.128:5601/ (kibana 没有安装安全的插件,登陆后不需要用户名和密码)
4,在 192.168.204.130的主机上 启用 logstash ,通过logstash 来采集 130 主机的日志信息。