elasticsearch安装
下载elasticsearch安装包官网elk三件套下载 下载后使用tar -zxvf解压缩安装包,解压后进入目录,目录结构如下 bin目录存放了启动脚本,config目录存放了es相关的配置,启动之前进入config目录 目录内包含了以上的配置文件,这里只修改elasticsearch.yml配置文件,使用vim命令编辑 主要设置一下几个属性:
cluster.name: dell-application
path.logs: /etc/elasticsearch/elasticsearch-7.14.0/logs
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
cluster.initial_master_nodes: ["node-1-dell"]
配置修改完后就可以启动es了,回到bin目录下,使用./elasticsearch命令启动,这里注意,es无法使用root用户进行启动,所以这里需要创建用户,使用useradd创建用户,并给用户添加权限,为了省事我直接给新创建的权限赋予了所有权限。 创建完用户后,使用su 新用户名的方式切换用户,然后启动elasticsearch,elasticsearch启动时会遇到很多问题,可以在执行启动脚本后查看报错信息,大致的原因会是内存分配、线程设置等问题,修改系统配置即可,列一下遇到的报错信息:
错误一:max virtual memory areas vm.max_map_count [65530] is too low
错误二:elasticsearch:max number of threads [3818] for user [es] is too low, increase to at least [4096]
对于错误一: 编辑 /etc/sysctl.conf 追加最大虚拟空间限制 vm.max_map_count=655360 ,修改完成后使用 sysctl -p 使系统配置生效。 对于错误二: 修改 /etc/security/limits.conf 在文件末尾增加以下两行(*号表示针对所有用户,也可以指定):
* soft nproc 4096
* hard nproc 4096
解决完所有问题,启动es没有报错后测试一下: 浏览器输入http://192.168.0.134:9200/,换成你自己的ip就会出现下面的信息 到此,es就安装完成了,可是每次都要到这个目录下面手动启动太麻烦了,于是想到用写个shell脚本设置开机自启动。
设置es开机启动
在/etc/init.d目录下创建es文件
case "$1" in
start)
su es<<!
cd /etc/elasticsearch/elasticsearch-7.14.0/
./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 es<<!
cd /etc/elasticsearch/elasticsearch-7.14.0/
./bin/elasticsearch -d
!
echo "elasticsearch startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
编辑完成保存,然后对文件赋予权限:chmod +x elasticsearch 设置开机启动:chkconfig --add es es的开机启动脚本就完成了!
logstash安装
和es安装一样,下载、解压,进入目录后创建配置文件:
input {
stdin{}
file{
path => ["/usr/springProject/logs/company-frame.log"]
start_position => "beginning"
}
}
output {
elasticsearch {
action => "index"
hosts => "localhost:9200"
index => "logstash-%{+YYYY-MM-dd}"
}
}
编写完配置文件,便可以用配置文件启动logstash,进入bin目录,使用./logstash -f /配置文件路径命令启动logstash, 出现上述情况表示启动logstash成功。
开机启动logstash脚本
在/etc/init.d目录下创建logstash文件
case "$1" in
start)
cd /etc/logstash/logstash-7.14.0/
./bin/logstash -f /etc/logstash/logstash-7.14.0/dev_log.conf
!
echo "logstash startup"
;;
stop)
logstash_pid=`ps aux|grep logstash | grep -v 'grep logstash' | awk '{print $2}'`
kill -9 $logstash_pid
echo "logstash stopped"
;;
restart)
logstash_pid=`ps aux|grep logstash | grep -v 'grep logstash' | awk '{print $2}'`
kill -9 $logstash_pid
echo "logstash stopped"
cd /etc/logstash/logstash-7.14.0/
./bin/logstash -f /etc/logstash/logstash-7.14.0/dev_log.conf
!
echo "logstash startup"
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
编辑完成保存,然后对文件赋予权限:chmod +x logstash 设置开机启动:chkconfig --add logstash logstash的开机启动脚本就完成了!
kibana安装
下载解压kibana,进入config目录,编辑kibana.yml文件
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
kibana.index: ".kibana"
i18n.locale: "zh-CN"
保存后退出进入bin目录下,执行./kibana --allow-root启动脚本 启动成功后浏览器输入http://192.168.0.134:5601/即可打开kibana页面
设置systemctl启动服务方式
编辑vim /etc/systemd/system/kibana.service 写入:
ExecStart=/etc/kibana/kibana-7.14.0-linux-x86_64/bin/kibana --allow-root
[Install]
WantedBy=multi-user.target
执行:
systemctl enable kibana
systemctl start kibana
systemctl status kibana
kibana启动成功,使用systemctl enable kibana命令设置开机自启动。 以上完成elk的单机环境搭建工作。
|