ELK 后台启动 linux

本文详细介绍ELK Stack(Elasticsearch、Logstash、Kibana)版本5.5.3的部署步骤与配置方法,包括Elasticsearch的启停脚本、Logstash配置文件示例及Kibana的后台启动技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

elk 版本都是5.5.3

创建于2019/1/5

Elasticsearch

使用启停脚本如下

#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
# 注意修改自己的bin地址
export JAVA_HOME=/usr/lib/jvm/java-1.8.0
export JAVA_BIN=/usr/lib/jvm/java-1.8.0/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH

case "$1" in
start)
su elk<<!
# 需要修改自己的地址
cd /usr/local/elk/elasticsearch-5.5.3
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
kill -9 $es_pid
echo "elasticsearch stopped"
su elk<<!
# 需要修改自己的地址
cd /usr/local/elk/elasticsearch-5.5.3
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?

执行./start_elasticsearch.sh start 启动

注意默认es端口有两个 一个是http端口 9200 可以用于配置到其他配置文件中

一个是tcp端口9300 用于API配置端口使用

 

logstash

未找到合适的脚本文件 

创建配置文件 logstash.conf

input{
    file{
        type => "api-app"
        path => "/log/api-app*"
        codec => multiline {
                pattern => "^\["
                negate => true
                what => "previous"
        }
        start_position => "beginning"
    }
    file {
        type => "api-cxb"
        path => "/log/api-cxb*"
        codec => multiline {
                pattern => "^\["
                negate => true
                what => "previous"
        }
        start_position => "beginning"
    }
}
filter{
        grok{
                match => { "message" =>"\[%{TIMESTAMP_ISO8601}\s*%{USER}\]\[%{USERNAME}\]\[%{USERNAME}\] - %{NOTSPACE}, IP: %{IP:ip}"}
        }
        grok{
                match => { "message" =>"\[%{TIMESTAMP_ISO8601:date1}\s*%{USER:leve}\]\[%{USERNAME}\]\[%{USERNAME}\] - %{NOTSPACE:request}"}
        }
}
output{
        elasticsearch{
                #需要修改自己的es IP和端口号默认http为 9200
                hosts => ["192.168.71.146:13000"]
                action => "index"
                codec => rubydebug
                index => "%[type]-%{+YYYY.MM.dd}"
                template_name => "%{type}"
        }
}

目录结构 config 与bin 同级 logstash 文件在bin目录下

使用命令直接启动 ./logstash -f ../config/logstash.conf &

&符号 保证关闭当前窗口程序依旧运行

kibana

后台启动kibana(加上&) 
kibana-4.5.2-linux-x64/bin/kibana &

注意:这时加上了&虽然执行了后台启动,但是还是有日志打印出来,使用ctrl+c可以退出。 
但是如果直接关闭了Xshell,这时服务也会停止,访问http://yourip:5601就失败了。

解决方法: 
执行了kibana-4.5.2-linux-x64/bin/kibana &命令后,不使用ctrl+c去退出日志, 
而是使用exit;这样即使关闭了shell窗口kibana服务也不会挂了。

Linux环境下,Kibana是一个基于ELK堆栈(Elasticsearch、Logstash和Kibana)的数据可视化工具。为了使其在系统启动时自动后台运行,你可以将其添加到系统的启动脚本中,如`systemd`、`cron`或者自定义的启动管理器。这里提供一种基本的步骤: 1. **安装Kibana**:首先确保Kibana已经成功安装。你可以通过包管理器(如`apt-get` for Ubuntu 或 `yum` for CentOS)来安装。 2. **查找Kibana服务名**:确认你的Kibana服务名称,通常是`kibana.service`或`elasticsearch-kibana`,取决于你的安装方式。 3. **编辑启动脚本**:打开启动脚本编辑器,比如对于`systemd`,你可以使用命令: ``` sudo nano /etc/systemd/system/kibana.service ``` 4. 在`[Service]`部分,设置`ExecStart`选项,让它指向Kibana的启动命令并加上后台运行标志。例如: ```bash ExecStart=/usr/bin/kibana -p ${PID_FILE} --no-browser --server.name=kibana ``` 这里假设`PID_FILE`是一个用于保存进程ID的文件。 5. 设置启动类型为自动: ```bash Restart=always StartLimitInterval=0 ``` 6. 保存并退出编辑器。 7. **启用服务**:使用`systemctl`命令启用新的服务,然后让其自动启动: ```bash sudo systemctl daemon-reload sudo systemctl enable kibana.service sudo systemctl start kibana.service ``` 8. **检查日志**:如果一切正常,你应该能看到Kibana在后台运行,并且可以在`/var/log/kibana/kibana.log`或其他指定的日志文件中查看启动过程的记录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值