ELK笔记

要搞成这样就需要钱来买服务器

  1. 开发人员一般不会给服务器权限,不能到服务器上直接看日志,所以通过ELK看日志。不让开发登录服务器。即使你查出来是开发的问题,费时间,而且影响了业务了,就是运维的问题
    开发也不能登录到容器,因为担心他把配置搞坏了。
  2. es cluster 有三到7台(存储搜索日志用),接 logstash, 接缓存 kafka,再接 web
    web不经过缓存直接传到es, 几千个容器的话,磁盘IO 和网卡会出现瓶颈,还会出现丢日志的情况(堵塞,写不进去了)。另外还有开发忘记关debug,更加剧了压力
  3. es 比如分三台机器,主分片和副分片存储在不同的两台机器上。为了就是一个机器down,数据不会丢失
  4. 规划三年左右的业务量,避免后期还要扩。要不很麻烦。es服务器的配置是
    在这里插入图片描述
    物理机的总体内存是96G,es用32G
    15k RPM:性能最高的机械硬盘,适合对高I/O密集型任务的需求,如数据库和大型服务器系统。

示例

假设有4块硬盘:

  • 硬盘1和硬盘2组成一组,采用RAID 1镜像;
  • 硬盘3和硬盘4组成另一组,采用RAID 1镜像;
  • 然后将这两组硬盘再通过RAID 0进行条带化。

这样,RAID 10既能保证任意一块硬盘故障时不会丢失数据(因为有镜像备份),同时也能提升数据传输的速度(因为有条带化)。

例如,在一个需要频繁进行大数据量读写操作的数据库服务器中,RAID 10能够提供高效的读取和写入速度,同时保证数据安全。在硬盘损坏的情况下,数据可以从镜像中恢复,不影响正常的服务运行。

  1. logstash需要在每台机器上都安装,它是java环境的。也可以daemonset方式部署
    在这里插入图片描述
  2. 日志都在一块的话,你就能快速找出有问题的error。不用一个个去看
  3. 通过统计日志,找到同一个ip大量访问,把这个有问题的ip加入黑名单。达到安全的作用
  4. 还可以通过日志找出耗时多的服务
  5. logstash放到容器里不可行。因为它需要java环境,而且很大,要用filebeat替代,收集日志后再接 logstash,处理日志
  6. 开启nginx账号认证功能在kibana前面,为了再添加一层认证。安全
  7. 就像 kafka的topic .es的叫做索引
    在这里插入图片描述
  8. 弄两块盘做raid 1,做系统。另外8块盘做raid10. 时间要同步
  9. es logstash kibana版本要一致,小版本也不要跨。都是rpm包安装到裸机的
  10. 修改 es.yml 中的cluster.name,凡是这个名称一样的,都是一个es集群里的。但是node.name不能一样。还要在这里设置 es的存储地址。不能是系统盘,因为没有那么大的空间。

监听ip /port 设置设置成本机ip,端口默认9200就行。配置哪些节点在集群里,哪些节点可以参与选举成master

recover_after_nodes 这个值要设置成超过节点总数半数,意思是等过半的机器起来再提供服务,否则比如三台,你就起来一台,万一其他的没起来呢,不就丢数据了

三个节点都要改动,因为每个节点都有一个es

  1. 需要给User=es 得有你指定那个存储目录的读写权限。三台都得改
  2. jvm.options 内存设置成物理内存的一半,最大不要超过32g, 因为es可能管不过来,32g就可以了
    es.service 加上 LimitMEMLOCK=infinity
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值