zoukankan      html  css  js  c++  java
  • logstash 监控

    简介

    要给公司的logstash集群添加监控,因为有时候logstash突然挂了,会导致ELK没有数据,往往等需要查日志的时候,才发现已经来不及了。

    思路,logstash 5.x 以上提供了API端口监听等接口,只要每个logstash实例启动分别指定一个端口号,再通过TCP,HTTP等方式,定时连接IP和端口,就可以发邮件等方式通知到运维去重启logstash。

    所以接下来重点只介绍如何把logstash集群全部改为指定ip和端口启动。

    1. 开启防火墙端口号

    logstash 不指定端口的情况下,会默认从 9600-9700之间获取第1个可用端口启动

    因为我每台机都要启动3-6个实例,所以开这么多端口

    sudo iptables -A INPUT -ptcp --dport 9600 -j ACCEPT
    sudo iptables -A INPUT -ptcp --dport 9601 -j ACCEPT
    sudo iptables -A INPUT -ptcp --dport 9602 -j ACCEPT
    sudo iptables -A INPUT -ptcp --dport 9603 -j ACCEPT
    sudo iptables -A INPUT -ptcp --dport 9604 -j ACCEPT
    sudo iptables -A INPUT -ptcp --dport 9605 -j ACCEPT
    sudo iptables -A INPUT -ptcp --dport 9606 -j ACCEPT

    保存防火墙

    sudo service iptables save

    重启防火墙

    sudo service iptables restart

    查看防火墙配置

    sudo more /etc/sysconfig/iptables

    2. 修改logstash.yml 配置的 IP

    如果不改成宿主机的IP,默认使用 127.0.0.1,这样外面的机器是无法通过TCP/HTTP等方式访问的

    vim logstash.yml
    
    # 修改如下
    # Bind address for the metrics REST endpoint
    #
    # http.host: "127.0.0.1"
    http.host: "177.168.0.122"

    3. 查看logstash集群每台实例占用的端口

    如果是第一次启动,可跳过这一步,直接执行第4步

    因为已启动的6台logstash,已经分别占用了9600-9700的端口

    我只是为了减少对线上的影响,先查看具体占用了哪些端口,再记录下来,kill掉后按自定义端口启动,避免端口占用

    #查看logstash进程号
    ps -ef | grep logstash
    
    #根据进程号,查看绑定的 IP:PORT
    sudo netstat -nap | grep 27892

    #或者直接查看端口号绑定信息
    lsof -i:9600

    #记录好PORT后kill掉进程
    kill -9 27892

    4. 指定端口号启动logstash

    nohup ./logstash -f logstsash1.conf --http.port 9601  & >/dev/null &

    遇到了第2步修改host不生效的情况,直接使用启动参数方式启动:

    nohup ./logstash -f logstsash1.conf --http.host 177.168.0.122  --http.port 9601  & >/dev/null &

    5. TCP/HTTP访问

    HTTP测试:

    # Linux访问
    curl -XGET '177.168.0.122:9601/_node/pipeline?pretty=true'
    
    # 网页访问
    http://177.168.0.122:9601/_node/pipeline?pretty=true

    更多版本与API看ES官方文档

    TCP测试:

    windows测试TCP,得下载个小工具psping

    C:Usersliwei>psping 177.168.0.122:9601

    监控部署上线可弄个连接TCP或HTTP的定时任务,发邮件通知等。

  • 相关阅读:
    java栈的实现复习
    条件判断语句--linux
    转义符&脚本参数--linux
    linux备份脚本-模板
    github的搜索使用技巧
    sonarqube7.9安装部署(linux)
    openjdk与oraclejdk下载
    gitlab重写历史,清理历史大文件
    nexus私服搭建过程
    nexus私服关联本地maven配置
  • 原文地址:https://www.cnblogs.com/levi125/p/13841555.html
Copyright © 2011-2022 走看看