秦皇岛网站开发哪家好企业网站用户群

当前位置: 首页 > news >正文

秦皇岛网站开发哪家好,企业网站用户群,2024年开始房产贬值潮,做网站编程需要学什么软件ELK #xff08;Elasticsearch、Logstash、Kibana#xff09;日志分析系统的好处是可以集中查看所有服务器日志#xff0c;减轻了工作量#xff0c;从安全性的角度来看#xff0c;这种集中日志管理可以有效查询以及跟踪服务器被攻击的行为。 Elasticsearch 是个开源分布式…ELK Elasticsearch、Logstash、Kibana日志分析系统的好处是可以集中查看所有服务器日志减轻了工作量从安全性的角度来看这种集中日志管理可以有效查询以及跟踪服务器被攻击的行为。 Elasticsearch 是个开源分布式实时分析搜索引擎建立在全文搜索引擎库Apache Lucene基 础上同时隐藏了Apache Lucene的复杂性。Elasticsearch 将所有的功能打包成一个独立的服务并提供了一个简单的RESTful API接口。它具有分布式、零配置、自动发现、索引自动分片、索引副本机制、RESTful 风格接口、多数据源自动搜索负载等特点。 Logstash 是一个完全开源的工具主要用于日志收集同时可以对数据处理并输出给 Elasticsearch。 Kibana 也是一个开源和免费的工具Kibana可以为Logstash 和 ElasticSearch提供图形化的日志分析 Web 界面可以汇总、分析和搜索重要数据日志。 进行日志处理分析一般需要经过以下几个步骤。 (1) 将日志进行集中化管理。 (2) 将日志格式化(Logstash)并输出到 Elasticsearch。 (3) 对格式化后的数据进行索引和存储(Elasticsearch)。 (4) 前端数据的展示(Kibana)。 1. Elasticscarch介绍 Elasticsearch是一个基于Lucene 的搜索服务器。它稳定、可靠、快速而且具有比较好的水平扩展能力为分布式环境设计在云计算中被广泛应用。Elasticsearch提供了一个分布式多用户能力的全文搜索引擎基于RESTful Web接口。通过该接口用户可以通过浏览器和 Elasticsearch 通信 Elasticsearch 是用 Java 开发的并作为Apache许可条款下的开放源码发布Wikipedia、 Stack、Overflow、GitHub等都基于Elasticsearch 来构建搜索引擎具有实时搜索、稳定可靠、快速安装使用方便等特点 Elasticsearch的基础核心概念。 接近实时NRT Elasticsearch 是一个搜索速度接近实时的搜索平台响应速度非常快从 索引一个文档直到这个文档能够被搜索到只有一个轻微的延迟(通常是1s)。 群集(cluster)群集就是由一个或多个节点组织在一起在所有的节点上存放用户数据并一起提供索引和搜索功能。通过选举产生主节点并提供跨节点的联合索引和搜索的功能。每个群集都有一个唯一标示的名称默认是Elasticsearch每个节点是基于群集名字加 入到其群集中的。一个群集可以只有一个节点为了具备更好的容错性通常配置多个节 点在配置群集时建议配置成群集模式。 节点(node)是指一台单一的服务器多个节点组织为一个群集每个节点都存储数据并 参与群集的索引和搜索功能。和群集一样节点也是通过名字来标识的默认情况下在节点启动时会随机分配字符名。也可以自定义。通过指定群集名字节点可以加入到群集 中。默认情况每个节点都已经加入 Elasticsearch群集。如果群集中有多个节点它们将会 自动组建一个名为Elasticsearch 的群集。 索引 (index)类似于关系型数据库中的“库”。当索引一个文档后.就可以使用 Elasticsearch 搜索到该文档也可以简单地将索引理解为存储数据的地方可以方便地进行全文索引。 在 index下面包含存储数据的类型(Type)Type类似于关系型数据库中的“表”用来存放具体数据而Type 下面包含文档(Document)文档相当于关系型数据库的“记录”一个 文档是一个可被索引的基础信息单元。 分片和副本(shards replicas)Elasticsearch 将索引分成若干个部分每个部分称为一个分片每个分片就是一个全功能的独立的索引。分片的数量一般在索引创建前指定且创建索引后不能更改。 分片的两个最主要原因如下。

  • 水平分割扩展增大存储量。
  • 分布式并行跨分片操作提高性能和吞吐量。
  1. Logstash 介绍 Logstash 的理念很简单它只做三件事情:数据输入、数据加工(如过滤改写等)以及数据输出。通过组合输入和输出可以实现多种需求。Logstash 处理日志时典型的部署架构围。 LogStash的主要组件如下。 Shipper日志收集者。负责监控本地日志文件的变化及时收集最新的日志文件内容。通常远程代理端(agent)只需要运行这个组件即可。 Indexer日志存储者。负责接收日志并写入到本地文件。 Broker日志Hub。负责连接多个Shipper和多个Indexer. Search and Storage允许对事件进行搜索和存储。 Web Interface基于Web的展示界面。 3. Kibana介绍 Kibana是一个针对Elasticsearch 的开源分析及可视化平台主要设计用来和 Elasticsearch 一起工作可以搜索查看存储在Elasticsearch 索引中的数据并通过各种图表进行高级数据分析及展示。 Kibana可以让数据看起来一目了然。它操作简单基于浏览器的用户界面可以让用户在任何位置都可以实时浏览。Kibena可以快速创建仪表板(dashboard)实时显示Elasticsearch查询动态。Kibana使 用非常简单只需要添加索引就可以监测Elasticsearch 索引数据。 Kibana的主要功能如下。 Elasticsearch无缝之集成。Kibana架构是为Elasticsearch 定制的可以将任何(结构化和非结 构化)数据加入Elasticsearch索引。Kibana还充分利用了 Elasticsearch 强大的搜索和分析功能。 整合数据。Kibana可以让海是数据变得更容易理解根据数据内容可以创建形象的柱形图 折线图、散点图、直方图、饼图和地图以方便用户查看。 复杂数据分析。Kibana 提升了 Elasticsearch 的分析能力能够更加智能地分析数据执行数 学转换并且根据要求对数据切割分块 让更多团队成员受益。强大的数据库可视化接口让各业务岗位都能够从数据集合受益。 接口灵活分享更容易。使用Kibana可以更加方便地创建、保存、分享数据并将可视化数据快速交流。 配置简单。Kibana的配置和启用非常简单用户体验非常友好。Kibana自带Web服务器。 可以快速启动运行 可视化多数据源。Kibana可以非常方便地把来自Logstash、ES-Hadoop、Beats 或第三方技术 的数据整合到 Elasticsearch支持的第三方技术包括Apache Flume、Fluentd等 简单数据导出。Kibana可以方便地导出感兴趣的数据与其他数据集合并融合后快速建模分析发现新结果。 实验环境 虚拟机 3台 centos7.9 网卡NAT模式 数量 1 组件包 elasticsearch-5.5.0.rpm            elasticsearch-head.tar.gz             node-v8.2.1.tar.gz        phantomjs-2.1.1-linux-x86_64.tar.bz2            logstash-5.5.1.rpm       
    kibana-5.5.1-x86_64.rpm 设备 IP 备注 Centos01 192.168.8.34 Node1  elasticsearch Centos02 192.168.8.35 Node2  kibana Centos03 192.168.8.36 Node3  logstashhttpd
    初始化配置 都需安装 java运行环境jdk     192.168.8.34   192.168.8.35 yum -y install java jcc jcc-j 安装elasticsearch Node1 Node2 都配置    192.168.8.34   192.168.8.35 cat EOF /etc/hosts 192.168.8.34 node1 192.168.8.35 node2 EOF 上传安装包 elasticsearch-5.5.0.rpm    192.168.8.34   192.168.8.35 rpm -ivh elasticsearch-5.5.0.rpm 编辑elasticsearch 配置文件    192.168.8.34   192.168.8.35 vim /etc/elasticsearch/elasticsearch.ymlcluster.name: my-elk-cluster #群集名称 node.name: node1 #节点名称不同节点修改编号 path.data: /data/elk_data #日志收集目录 path.logs: /data/elk_log #日志存放路径 bootstrap.memory_lock: false #不锁定内存 network.host: 0.0.0.0 #监听IP http.port: 9200 #监听端口 discovery.zen.ping.unicast.hosts: [node1, node2] #单播实现群集[rootnode1 ~]# mkdir -p /data/elk_data mkdir -p /data/elk_log [rootnode1 ~]# chown -R elasticsearch:elasticsearch /data[rootnode1 ~]# systemctl start elasticsearchNode1 部署elasticearch-head插件      192.168.8.34 
    上传安装包 node-v8.2.1.tar.gz elasticsearch-head.tar.gz   phantomjs-2.1.1-linux-x86_64.tar.bz2 tar zxf node-v8.2.1.tar.gz cd node-v8.2.1 ./configure make make install 安装phantomjs 组件      192.168.8.34  yum -y install bzip2[rootnode1 ~]# tar jxf phantomjs-2.1.1-linux-x86_64.tar.bz2 [rootnode1 ~]# mv phantomjs-2.1.1-linux-x86_64 /usr/src/phantomjs2.1 [rootnode1 ~]# ln -s /usr/src/phantomjs2.1/bin/* /usr/local/bin/ 安装elasticsearch-head 组件    192.168.8.34  [rootnode1 ~]# tar zxf elasticsearch-head.tar.gz [rootnode1 ~]# cd elasticsearch-head [rootnode1 elasticsearch-head]# npm installcat EOF /etc/elasticsearch/elasticsearch.yml http.cors.enabled: true http.cors.allow-origin: * http.cors.allow-headers: Authorization,Content-Type EOF systemctl restart elasticsearch npm run start
    Node3上部署 httpd logstash          192.168.8.36 上传安装包  logstash-5.5.1.rpm yum -y install httpdrpm -ivh logstash-5.5.1.rpmln -s /usr/share/logstash/bin/logstash /usr/local/sbin/ 编辑自定义提交日志配置          192.168.8.36 vim /etc/logstash/conf.d/httpd_log.confinput {file {path /var/log/httpd/access_logtype accessstart_position beginning}file {path /var/log/httpd/error_logtype errorstart_position beginning} } output {if [type] access {elasticsearch {hosts [192.168.8.34:9200]index httpd_access-%{YYYY.MM.dd}}}if [type] error {elasticsearch {hosts [192.168.8.34:9200]index httpd_error-%{YYYY.MM.dd}}} } 启动httpd         192.168.8.36 systemctl start httpd 启动日志传递           192.168.8.36 nohup logstash -f /etc/logstash/conf.d/httpd_log.conf
    访问http://192.168.8.34:9200/ 验证 Node2安装 kibana 图形化查看工具          192.168.8.35 上传安装包 kibana-5.5.1-x86_64.rpm rpm -ivh kibana-5.5.1-x86_64.rpmvim /etc/kibana/kibana.ymlcat EOF /etc/kibana/kibana.yml server.port: 5601 server.host: 0.0.0.0 elasticsearch.url: http://192.168.8.34:9200 kibana.index: .kibana EOFsystemctl enable kibana –now 验证 http://192.168.8.35:5601